
- •1.Информационные системы
- •2.Основные понятия теории баз данных
- •2.1.Предметная область
- •2.2.Пользователи информационной системы
- •2.3.Интеграция данных Достоинства интеграции данных
- •Проблемы, связанные с интеграцией данных
- •Функции администратора бд
- •Проектирование и развитие бд
- •3.Архитектура информационной системы
- •4.Сетевые базы данных
- •4.1.Способы упорядочения подчиненных записей
- •4.2.Режим включения подчиненных записей
- •4.3.Режим исключения подчиненных записей
- •4.4.Операции над данными
- •5.Иерархические базы данных
- •5.1.Операции над данными
- •6.Реляционные базы данных
- •6.1.Цели проектирования баз данных
- •6.2.Универсальные отношения
- •6.3.Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •6.4.Функциональные зависимости
- •6.5.Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •6.6.Общая схема проектирования баз данных
- •6.7.Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Избыточные зависимости
- •6.8.Схема проектирования баз данных методом декомпозиции
- •7.Метод проектирования бд «Сущность-связь»
- •7.1.Сущности и связи
- •Диаграмма еr–экземпляров:
- •Д иаграмма er–типа:
- •7.2.Степень связи
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Правило 4.
- •Правило 5.
- •7.3.Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •7.4.Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •7.5.Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
- •8.Постреляционные базы данных
- •8.1.Ограничения реляционных баз данных.
- •Недостатки реляционных баз данных
- •8.2.Системы управления базами данных следующего поколения
- •Абстрактные типы данных
- •Генерация систем баз данных, ориентированных на приложения
- •8.3.Ориентация на расширенную реляционную модель
- •Расширенная реляционная модель
- •9.Объектно-ориентированные субд.
- •9.1.Объектно-ориентированная парадигма.
- •Структура:
- •Целостность данных:
- •Средства манипулирования данными:
- •9.2.Анализ эффективности объектно-ориентированных баз данных Преимущества объектно-ориентированных баз данных:
- •Недостатки объектно-ориентированных баз данных:
- •9.3.Стандарт odmg.
- •Объектная модель
- •Язык описания объектов
- •Язык объектных запросов
- •Связывание с оо-языками
- •9.4.Объектные расширения реляционных субд. Язык sql-3.
- •10.Базы знаний
- •10.1.Понятие системы баз знаний.
- •10.2.Структура системы базы знаний Компоненты Системы баз знаний (сбз):
- •Экстенсиональная и интенсиональная части базы данных
- •10.3.Активные базы данных
- •10.4.Дедуктивные базы данных
- •10.5.Инструментальные средства построения систем баз знаний.
- •11.Язык sql
- •11.1.Стандарт языка доступа к бд
- •11.2.Классификация операторов sql
- •Ddl (data definition language) – операторы определения объектов бд.
- •Insert into (Вставка записей).
- •Update (Редактирование записей).
- •Delete (Удаление записей).
- •Оператор select.
- •Модификатор distinct (предотвращение выборки повторяющихся слов).
- •Order by (упорядочение строк в результате запроса).
- •Использование псевдонимов (alias).
- •11.4.Арифметические выражения.
- •11.5.Групповые функции.
- •Предложение having.
- •11.6.Вложенные запросы.
- •Подзапросы, возвращающие набор значений.
- •Подзапросы, возвращающие значения из нескольких столбцов.
- •Составные запросы с несколькими подзапросами.
- •Синхронизация повторяющихся подзапросов
- •Комбинация нескольких команд Select
- •11.7.Индексы
- •7. Метод проектирования бд «Сущность-связь» 41
- •8. Постреляционные базы данных 75
- •9. Объектно-ориентированные субд. 81
- •10. Базы знаний 87
- •11. Язык sql 93
Правило 4.
Если связь бинарная и степень ее 1:n или n:1, а класс принадлежности n–связной сущности является обязательным, то достаточно (в независимости от класса принадлежности односвязной сущности) выделить два отношения, в одно из которых включаем все атрибуты, характеризующие одну сущность, во второе хранящие другую сущность. Ключами отношения является ключи соответствующих сущностей и к отношению, содержащему в себе атрибуты n–связной сущности добавляем, как атрибут, ключ односвязной сущности.
Рассмотрим ситуацию, когда класс принадлежности n-связной сущности является необязательным:
В данной таблице происходит дублирование информации, кортежи с пустыми полями, следовательно, одним отношением не обойтись, значит, разбиваем на два отношения:
Преподаватель Курс
В наших таблицах есть пустые поля, поступаем следующим образом:
Преподаватель
Курс
Информация о связи:
Рассмотрим класс принадлежности – Преподаватель обязательный:
Отличие этого случая от предыдущего в том, что в случае одного отношения не будет пустых полей, но сохранится избыточное дублирование не ключевых атрибутов сущности преподаватель.
В случае двух отношений:
В отношении Преподаватель в поле НК не будет пустых полей, но если Преподаватель читает более одного курса, информация о всех читаемых курсах, за исключением одного, будет утеряна.
Как и в предыдущем случае, в отношении курс в поле НП для начитанных курсов будет пустое поле.
Размещение информации в трех отношениях допустимо.
Правило 5.
Для бинарной связи степени 1:n, n:1 с необязательным классом принадлежности n-связной сущности, то (независимо от класса принадлежности односвязной сущности) необходимо формирование трех отношений. Первое включает все атрибуты,
характеризующую первую сущность, ключ – ключ сущности. Второе включает все атрибуты, третьей сущности, ключ – ключ сущности. Третье отношение включает информацию о связи - помещенные атрибуты – ключи связи сущностей (возможны другие атрибуты); ключ отношения - ключ n–связной сущности.
7.3.Бинарные связи степени m:n.
Каждый преподаватель может читать несколько курсов, каждый курс может быть читаем несколькими преподавателями:
Составим универсальное отношение:
R
Отношение имеет пустые поля и избыточное дублирование. Попытаемся разделить информацию на два отношения:
Таким образом, хранить информацию в двух отношениях невозможно. Попробуем составить три отношения.
Преподаватель Читает Курс
НП |
ФАМ |
ТЕЛ |
|
НП |
НК |
|
НК |
V |
||
П1 |
Иванов |
32 22 32 |
|
П1 |
К1 |
|
К1 |
23 |
||
П2 |
Минин |
43 56 55 |
|
П3 |
К3 |
|
К2 |
23 |
||
П3 |
Федоров |
45 67 55 |
|
П3 |
К4 |
|
К3 |
23 |
||
П4 |
Петров |
32 12 11 |
|
П3 |
К3 |
|
К4 |
12 |
||
П5 |
Орлов |
78 00 45 |
|
П4 |
К2 |
|
К5 |
11 |
||
|
|
|
|
П5 |
К5 |
|
|
|
||
|
|
|
|
П5 |
К2 |
|
|
|
В данных таблицах ключами являются : Преподаватель –ключ НП, Курс- ключ НК, Читает- ключ НП и НК.
Преподаватель (НП, ФАМ, ТЕЛ)
Курс (НК, V)
Читает (НП, НК)
При использовании одного отношения будут отсутствовать пустые места в столбцах
В случаях:
А) НК, V
Б) НП,ФАМ,ТЕЛ
В) во всех столбцах.
А)
Б)
В)
Но дублирование информации останется как в столбцах НП, ФАМ, ТЕЛ так и в столбцах НК, V, т.е. двух отношений будет недостаточно, следовательно необходимо три отношения.