
- •Лекция 1 (db_l01.Ppt)
- •1.2. Компоненты банка данных
- •1.3. Цель, задачи и структура курса (Слайд 11)
- •Классификация бд. Фактографические и документальные бд.
- •2.2. Фактографические и документальные бд
- •2.3. Бд оперативной и ретроспективной информации. Хранилища данных
- •Лекция 3 (db_l03.Ppt)
- •3.2. Типология свойств и связей объекта
- •3.3. Многоуровневые модели предметной области
- •3.4. Идентификация объектов и записей
- •Лекция 4 (db_l04.Ppt) Теоретические основы фактографических бд. Реляционная алгебра и реляционное исчисление. Основные операции реляционной алгебры и реляционного исчисления при обработке данных
- •4.1. Основные понятия реляционной модели данных
- •4.2. Основы реляционной алгебры
- •4.3. Реляционное исчисление
- •5.1. Документальные информационные системы, основанные на концепции бд
- •5.2. Теоретико-множественная модель индексирования и поиска (слайд 4)
- •5.3. Линейное описание информационных массивов (слайд 5)
- •5.5. Критерий смыслового соответствия (ксс)
- •5.6. Логическая структура документальной аипс.
- •5.7. Документо-ориентированная база данных Lotus Domino/Notes
- •5.8. Модель полнотекстовых документов
- •Лекция 7 (db_l07)
- •7.2. Типология моделей
- •7.3. Этапы проектирования и объекты моделирования
- •7.4. Подходы к проектированию базы данных
- •7.5. Инфологические модели (системный анализ) предметной области
- •7.6. Даталогические модели
- •7.7. Физические модели
- •7.8. Средства автоматизации проектирования
- •Лекция 8 (db_l08) Инфологическое (концептуальное) моделирование предметной области (ПрО). Анализ предметной области. Синтез концептуальной модели предметной области.
- •8.1. Инфологическое проектирование и семантическая модель
- •8.2. Анализ ПрО - Определение информационных потребностей пользователей
- •8.3. Критерии оценки модели
- •Лекция 9 (db_l09) Модель «сущность-связь». Основные понятия: Сущность, Свойства, Связи. Представление сущностей, свойств, связей
- •9.1. Модель «Сущность-Связь»
- •9.2. Er- диаграмма
- •Лекция 10 (db_l10.Ppt). Методы и языки моделирования. Структурный подход и методика idef. Диаграммы потоков данных Объектно-ориентированная методология. Язык uml
- •10.1. Структурная методология
- •10.1.1. Функциональная модель idef0
- •10.1.2. Метод моделирования idef3
- •10.1.3. Диаграммы потоков данных (Data Flow Diagrams - dfd)
- •10.2. Объектно-ориентированная методология
- •10.2.1. Язык uml
- •10.2.2. Диаграммы uml
- •Лекция 11 (db_l11.Ppt). Даталогические модели (логические модели данных). Иерархические, сетевые, реляционные модели данных. Принципы построения. Преимущества и недостатки.
- •Итак, модель данных – модель логического уровня проектирования бд. Ее можно рассматривать как сочетание трех компонентов (слайд 2):
- •11.3. Сетевая модель данных
- •11.4. Иерархическая модель данных
- •11.5. Преимущества и недостатки моделей (слайд 13)
- •11.6. Документальные системы и интеграция моделей.
- •Лекция 12 (db_l12.Ppt).
- •12.1.2. Управляющий компонент реляционной модели
- •12.1.3. Целостность данных (слайд 5)
- •12.1.4. Правила Кодда
- •12.2. Нормализация.
- •12.2.1. Функциональные зависимости
- •12.2.2. Нормальные формы
- •12.3. Процедура нормализации (слайд 14)
- •12.4. Получение реляционной схемы из er-диаграммы (слайд 17)
- •Лекция 13 (db_l13.Ppt). Восходящее проектирование и нисходящее проектирование. Пример проектирования реляционной бд
- •13.1. Постановка задачи
- •13.2. Нисходящее проектирование
- •13.2.1. Построение инфологической модели
- •13.2.2. Построение реляционной схемы
- •13.2.3. Нормализация таблиц
- •13.2.4. Физическая модель
- •Лекция 14 (db_l14.Ppt).
- •14.1.2. Демонстрация постреляционной модели данных на примере задачи «Сессия»
- •14.1.3. Обзор распространенных постреляционных субд
- •UniVerse
- •Postgres (слайд 5)
- •14.1.4. Достоинства и недостатки постреляционной модели данных (слайд 6)
- •14.2. Объектно-ориентированная модель данных
- •14.2.1. Основы объектно-ориентированного подхода
- •14.2.2. Объектно-ориентированный подход в сфере баз данных
- •14.2.3. Пример структуры оо базы данных
- •14.2.4. Обзор распространенных оо субд (слайд 13)
- •14.2.5. Достоинства и недостатки объектно-ориентированной модели данных
- •14.3. Технологии интеграции распределенных данных на основе xml
- •14.3.1. Технологии xml (слайд 15)
- •14.3.2. Основы xml
- •3) Элементы xml должны быть правильно вложены друг в друга
- •4) Xml-документы должны иметь единственный корневой элемент
- •5) Значения атрибутов всегда должны быть заключены в кавычки
- •14.3.3. Xml и реляционная модель данных
- •14.3.4. Представление связей с помощью xml
- •Лекция 15 (db_l15.Ppt). Управление реляционными базами данных. Языки определения данных и языки манипулирования данными. Способы выражения запросов: процедурный и форм-ориентированный. .
- •15.1. Язык определения данных — ddl (слайд 3)
- •15.2. Язык управления данными — dml
- •15.2.1. Процедурные языки dml
- •15.2.2. Непроцедурные языки dml
- •15.3. Языки 4gl
- •15.3.1. Генераторы форм
- •15.3.2. Генераторы отчетов
- •15.3.3. Генераторы графического представления данных
- •15.3.4. Генераторы приложений
- •15.4. Sql
- •15.5. Использование средств qbe для создания запросов на выборку данных
- •Лекция 16 (db_l16.Ppt). Основы sql. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в sql.
- •16.1.1. Инструкции и имена
- •16.1.2. Типы данных
- •16.1.3. Встроенные функции
- •16.1.4. Значения null
- •16.2. Ограничения целостности
- •16.2.2. Внешний ключ таблицы
- •16.2.3. Определение уникального столбца
- •16.2.4. Определение проверочных ограничений
- •16.2.5. Определение значения по умолчанию
- •16.3. Реализация операций реляционной алгебры в sql (слайд 11)
- •Лекция 17 (db_l17.Ppt). Построение баз данных с помощью sql. Манипулирование данными в sql
- •17.1. Построение баз данных с помощью sql
- •17.1.1. Команда создания таблицы – create table
- •17.1.2. Изменение структуры таблицы – команда alter table
- •17.1.3. Удаление таблиц – команда drop table
- •17.2. Управление данными
- •17.2.1. Извлечение данных – команда select
- •Лекция 18 (db_l18.Ppt).
- •18.1.2. Ключевое слово inner
- •18.1.3. Ключевое слово left [outer]
- •18.2. Раздел group by
- •18.3. Раздел compute
- •18.4. Раздел into. Использование команды select...Into
- •18.5. Добавление данных – команда insert
- •18.5.1. Вставка одной строки
- •18.5.2. Вставка результата запроса
- •18.6. Изменение данных – команда update
- •18.7. Удаление данных – команда delete
- •19.1. Организация данных на машинных носителях
- •19.1.2. Организация файлов - способ размещения записей
- •19.1.3. Способы адресации и методы доступа к записям
- •19.2. Схемы организации данных на внешних носителях
- •19.3. Методы включения записей, основанные на резервировании
- •19.4. Физическое представление иерархических структур
- •19.5. Физическое представление сетевых структур
- •19.6. Физическое представление с разделением данных и связей
- •19.7. Архитектура файловой организации баз данных (слайд 18)
- •19.7.1. Файл-ориентированная организация данных
- •19.7.2. Страничная организация данных
- •19.7.3. Модели распределения данных по физическим носителям
- •Время чтения
- •Лекция 20 (db_l20.Ppt). Примеры моделей хранения и организации доступа к бд (dBase, ms sql Server, Oracle)
- •20.1. Физическая структура данных в dBase
- •20.1.1. Структура основного файла базы данных (типа .Dbf)
- •20.1.2. Структура memo-файла (тип .Fpt)
- •20.1.3. Структура индексного файла (тип .Idx)
- •20.2. Физическая структура данных в ms sql Server
- •20.2.1. Страницы размещения (слайд 12)
- •20.2.2. Карты распределения экстентов
- •20.2.3. Карты свободного пространства
- •20.2.4. Карты размещения
- •20.2.5. Страницы данных (слайд 13)
- •20.2.6. Строки данных
- •20.2.7. Текстовые страницы
- •20.2.8. Индексы (слайд 14)
- •20.3. Организация и оптимизация доступа к данным
- •20.4. Физическая структура данных в субд Oracle
- •20.4.1. Сегменты
- •20.4.2. Экстенты
- •20.4.3. Блоки данных
- •20.4.4. Типы индексов (слайд 17)
- •20.4.5. Кластеры
- •Лекция 21 (db_l21.Ppt). Логическая и физическая схема организации пространства в документальных бд. Примеры моделей хранения и организации доступа.
- •21.1. Модель организации данных системы поиска документов stairs
- •21.2. Логическая и физическая структура бд ипс irbis
- •Лекция 22 (db_l22.Ppt).
- •22.2. Архитектура распределенной обработки данных
- •22.2.1. Архитектура «файл-сервер» (слайд 6)
- •20.2.2. Архитектура «выделенный сервер базы данных» (слайд 8)
- •22.2.3. Архитектура «активный сервер баз данных» (слайд 10)
- •22.2.4. Архитектура «сервер приложений» (слайд 12)
- •Лекция 23 (db_l23.Ppt). Схемы распределения данных и запросов. Обработка распределенных данных и запросов. Многопотоковые и многосерверные архитектуры. Типы параллелелизма при обработке запросов.
- •23.1. Архитектура сервера баз данных
- •23.1.1. Архитектура «один к одному» (слайд 3)
- •23.1.2. Многопотоковая односерверная архитектура (слайд 4)
- •23.1.3. Мультисерверная архитектура (слайд 5)
- •23.1.4. Серверные архитектуры с параллельной обработкой запроса
- •23.2. Технологии и средства доступа к удаленным бд
- •23.2.1. Программное обеспечение распределенных приложений
- •23.2.2. Доступ к базам данных в двухзвенных моделях «клиент-сервер»
- •23.3. Технологии межмодульного взаимодействия
- •23.3.1. Спецификация вызова удаленных процедур
- •23.3.2. Мониторы обработки транзакций (слайд 12)
- •23.3.3. Корпоративные серверы приложений (слайд 13)
- •Лекция 24 (db_l24.Ppt). Многомерная и реляционная модель хранилища. Кубы фактов. Схемы «звезда», «снежинка».
- •24.1. Многомерные схемы данных
- •24.2. Запросы к многомерным данным (слайд 12)
- •Лекция 25 (db_l25.Ppt).
- •Транзакции. Понятие целостности базы данных. Условия целостности.
- •Обработка транзакций. Свойства транзакций. Модель ansi/iso.
- •Назначение и использование журнала транзакций. Откат и восстановление.
- •25.1. Модели транзакций
- •Автоматическое выполнение транзакций
- •Управляемое выполнение транзакций
- •25.2. Журнал транзакций (слайд 8)
- •Лекция 26 (db_l26.Ppt). Параллельное выполнение транзакций. Типы конфликтов. Захваты и блокировки.
- •26.1. Параллельное выполнение транзакций
- •Пропавшие обновления
- •Чтение несогласованных данных (слайд 5)
- •26.2. Сериализация транзакций (слайд 7)
- •26.3. Захват и освобождение объекта
- •27.1. Планирование бд
- •27.2. Управление доступом (слайд 6)
- •27.2.1. Тип подключения к sql Server
- •27.2.2. Пользователи базы данных
- •Права доступа (слайд 8)
- •27.2.3. Роли
- •27.3. Управление обработкой.
- •27.3.1. Представления (слайд 11)
- •27.3.2. Хранимые процедуры (слайд 11)
- •27.4. Управление транзакциями
- •27.5. Резервное копирование и восстановление (слайд 14)
- •Лекция 28 (db_l28.Ppt). Средства создания и управления базами данных на примере субд ms sql Server
- •28.1. Создание бд «Сессия»
- •28.2. Резервное копирование базы данных
- •28.3. Восстановление базы данных
- •Лекция 30 (db_l30.Ppt). Средства и технологии разработки приложений баз данных. Компоненты управления доступом к бд (на примере Delphi)
- •30.1. Средства и технологии разработки приложений баз данных
- •30.2. Набор данных
- •30.3. Разработка приложений доступа к внешним источникам данных
- •Лекция 31 (db_l31.Ppt). Доступ к записям, изменение данных, поиск, фильтрация. Параметризованные запросы. Визуальные компоненты для отображения данных из бд
- •31.1. Доступ к записям
- •31.2. Поиск, фильтрация записей
- •31.3. Изменение данных
- •Параметризованные запросы (слайд 8)
- •Визуальные компоненты для отображения данных из базы данных
- •Лекция 32 (db_l32.Ppt). Настройка драйверов и системной информации. Создание таблиц. Работа с запросами. Примеры
- •32.1. Настройка драйверов и системной информации
- •32.2. Создание таблиц
- •32.3. Работа с запросами
10.2.1. Язык uml
Большинство современных методов ООАП основаны на использовании языка UML. Унифицированный язык моделирования UML (Unified Modeling Language) представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы. Структуру UML составляет стандартный набор диаграмм и нотаций.
Главными в разработке UML были следующие цели:
предоставить готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими;
предусмотреть механизмы расширяемости базовых концепций языка;
обеспечить независимость от конкретных языков программирования и процессов разработки.
интегрировать лучший практический опыт.
В настоящее время UML находится в процессе стандартизации, проводимом организацией по стандартизации в области объектно-ориентированных методов и технологий (OMG - Object Management Group).
Язык UML имеет три основных разновидности понятий: сущности (или предметы), отношения, диаграммы (слайд 9).
Сущности (предметы) – это абстракции, которые являются основными элементами UML-модели. В UML определено четыре разновидности сущностей:
структурные – представляют статические части моделей (понятийные или физические элементы);
поведенческие – динамические части моделей, представляющие поведения во времени и пространстве;
группирующие – организационные части моделей (ящики, по которым может быть разложена модель);
поясняющие – комментирующие части моделей, являются замечаниями, которые можно применить для описания или объяснения любого элемента модели.
Отношения – основные связующие строительные блоки при построении UML-модели. Четыре базовых отношения, их графические представления и описания приведены в таблице (слайд 10).
10.2.2. Диаграммы uml
Диаграмма – графическое представление множества элементов, чаще всего изображаемое в виде связного графа с вершинами-сущностями и ребрами-отношениями. Теоретически диаграммы могут содержать любые комбинации сущностей и отношений, однако на практике применяется, в основном, девять типовых комбинаций.
Диаграмма классов (слайд 11). Диаграмма в общем случае показывает множество классов, интерфейсов, коопераций и отношения между ними и обеспечивают статическое проектное представление системы. Диаграммы классов наиболее часто применяются для моделирования объектно-ориентированных систем. С помощью диаграмм классов составляется словарь системы. Они являются основой для создания диаграмм компонентов и диаграмм развертывания.
Рассмотрим нотации вершин и ребер графа диаграммы классов для простого случая, когда диаграмма показывает классы и отношения между ними.
Основной вершиной диаграммы является класс. Для отдельных классов может быть указано только имя, а при дальнейшей разработке добавлены свойства и операции.
Ребра графа диаграммы – ассоциация, агрегация, обобщение и зависимость.
Необязательное имя ассоциации может описывать природу отношений. Имени можно придать направление (►), заданное для чтения имени. Класс, участвующий в ассоциации, играет в ней определенную роль. Роли классов могут быть указаны на концах ассоциации. Мощность ассоциации определяет количество объектов, соединяемых с каждым объектом на другом конце ассоциации, например:
* - неограниченное количество;
1..* - один или более;
0..* - ноль или более;
1..10 – заданный диапазон;
7 – точное количество.
Агрегация (разновидность ассоциации) - определяет отношение «часть – целое». При этом агрегирующая сущность содержит только указатели на части.
Композиция - разновидность ассоциации, определяет непосредственное физическое включение частей в агрегирующую сущность.
Обобщение – отношение между классом и суперклассом. Класс может иметь одного родителя (один суперкласс) или нескольких родителей (несколько суперклассов). Второй случай называют множественным наследованием.
Зависимость – отношение между зависимым и независимым элементом. Обычно операции зависимого клиента вызывают операции независимого либо имеют аргументы (или возвращаемые значения), принадлежащие классу независимого элемента.
Диаграмма прецедентов (слайд 12). Диаграмма прецедентов (Use Case, диаграмма вариантов использования) определяет поведение системы и отражает функциональные требования к системе с точки зрения пользователя. Цель построения диаграмм прецедентов - документирование функциональных требований к системе в самом общем виде. Диаграмма должна быть удобна для общения пользователей с разработчиками.
Диаграмма прецедентов определяет системный интерфейс, пользователей и границы системы. В каждой системе обычно есть главная диаграмма прецедентов, которая описывает внешнюю границу системы и основные внешние функции (внешнее поведение) системы. Диаграмма прецедентов может использоваться для разработки тестов и является основой для создания пользовательской документации.
Вершинами графа диаграммы являются актеры и прецеденты.
Актер – роль объекта вне системы, взаимодействующего с частью системы - прецедентом. Имя актера характеризует роль пользователя – физического объекта, который использует систему.
Прецедент (элемент Use Case) – описание последовательности действий, которые выполняются системой и производят для актера видимый результат. Каждый прецедент задает определенный способ использования системы. Совокупность всех прецедентов определяет полный набор функциональных возможностей системы.
Ребра графа диаграммы – ассоциация, обобщение, включение, расширение.
Ассоциация – единственный вид отношений между актером и прецедентом, отображает их взаимодействие. Ассоциация может быть помечена именем, ролями и мощностью.
Обобщение – отношение, допустимое либо между актерами, либо между прецедентами. При этом отношение обобщения между актерами означает, что экземпляр потомка может взаимодействовать с такими же разновидностями прецедентов, что и экземпляр родителя, а отношение обобщения между прецедентами означает, что потомок наследует поведение родителя и даже может дополнить или переопределить поведение родителя. Прецедент, являющийся потомком, может замещать своего родителя в любом месте диаграммы.
Включение – отношение между прецедентами, означающее, что базовый прецедент явно включает поведение включаемого прецедента. Включаемый прецедент никогда не используется самостоятельно.
Расширение – отношение между прецедентами, означающее, что базовый прецедент неявно включает поведение включаемого прецедента. Базовый прецедент может быть автономен, но при определенных условиях его поведение может расширяться поведением из другого прецедента (но только в заданных точках – точках расширения.