powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД
6 сообщений из 6, страница 1 из 1
Структура БД
    #33463477
oreshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гипотетический пример: Допустим необходимо создать БД документации сети магазинов.
Документация будет двух видов: уникальные документы для каждого магазина (например, какой-нибудь сертификат) и один и тот же документ для нескольких магазинов (например, лицензия на право торговли в этом городе).
1. Затолкать все в одну таблицу

2. Сделать таблицу "Магазины" вида
IDмагазина___Док1___Док2___ДокN
И табл. "Документы" вида
IDдок___ТипДок___Прочее

3. Сделать таблицу Магазины вида
IDмагазина___Док1___Док2___ДокN
И таблицы "Сетрификаты", "Лицензии", "Разрешения" и пр.

Не могу выбрать из 2 и 3 варианта, т.к. данные для всех документов одинаковые - это дата, ссылка на документ и срок действия. Во втором варианте получается одна табл. но много записей, в 3-ем много таблиц - мало записей
Может есть 4-й вариант...
...
Рейтинг: 0 / 0
Структура БД
    #33463514
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create table shop(shop_id int not null primary key,
.... // some more columns
);
create table doc(doc_id int not null primary key,
doc_type char( 1 ) not null check (doc_type in ('S', 'L', 'P')), //Sertificate, License, Permission
is_for_all_shops char( 1 ) default 'N' not null check (is_for_all_shops in ('Y','N')),
.... // some other columns
);
create table doc_shop(shop_id int not null foreign key references shop (shop_id),
doc_id int not null foreign key references doc (doc_id),
constraint doc_shop_pk primary key (shop_id, doc_id)
);
// get all doc_shop links (including "for all" docs)
select shop_id, doc_id from shop_doc
union
select s.shop_id, d.doc_id
from shop s, doc d
where d.is_for_all_shops='Y';
...
Рейтинг: 0 / 0
Структура БД
    #33463854
oreshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел, спасибо за код, обязательно им воспользуюсь, но я хотел спросить как правильно построить структуру таблиц имея такой пример с магазинами
...
Рейтинг: 0 / 0
Структура БД
    #33464057
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oreshnikПавел, спасибо за код, обязательно им воспользуюсь, но я хотел спросить как правильно построить структуру таблиц имея такой пример с магазинамиА я вам именно для этого примера и привёл на мой взгляд правильную структуру. Предложенные Вам варианты денормализованы (Док1...ДокN). Что Вас не устраивает в предложенной структуре?
...
Рейтинг: 0 / 0
Структура БД
    #33464061
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правка: предложенные Вами...
...
Рейтинг: 0 / 0
Структура БД
    #33464262
Oreshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry Павел, предновогоднее настроение, разобрался, спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]