Категория:Постреляционные базы данных (9 семестр): различия между версиями
ILobster (обсуждение | вклад) мНет описания правки |
|||
Строка 16: | Строка 16: | ||
== Лабораторные работы == | == Лабораторные работы == | ||
Четыре | Четыре ''бесконечных'' лабораторных <strike>по две пары каждая</strike>. | ||
СУБД Caché ({{Википедия|Caché|произносится именно с ударением на последний слог}}), взять можно [http://www.intersystems.ru/cache/devcorner/index.html тут]. | СУБД Caché ({{Википедия|Caché|произносится именно с ударением на последний слог}}), взять можно [http://www.intersystems.ru/cache/devcorner/index.html тут]. | ||
Строка 29: | Строка 29: | ||
* [http://yadi.sk/d/MI0ftZAl0iXXv примерный отчет по ЛР №1] | * [http://yadi.sk/d/MI0ftZAl0iXXv примерный отчет по ЛР №1] | ||
==== Вопросы на защите ==== | |||
1 | :1. Что такое глобал? Где их можно посмотреть? Почему первый элемент пустой? | ||
:2. Как хранятся производные классы? Записи добавляются в какую таблицу (родителя или наследника)? Как хранится глобал производных объектов? | |||
2 | :3. Как передавать параметры в SQL-запрос? Как их оттуда забирать? | ||
:4. Почему вызывается метод одного класса а не другого при наследовании? | |||
3 | ::Пример: метод <code>Inf()</code> в классе ''Курсы'' и ''Иностранные курсы''. Выбираем объект класса ''Курсы'', но который может быть приведен к производному. | ||
::Вызывается метод <code>Inf()</code> производного. | |||
4 | ::Вопрос: ''почему''? Ответ: ''полиморфизм''! | ||
:Пример: метод <code>Inf()</code> в классе ''Курсы'' и ''Иностранные курсы''. Выбираем объект класса ''Курсы'', но который может быть приведен к производному. | :5. Как проверить существование объекта через терминал (это про <code>.%ExistsId()</code>) | ||
:Вызывается метод <code>Inf()</code> производного. | :6. В чем отличие метода класса от метода экземпляра класса? | ||
:Вопрос: ''почему''? Ответ: ''полиморфизм''! | :7. Как выполняется SQL-запрос из Терминала? | ||
::Вот так: | |||
5 | |||
6 | |||
7 | |||
: | |||
<syntaxhighlight lang=sql> | <syntaxhighlight lang=sql> | ||
set o=##class(%ResultSet).%New("%DynamicQuery:SQL") | set o=##class(%ResultSet).%New("%DynamicQuery:SQL") | ||
Строка 54: | Строка 47: | ||
do o.Execute() | do o.Execute() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
::Нужно рассказать про каждую строчку что она делает. | |||
8 | :8. Как хранятся массивы? Какой формат у ID элемента массива? | ||
=== ЛР №2 === | === ЛР №2 === | ||
Строка 61: | Строка 54: | ||
* [http://yadi.sk/d/0u0rlgYT0PrUp методичка по ЛР №2] (пока только для 1 и 2 группы, можно брать их варианты). | * [http://yadi.sk/d/0u0rlgYT0PrUp методичка по ЛР №2] (пока только для 1 и 2 группы, можно брать их варианты). | ||
Вопросы | ==== Вопросы на защите ==== | ||
1 | :1. При проекции сохраняется ли семантика языка? | ||
::Нет: меняются названия методов (теряется %), меняется число параметеров (добавляется <code>conn</code>). | |||
2 | :2. Что можно сделать через шлюз? | ||
::Нельзя создать хранимый объект! Потому что нельзя! | |||
== РК == | == РК == | ||
Два РК. Оба <strike>не обязательные, можно не писать</strike> обязательные, без них не будет зачёта. Если написать хорошо и вовремя, то можно претендовать на зачёт автоматом. | Два РК. Оба <strike>не обязательные, можно не писать</strike> ''обязательные'', без них не будет зачёта. Если написать хорошо и вовремя, то можно претендовать на зачёт автоматом. | ||
=== РК 1 === | === РК 1 === |
Версия от 16:05, 16 ноября 2012
|
Магистры проходят этот курс через год, потому они могут либо проходить его через год либо сейчас, на пятом курсе.
Домашнее задание
Методичку по ДЗ можно взять здесь.
Задания и варианты по годам:
Год | Ссылка |
---|---|
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. Что можно сделать через шлюз?
- Нельзя создать хранимый объект! Потому что нельзя!
РК
Два РК. Оба не обязательные, можно не писать обязательные, без них не будет зачёта. Если написать хорошо и вовремя, то можно претендовать на зачёт автоматом.
РК 1
Билет РК состоит из трёх практических упражнений. Можно посмотреть примеры заданий на РК.
РК 2
Дана предметная область, её описание. Надо построить к ней запросы на всех языках, которые проходили ( SQL, объектное расширение SQL, OQL, XQuery, Datalog (с рекурсиями и кванторами) и, возможно, вообще все остальные, которые упоминались на лекциях).
На РК можно пользоваться чем угодно, ноутбуками тоже, потому что надо знать синтаксис языков, а его, понятно, заучивать не нужно.
Пример задания на РК можно посмотреть тут.
Зачёт
Для зачёта автоматом надо хорошо написать оба РК и выполнить дополнительные задания к ЛР.
Система баллов для зачёта:
За что | Максимум возможных | За дополнительные пункты |
---|---|---|
РК 1 | 5 | - |
РК 2 | 5 | - |
ДЗ | 5 | 1 |
Лабораторные | - | 10 |
Очень скорее всего, для автомата надо все 26 и ни баллом меньше.
Литература
- Кузнецов - "Базы данных, языки и модели";
- Гарсиа, Малина, Ульман, Уидоу - "Схемы БД";
- Кирстеп - "Cashe";
- 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