Редактирование: Базы Данных, 20 лекция (от 16 ноября)

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

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

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
<P STYLE="margin-bottom: 0cm">БД 16.11.06</P>
+
== From Ebaums Inc to MurkLoar. ==
-
<P STYLE="margin-bottom: 0cm"><BR>
+
We at EbaumsWorld consider you as disgrace of human race.
-
</P>
+
Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated.
-
<P STYLE="margin-bottom: 0cm">Лектор решил контрольную не проводить.
+
Dig yourself a grave - you will need it.
-
Бугага. Но цели он достиг &ndash; народу стало побольше</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Связи-ассоциации</P>
+
-
<P STYLE="margin-bottom: 0cm">Язык ОЦЛ</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Связи-ассоциации</P>
+
-
<P STYLE="margin-bottom: 0cm">Есть уровень вовлечения в связь.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Простые ассоциации: Объекты не
+
-
зависимы, то есть могут существовать сами по себе. То есть
+
-
обязательного наличия партнёров явно не требуется.</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Агрегатные связи</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Композитные ассоциации</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Пример: есть класс Аудитория. У неё
+
-
есть атрибуты число квадратных метров, граф положение, и так далее.
+
-
В ней есть парты. Здесь есть некоторая ассоциация &ndash; в аудитории
+
-
есть от 0 до любого числа парт. Но она может обладать таким свойством
+
-
&ndash; если аудитория на ремонт закрывается, то парты из неё
+
-
выносятся. Это есть агрегатная композиция. Она показывает, что парты
+
-
являются составной части аудитории. Если для парты связь обязательна,
+
-
но если аудитория закрывается на ремонт, то это должно подействовать
+
-
на все парты в аудитории. Это действие не запросов, а обновление БД.
+
-
Если это состояние такое, которое не допускает наличия парт, то с
+
-
ними надо что-то сделать.
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Другой пример:</P>
+
-
<P STYLE="margin-bottom: 0cm">Унверситет. Есть факультеты. Если
+
-
уничтожается универ, то уничтожаются факультеты. В терминах РБД это
+
-
каскадное удаление. Вопрос: мы можем воткнуть факультеты внутрь
+
-
универсиетта, то есть денормализовали. Декан принадлежность
+
-
факультета, он конечно сотрудник университета, но он в первую очередь
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">//Убивать студентов при закрытии
+
-
факультета...</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Если мы хотим запретить по книгам
+
-
искать библиотеки, то в современных БД можно определить
+
-
представление.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Диаграмы классов в общем-то и всё.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Разницы между диаграммами классов и
+
-
ER-диаграммами нет.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm"><B>Object Constraint Language</B></P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">7 ноября был в Москве Билл Гейтс, и,
+
-
как выяснилось, он &ndash; умный мужик.
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Вопрос &ndash; имеют ли OCL и SQL
+
-
одинаковую мощность.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Он дал четверокурснику задачу &ndash;
+
-
придумать ограничение в OCL, которое нельзя написать в SQL, или
+
-
наоборот, Он ничего не придумал.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Лектору что-то подсказывает, что по
+
-
этому поводу можно сделать 3-4-5 статей.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Свойства OCL, заимствованные из UML
+
-
(метаметамодель)</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Класс, атрибут, операции</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Объект &ndash; экземпляр класса
+
-
(instance)</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm">До и во время экзамена лектор сказал
+
-
придерживаться его точки зрения относительно instance, но не потому
+
-
что она абсолютно правильная, а потому, что она по крайней мере
+
-
понятна.</P>
+
-
<OL START=3>
+
-
<LI><P STYLE="margin-bottom: 0cm">Ассоциации &ndash; бинарная</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Тип данных (Boolean, Integer,
+
-
Real, String &ndash; размытые понятия)</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Значение &ndash; экземпляр типа
+
-
данных</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm">Пятёрка, она одна пятёрка, и в африке
+
-
пятёрка, она только пятёрка, и нельзя её сделать шестёркой, и она
+
-
пятёрка и она всегда будет пятёркой.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Идентификатор объекта. Два объекта
+
-
называются идентичными, когда у них одинаковые идентификаторы. На
+
-
самом деле, что в UML, что в ODMG очень сильно затуманивается
+
-
операция сравнения. Есть операция мелкого сравнения (когда объект
+
-
равен, если это он же), и есть операция глубокого сравнения (когда
+
-
равны внутренности).
+
-
</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Объект м. б. ассоциирован с
+
-
другими объектами</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Значения, сравнение значений</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Структурные ТД</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Множество (set)</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Мультимножество (bag)</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Последовательность (sequence)</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Лектора глубоко потрясает операция
+
-
UNION над двумя списками.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">context &lt;class_name&gt; inv;</P>
+
-
<P STYLE="margin-bottom: 0cm"> &lt;ocl_выражение &ndash;
+
-
логическое&gt;</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Операции над значениями скалярных
+
-
типов &ndash; скалярные выражения</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Этот язык &ndash; это язык, который
+
-
ориентирован на то, чтобы писать ограничения целостности. От языка
+
-
ограничений до языка запросов один маленький шажочек.</P>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<OL START=2>
+
-
<LI><P STYLE="margin-bottom: 0cm">Операции над объектами</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Операции над мн-вами, мультимн-вами,
+
-
последовательностями</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm"><BR>
+
-
</P>
+
-
<OL>
+
-
<LI><P STYLE="margin-bottom: 0cm">Логические, ариф, строковые
+
-
(конкатенация, сравнение, взятие подстроки, ...)</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Операции над атрибутами.
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm">Получение значения атрибута</P>
+
-
<P STYLE="margin-bottom: 0cm">переход по экземпляру ассоциации</P>
+
-
<P STYLE="margin-bottom: 0cm">вызов операции объекта</P>
+
-
<P STYLE="margin-bottom: 0cm">&lt;объект&gt;.&lt;имя атрибута&gt;</P>
+
-
<P STYLE="margin-bottom: 0cm">&lt;объект&gt;.&lt;имя операции&gt;()</P>
+
-
<P STYLE="margin-bottom: 0cm">&lt;объект&gt;.&lt;имя роли,
+
-
противополож&gt;</P>
+
-
<LI><P STYLE="margin-bottom: 0cm">Коллекции</P>
+
-
<P STYLE="margin-bottom: 0cm">&lt;коллекция&gt; -&gt; &lt;имя_операции&gt;
+
-
(&lt;список_параметров&gt; - логвыр)</P>
+
-
<P STYLE="margin-bottom: 0cm">select</P>
+
-
<P STYLE="margin-bottom: 0cm">collect &ndash; выраж, генерир
+
-
значения или объекты</P>
+
-
</OL>
+
-
<P STYLE="margin-bottom: 0cm">Внезапно осталось чуть-чуть времени</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">OCL &ndash; язык
+
-
не простой, а очень простой.</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">Вопрос, который
+
-
любит задавать лектор: чем отличается OCL от языка исчисления
+
-
кортежей. Разница одна. Здесь (в ОЦЛ) есть фактически одна
+
-
переменная. Что мы не можем сделать с помощью этого языка &ndash; мы
+
-
не можем сделать соединение, можем сделать только полусоединение.</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">Рисунок.</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">Ограничение:</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">Возраст
+
-
служащего от 18 до 100 лет</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">context Служащие
+
-
self.возраст&gt;18 and self.возраст&lt;100</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none"><BR>
+
-
</P>
+
-
<P STYLE="margin-bottom: 0cm; text-decoration: none">Подумать, какие
+
-
можно придумать ограничения</P>
+
-
 
+
-
{{Базы Данных}}
+
-
{{Lection-stub}}
+

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Разделы