[Несрочно] Учусь писать диаграммы "сущность-связь"

Модераторы: kdv, CyberMax

Ответить
EvilsInterrupt
Сообщения: 66
Зарегистрирован: 29 авг 2006, 10:00

[Несрочно] Учусь писать диаграммы "сущность-связь"

Сообщение EvilsInterrupt » 24 мар 2007, 12:26

День добрый!

Читаю дайта, в главе 1, есть задание. Я хочу чтобы вы проверили и подкорректировали меня, если я что-то не правильно решил.


Задача:

Предположим, что у вас есть коллекция записей классической музыки, содержа-
щаяся на компакт-дисках, мини-дисках, долгоиграющих пластинках и аудиокас-
сетах, и вы хотите создать базу данных, которая позволит находить записи опреде-
ленного композитора (например, Сибелиуса), дирижера (например, Симона Ратла),
солиста (например, Артура Грюмикса), произведения (например, Пятой Симфо-
нии Бетховена), оркестра (например,Нью-Йоркского филармонического), вида
произведения (например, концерта для скрипки) или оркестровой группы
(например, квартета Кронус). Начертите диаграмму "Сущность-связь" для этой
базы данных.

Пробное решение:

Обозначу следующие абревиатуры:
Носитель информации - Н
Тип носителя - ТН
Композитор - К
Произведение - П
дирижер - Д
Оркестр - О
вид произведения - ВП
Оркестровая группа - ОГ

Обозначау слудующие связи:

Бинарные:
Н "содержит" П или П "записано на" Н
О "управляется" Д или Д "управляет" О
П "написано" К или К "написал" П
О "содержит" ОГ или ОГ "включено в" О

Тернарные и четырехарные:
К "написал" П "которое играет" О "и которым управляет "Д"
Д "управляет" О "куда входит" ОГ

Абревитура ТН есть атрибут Н, а атрибут ВП есть атрибут П

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 24 мар 2007, 16:48

есть такая метода, можно использовать в PowerDesigner.
Создаешь концептуальную модель.
Потом берешь, и наполняешь список атрибутов всеми свойствами какие только придумаешь для данной задачи, не думая каким объектам эти свойства будут принадлежать. Т.е. делаешь кучу.

Потом, начинаешь создавать Entity (сущности). Тоже пустые изначально, но это уже - носитель, произведение, и т.д.

Дальше начинаешь наполнять каждую Entity из данной кучи атрибутов. Заодно проверяешь, есть-ли у каждой сущности идентификатор.
Потом, начинаешь рисовать связи между сущностями, добавляя entity, если понадобится. (например, на носителе может быть несколько произведений, а еще лучше создать нечто вроде "альбом".
А потом жмешь кнопку "сгенерировать физическую модель" :-)

Насчет задачи в Дейте - забей вообще на связи, больше бинарных. Нет таких связей вообще-то. Т.е. они есть, но проходят через сущности. Связь как элемент может быть только между двумя сущностями. Она может проходить "насквозь" сущности, но это уже будет больше одной связи. В общем...

EvilsInterrupt
Сообщения: 66
Зарегистрирован: 29 авг 2006, 10:00

Сообщение EvilsInterrupt » 25 мар 2007, 11:41

Вот когда учился в КГТУ им. А.Н.Туполева, был у нас там препод Суздальцев Владимир Антонович - зверь скажу, но дело не в этом, а в том что он требовал, сначала описать че хошь, потом сделать в виде прямоугольников - сущности, ромбов - связи. Далее это была 1НФ, после приводили ко 2НФ, потом к 3НФ. Далее брали СУБД, как правило Access и стряпали БД.
После окончания я постойке смирно, "торжественно" сжог все конспекты и раздал литературу студентам, которые курсом по младше. Сейчас же, "по умнел" многие вещи кажутся не такими простыми как раньше и я стал нуждаться в:
1. Правильном созждании БД, чтобы потом не переделывать, а сейчас часто приходится это делать
2. Делать такие диаграммы, которые могли бы сгодиться в качестве документации, ведь хочется же через пол-года сообразить че же я намудрил -то.

В виду того, что я вообще не знаю с какого боку подступиться в изучении проектирования и реализации БД и их сопровождению, я начал изучать и делать то, что делал в ВУЗе, т.к. больше не знаю ничего!

Прошу высказать ваши подходы и как вы делаете реализацию п1, п2(выше). Желательно и как вы этому научились.

Ответить