- •Лекция 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. Работа с запросами
11.6. Документальные системы и интеграция моделей.
Приведенные выше положения разрабатывались и действительно широко используются для баз данных хорошо структурированной информации. Однако уже сегодня одной из важнейших проблем становится обеспечение интеграции неоднородных информационных ресурсов, и в частности слабоструктурированных данных. Необходимость ее решения связывается со стремлением к полноценной интеграции систем баз данных в среду Web-технологий. При этом уже недостаточно простого обеспечения доступа к базе данных традиционным способом “из-под” HTML-форм. Нужна интеграция на модельном уровне. И в этом случае проблема семантической интероперабельности информационных ресурсов сводится к задаче разработки средств и технологий, предусматривающих явную спецификацию метаданных для ресурсов слабоструктурированных данных на основе традиционных технологий моделирования из области баз данных.
Именно на достижение этой цели направлены интенсивные разработки WWW-консорциумом языка XML и его инфраструктуры (фактически, новой модели данных для этой среды), объектной модели документов и других средств, которые, как можно ожидать, в близкое время станут основой технологий управления информационными ресурсами. Это направление связано с другой глобальной проблемой - организацией распределенных неоднородных информационных систем на основе построения репозиториев метаданных (этому понятию в классических работах по проектированию баз данных соответствует понятие словарь данных), обеспечивающих возможность семантического отождествления ресурсов и, таким образом, возможность их целенаправленного повторного использования.
Лекция 12 (db_l12.Ppt).
Реляционная модель данных. Нормализация. Нормальные формы.
Технология отображение концептуальной модели базы данных на реляционную модель данных
12.1. Основные понятия реляционной модели данных
Как было показано в предыдущей лекции, для определения реляционной модели данных необходимо объявить структуру данных, способ манипулирования ими и ограничения целостности (слайд 2).
12.1.1. Структурный компонент реляционной модели
С точки зрения структуры данных реляционная модель является удобной и наиболее привычной формой представления данных в виде таблицы. Понятию «таблица» соответствует понятие «отношение» (relation). Отсюда и произошло название модели – реляционная. Т.е., применительно к базам данных понятия «реляционная БД» и «табличная БД» по существу являются синонимами. В отличие от иерархической и сетевой модели, такой способ представления
1) понятен пользователю-непрограммисту;
2) позволяет легко изменять схему – присоединять новые элементы данных и записи без изменения соответствующих подсхем;
3) обеспечивает необходимую гибкость при обработке непредвиденных запросов.
К тому же любая сетевая или иерархическая схема может быть представлена двумерными отношениями.
Одним из основных преимуществ реляционной модели является ее однородность. Все данные рассматриваются как хранимые в таблицах, в которых каждая строка имеет один и тот же формат. Каждая строка в таблице представляет некоторый объект реального мира или соотношение между объектами. Пользователь модели сам должен для себя решить вопрос, обладают ли соответствующие сущности реального мира однородностью. Этим самым решается проблема пригодности модели для предполагаемого применения.
Основными понятиями, с помощью которых определяется реляционная модель, являются следующие: домен, отношение, кортеж, кардинальность, атрибуты, степень, первичный ключ. Соотношение понятий иллюстрируется на слайде (слайд 3).
Домен – это совокупность значений, из которой берутся значения соответствующих атрибутов определенного отношения. С точки зрения программирования домен – это тип данных, определяемый системой (стандартный) или пользователем.
Первичный ключ – это столбец или некоторое подмножество столбцов, которые уникально, т.е. единственным образом определяют строки. Первичный ключ, который включает более одного столбца, называется множественным, или комбинированным, или составным. Правило целостности объектов утверждает, что первичный ключ не может быть полностью или частично пустым, т.е. иметь значение null.
Остальные ключи, которые можно также использовать в качестве первичных, называются потенциальными или альтернативными ключами.
Сформулируем правила назначения первичных ключей сущностей:
1). Первичный ключ должен однозначно идентифицировать любой экземпляр сущности.
2). По возможности первичный ключ должен быть наиболее компактным из всех потенциальных ключей, наилучший тип данных для первичного ключа — целочисленный.
3). Первичный ключ может быть составным, но увеличение количества столбцов, входящих в него, противоречит требованию компактности. Требование компактности также не удастся выполнить, если, например, в качестве первичного ключа выбрать атрибут строкового типа данных большой длины.
4). Значения первичного ключа не должны подвергаться частым модификациям. Идеально, если бизнес-логика предметной области такова, что эти значения вообще не предполагается изменять.
5). Правила модификации первичного ключа должны контролироваться внутренней бизнес-логикой предметной области, а не решениями, которые принимаются над ней. Например, в базе данных, разрабатываемой для нужд деканата, для сущности СТУДЕНТ не стоит выбирать в качестве первичного ключа серию и номер паспорта студента. Хотя эти данные в принципе и обладают свойствами обязательности и уникальности, но их изменение может быть инициировано студеном, а не администрацией факультета.
5). Если среди информации, собранной о сущности, не удается выделить данные, которые удовлетворяют перечисленным выше требованиям, то рекомендуется рассмотреть возможность создания суррогатного первичного ключа, который, не неся никакой семантической нагрузки, просто служит идентификатором конкретного экземпляра сущности. Обычно в качестве суррогатного первичного ключа выбираются всевозможные коды или идентификаторы. Суррогатный ключ чаще всего скрыт на внешнем уровне моделирования реляционной базы данных.
Внешний ключ – это столбец или подмножество одной таблицы, который может служить в качестве первичного ключа для другой таблицы. Внешний ключ таблицы является ссылкой на первичный ключ другой таблицы. Правило ссылочной целостности гласит, что внешний ключ может быть либо пустым, либо соответствовать значению первичного ключа, на который он ссылается. Внешние ключи являются неотъемлемой частью реляционной модели, поскольку реализуют связи между таблицами базы данных.
Внешний ключ, как и первичный ключ, тоже может представлять собой комбинацию столбцов. На практике внешний ключ всегда будет составным (состоящим из нескольких столбцов), если он ссылается на составной первичный ключ в другой таблице. Очевидно, что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.
Если таблица связана с несколькими другими таблицами, она может иметь несколько внешних ключей.
Понятия реляционной модели представляют специальную терминологию, введенную авторами теоретических основ, однако они имеют и более привычные аналоги (но не во всем эквиваленты!), соответствие которых приведено в следующей таблице (слайд 4).