Базы Данных, 19 лекция (от 09 ноября)

Материал из ESyr's Wiki pages.

Перейти к: навигация, поиск

Вводится специальное граф представление, И так дпалее .До поры до времени он существовал сам по себе, пока над ним не взял контроль консорциум.


Получилась бзабавная картиночка:


Метаметамодель – нотация, с помощью которой определяются остальные. Считается, что она сама определяется, но она определяется с помощью себя самой.



Все порядка 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, контрольной не будет. Ибо лектор учень любит давать на неё задачки.


Диаграмма классов

Классы – именованные описания объектов


Какой-то ушлый преподаватель недооценил лектора. - лектор таки нашёл мел, который был спрятан за задвинутой доской.


  1. атрибуты

  2. операции

  3. связь

  4. семантика


Формально у класса может не быть атрибутов.


Свойство, выраж атрибутом, является свойством сущности, которая присуща всем объектам класса.


Атрибут – абстракция состояния объекта.


Операции класса – именованная услуга, которужю можно запросить у любого объекта класса.


Сигнатура операции – имя операции, тип значения, список типов параметров


Самая большая неприятность языка UML – то, что там терминологияч не такая. Например, понятие связи в UML – понятие более общее, чем в ER-диаграммах.


Связи:

  1. зависимость

  2. обобщения

  3. ассоциации – то же, чот и связь в ER-диаграммах


Лектор будет расматривать типы связей в порялке возрастания.


Зависимость – то, что одна сущность бкз другой не имеет смысла.


Обобщения (связь «is a»)


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


Лектор – первый человек по в СССР, который написал статью по С++. (1985)


Страустрап.


Обобщение – стрелочка новорит, что у аэроплана один базовый класс, и аэроплан является его подклассом.


Показательный пример.


При том, что Дейта и Дарелл (?) терпеть не может UML, как и полагается нормалдьным людям, тем не менее, у них основные свойства наследования такие же, как в UML.


Есть класс яблоки, и мы там ввели все возможные атрбуты яблок. Лектор знает людей, которые едят принципиально зелёные ябдлоки... этот пример лектору не нравится


Всегда можно прийти к картинке с общим корнем.


Новый курс – модельные основы технологий БД и их приложения.


И у студент, и у преполда есть комната. Препод – комната, где покурить, студент – комната в общаге. У препода-студента и то, и другое. Какие решения – запретить образование класса, пока есть одноимённые атрибуты. Это упражнение не годится, потомцу что класс – вещь динамичная. Втрое – наследовать свойства только от одного изх суперклассов. Ещё одна возможность – переименовать автоматом. На самом деле, тоже не очень сдорово, потому что на уровне ЧеловекИзУнивера не должны быть атрибуты, которые такие. Кроме того, имена получапются очень длинные.


Вывод – ребята, множественное наследование – вещь красивая. Но. Лектор не знает, как её реализовать в SQL.


Связи – ассоциации


У каждой 2 конца, хотя в UML допускаются н-арные ассоциации. В OCL они не допускаются.


Графически на диаграмах сущность-связь это линия, которая соед класс с самим собой или другим классом.


Ассоциации:

  1. Имя

  2. Роль

  3. Кратность

  4. Агрегация


Кратность – multiplicity

Число объектов, которые могут находиться на конце связи


Имя.

Допускается именование ассоциации одним именем, именами ролей, и вообще без имени.



Личные инструменты