Форум: "Базы";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];
ВнизКаким образом можно к одной записи привязать разное количество Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c