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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что-то меня сомнения берут...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
18.02.2009, 22:57
    #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
19.02.2009, 01:02
    #35826061
VxS_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по Проектированию БД
kdv,

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

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


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