Основные понятия и определения База
Основные понятия и определения База данных (БД) – электронная картотека – это именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области. Объект – человек, предмет, событие, место или понятие, о котором записаны данные (например, в банковском деле примерами объектов могут служить клиенты, банковские счета, ссуды по закладам и т. д. ). Предметная область – часть реального мира, отражаемая в БД, может относиться к любому типу организации (например, банк, университет, завод, больница). Система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Программы, с помощью которых пользователи работают с базой данных называются приложениями.
Основные понятия и определения СУБД Приложение БД 1 Пользователи . БДN БД 2 Приложение «Dfile» № ФИО Город Стаж Поля отражаемая в БД) (часть реального мира, 1 Иванов СПб 12 2 Петров Москва 8 Записи . Предметная область . Значение Хранимое поле – это наименьшая единица хранения данных. Каждое поле имеет свой тип информации (например, БД на рис. 1, содержащая информацию о служащих, содержит 4 поля. Каждое поле имеет свой тип: №, ФИО, город, адрес). Хранимая запись – это набор связанных хранимых полей, относящихся к одному объекту (в примере рис. 1, служащий № 1 имеет запись: « 1 Иванов СПб 12» ). Хранимый файл – это набор всех записей (например, это файл Dfile со своим содержанием).
СУБД используют несколько моделей данных: иерархическую, сетевую (с 60 -х годов) и реляционную (с 70 -х). Основное различие данных моделей в представлении взаимосвязей между объектами
Иерархическая модель данных строится по принципу иерархии типов объектов, т. е. один объект является главным, а остальные, находящиеся на низших уровнях иерархии, – подчиненными. Каждому узлу структуры соответствует один сегмент S , представляющий собой элементы данных, характеризующих объект определенного уровня. Между главным и подчиненными типами объекта устанавливается взаимосвязь «один ко многим» (1: М)
Пример иерархической модели данных Школа № 637 Название Адрес Директор Общеобр. Ул. Фрунзе, 67 Иванова И. А. 1: М Класс Название Кл. руководитель Кабинет 10 А Петрова А. А. 15 10 Б Антонова С. А. 27 1: М 1: М Ученик Ученик ФИО Адрес Родители … Сидоров Новочер. Мать: Сидорова А. Л. Березин Новочер. Мать: Березина А. Л. . . Мать: Отец: Сидоров М. А. … Отец: Березин М. А. Отец: 1: М Четверть … Предмет Оценка Предмет Оценка Математика 5 Литература 4 География 5
Сетевая модель данных В сетевой модели данных понятия главного и подчиненных объектов несколько расширены: для любого сегмента допускается несколько входных сегментов наряду с возможностью наличия сегментов без входов (взаимосвязь «многие-ко-многим» ). Любой объект может быть и главным, и подчиненным. Это означает, что каждый объект может участвовать в любом числе взаимосвязей. Графическое представление структуры связей сегментов в такого типа моделях представляет собой сеть.
Пример сетевой модели Колбанев М. О. Татарникова Т. М. Тарасов В. А. М: М 1 2 3 4 1 2 2 М: М ИСТ- ИСТ-61 ИСТ-62 ИСТ-72 71, 73 Пример сетевой модели БД «Фрагмент расписания занятий на кафедре»
Реляционная модель данных Реляционная модель СУБД основывается на математическом понятии отношения, а общая структура данных представляется в виде таблицы, в которой каждая строка значений соответствует логической записи, а заголовки столбцов являются характеристиками объектов, информацию о которых необходимо хранить в БД. ФИО ученика Математика География Физика Литература Иванов И. А 5 4 5 Петров П. П. 5 4 3 Сидоров С. С. 4 4 5 Смирнов С. С. 5 5 5 Антонов А. А. 4 3 4
Основные понятия реляционных баз данных Отношение – соответствует тому, что до сих пор называется таблицей. Кортеж – соответствует строке этой таблицы. Атрибут – столбцу. Количество кортежей называется кардинальным числом, а количество атрибутов степенью. Первичный ключ – уникальный идентификатор таблицы, т. е. столбец или такая комбинация столбцов, что в любой момент времени не существует двух строк, содержащих одинаковое значение в этом столбце или комбинации столбцов. Домен – общая совокупность значений, из которых берутся настоящие значения для определенных атрибутов определенного отношения Джонс, Адамс, 8, 10, 15, Москва, 1, 2, Первичный 3, 4, 5 Блэйк, Смит, 12 Петербург, ключ Кларк Лондон № поставки Имя поставщика Статус Город Кардинальное Отношение Кортежи 1 Джонс 8 Москва 2 Адамс 10 Петербург число 3 Блэйк 15 Лондон 4 Смит 10 Петербург 5 Кларк 12 Москва Атрибуты Степень
ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД Проектирование БД Проектирование приложений Реализация БД Разработка специальных средств администрирования БД Эксплуатация БД Рис. 2. 1. Этапы жизненного цикла БД
Этапы проектирования БД q системный анализ и словесное описание информационных объектов предметной области; q проектирование инфологической модели предметной области - частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в ЕR-модели; q даталогическое или логическое проектирование БД, т. е. описание БД в терминах принятой даталогической модели данных; q физическое проектирование БД, т. е. выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложения.
Системный анализ предметной области Функциональный подход Системный подход Реализует принцип движения «от когда информационные задач» и применяется, когда заранее потребности будущих известны функции некоторой группы пользователей БД жестко не лиц и комплексов задач, для фиксируются. Они могут быть обслуживания информационных многоаспектными и динамичными. потребностей которых создается БД. Невозможно точно выделить В этом случае можно четко минимальный набор объектов определить минимально предметной области. В описание необходимый набор объектов предметной области в этом случае предметной области. включаются объекты и взаимосвязи наиболее характерные и существенные для нее.
1 этап. Анализ предметной области Системный анализ должен заканчиваться: - подробным описанием объектов предметной области, - требующейся для решения конкретных задач и хранящейся в БД информации, - формулировкой конкретных задач, которые будут решаться с помощью данной БД с кратким описанием алгоритмов их решения, - определением группы пользователей БД, - описанием выходных документов , которые должны генерироваться в системе, - описанием входных документов , служащих основанием для заполнения данными БД.
Пример описания предметной области Определяем объекты предметной области Книга Читатели Экземпляр Вкладыш Характеристики • уникальный шифр, • фамилия, имя, • уникальный • номер билета • название, отчество, инвентарный читателя, • фамилии авторов (могут • домашний адрес, номер, • дата выдачи отсутствовать), • телефон, • шифр книги, • дата возврата • место издания (город), • дата рождения. • место книги. • издательство, • уникальный номер размещения в • год издания, читательского библиотеке • количество страниц, билета. • стоимость книги, • количество экземпляров книги в библиотеке.
Определяем ограничения на информацию в БД: 1) книга может не иметь автора; 2) в библиотеку записывают читателей не моложе 17 лет. 3) в библиотеке присутствуют книги, изданные с 1960 по текущий год. 4) каждый читатель может брать не более 5 книг. 5) при регистрации каждый читатель должен сообщить телефон для связи (рабочий, домашний, мобильный). 6) каждая область знаний может содержать ссылки на множество книг, но каждая книга может относиться к различным областям знаний.
Определение групп пользователей и их возможностей при работе с БД Пользователи Библиотекари читатели администрация библиотеки
Определяем функции групп пользователей Библиотекарь имеет право – принимать новые книги и регистрировать их в библиотеке; – относить книги к одной или к нескольким областям знаний; – проводить каталогизацию книг; – проводить списание старых и не пользующихся спросом книг; – вести учет выданных книг читателям; – проводить списание утерянных книг по специальному акту списания или замены; – проводить закрытие абонемента читателя.
Определяем функции групп пользователей Читатель имеет право – просматривать системный каталог, т. е. перечень всех областей знаний, книги по которым есть в библиотеке; – по выбранной области знаний получить полный перечень книг, имеющихся в библиотеке; – для выбранной книги получить инвентарный номер свободного экземпляра книги или получить сообщение о том, что свободных экземпляров книги нет; – получить полный список книг выбранного автора, которые имеются в библиотеке.
Определяем функции групп пользователей Администрация имеет право: – иметь возможность получать сведения о должниках- читателях, которые не вернули вовремя взятые книги; – сведения о книгах, которые не являются популярными, т. е. ни один экземпляр, которых не находится на руках у читателей; – сведения о стоимости конкретной книги, для того чтобы установить возможности возмещения стоимости утерянной книги или замены ее другой книгой; – сведения о наиболее популярных книгах, все экземпляры которых находятся у читателей.
Этап 2. Инфологическое проектирование Применяется после словесного описания предметной области. Это попытка представить информацию в виде модели данных: сгруппировать информацию в соответствии с выделенными объектами Модель Чена «Сущность – Связь ( ER - модель ) – стандарт инфологического проектирования. ER-модель Сущность Связь
Сущность Определяет класс однотипных объектов. Сущность имеет имя, уникальное в пределах предметной области. В БД существует множество экземпляров данной сущности. Объект – сущность имеет свой набор атрибутов, такой, чтобы можно было различать конкретные экземпляры сущности. Студент № зачетной книжки Фамилия № ИСТ-7210 Имя Иванов Отчество Петр Группа Ильич ИСТ-72
СВЯЗЬ Между сущностями могут быть установлены связи. Связь – бинарн ая ассоциаци я , показывающ ая , каким образом сущности соотносятся или взаимодействуют друг с другом. Преподаватель Руководит Табельный номер Студент Фамилия Дипломное Имя № зачетной книжки Пишет проектирование Отчество Фамилия диплом Кафедра Имя Отчество Группа М : 1
Связи делятся 1: 1 1: М М: М Экземпляр одной Один экземпляр сущности, Один экземпляр сущности связан расположенный слева по первой сущности только с одним связи, может быть связан с экземпляром несколькими экземплярами несколькими другой сущности, расположенной экземплярами справа по связи второй сущности, и, наоборот
Инфологическая модель «Библиотека» Книги Читатели ISBN № читательского билета Название Фамилия имя отчество Автор Дата рождения Издательство Пол Место издания Телефон домашний Год издания Телефон рабочий Количество страниц «Держит на руках» Имеет сведения из Экземпляры Держит Связана Инвентарный № Наличие в библиотеке Дата взятия Находится у Сведения содержатся в Дата возврата Систематический каталог Код области знаний Наименование области знаний
3 этап. Даталогическое проектирование Приводит к разработке схемы БД: набор отношений и связей между ними, которые адекватно моделируют предметную область. Этап должен заканчиваться корректной схемой БД. Корректная схема – схема, в которой отсутствуют нежелательные зависимости между атрибутами отношений.
Проектирование корректной схемы БД пути Декомпозиция (разбиение), Синтез - компоновк а когда исходное множество из заданных исходных отношений, входящих в схему элементарных БД, заменяется другим зависимостей между множеством отношений (число объектами их при этом возрастает), предметной области являющихся проекциями схемы БД исходных отношений
Классический подход основан на декомпозиции с помощью теории нормализации – анализируются функциональные зависимости между атрибутами отношений. Последовательно корректируется (нормализуется) схема БД. При каждой новой итерации получается более «правильная» схема БД. Этот процесс – нормализация, каждый новая итерация – это переход к новой нормальной форме. Каждая нормальная форма – это определенный набор ограничений. Если схема БД удовлетворяет этому набору ограничений, то говорят, что БД находится в некоторой нормальной форме.
Нормализация БД В теории реляционных БД существует следующая последовательность нормальных форм: – 1 -я (1 NF); – 2 -я (2 NF); – 3 -я (3 NF); – Бойса-Кодда (ВС-NF); – 4 -я (4 NF); – 5 -я (5 NF) или форма проекции-соединения. Основные свойства нормальных форм: ü каждая следующая нормальная форма в некотором смысле улучшает свойства предыдущей; ü при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются
1 -я нормальная форма Определение: Отношение находится в 1 -й нормальной форме тогда и только тогда, когда на пересечении каждого столбца, и каждой строки находятся только элементарные значения атрибутов
Пример приведения отношения к 1 -й NF Преподаватель День недели № Дисциплина Тип Группа пары занятий Колбанев М. О. Понедельник 2 Моделирование Лекция ИСТ-62 Пятница 2 систем Лекция ИСТ- 61, 62, 63 Моделирование систем Липанова И. А. Среда 1 Выбор вариантов Лекция ИСТ-51 Четверг 2 Выбор вариантов Лаб. раб. ИСТ-51, 52 Татарникова Т. М. Вторник 1 УД Лекция ИСТ-71 Четверг 1 УД Лаб. лаб. ИСТ-72 Пятница 3 УД Лаб. раб. ИСТ-73
Пример приведения отношения к 1 -й NF Преподаватель День недели № пары Дисциплина Тип Группа занятий Колбанев М. О. Понедельник 2 Моделирование систем Лекция ИСТ-61 Колбанев М. О. Пятница 2 Моделирование систем Лекция ИСТ-61, 62, 63 Липанова И. А. Среда 1 Выбор вариантов Лекция ИСТ-51 Липанова И. А. Четверг 2 Выбор вариантов Лаб. раб. ИСТ-51, 52 Татарникова Т. М. Вторник 1 УД Лекция ИСТ-71 Татарникова Т. М. Четверг 1 УД Лаб. раб. ИСТ-72 Татарникова Т. М. Пятница 3 УД Лаб. раб. ИСТ-73
2 -я нормальная форма Определение: Отношение находится во 2 -й нормальной форме тогда и только тогда, когда оно находится в 1 -й нормальной форме и не содержит неполных функциональных зависимостей непервичных атрибутов первичного ключа
Пример приведения отношения ко 2 -й NF Рассмотрим отношение, моделирующее сдачу студентами текущей сессии Таблица «Сессия» ФИО № зачетной книжки Группа Дисциплина Оценка … … Зависят только от «№ зачетной книжки» Первичный ключ отношения : «№ зачетной книжки» + «Дисциплина»
Пример приведения отношения ко 2 -й NF Таблица «Сессия» ФИО № зачетной книжки Группа Дисциплина Оценка … … … Таблица «Студент» Таблица «Оценка» ФИО № зач. книжки Группа № зач. книжки Дисциплина Оценка … … … Зачем необходимо приводить ко 2 -й НФ - Перевод студента в другую группу - Студенты, которые еще не сдавали экзамен
3 -я нормальная форма Определение: Отношение находится в 3 -й нормальной форме тогда и только тогда, когда оно находится во 2 -й нормальной форме и не содержит транзитивных зависимостей
Пример приведения отношения к 3 -й NF Таблица «Студенты» ФИО № зачетной книжки Группа Факультет Специальность Выпускающая кафедра … … … Первичный ключ отношения : «№ зачетной книжки» Функциональные зависимости: № зачетной книжки ФИО Группа Факультет № зачетной книжки Группа Специальность № зачетной книжки Факультет Группа Выпускающая кафедра № зачетной книжки Спе циальность № зачетной книжки Выпускающая кафедра Факультет
Пример приведения отношения к 3 -й NF Функциональные зависимости: № зачетной книжки ФИО Группа Факультет № зачетной книжки Группа Специальность № зачетной книжки Факультет Группа Выпускающая кафедра № зачетной книжки Спе циальность № зачетной книжки Выпускающая кафедра Факультет Таблица «Студент» Таблица «Группа» ФИО № зач. книжки Специальность Группа Выпускающая кафедра … … … … Таблица «Кафедра» Факультет Выпускающая кафедра …