Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос на размышление, PHP + MySql 
V
    Опции темы
bazzjr
Дата 14.7.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



Привет всем!

Хочу услышать мнения по поводу того, как можно лучшим образом построить таблицы MqSql.

Вообщем мы имеем 2(две) таблицы, в эти таблицы заносяться объявления, в одну "купля" в другую "продажа".

Вопрос:
Как мне организовать работу PHP+MySql так, чтобы по "одному" идентификатору(например: 112) определять в какой таблицы выбирать данные, т.е. определить c одного ID(112) какой тип сделки купля или продажа.


Мой вариант решения пока такой:
Прибавлять цифры перед ID, к примеру 1-значит покупка, 2-значит продажа.
Заносить в таблицы при добавлении юзером, обычные ID (1,2,3...154,...987), а при выборке прибавлять цифру перед этим номером(11,12,13...1154,...1987).
пример:в таблице покупки 43, при выборке 143-значит покупка, в таблице продажи 52, при выборке 252-значит продажа.

Этот варик не плох, но имеется ряд нежелательных последствий, а именно:
1. после 99(199), появляется сразу тысяча - 100(1100), и т.д. - 9999(19999).
2. функции которые должны обрабатывать этот номер и соответственно после парсировки должна проходить выборка с определенной таблицы - это немного напряжно. 

Плюсы:
существуют две таблицы, а значит с ними легче работать, меньше нагрузка на базу при выборке и занесении объяв. 


PM MAIL ICQ   Вверх
solenko
Дата 14.7.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Единственный правильный вариант -- хранить все объявления в одной таблице и каждому сопоставлять тип объявления из второй таблицы.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
bazzjr
Дата 14.7.2009, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



почему?

какие плюсы у твоего варика, и минусы у моего?

Добавлено через 2 минуты и 17 секунд
и еще... а если я например хочу чтобы юзер смог визуально отличать что за обьявы(покупка, продажа)

т.е. 245-значит продажа,  145-значит покупка

а по твоему варику получается, что все будут вида 145, 146, 147 ... или я ошибаюсь?
PM MAIL ICQ   Вверх
solenko
Дата 14.7.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



А пользователь должен сам метом дидукции дойти до того, что 245 это объявление о продаже?

Твой:
Минус один -- необоснованное хранение обнородных данных в разных таблицах. А если появятся объявления о аренде? )
Плюсов -- нет

Мой:
Да нет тут плюсов и минусов. Просто это правильная, логичная и удобная структура.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
bazzjr
Дата 14.7.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



В том то и дело... поработав с данной структурой занесения и выборки инфы, я начинаю понимать, что прироста в скорости и выгоды от того что у тебя две таблицы особо не получишь. Поэтому и спрашиваю совета.

Есть ли у кого еще замечания, готов выслушать...  smile 
PM MAIL ICQ   Вверх
Ипатьев
Дата 14.7.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Дело в том, что хранение в одной таблице однородных данных - это аксиома. Азбука построения БД. 
И как раз наоборот - это денормализацию данных надо обосновывать. Рассказывать, какие будут плюсы. Если они будут.
Цитата(bazzjr @  14.7.2009,  12:52 Найти цитируемый пост)
я например хочу чтобы юзер смог визуально отличать что за обьявы(покупка, продажа)

для этого надо в адресной строке писать не цифры, а слова. для продажи - sale, для покупки - buy. По словам гораздо проще определять, чем по цифрам.

PM MAIL   Вверх
icewind
Дата 14.7.2009, 13:51 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



На мой взгляд плюсы и минусы искать при рассмотрении вариантов не стоит. solenko предложил единственно правильный вариант. Нужно просто взять и использовать. Почему он правильный? Можно почитать про принципы проектирования реляционных баз данных и все станет понятно


--------------------
user posted image
PM MAIL Skype   Вверх
bazzjr
Дата 15.7.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



Всем спасибо, впринципе все понятно и вопросов нет  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.