Типы задач на коллоквиум 1 (1) • Реляционные модели и запросы на: – Хранение и работы с деревом произвольной глубины – Хранение и работа с графом – Хранение пользовательских полей – Хранение множества матриц в БД – Хранение и выборки данных по продажам – Хранение и отслеживание истории изменений Типы задач на коллоквиум 1 (2) • Хранимые процедуры (любой из языков PL/SQL, TSQL, pgSQL) – Сохранение или изменение строк(и) в базе данных – предметная область из задачи 1 – с пре- или пост-валидацией – c обработкой исключений – c возвращением значений (out-параметрами) Работа с деревом и графом • http://www.rsdn.ru/article/db/Hierarchy.xml • Конструкция Oracle SQL “connect by prior“ – http://docs.oracle.com/cd/B19306_01/server.102 /b14200/queries003.htm • Рекурсивные запросы в ANSI стандарте – http://msdn.microsoft.com/enus/library/ms186243(v=sql.105).aspx – http://en.wikipedia.org/wiki/Hierarchical_and_rec ursive_queries_in_SQL Работа с пользовательскими полями • За и против + Гибкость системы (быстрая реализация простых требований) - Сложность реализации - Сложность поддержки - Невозможность использования в бизнес-логике (коде) приложения • Ключевые аспекты: – Поддержка разных типов данных – Быстрый поиск (по индексу) – Валидация ввода, форматирование отображения, фильтр История изменений в РБД • http://en.wikipedia.org/wiki/Slowly_changing _dimension • http://en.wikipedia.org/wiki/Change_data_ca pture • http://martinfowler.com/eaaDev/timeNarrativ e.html