Базы Данных, 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