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

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск
(Сырой исходник)
(Исправлены опечатки)
 
(4 промежуточные версии не показаны)
Строка 1: Строка 1:
<P STYLE="margin-bottom: 0cm">Вводится специальное граф
<P STYLE="margin-bottom: 0cm">Вводится специальное граф
-
представление, И так дпалее .До поры до времени он существовал сам по
+
представление, И так далее. До поры до времени он существовал сам по
себе, пока над ним не взял контроль консорциум.</P>
себе, пока над ним не взял контроль консорциум.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">Получилась бзабавная картиночка:</P>
+
<P STYLE="margin-bottom: 0cm">Получилась забавная картиночка:</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 37: Строка 37:
<P STYLE="margin-bottom: 0cm">Platform Specific Model
<P STYLE="margin-bottom: 0cm">Platform Specific Model
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">Перекход делается с помощью прфайлов, и
+
<P STYLE="margin-bottom: 0cm">Переход делается с помощью прфайлов, и
идёт к тому, чтобы делалось автоматически.</P>
идёт к тому, чтобы делалось автоматически.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">Теперь алектор сосредотачивается на
+
<P STYLE="margin-bottom: 0cm">Теперь лектор сосредотачивается на
-
диаграмах классов.
+
диаграммах классов.
</P>
</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
Строка 60: Строка 60:
люди, которые считают, что коль скоро мы предлагаем людям формальный
люди, которые считают, что коль скоро мы предлагаем людям формальный
язык, то, значит, у него должна быть формальная семантика, также
язык, то, значит, у него должна быть формальная семантика, также
-
документированная, как и синтаксисъ</P>
+
документированная, как и синтаксис</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 98: Строка 98:
</P>
</P>
<P STYLE="margin-bottom: 0cm">Операции класса &ndash; именованная
<P STYLE="margin-bottom: 0cm">Операции класса &ndash; именованная
-
услуга, которужю можно запросить у любого объекта класса.</P>
+
услуга, которую можно запросить у любого объекта класса.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 106: Строка 106:
</P>
</P>
<P STYLE="margin-bottom: 0cm">Самая большая неприятность языка UML &ndash;
<P STYLE="margin-bottom: 0cm">Самая большая неприятность языка UML &ndash;
-
то, что там терминологияч не такая. Например, понятие связи в UML &ndash;
+
то, что там терминология не такая. Например, понятие связи в UML &ndash;
понятие более общее, чем в ER-диаграммах.
понятие более общее, чем в ER-диаграммах.
</P>
</P>
Строка 115: Строка 115:
<LI><P STYLE="margin-bottom: 0cm">зависимость</P>
<LI><P STYLE="margin-bottom: 0cm">зависимость</P>
<LI><P STYLE="margin-bottom: 0cm">обобщения</P>
<LI><P STYLE="margin-bottom: 0cm">обобщения</P>
-
<LI><P STYLE="margin-bottom: 0cm">ассоциации &ndash; то же, чот и
+
<LI><P STYLE="margin-bottom: 0cm">ассоциации &ndash; то же, что и
связь в ER-диаграммах</P>
связь в ER-диаграммах</P>
</OL>
</OL>
Строка 125: Строка 125:
</P>
</P>
<P STYLE="margin-bottom: 0cm">Зависимость &ndash; то, что одна
<P STYLE="margin-bottom: 0cm">Зависимость &ndash; то, что одна
-
сущность бкз другой не имеет смысла.</P>
+
сущность без другой не имеет смысла.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 134: Строка 134:
спрашивает, что нужно иметь по минимуму, чтобы было позднее
спрашивает, что нужно иметь по минимуму, чтобы было позднее
связывание, и отвечают, что нужен механизм вирт функций. Это соверш
связывание, и отвечают, что нужен механизм вирт функций. Это соверш
-
непраавильно. А нужно в рантайме по ссылке на объект узнавать, какого
+
неправильно. А нужно в рантайме по ссылке на объект узнавать, какого
он точно класса.
он точно класса.
</P>
</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">Лектор &ndash; первый человек по в
+
<P STYLE="margin-bottom: 0cm">Лектор &ndash; первый человек в
СССР, который написал статью по С++. (1985)</P>
СССР, который написал статью по С++. (1985)</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
Строка 146: Строка 146:
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">Обобщение &ndash; стрелочка новорит,
+
<P STYLE="margin-bottom: 0cm">Обобщение &ndash; стрелочка говорит,
что у аэроплана один базовый класс, и аэроплан является его
что у аэроплана один базовый класс, и аэроплан является его
подклассом.</P>
подклассом.</P>
Строка 155: Строка 155:
</P>
</P>
<P STYLE="margin-bottom: 0cm">При том, что Дейта и Дарелл (?)
<P STYLE="margin-bottom: 0cm">При том, что Дейта и Дарелл (?)
-
терпеть не может UML, как и полагается нормалдьным людям, тем не
+
терпеть не может UML, как и полагается нормальным людям, тем не
менее, у них основные свойства наследования такие же, как в UML.</P>
менее, у них основные свойства наследования такие же, как в UML.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
<P STYLE="margin-bottom: 0cm">Есть класс яблоки, и мы там ввели все
<P STYLE="margin-bottom: 0cm">Есть класс яблоки, и мы там ввели все
-
возможные атрбуты яблок. Лектор знает людей, которые едят
+
возможные атрибуты яблок. Лектор знает людей, которые едят
-
принципиально зелёные ябдлоки... этот пример лектору не нравится</P>
+
принципиально зелёные яблоки... этот пример лектору не нравится</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 172: Строка 172:
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
-
<P STYLE="margin-bottom: 0cm">И у студент, и у преполда есть комната.
+
<P STYLE="margin-bottom: 0cm">И у студент, и у препода есть комната.
Препод &ndash; комната, где покурить, студент &ndash; комната в
Препод &ndash; комната, где покурить, студент &ndash; комната в
общаге. У препода-студента и то, и другое. Какие решения &ndash;
общаге. У препода-студента и то, и другое. Какие решения &ndash;
запретить образование класса, пока есть одноимённые атрибуты. Это
запретить образование класса, пока есть одноимённые атрибуты. Это
-
упражнение не годится, потомцу что класс &ndash; вещь динамичная.
+
упражнение не годится, потому что класс &ndash; вещь динамичная.
-
Втрое &ndash; наследовать свойства только от одного изх суперклассов.
+
Втрое &ndash; наследовать свойства только от одного из суперклассов.
Ещё одна возможность &ndash; переименовать автоматом. На самом деле,
Ещё одна возможность &ndash; переименовать автоматом. На самом деле,
тоже не очень сдорово, потому что на уровне ЧеловекИзУнивера не
тоже не очень сдорово, потому что на уровне ЧеловекИзУнивера не
-
должны быть атрибуты, которые такие. Кроме того, имена получапются
+
должны быть атрибуты, которые такие. Кроме того, имена получаются
очень длинные.</P>
очень длинные.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
<P STYLE="margin-bottom: 0cm">Вывод &ndash; ребята, множественное
<P STYLE="margin-bottom: 0cm">Вывод &ndash; ребята, множественное
-
наследование &ndash; вещь красивая. Но. Лектор не знает, как её
+
наследование &ndash; вещь красивая. Но! Лектор не знает, как её
реализовать в SQL.</P>
реализовать в SQL.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
Строка 197: Строка 197:
</P>
</P>
<P STYLE="margin-bottom: 0cm">Графически на диаграмах сущность-связь
<P STYLE="margin-bottom: 0cm">Графически на диаграмах сущность-связь
-
это линия, которая соед класс с самим собой или другим классом.</P>
+
это линия, которая соединяет класс с самим собой или другим классом.</P>
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
Строка 221: Строка 221:
<P STYLE="margin-bottom: 0cm"><BR>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
</P>
 +
{{Базы Данных}}
 +
{{Lection-stub}}

Текущая версия

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


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


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



Все порядка 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

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


Имя.

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




Базы Данных


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


Дополнительная информация к экзамену


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы