Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

Каким образом можно к одной записи привязать разное количество   Найти похожие ветки 

 
Miwa ©   (2004-01-04 13:57) [0]

полей? Тоесть, например, есть база с блюдами, или фильмами, или запчастями для компов или еще чего. Естессно, что в каждом блюде есть разное количество ингридиентов, в фильме - актеров, в компьютере - винтов/процессоров и т.д.
Представляю себе это следующим образом: есть отдельная таблица с ингридиентами/актерами/запчастями. Тогда в главной таблице (где инфо о блюде/фильме/компе) может быть:
а) достаточное количество интовых полей чтобы удовлетворить любого гурмана/киномана/хакера;
б) есть одно строковое поле, в котором хранятся номера ингридиентов/актеров/харда - тогда для того чтобы узнать полную информацию о фильме нужно делать два запроса;
в) сделать десяток воспомагательных таблиц например по пять столбцов: когда заканчивается первых пять столбцов, начинаем использовать вторую таблицу, третью... или просто добавляем еще одну запись в первую.

Но у всех этих способов есть очевидные недостатки.

Вот в связи с этим вопросс: как это решается реально?

З.Ы. Прошу прощения за возможно профанский вопросс и такое же использование терминологии - только начал изучать базы и вот интерессно стало. А в рекомендованых книгах я такого не нашел. Может, плохо искал? :о)


 
Sergey13 ©   (2004-01-04 14:13) [1]

>Вот в связи с этим вопросс: как это решается реально?
Три таблицы:
1.Наименование блюда (фильма, компа)+ некоторая инфа, относящаяся именно к нему.
2.Справочник ингидиентов(актеров,запчастей)
3.Таблица связей, где на блюдо с кодом 13 есть несколько записей с кодами и количеством ингридиентов. Т.е. связок
13-10
13-22
13-56
13-89
например.
Рекомендуется почитать про мастер-детальные связи в программе и первичные/внешние ключи в БД.


 
miwa ©   (2004-01-04 14:22) [2]

Вав. Круто. Блин, ну почему такие хорошие вещи называются такимим страшными словами: "мастер-детальные связи". Прям для извращенцев з производства деталей. Бррр... :о))
Спасибо.


 
kaif ©   (2004-01-04 16:26) [3]

Рекомендую систему справочников с наследованием атрибутов в моей программе Allegro. Там эта задача решена. Описание можешь найти на сайте http://www.gaapinvest.com. Там можно и на сайте почитать и скачать в виде pdf.


 
Johnmen ©   (2004-01-04 22:17) [4]

>Miwa ©

Это стандартно называется "связь многие-ко-многим".
Реализуется, как сказал Sergey13 © (04.01.04 14:13, через 3 таблицы.
В связующей таблице 2 int поля - ссылка на гурмана из табл.гурманов и ссылка на блюдо из табл.блюд.
13-10
13-22
13-56
25-56
99-56
...
Причем пара значений этих полей уникальна, т.е. уникальный индекс.


 
Ильш ©   (2004-01-05 07:03) [5]

Плохо искал! Очень плохо :(
Такое или типа таког в каждой нормальной книге по базам описано. Или самому на основе теории додумать можно!



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-93501
Hex0DesiMaL
2004-01-19 08:59
2004.01.29
Скрыть прогу в панли задач


3-93357
don
2003-12-30 11:32
2004.01.29
Возможно ли отключить создание лок-файла в Embedded Firebird


1-93475
dark_angel
2004-01-15 20:53
2004.01.29
Help


3-93342
dimablind
2004-01-03 19:10
2004.01.29
locate


1-93506
EvgeniyR
2004-01-19 10:20
2004.01.29
Простой компьютера