X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как будет лучше связывать таблицы в одну?
НЕПЛОХОЙ
НЕПЛОХОЙ
Topic Starter сообщение 4.8.2009, 1:49; Ответить: НЕПЛОХОЙ
Сообщение #1


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

таблица ТИП КАФЕ
type_id - ид.
type_name - название

1 | Кафе
2 | Ресторан
3 | Фастфуд
и т.д.


таблица ВИДЫ КУХНИ
kitchen_id - ид.
kitchen_name - название
kitchen_desc - описание

1 | Русская
2 | Европейская
3 | Китайская
4 | Японская
и т.д.


таблица БИЗНЕС-ЛАНЧ
lunch_id - ид.
lunch_price - ценовая категория

1 | меньше 100 рублей
2 | 100 - 300 рублей
3 | больше 300 рублей


таблица ЗАВЕДЕНИЕ
cafe_id - ид.
cafe_name - название кафе
cafe_type - тип кафе, может быть несколько
cafe_kitchen - виды кухни, может быть несколько
cafe_lunch - цена на бизнес ланч, может быть только 1

1 | Mc'Donalds | 1,3 | 2,4,5,6,3 | 2
2 | Pizza Mia | 2,4,7 | 3,4,20,30 | 1
и т.д.


правильно я организовал последнюю таблицу? в итоге у этой таблицы будет около 20-30 полей, и у многих будут вспомогательные таблицы (как ВИДЫ КУХНИ, к примеру). Этож наверно будет очень медленно все работать?
И как организовать поиск по базе? например мне надо вывести все Фастфуды (id=3) где есть Европейская кухня (id=2). Если искать цифру 2 и 3 в базе "ЗАВЕДЕНИЯ", то так же будут засчитываться и числа 20,30, как это обойти?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
Topic Starter сообщение 4.8.2009, 12:03; Ответить: НЕПЛОХОЙ
Сообщение #2


еще в голову пришла мысль.

для таблиц ЗАВЕДЕНИЯ и ТИП КАФЕ сделать дополнительную таблицу, где будет ид заведения и ид кафе.
для таблиц ЗАВЕДЕНИЯ и ВИДЫ КУХНИ сделать подобную таблицу
и так далее... и потом как нибудь (пока не знаю как) их связывать. Но что знаю точно что таблиц в итоге получится море :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 4.8.2009, 14:57; Ответить: v1ex
Сообщение #3


Делай, как написал во втором посте, "FOREIGN KEY" и "**** JOIN" - в помощь.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 7.8.2009, 0:14; Ответить: ZiTosS
Сообщение #4


Евгений, по поводу
Если искать цифру 2 и 3 в базе "ЗАВЕДЕНИЯ", то так же будут засчитываться и числа 20,30, как это обойти?

Нифига не будут, не стоит просто искать по маске. Но просто конечно же работать с подобными полями очень громоздко. LIKE очень сильно жрет ресурсы баз данных.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
xakki
xakki
сообщение 27.8.2009, 17:33; Ответить: xakki
Сообщение #5


Если храниш несколько записей то лучше записывать в поле следуюющим образом
|12|34|23|
т.е. по краям обязательно должен быть символ | (или друго, но лучше этого я не нашол, а замятая может оптом пригодится, вдруг текстовое значение будет)
И уже сам запрос по поиску

SELECT * FROM table WHERE name LIKE '%|12|%'

Я сам пользуюсь этим методом , получается хорошая экономия да и по быстродествию на небольших (имею ввиду до 300тысщ) не видно разницы, да и кеширование мускуля подсобит.
Поле сделать варчаром254 или поменьше, в зависимости от того сколько значений бушь хранить

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
12 Boymaster 1929 Вчера, 21:03
автор: MisterBit
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
17 uahomka 3226 Вчера, 11:58
автор: Omaxis
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4817 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19715 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3109 5.4.2024, 5:53
автор: Skyworker


 



RSS Текстовая версия Сейчас: 20.4.2024, 8:56
Дизайн