Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Вопрос как создать БД, многомерным


Автор: krewin 20.3.2011, 18:27
Пожалуйста, подскажите, как создать правильно базу данных, в которой хранится в строке, данные дата и номер накладной и к этой накладной прилагаются наименования. БД предусматривает большой объем данных, с учетом накопления за несколько лет. С поиском по дате, с выводом всех наименований. 
 
Я не знаю как создать строки для этой БД, строки могу создать дата и номер, но чтобы эта же строка содержала энное количество наименований представить не могу.

Автор: Akina 20.3.2011, 21:03
Цитата(krewin @  20.3.2011,  19:27 Найти цитируемый пост)
как создать правильно базу данных

CREATE DATABASE ...

Цитата(krewin @  20.3.2011,  19:27 Найти цитируемый пост)
 в которой хранится в строке

В баз данных НЕТ никаких строк. Только таблицы, представления, триггеры, процедуры и прочие структурные элементы.

Цитата(krewin @  20.3.2011,  19:27 Найти цитируемый пост)
 БД предусматривает большой объем данных, с учетом накопления за несколько лет.

Тогда почитайте ХОТЬ ЧТО-НИБУДЬ про базы данных.

Автор: krewin 21.3.2011, 18:23
Как в таблице расположить строку в которой есть еще несколько строк



Дата*Номер*Наименование1
                      Наименование2
                      И Т Д

Автор: skyboy 21.3.2011, 18:58
вариант 1. втупую дублировать.
Дата1*Номер1*Наименование1
Дата1*Номер1*Наименование2
...
Дата2*Номер2*НаименованиеN
...
Недостаток: сложность в обеспечении целостности. Положим, обнаружили, что с датой накосячили и надо подправить на час вперед. Но не для всех, а для одной накладной. Придется править столько записей, сколько наименований.
ну, и избыточность хранимых данных.
вариант 2. разделить данные на две таблицы:
таблица: накладные
id     Накладная Дата
1      Номер1 Дата1
2      Номер2 Дата2
3      Номер 3 Дата3
...
таблица: состав накладной
idНакладной Элемент
1  Наименование1
1 Наименование2
1 Наименование3
2 НаименованиеN
Теперь, во-первых, нет дублирования, а во-вторых, то, что связано с накладной(дата) - надо редактировать только один раз.

Автор: krewin 23.3.2011, 20:42
Спасибо, теперь я буду иметь представление

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)