Категория:Постреляционные базы данных (9 семестр): различия между версиями
ILobster (обсуждение | вклад) (→РК 1) |
Нет описания правки |
||
(не показана 41 промежуточная версия 8 участников) | |||
Строка 1: | Строка 1: | ||
<p>{{Предмет | name=Постреляционные базы данных | prepod=[[Виноградова М.В.]] | lections=? | seminars=нет | labs=4 | dzs=1 | rks=2 | signif=по желанию | what= | <p>{{Предмет | name=Постреляционные базы данных | prepod=[[Виноградова М.В.]] | lections=? | seminars=нет | labs=4 | dzs=1 | rks=2 | signif=по желанию | what=экзамен}}</p> | ||
Магистры проходят этот курс через год, потому они могут либо проходить его через год | И сразу вопрос: что такое постреляционные базы данных? На одном форуме на него ответили так: | ||
<blockquote> | |||
- ''WTF is a "post-relational" database?''<br /> | |||
- ''Marketing-ese for an object-esque layer built on top of a heirarchichal database.'' | |||
</blockquote> | |||
Что в переводе будет примерно так: | |||
<blockquote> | |||
- ''Чего ещё за "постреляционные базы данных"?''<br /> | |||
- ''Маркетинговое название для объектной надстройки поверх иерархической БД.'' | |||
</blockquote> | |||
Магистры проходят этот курс через год, потому они могут либо проходить его через год либо сейчас, на пятом курсе. | |||
== Домашнее задание == | == Домашнее задание == | ||
Методичку по ДЗ можно взять [http://iu5.bmstu.ru/ebook/dz.zip здесь]. | |||
Задания и варианты по годам: | |||
{| class="wikitable" | |||
! Год !! Ссылка | |||
|- align="center" | |||
| 2012 || [http://yadi.sk/d/js6KNXiw0UMPp загрузить] | |||
|} | |||
== Лабораторные работы == | == Лабораторные работы == | ||
Четыре лабораторных по две пары каждая. | Четыре ''бесконечных'' лабораторных <strike>по две пары каждая</strike>. | ||
СУБД Caché ({{Википедия|Caché|произносится именно с ударением на последний слог}}), взять можно [http://www.intersystems.ru/cache/devcorner/index.html тут]. Конечно, лучше не только не брать, но и [[Intersystems Cache - Врата в ад | вообще никак не прикасаться]], но увы... | |||
Ещё немного разъяснений, [http://habrahabr.ru/company/intersystems/blog/235473/#comment_8042959 что же это такое, почему "постреляционное" и насколько оно объектное] (лучше прочитать все комментарии). | |||
Вкратце: неистово древнее (несмотря на цифру <code>%текущий год%</code> в названии), никому не нужное и никем не использующееся ГМО. | |||
Методички: | |||
* [http://iu5.bmstu.ru/ebook/lab.zip по работе с Cashe] | |||
=== ЛР №1 === | |||
* [http://yadi.sk/d/2bPGTZ1Z0PrSn методичка по ЛР №1] | |||
* [http://yadi.sk/d/MI0ftZAl0iXXv примерный отчет по ЛР №1] | |||
==== Вопросы на защите ==== | |||
:1. Что такое глобал? Где их можно посмотреть? Почему первый элемент пустой? | |||
:2. Как хранятся производные классы? Записи добавляются в какую таблицу (родителя или наследника)? Как хранится глобал производных объектов? | |||
:3. Как передавать параметры в SQL-запрос? Как их оттуда забирать? | |||
:4. Почему вызывается метод одного класса а не другого при наследовании? | |||
::Пример: метод <code>Inf()</code> в классе ''Курсы'' и ''Иностранные курсы''. Выбираем объект класса ''Курсы'', но который может быть приведен к производному. | |||
::Вызывается метод <code>Inf()</code> производного. | |||
::Вопрос: ''почему''? Ответ: ''полиморфизм''! | |||
:5. Как проверить существование объекта через терминал (это про <code>.%ExistsId()</code>) | |||
:6. В чем отличие метода класса от метода экземпляра класса? | |||
:7. Как выполняется SQL-запрос из Терминала? | |||
::Вот так: | |||
<syntaxhighlight lang=sql> | |||
set o=##class(%ResultSet).%New("%DynamicQuery:SQL") | |||
do o.Prepare("select * from Lesson where ofcour->name ='"_lang_"'") | |||
do o.Execute() | |||
</syntaxhighlight> | |||
::Нужно рассказать про каждую строчку что она делает. | |||
:8. Как хранятся массивы? Какой формат у ID элемента массива? | |||
=== ЛР №2 === | |||
* [http://yadi.sk/d/0u0rlgYT0PrUp методичка по ЛР №2] (пока только для 1 и 2 группы, можно брать их варианты). | |||
==== Вопросы на защите ==== | |||
:1. При проекции сохраняется ли семантика языка? | |||
::''Нет: меняются названия методов (теряется %), меняется число параметеров (добавляется <code>conn</code>).'' | |||
:2. Что можно сделать через шлюз? | |||
::''Нельзя создать хранимый объект! Потому что нельзя!'' | |||
:3. Как выбрать из XML пустые значения? | |||
:4. Что такое XML-документ и XML-схема? | |||
:5. Зачем нужна директива <code>path</code>? | |||
:6. Назначение <code>sp_xml_preparedocument</code>? | |||
:7. Что делает <code>nodes()</code>? | |||
== РК == | == РК == | ||
Два РК. Оба не обязательные, можно не писать. | Два РК. Оба <strike>не обязательные, можно не писать</strike> ''обязательные'', без них не будет зачёта. Если написать хорошо и вовремя, то можно претендовать на зачёт автоматом. | ||
=== РК 1 === | === РК 1 === | ||
Билет РК состоит из трёх практических упражнений. | Билет РК состоит из трёх практических упражнений. Можно посмотреть [http://yadi.sk/d/u12OqHhqr_da примеры заданий на РК]. | ||
=== РК 2 === | |||
Дана предметная область, её описание. Надо построить к ней запросы на всех языках, которые проходили ([[ПБД_(9)_-_Лекция_№6_-_SQL_(продолжение)#SQL | SQL]], объектное расширение SQL, [[ПБД_(9)_-_Лекция_№6_-_SQL_(продолжение)#XPath | XPath]],[[ПБД_(9)_-_Лекция_№6_-_SQL_(продолжение)#XQuery | XQuery]], [[ПБД_(9)_-_Лекция_№8_-_OQL#OQL | OQL]], [[ПБД_(9)_-_Лекция_№9_-_Datalog#Datalog | Datalog]] (с рекурсиями и кванторами) и, возможно, вообще все остальные, которые упоминались на лекциях). | |||
На РК можно пользоваться <s>чем угодно, ноутбуками тоже,</s> ''только напечатанным'' / ''написанным на бумаге источниками'', в том числе книгами, потому что надо знать синтаксис языков, а его, понятно, заучивать не нужно. | |||
Пример задания на РК можно посмотреть [http://yadi.sk/d/lnYcBGpo0k7e5 тут]. | |||
== Зачёт == | == Зачёт == | ||
Для зачёта автоматом | Зачет состоит из РК1 + РК2 + дополнительные задания по всем ЛР. И выполненное ДЗ. Надо набрать 25 баллов. | ||
Для зачёта автоматом надо всё то же самое, но успеть до зачётной недели. Плюс можно написать реферат и добрать нехватающие баллы. | |||
Система баллов для зачёта: | |||
{| class="wikitable" | |||
! За что !! Максимум возможных !! За дополнительные пункты | |||
|- align="center" | |||
! РК 1 | |||
| 5 || - | |||
|- align="center" | |||
! РК 2 | |||
| 5 || - | |||
|- align="center" | |||
! ДЗ | |||
| 5 || неизвестно | |||
|- align="center" | |||
! Лабораторные | |||
| - || по 1 баллу за пункт | |||
|- align="center" | |||
! Реферат | |||
| 4 || - | |||
|} | |||
Для автомата надо <font size="5px">все 25</font> и ни баллом меньше. Но если кто-то успеет всё сделать не просто до зачётной недели, а до середины декабря, тому для автомата требуется на целых <font size="5px">2</font> балла меньше, то есть не <font size="5px">25</font>, а всего <font size="5px">23</font>. | |||
И ещё прямая речь от Виноградовой:<blockquote>''"До меня дошли слухи о "зачёте в долг". Тот, кто этому верит, за зачётом будет обращаться к тому, от кого услышал.''<br> | |||
''Я этого никому не говорила. 25 декабря зачёт будет проставлен по реальным результатам выполненной за семестр работы"''.</blockquote> | |||
== Литература == | == Литература == | ||
Строка 32: | Строка 133: | ||
* Кузнецов - "Базы данных, языки и модели"; | * Кузнецов - "Базы данных, языки и модели"; | ||
* Гарсиа, Малина, Ульман, Уидоу - "Схемы БД"; | * Гарсиа, Малина, Ульман, Уидоу - "Схемы БД"; | ||
* Кирстеп - " | * Кирстеп - "Cache"; | ||
* [http://citforum.ru/database/ http://citforum.ru/database/] | * [http://citforum.ru/database/ http://citforum.ru/database/] | ||
[[Категория:9 семестр]] | [[Категория:9 семестр]] | ||
[[Категория:Предметы]] | [[Категория:Предметы]] |
Текущая версия от 18:07, 22 февраля 2018
|
И сразу вопрос: что такое постреляционные базы данных? На одном форуме на него ответили так:
- WTF is a "post-relational" database?
- Marketing-ese for an object-esque layer built on top of a heirarchichal database.
Что в переводе будет примерно так:
- Чего ещё за "постреляционные базы данных"?
- Маркетинговое название для объектной надстройки поверх иерархической БД.
Магистры проходят этот курс через год, потому они могут либо проходить его через год либо сейчас, на пятом курсе.
Домашнее задание
Методичку по ДЗ можно взять здесь.
Задания и варианты по годам:
Год | Ссылка |
---|---|
2012 | загрузить |
Лабораторные работы
Четыре бесконечных лабораторных по две пары каждая.
СУБД Caché (произносится именно с ударением на последний слог), взять можно тут. Конечно, лучше не только не брать, но и вообще никак не прикасаться, но увы...
Ещё немного разъяснений, что же это такое, почему "постреляционное" и насколько оно объектное (лучше прочитать все комментарии).
Вкратце: неистово древнее (несмотря на цифру %текущий год%
в названии), никому не нужное и никем не использующееся ГМО.
Методички:
ЛР №1
Вопросы на защите
- 1. Что такое глобал? Где их можно посмотреть? Почему первый элемент пустой?
- 2. Как хранятся производные классы? Записи добавляются в какую таблицу (родителя или наследника)? Как хранится глобал производных объектов?
- 3. Как передавать параметры в SQL-запрос? Как их оттуда забирать?
- 4. Почему вызывается метод одного класса а не другого при наследовании?
- Пример: метод
Inf()
в классе Курсы и Иностранные курсы. Выбираем объект класса Курсы, но который может быть приведен к производному. - Вызывается метод
Inf()
производного. - Вопрос: почему? Ответ: полиморфизм!
- Пример: метод
- 5. Как проверить существование объекта через терминал (это про
.%ExistsId()
) - 6. В чем отличие метода класса от метода экземпляра класса?
- 7. Как выполняется SQL-запрос из Терминала?
- Вот так:
set o=##class(%ResultSet).%New("%DynamicQuery:SQL")
do o.Prepare("select * from Lesson where ofcour->name ='"_lang_"'")
do o.Execute()
- Нужно рассказать про каждую строчку что она делает.
- 8. Как хранятся массивы? Какой формат у ID элемента массива?
ЛР №2
- методичка по ЛР №2 (пока только для 1 и 2 группы, можно брать их варианты).
Вопросы на защите
- 1. При проекции сохраняется ли семантика языка?
- Нет: меняются названия методов (теряется %), меняется число параметеров (добавляется
conn
).
- Нет: меняются названия методов (теряется %), меняется число параметеров (добавляется
- 2. Что можно сделать через шлюз?
- Нельзя создать хранимый объект! Потому что нельзя!
- 3. Как выбрать из XML пустые значения?
- 4. Что такое XML-документ и XML-схема?
- 5. Зачем нужна директива
path
? - 6. Назначение
sp_xml_preparedocument
? - 7. Что делает
nodes()
?
РК
Два РК. Оба не обязательные, можно не писать обязательные, без них не будет зачёта. Если написать хорошо и вовремя, то можно претендовать на зачёт автоматом.
РК 1
Билет РК состоит из трёх практических упражнений. Можно посмотреть примеры заданий на РК.
РК 2
Дана предметная область, её описание. Надо построить к ней запросы на всех языках, которые проходили ( SQL, объектное расширение SQL, XPath, XQuery, OQL, Datalog (с рекурсиями и кванторами) и, возможно, вообще все остальные, которые упоминались на лекциях).
На РК можно пользоваться чем угодно, ноутбуками тоже, только напечатанным / написанным на бумаге источниками, в том числе книгами, потому что надо знать синтаксис языков, а его, понятно, заучивать не нужно.
Пример задания на РК можно посмотреть тут.
Зачёт
Зачет состоит из РК1 + РК2 + дополнительные задания по всем ЛР. И выполненное ДЗ. Надо набрать 25 баллов.
Для зачёта автоматом надо всё то же самое, но успеть до зачётной недели. Плюс можно написать реферат и добрать нехватающие баллы.
Система баллов для зачёта:
За что | Максимум возможных | За дополнительные пункты |
---|---|---|
РК 1 | 5 | - |
РК 2 | 5 | - |
ДЗ | 5 | неизвестно |
Лабораторные | - | по 1 баллу за пункт |
Реферат | 4 | - |
Для автомата надо все 25 и ни баллом меньше. Но если кто-то успеет всё сделать не просто до зачётной недели, а до середины декабря, тому для автомата требуется на целых 2 балла меньше, то есть не 25, а всего 23.
И ещё прямая речь от Виноградовой:
"До меня дошли слухи о "зачёте в долг". Тот, кто этому верит, за зачётом будет обращаться к тому, от кого услышал.
Я этого никому не говорила. 25 декабря зачёт будет проставлен по реальным результатам выполненной за семестр работы".
Литература
- Кузнецов - "Базы данных, языки и модели";
- Гарсиа, Малина, Ульман, Уидоу - "Схемы БД";
- Кирстеп - "Cache";
- http://citforum.ru/database/
Страницы в категории «Постреляционные базы данных (9 семестр)»
Показано 12 страниц из 12, находящихся в данной категории.
П
- ПБД (9) - Лекция №1 - Постреляционные базы данных
- ПБД (9) - Лекция №10 - Работа с СУБД
- ПБД (9) - Лекция №11 - Интеграция информации
- ПБД (9) - Лекция №2 - Модели данных
- ПБД (9) - Лекция №3 - Модели данных (продолжение)
- ПБД (9) - Лекция №4 - XML
- ПБД (9) - Лекция №5 - SQL
- ПБД (9) - Лекция №6 - SQL (продолжение)
- ПБД (9) - Лекция №7 - SQL (продолжение)
- ПБД (9) - Лекция №8 - OQL
- ПБД (9) - Лекция №9 - Datalog