
- •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
Правило 8
Исходная сущность служит для генерации одного отношения, причем ключ сущности это ключ этого отношения. Ролевые элементы и связи их соединяющие, порождают такое число отношений , которое определяется ранее описанными правилами с 1 по 7, при этом каждая роль трактуется как обычная сущность.
Сформируем отношения:
Служащий (ТНС,…)
Мастер (ТНМ,…)
Сборщик (ТНСб,…,ТНМ)
Теперь должны распределить не ключевые сущности:
Служащий (ТНС, Слфам, Дтел, Сл.адр)
Мастер (ТНМ, Ртел, Оклад, Сф.ком)
Сборщик (ТНСб, Ставка, Код.сб, ТНМ)
Во всех отношениях один ключ, который является детерминантом, следовательно, все три отношения находятся в НФБК.
Отношения, полученные из исходной сущности, содержат информацию, общую для всех служащих. Отношения, полученные из ролей, содержат специфическую для каждой роли информацию, порождаемую ролью, отношения связанные с отношением из исходной сущности через атрибут из общего домена. В данном случае через табельный номер.
Связь «Р» соединяет две роли одной исходной сущности, такая связь называется рекурсивной (т.е. если отбросить роль, то будет: служащий руководит служащим). Роли одной исходной сущности, могут быть связаны с другими сущностями или ролями других исходных сущностей.
Для увеличения скорости доступа при запросах можно добавить к отношению Служащий специальным атрибутом, определением конкретно является Служащий: Мастер или Сборщик.
Пример проектирования с использованием ролей
Предположим, что необходимо спроектировать БД спортивного общества «Буревестник». Центральные члены совета будут пользоваться этой БД. Центральный совет полностью контролирует деятельность ДСО. В БД должны рассматриваться следующие вопросы:
Составление календаря для всех спортивных соревнований.
Проверка всех спортсменов, администраторов, тренеров всех институтов, входящих в ДСО.
Руководство определяет следующие параметры, которые имеют наибольшее значение:
Для каждого ВУЗа, вход в ДСО: название ВУЗа, название стадиона, вместимость стадиона, число студентов, все виды спорта, культивированные данные учащихся заведения (Фам., Адр., Раб. и Дом. Телефон), ректора ,проректора по спорту, зав. Отделения по спортивной информации, главные тренера по каждому культивированному виду спорта.
Список всех одобренных в ДСО судей, содержащий следующую информацию: фамилия, домашний адрес, номер домашнего телефона, вид спорта который обслуживает судья, рейтинг по результатам прошлого года, соревнования следующего сезона (наступающего сезона), на которые назначен данный судья.
Список всех студентов спортсменов, содержащий информацию: Фамилия, домашний адрес, пол, дата поступления в ВУЗ, виды спорта, которыми занимается студент, сколько лет занимался ими.
Расписание соревнований на текущий год, содержат информацию : команда выступающая в данной встрече в роле хозяина, команда выступающая в роли гостя, даты и время встречи каждой команды, назначенные судьи, вид спорта.
По каждому виду спорта культивированного в ДСО имеется комитет по правилам и их главный тренер, назначенного лигой в качестве представителя этого комитета.
Допущения:
Расписание составляется на весь наступающий сезон,
Главный тренер тренирует только по одному виду спорта,
Некоторые ВУЗы участвуют не во всех видах спорта, культивируемых ДСО,
Некоторые люди имеют общие служебные телефоны.
Построение ER–диаграммы
При построении ER-диаграммы главной проблемой является выделение сущностей. Как правило множество сущностей не уникально (т.е. разные проектировщики, решая одну и туже задачу, могут выделить разные пары сущностей).
Запишем атрибуты которые будем выделять:
Н_ВУЗ – название ВУЗа,
НОМ_СТ – номер студента,
НОМ_ТРЕН – номер тренера,
ВИД_СП – вид спорта,
НОМ_СУД – номер судьи, Н_Х – название команды хозяев,
Н_Г – название команды гостей.
Запишем отношения (в кружках указаны правила которые используем):
Связь ВУЗ-СЛУЖАЩИЙ:
Вуз
(Н_ВУЗ,…)
Служащий ( НОМ_СЛ,…,Н_ВУЗ)
Связь СТУДЕНТ – ВУЗ:
Студент ( НОМ_СТ,…Н_ВУЗ)
Вуз
(Н_ВУЗ,…)
Связь ВУЗ – ВИД СПОРТА:
Вуз (Н_ВУЗ,…)
Вид_сп
(
ВИД_СП,…
)
Культивирует ( Н_ВУЗ,ВИД_СП,…)
Связь ВИД СПОРТА – ГЛАВНЫЙ ТРЕНЕР:
Вид_сп ( ВИД_СП,… )
Тренер (НОМ_ТР,…,ВИД_СП)
Связь Тренер
Тренер (НОМ_ТР,…)
Вид_сп ( ВИД_СП,…,НОМ_ТР )
Связь СТУДЕНТ – ВИД СПОРТА:
Студент (НОМ_СТ,…)
Вид
спорта (ВИД_СП,…)
Участвует (ВИД_СП,НОМ_СТ,…)
Связь ВУЗ:
Судья (НОМ_СУД,…)
Вуз_гость (Н_Г,…)
Вуз_хозяин (Н_Х,…)
Расписание (НОМ_СТ,Н_Г,Н_Х,ВИД_СП,…)
Вычеркиваем из полученных отношений повторяющиеся и переписываем что осталось:
Вуз (Н_ВУЗ, …)
Служащий ( НОМ_СЛ,… Н_ВУЗ)
Студент ( НОМ_СТ, …Н_ВУЗ)
Вид_сп ( ВИД_СП,… НОМ_ТРЕН )
Культивирует ( Н_ВУЗ, ВИД_СП,…)
Судья (НОМ_СУД,…)
Вуз_гость (Н_Г,…)
Вуз_хозяин (Н_Х,…)
Участвует (ВИД_СП , НОМ_СТ,…)
Расписание (НОМ_СУД, Н_Г, Н_Х, ВИД_СП, …)
Тренер (НОМ_ТР,…, ВИД_СП)
Затем дописываем в отношения атрибуты которые оговаривались в условии:
Вуз (Н_ВУЗ, Н_СТАД, ВМЕСТ, ЧИСЛО_СТ)
Служащий ( НОМ_СЛ, Н_ВУЗ, ФАМ, АДР, ДОМ_Т, РАБ_Т, ДОЛЖНОСТЬ)
Студент ( НОМ_СТ, Н_ВУЗ, ПОЛ, ДАТА_РОЖД, ФАМ, АДР_СТ, ДАТА_ПОСТ.)
Вид_сп ( ВИД_СП, НОМ_ТРЕН )
Культивирует ( Н_ВУЗ, ВИД_СП)
Судья (НОМ_СУД,ФАМ_СУД, АДР_СУД, ДТЕЛ_СУД, ВИД_СП_СУД)
Вуз_гость
(Н_Г)
Вуз_хозяин
(Н_Х)
Участвует (ВИД_СП , НОМ_СТ)
Расписание (НОМ_СУД, Н_Г, Н_Х, ВИД_СП, ДАТА_ВСТР, ВРЕМЯ_НАЧАЛА)
Тренер (НОМ_ТР, ВИД_СП)
Две таблицы ВУЗ Гость и ВУЗ Хозяин, не содержат ни какой полезной информации. Это является следствием того, что в модели отсутствуют атрибуты, характерные только для команды хозяев, а не для команды гостей. Поэтому эти две таблицы можно исключить.
Если судей несколько, то верхняя часть рисунка будет выглядеть:
Встреча (ID_встреча, н_гость, н_хозяин, вид_сп, дата, время),
Судит (ID_встреча, ном_с).
Теперь несколько судей могут судить одну встречу.