Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Дробление табличек в базе данных (http://forum.oszone.net/showthread.php?t=30214)

x404 22-10-2003 00:11 207805

У меня такой вопрос. Есть база данных  - ИЗДЕЛИЕ  - оно состоит из основных материалов,
покупных и вспомогательных (я их сделал отдельными табличками с соответствующими основными
кодами полей и основными параметрами).
Так вот как лучше сделать связку между этими таблицами (хотя у этих таблиц существуют свои подтаблички ,
но там все понятно) - одной таблицей (Код изделия - Код осн. материалов -
Код вспомогательных материалов - Код покупных материалов  -  В этом случае табличка
получается просто громадной) или тремя (Код изделия - Код осн. материалов),
(Код изделия - Код вспомогательных материалов),(Код изделия -Код покупных материалов) -
так вроде записей меньше, но табличек больше и тащить нужные записи уже по коду изделия.
Как лучше поступить?

Prisoner 22-10-2003 04:20 207806

Цитата:

В этом случае табличка
получается просто громадной
Громадные таблички... хм :).

Вариант трех, имхо - избыточен, то есть одна гораздо лучше, а есть возможность вообще без нее/них обойтись? Точнее так - лучше обойтись, есть ли возможность?

Sean Ingumsky 23-10-2003 02:21 207807

x404
Честно говоря, я не понял вопроса... :(
Если Вы хотите, чтобы в строке одной таблицы можно было прописать данные из строки другой, тогда я могу привести Вам пример:
BD - players
table1 - player (ID, Name (VARCHAR), Club(INT))
table2 - club (ID, Name(VARCHAR), NumberOfMembers(INT), President(VARCHAR))
ID оригинален (NOT_NULL, AUTO_INCREMENT) для каждой строки таблицы, он является идентификатором. Таким образом, в ячейке Club таблицы club вы можете записать ID нужного клуба из таблицы Club и потом делать выборку так, чтобы выводились необходимые данные из обеих таблиц (...WHERE player.Club=club.ID).
Объяснил я немного коряво, но... не знаю, как это сделать лучше.


Время: 15:08.

Время: 15:08.
© OSzone.net 2001-