powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопросы по Проектированию БД
17 сообщений из 17, страница 1 из 1
вопросы по Проектированию БД
    #35818576
Здраствуйте пишу дилом, ИС фирмы, оказывающей следующиеуслуги: продажу, установку, настройку, ремонт и обслуживание мини-атс, телефонов, линий связи, ЛВС, видео наблюдение. Так вот при проектирование возникли следуюшие вопросы:
1.Есть достаточно большое кол-во оборудования(телефоны: системные, дект, стационарные, мини-атс, платы расширения, кросы, и т.п.), у них есть, ясное дело, одинаковые для всех атрибуты (id,фирма произ, название, цена, страна произв, вес), но есть разные. Так вот столкнулся с такой проблемой, как правильно сделать для каждой еденицы оборудования(от мини-атс до матрицы, на плате :)) сделать свою таблицу? Использовать ли иерархия? насколько усложнятся тогда запросы и написание программы? Или сделать одну таблицу оборудование и все туда( хотя мне кажется что это неверно).
2. Имеются таблицы работник, контрагент. Для обоих объектов надо хранить адреса, имеет ли смысл делать 3 таблицы:
Адрес прописка, Адрес проживания - работник
Адрес - контагент.
или все в одну, в основном буду использовать адреса контрагентов.
3. И еще стоит/нестоит, точнее правильно или неправильно использовать пустые поля(NULL).
Спасибо за ответ.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35818626
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только_на_минутку
1.Есть достаточно большое кол-во оборудования(телефоны: системные, дект, стационарные, мини-атс, платы расширения, кросы, и т.п.), у них есть, ясное дело, одинаковые для всех атрибуты (id,фирма произ, название, цена, страна произв, вес), но есть разные. Так вот столкнулся с такой проблемой, как правильно сделать для каждой еденицы оборудования(от мини-атс до матрицы, на плате :)) сделать свою таблицу? Использовать ли иерархия?

Я бы сделал так: создал бы основное отношение, в котором хранил бы общие для всех экземпляров атрибуты. А остальные (необщие) атрибуты хранил бы в связных отношениях (для каждого типа оборудования свое отношение)
только_на_минутку
насколько усложнятся тогда запросы и написание программы? Или сделать одну таблицу оборудование и все туда( хотя мне кажется что это неверно).

Все зависит от того, что вы хотите получить в результате запроса. Не думаю, что запрос вида "выбрать все атрибуты всех записей, включая дополнительные атрибуты" в данном случае имеет смысл
только_на_минутку
2. Имеются таблицы работник, контрагент. Для обоих объектов надо хранить адреса, имеет ли смысл делать 3 таблицы:
Адрес прописка, Адрес проживания - работник
Адрес - контагент.
или все в одну, в основном буду использовать адреса контрагентов.

С точки зрения теории нормализации для разных семантических сущностей необходимо делать разные отношения.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35819770
VxS_
Я бы сделал так: создал бы основное отношение, в котором хранил бы общие для всех экземпляров атрибуты. А остальные (необщие) атрибуты хранил бы в связных отношениях (для каждого типа оборудования свое отношение)

а какой связью будет соеденена основная таб с доп. 1:M? и в качестве связующих атр. будет выступать id(номер товара), но в доп. таб он будет FK? Просто это тип связи должен свидеьельствовать, что основному набору атр, из основной таб соответсвует нескольким оборудованиям, но такое врядли будет.И получается что эта связь похожа на иерархию только без дексреминатора и используется будет как 1 к 1.???

или сввязь 1 к 1? Просто наш преподаватель по ТОвБД(теория оптимизации в БД) говорил что связь 1 к 1 - неправельная. И если она есть то атр из осн таб при оптимизации перейдут в доп.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35820606
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Схема представлена на рисунке.
ID Товара в основной таблице - автоинкременируемый первичный ключ.

Ассоциативное отношение необходимо, чтобы каждой записи основного отношения соответствовала только одна запись из дополнительных.

Все связи на схеме 1:1

Действия ссылочной целостности для всех связей: ON DELETE CASCADE, ON UPDATE CASCADE

IDC Товара во вторичных отношениях - автоинкременируемый первичный ключ, уникальный в пределах всех вторичных отношений. Если используемая вами СУБД не может обеспечить уникальность такого рода, то лучше всего будет:
только_на_минутку
1.Есть достаточно большое кол-во оборудования(телефоны: системные, дект, стационарные, мини-атс, платы расширения, кросы, и т.п.), у них есть, ясное дело, одинаковые для всех атрибуты (id,фирма произ, название, цена, страна произв, вес), но есть разные. Так вот столкнулся с такой проблемой, как правильно сделать для каждой еденицы оборудования(от мини-атс до матрицы, на плате :)) сделать свою таблицу ? Использовать ли иерархия? насколько усложнятся тогда запросы и написание программы? Или сделать одну таблицу оборудование и все туда( хотя мне кажется что это неверно).

P.S.: также вариант с отдельными отношениями будет предпочтительней, если число общих атрибутов и число записей не велико или размеры базы данных некритичны
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35820609
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извените, схему забыл
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35820741
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VxS_
P.S.: также вариант с отдельными отношениями будет предпочтительней, если число общих атрибутов и число записей не велико или размеры базы данных некритичны
Это я глупость сказал. Не обращайте внимания.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35824149
авторIDC Товара во вторичных отношениях - автоинкременируемый первичный ключ, уникальный в пределах всех вторичных отношений. Если используемая вами СУБД не может обеспечить уникальность такого рода

MSSQL 2005 или 2008 поддерживает такую возможность?
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825516
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Тип данные timestamp обеспечивает уникальное автоинкременируемое значение поля в пределах базы данных.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825599
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VxS_Да. Тип данные timestamp обеспечивает уникальное автоинкременируемое значение поля в пределах базы данных.

Хм...
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825603
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДействия ссылочной целостности для всех связей: ON DELETE CASCADE, ON UPDATE CASCADE
то есть, если из любого справочника что-либо удалим, то охерачатся и заказы, и т.д. Правильно? :-)
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825609
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
explaХм...

Да, коллега - они там намудрили с терминологией - но что правда то правда. Timestamp - 8 байтный уникальный автоинкремент внутри SQL Server базы .
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825721
VxS_Да. Тип данные timestamp обеспечивает уникальное автоинкременируемое значение поля в пределах базы данных.
Нужно выставить тип idc Timestamp в ассециативной таблице и во всех таблицах вторичное отношение, или только в таблице ассоциативное отношение?
Большое спасибо за ответы.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825948
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VxS_ пишет:

> Да. Тип данные timestamp обеспечивает уникальное автоинкременируемое
> значение поля в пределах базы данных.

Уверены на 100% ?

Что-то меня сомнения берут...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35825953
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Что-то меня сомнения берут...


не сомневайтесь Коллега. Так и есть.

BOL
Is a data type that exposes automatically generated, unique binary numbers within a database. timestamp is generally used as a mechanism for version-stamping table rows. The storage size is 8 bytes. The timestamp data type is just an incrementing number and does not preserve a date or a time. To record a date or time, use a datetime data type.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35826061
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Нет не правильно. Если мы удалим запись об основных атрибутах, охерачатся и дополнительные, т.к. в них в таком случае нет смысла
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35826068
VxS_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во всех дополнительных. В ассоциативном отношении все записываем вручную.
...
Рейтинг: 0 / 0
вопросы по Проектированию БД
    #35831559
MarinaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2только_на_минутку,

а позвольте поинтересоватся, как звучит тема диплома???
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопросы по Проектированию БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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