Категория:Постреляционные базы данных (9 семестр)

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску

Постреляционные базы данных
Преподаватель: Виноградова М.В.
Лекций: ?
Семинаров: нет
Лабораторных работ: 4
Домашних заданий: 1
Рубежных контролей: 2
Ходить: по желанию
Что сдавать: зачёт

Магистры проходят этот курс через год, потому они могут либо проходить его через год либо сейчас, на пятом курсе.

Домашнее задание

Методичку по ДЗ можно взять здесь.

Задания и варианты по годам:

Год Ссылка
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

Вопросы на защите

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 5 -
РК 2 5 -
ДЗ 5 ничего конкретного
так и не было сказано
Лабораторные - 10

Очень скорее всего, для автомата надо все 25 и ни баллом меньше.

Кому будет не хватать баллов, их можно будет добрать рефератом, за который даётся 4 балла.

Литература

  • Кузнецов - "Базы данных, языки и модели";
  • Гарсиа, Малина, Ульман, Уидоу - "Схемы БД";
  • Кирстеп - "Cashe";
  • http://citforum.ru/database/