Базы Данных, 19 лекция (от 09 ноября)
Материал из eSyr's wiki.
Вводится специальное граф представление, И так дпалее .До поры до времени он существовал сам по себе, пока над ним не взял контроль консорциум.
Получилась бзабавная картиночка:
Метаметамодель – нотация, с помощью которой определяются остальные. Считается, что она сама определяется, но она определяется с помощью себя самой.
Все порядка 30 моделей определены в стандарте, и с помощью их опред модели.
Ещё что интересного есть в UML – стереотипы и профайлы.
Каждую метамодель с помощью метеметамодели и других метамоделей можно уточнять.
Model Driven Development (MDD)
Model Driven Architecture (MDA)
Platform-Independed Model
| MS SQL
V Server 2005
Platform Specific Model
Перекход делается с помощью прфайлов, и идёт к тому, чтобы делалось автоматически.
Теперь алектор сосредотачивается на диаграмах классов.
Диаграммы классов – показывают некоторый набор классов или других сущностей и некоторых связей между этими классами.
Object Constrint Language (OCL) - jxtym rhfcbdsq? Vfktymrbq zpsxjr
У UML семантика очень слабая. Есть люди, которые считают, что коль скоро мы предлагаем людям формальный язык, то, значит, у него должна быть формальная семантика, также документированная, как и синтаксисъ
Пока лектор не расскажет OCL, контрольной не будет. Ибо лектор учень любит давать на неё задачки.
Диаграмма классов
Классы – именованные описания объектов
Какой-то ушлый преподаватель недооценил лектора. - лектор таки нашёл мел, который был спрятан за задвинутой доской.
атрибуты
операции
связь
семантика
Формально у класса может не быть атрибутов.
Свойство, выраж атрибутом, является свойством сущности, которая присуща всем объектам класса.
Атрибут – абстракция состояния объекта.
Операции класса – именованная услуга, которужю можно запросить у любого объекта класса.
Сигнатура операции – имя операции, тип значения, список типов параметров
Самая большая неприятность языка UML – то, что там терминологияч не такая. Например, понятие связи в UML – понятие более общее, чем в ER-диаграммах.
Связи:
зависимость
обобщения
ассоциации – то же, чот и связь в ER-диаграммах
Лектор будет расматривать типы связей в порялке возрастания.
Зависимость – то, что одна сущность бкз другой не имеет смысла.
Обобщения (связь «is a»)
Лектор ужасно не любит, когда спрашивает, что нужно иметь по минимуму, чтобы было позднее связывание, и отвечают, что нужен механизм вирт функций. Это соверш непраавильно. А нужно в рантайме по ссылке на объект узнавать, какого он точно класса.
Лектор – первый человек по в СССР, который написал статью по С++. (1985)
Страустрап.
Обобщение – стрелочка новорит, что у аэроплана один базовый класс, и аэроплан является его подклассом.
Показательный пример.
При том, что Дейта и Дарелл (?) терпеть не может UML, как и полагается нормалдьным людям, тем не менее, у них основные свойства наследования такие же, как в UML.
Есть класс яблоки, и мы там ввели все возможные атрбуты яблок. Лектор знает людей, которые едят принципиально зелёные ябдлоки... этот пример лектору не нравится
Всегда можно прийти к картинке с общим корнем.
Новый курс – модельные основы технологий БД и их приложения.
И у студент, и у преполда есть комната. Препод – комната, где покурить, студент – комната в общаге. У препода-студента и то, и другое. Какие решения – запретить образование класса, пока есть одноимённые атрибуты. Это упражнение не годится, потомцу что класс – вещь динамичная. Втрое – наследовать свойства только от одного изх суперклассов. Ещё одна возможность – переименовать автоматом. На самом деле, тоже не очень сдорово, потому что на уровне ЧеловекИзУнивера не должны быть атрибуты, которые такие. Кроме того, имена получапются очень длинные.
Вывод – ребята, множественное наследование – вещь красивая. Но. Лектор не знает, как её реализовать в SQL.
Связи – ассоциации
У каждой 2 конца, хотя в UML допускаются н-арные ассоциации. В OCL они не допускаются.
Графически на диаграмах сущность-связь это линия, которая соед класс с самим собой или другим классом.
Ассоциации:
Имя
Роль
Кратность
Агрегация
Кратность – multiplicity
Число объектов, которые могут находиться на конце связи
Имя.
Допускается именование ассоциации одним именем, именами ролей, и вообще без имени.
Базы Данных
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Календарь
пт | чт | пт | чт | пт | чт | пт | чт | пт | чт | |
Сентябрь
| 01 | 07 | 14 | 15 | 21 | 22 | 28 | 29 | ||
Октябрь
| 05 | 06 | 12 | 13 | 19 | 20 | 26 | 27 | ||
Ноябрь
| 02 | 03 | 09 | 16 | 17 | 23 | 24 | 30 | ||
Декабрь
| 07 | 08 | 14 | 15 |
Вопросы к экзамену
1999
2000
2001
2002
2003
2004
2005
2006