
- •Вторая часть лекций по базам данных. Модели Данных.
- •2.1. Базы данных, субд, банк данных.
- •1. Определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки.
- •2. Предоставление пользователям возможности манипулирования данными (выполнение вычислений, разработка интерфейса ввода/вывода, визуализация).
- •3. Обеспечение логической и физической независимости данных.
- •4. Защита логической целостности базы данных.
- •5. Защита физической целостности.
- •6. Управление полномочиями пользователей на доступ к базе данных.
- •7. Синхронизация работы нескольких пользователей.
- •8. Управление ресурсами среды хранения.
- •9. Поддержка деятельности системного персонала.
- •2.2. Различные модели организации работы пользователей с базой данных
- •2.2.1. Модель с централизованной архитектурой
- •2.2.2. Модель с автономными персональными эвм
- •2.2.3. Модель вычислений с сетью и файловым сервером (архитектура «файл-сервер»)
- •2.2.4. Распределенная модель вычислений (архитектура «клиент – сервер»)
- •2.2.5. Распределенная модель вычислений (Клиент – сервер. Трехзвенная (многозвенная) архитектура)
- •2.3. Концептуальное моделирование базы данных
- •2.3.1. Сложный пример предметной области
- •2.3.2. Способы описания предметной области
- •2.3.3. Описание информационного представления предметной области
- •2.3.4. Описание информационных потребностей пользователя
- •2.3.5. Различные представления о данных в базах данных
- •2.3.6. Построение концептуальной модели
- •2.3.7. Средства автоматизированного проектирования концептуальной модели
- •2.4. Модели данных субд как инструмент представления концептуальной модели
- •2.4.1. Общие представления о модели данных
- •2.4.2. Сетевая модель данных
- •2.4.3. Иерархическая модель данных
- •2.4.4. Реляционная модель данных
- •2.5. Базовые понятия реляционной модели данных
- •2.5.1. Общая характеристика реляционной модели данных
- •1. Типы данных
- •2. Домены
- •3. Отношения, атрибуты, кортежи отношения
- •3. Свойства отношений
- •4. Первая нормальная форма
- •2.5.2. Манипулирование данными в реляционной модели
- •1. Объединение
- •2. Пересечение
- •3. Вычитание
- •4. Декартово произведение
- •5. Выборка (ограничение, селекция)
- •6. Проекция
- •7. Соединение
- •8. Деление
- •3.2.2. 1Нф (Первая Нормальная Форма)
- •3.2.3. Функциональные зависимости
- •3.2.4. 2Нф (Вторая Нормальная Форма)
- •3.2.5. 3Нф (Третья Нормальная Форма)
- •3.2.6. Алгоритм нормализации (приведение к 3нф)
- •3.2.7. Сравнение нормализованных и ненормализованных моделей
- •3.2.8. Нфбк (Нормальная Форма Бойса-Кодда)
- •3.2.9. 4Нф (Четвертая Нормальная Форма)
- •3.2.10. 5Нф (Пятая Нормальная Форма)
- •3.2.11. Продолжение алгоритма нормализации (приведение к 5нф)
- •3.3. Элементы модели "сущность-связь"
- •3.3.1. Основные понятия er-диаграмм
- •3.3.2. Пример разработки простой er-модели
- •3.3.2. Концептуальные и физические er-модели
- •Типы данных
- •Константы
- •Выражения
- •Встроенные функции
- •Отсутствующие значения
- •3.1.2. Простые запросы на выборку
- •Инструкция select
- •Простые запросы
- •Повторяющиеся строки (предикат distinct)
- •Отбор строк (предложение where)
- •Условие отбора
- •Составные условия отбора (операторы or, and, not)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (оператор union)
- •3.1.3. Многотабличные запросы на выборку (объединения) Простое объединение таблиц (объединение по равенству)
- •Объединение таблиц по неравенству
- •Особенности многотабличных запросов
- •Внутренняя структура объединения таблиц
- •Внешнее объединение таблиц
2.3.3. Описание информационного представления предметной области
В качестве основного понятия для описания предметной области, как уже отмечалось, используется понятие сущности (объекта), характеризуемой набором определенных свойств. Для информационного описания сущности вводится понятие атрибута.
Атрибут – поименованное свойство (характеристика) сущности.
Атрибут представляет собой информационное отображение свойства сущности и принимает конкретное значение из множества допустимых значений. Так, например, для сущности АБИТУРИЕНТ атрибут «фамилия» у конкретного экземпляра сущности принимает конкретное значение «Иванов».
Таким образом, атрибут представляет информационное описание количественных или качественных свойств сущности, описывает состояние сущности, позволяет идентифицировать сущность. Информация о сущности представляется совокупностью атрибутов. Такую совокупность атрибутов часто называют записью об объекте.
Другим основным понятием для описания предметной области является понятие связи. Разные способы информационного описания связей будут рассмотрены позднее. В данном разделе отметим, что, в частности, для представления связей между экземплярами сущностей могут использоваться атрибуты. В этом случае связь устанавливается путем включения в совокупность атрибутов сущности атрибута, однозначно идентифицирующего экземпляр сущности, находящийся в отношении с исходным экземпляром сущности.
Так, рассмотрим класс сущностей ФАКУЛЬТЕТ, представленный одной совокупностью атрибутов (название, номер), и класс сущностей РАСПИСАНИЕ ЭКЗАМЕНОВ НА ФАКУЛЬТЕТ, представленный другой совокупностью атрибутов (название экзамена 1, дата экзамена 1, название экзамена 2, дата экзамена 2, название экзамена 3, дата экзамена 3). Для представления связи «экзамены» (тип связи 1:1) в совокупность атрибутов РАСПИСАНИЕ ЭКЗАМЕНОВ НА ФАКУЛЬТЕТ можно включить атрибут «название факультета».
2.3.4. Описание информационных потребностей пользователя
Информационные потребности пользователя представляются в виде запросов к информации об экземплярах сущностей. Запросы бывают простые и сложные. Сложные запросы составляются из простых с помощью логических операторов .and., .or. или .not., поэтому без ограничения общности будем говорить только о простых запросах. Для реализации подавляющего числа запросов пользователю прежде всего необходимо найти интересующий его экземпляр сущности (с целью обработки, корректировки, удаления). Для идентификации экземпляра используется один или несколько атрибутов.
Атрибут или множество атрибутов, значения которых однозначно идентифицируют экземпляр записи, называется потенциальным ключом.
Потенциальный ключ, который выбран в качестве основного идентификатора, называется первичным ключом.
Потенциальный ключ, который состоит из двух или более атрибутов, называется составным ключом.
Часто для поиска используется атрибут или множество атрибутов, которые не идентифицируют экземпляр сущности единственным образом и характеризуют определенную группу записей. Такой атрибут (множество атрибутов) называется вторичным ключом.
Приведем шесть абстрагированных типов простых запросов, относящихся к экземпляру сущности E, атрибутам A и значениям атрибутов V.
Тип |
Форма |
Смысл |
Пример |
1 |
A(E) = ?
|
Каково значение атрибута A экземпляра сущности E
|
Место рождения абитуриента Иванова
|
2
|
= ≠ A(?) < V > |
Какой экземпляр E имеет значение атрибута A, равное (неравное, меньшее, большее) V
|
Кто из абитуриентов имеет год рождения <1969 (старше 35 лет)
|
3
|
= ≠ ?(E) < V > |
Какой атрибут или атрибуты экземпляра E имеют значение, равное (неравное, меньшее, большее) V
|
За какие экзамены абитуриент Иванов получил оценку «отлично»
|
4 |
?(E) = ? |
Запрос на получение значений всех атрибутов экземпляра E
|
Сообщить всю информацию об абитуриенте Иванове
|
5 |
A(?) = ?
|
Перечислить значения данного атрибута для каждого экземпляра
|
Перечислить названия всех специальностей (сущность СПЕЦИАЛЬНОСТЬ)
|
6
|
= ≠ ?(?) < V > |
Перечислить все атрибуты экземпляров, имеющие значение, равное (неравное, меньшее, большее) V
|
Перечислить все атрибуты абитуриентов, получивших оценку «2»
|