Лекция Базы данных.ppt
- Количество слайдов: 77
БАЗЫ ДАННЫХ 1
Основные понятия баз данных 2
Основные определения База данных (БД) – совокупность связанных структурированных данных некоторой предметной области, правила организации которых основаны на общих принципах описания, ввода, хранения и манипулирования данными. Предметная область – часть реального мира, подлежащая изучению с целью организации управления и автоматизации Структурирование – соглашение о способах представления данных 3
Структурирование данных Неструктурированные данные Личное дело № 16493, Сергеев Петр Михайлович, дата рождения 1 января 1983 г. ; Л/Д № 16495, Петрова Анна Владимировна, дата рожд. 15 марта 1985 г. ; № личн. дела 16490, д. р. 14. 04. 1981, Анохин Андрей Борисович Структурированные данные Номер Фамил личного ия дела 16493 16495 16490 Сергеев Петрова Анохин Имя Отчество Дата рожден ия Петр Анна Андрей Михайлович Владимировна Борисович 01. 1983 15. 03. 1985 14. 04. 1981 4
СУБД Система управления базами данных (СУБД) – комплекс программных и языковых средств, необходимых q для создания баз данных; q поддержания их в актуальном состоянии; q организации поиска в них требуемой информации; q представления ее в удобном для восприятия виде. 5
данных ПО СОДЕРЖАНИЮ Библиографические Небиблиографические Вторичная информация о документах, включая рефераты и аннотации Справочные Полнотекстовые Числовые Финансовые Юридические … ПО СПОСОБУ ДОСТУПА С локальным доступом С удаленным доступом 6
БД с точки зрения пользователя q q хранение информации; изменение информации; обработка информации; разработка и получение различных выходных документов; q обеспечение целостности и безопасности. Целостность БД означает, что в ней содержится полная непротиворечивая и адекватно отражающая предметную область информация. Поддержание целостности БД включает проверку целостности и ее восстановление в случае обнаружения противоречий в базе данных. Безопасность – комплекс мер по защите данных от несанкционированного доступа, модификации или разрушения. 9
Структурные элементы базы данных ПОЛЕ ЗАПИСЬ ФАЙЛ Реквизит = Параметр = Атрибут = Свойство = Признак = некоторая характеристика объекта Поле – элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту Дата (01. 1980, 15. 03. 1983, 29. 06. 1983…) Характеристики поля Дополнительные Основные ФОРМАТ (длина) ИМЯ ТОЧНОСТЬ… 10 ТИП
Структурные элементы базы данных ПОЛЕ ЗАПИСЬ ФАЙЛ Запись (кортеж) – совокупность логически связанных полей. <Номер ЛД, Фамилия, Имя, Отчество, Дата рожд> Экземпляр записи – отдельная реализация записи, содержащая конкретные значения полей <16493, Сергеев, Петр, Михайлович, 01. 1980> Файл – совокупность экземпляров записей одной структуры. 11
Модели данных 12
Понятие модели данных Модель данных – совокупность структур данных и операций их обработки ВИДЫ МОДЕЛЕЙ ДАННЫХ ИЕРАРХИЧЕСКАЯ СЕТЕВАЯ РЕЛЯЦИОННАЯ 13
Иерархическая модель совокупность элементов, распределенных по уровням подчиненности. Основные понятия иерархической модели УЗЕЛ УРОВЕНЬ СВЯЗЬ Свойства иерархической модели 1. Существует только 1 узел верхнего уровня (КОРЕНЬ) 2. Каждый узел (кроме КОРНЯ) связан только с 1 -м узлом верхнего уровня и может быть связан с несколькими узлами нижнего уровня 3. Элементы одного уровня подчиненности образуют один 14 класс объектов
Пример иерархической модели данных КОРЕНЬ УРОВЕНЬ ФАКУЛЬТЕТ ГРУППА СВЯЗИ СТУДЕНТ УЗЕЛ 15
СЕТЕВАЯ МОДЕЛЬ Каждый узел одного уровня может быть связан с любым количеством узлов другого уровня. Нет корневого узла УРОВЕНЬ ВРАЧИ УРОВЕНЬ ПАЦИЕНТЫ 16
Реляционная модель - организация данных в виде совокупности двумерных таблиц, связанных между собой. Номер Фамилия Имя Отчество Дата рожд. 16493 Сергеев Петр Михайлович 01. 1983 16495 Петрова Анна Владимировна 15. 03. 1985 16490 Анохин Андрей Борисович 14. 04. 1981 Свойства реляционных таблиц: 1. Каждый элемент таблицы - один элемент данных; 2. Все элементы столбца имеют одинаковый тип (числовой, символьный и т. п. ), формат и смысл; 3. Каждый столбец имеет уникальное имя; 4. Порядок следования строк может быть произвольным; 5. Каждая таблица имеет первичный ключ. 17
Структурные элементы реляционной таблицы ФАЙЛ ЗАПИСЬ #Пол е 1 Поле 2 Поле 3 Поле 4 Поле 5 Экземпляр записи ПОЛЕ Ключ (#) – одно (простой) или несколько (составной) полей таблицы, которые однозначно определяют каждую запись. 18
модели ИЗДЕЛИЕ Код. Из П 1 П 2 П 3 д ДЕТАЛИ Код. Де П 3 т П 4 П 5 СОСТАВ ИЗД Код. Из Код. Де П 6 П 7 д т 19
Жизненный цикл базы данных 20
БД ПРОЕКТИРОВАНИЕ РЕАЛИЗАЦИЯ ЭКСПЛУАТАЦИЯ 21
Этапы проектирования БД АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ ИНФОРМАЦИОННОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ 22
ОБЛАСТИ В результате должны быть сформулированы: q описание входных документов, которые служат основанием для заполнения данными базы данных; q подробное описание информации об объектах и информационных процессах предметной области; q описание конкретных задач, которые будут решаться разрабатываемой БД с кратким описанием алгоритма решения (как есть); q описание выходных документов, которые должны генерироваться в системе. 23
Информационно-логическое проектирование Цель – обеспечение наиболее естественных для человека способов представления той информации, которую предполагается хранить в создаваемой базе данных Результат – построение независимой от СУБД информационной структуры путем объединения информационных требований пользователей. Эта структура называется информационнологическая (семантическая) модель (ИЛМ) 24
проектирование 1. Выбор СУБД. 2. Разработка СУБД-ориентированной схемы, которая удовлетворяет всему диапазону требований пользователей, начиная с требований целостности и кончая показателями эффективности при ее расширении и усложнении. Физическое проектирование 1. Выбор способов размещения данных в среде хранения и способов доступа к этим данным, которые поддерживаются на физическом уровне. 2. Составление алгоритмов решения задач. 25
Разработка информационно-логической модели БД 26
Информационно-логическая модель данных «Сущность-связь» Язык ER-диаграмм (Entity-Relationship, «сущность-связь» ) – средство графического изображения инфологических моделей (Чен, 1976 г. ) Конструктивные элементы инфологических м СУЩНОСТИ СВЯЗИ АТРИБУТЫ Сущность – любой различимый объект, информацию о котором необходимо хранить в базе данных. Информационный объект (Ин. О) = Сущность Атрибут – поименованная характеристика сущности. Связь – зависимость одной сущности от другой 27
Графические обозначения КНИГА ИМЯ СУЩНОСТИ # Шифр книги ИМЯ КЛЮЧЕВОГО АТРИБУТА (-ОВ) Название книги Объем книги Стоимость книги ИМЕНА ДРУГИХ АТРИБУТОВ Связь СОТРУДНИК # Таб_Номер Фамилия Имя Отчество ОТДЕЛ Работает в # Название Кол_Сотр Состоит из 28
Виды атрибутов Обязательные и СОТРУДНИК необязательные # Таб_Номер Простой ключ ПОСТАВКА Ключевые и неключевые # Код_Товара (описательные) *Фамилия *Имя *Отчество *Дата_Рожд *Кол_Детей Сем_Полож # Дата_Пост # Номер_Дог Составной ключ *Кол_Товара *Стоимость 29
Виды связей Один-к-Одному (1: 1) СУЩНОСТЬ 1 1 1 СУЩНОСТЬ 2 Одному экземпляру СУЩ 1 соответствует ТОЛЬКО один экземпляр СУЩ 2. И наоборот, одному экземпляру СУЩ 2 соответствует ТОЛЬКО один экземпляр СУЩ 1. ФАКУЛЬТЕТ 1 1 ДЕКАН 30
Виды связей Один-ко-Многим (1: М) СУЩНОСТЬ 1 1 М СУЩНОСТЬ 2 Одному экземпляру СУЩ 1 соответствует МНОГО экземпляров СУЩ 2. И наоборот, одному экземпляру СУЩ 2 соответствует ТОЛЬКО один экземпляр СУЩ 1. ГРУППА 1 М СТУДЕНТ 31
Виды связей Многие-ко-Многим (М: М) СУЩНОСТЬ 1 М М СУЩНОСТЬ 2 Одному экземпляру СУЩ 1 соответствует МНОГО экземпляров СУЩ 2. И наоборот, одному экземпляру СУЩ 2 соответствует МНОГО экземпляров СУЩ 1. КНИГА М М АВТОР 32
Виды связей Необязатель ная СТУДЕНТ 1 Обязательна я ОЦЕНКА М key Неключев Ключевая ая Ключевая связь : q Может быть только с одной стороны бинарной связи; q Должна быть обязательной; q Только со стороны “М”. 33
НОРМАЛИЗАЦИЯ ДАННЫХ 34
УНИВЕРСАЛЬНОЕ ОТНОШЕНИЕ А 1 А 2 А 3 … Аn 35
Каждый факт в одном месте Основная цель проектирования БД – это сокращение избыточности хранимых данных СЛЕДОВАТЕЛЬНО • экономия объема используемой памяти; • уменьшение затрат на многократные операции обновления избыточных копий; • устранение возможных противоречий из-за хранения в разных местах сведений об одном и том же объекте. 36
Пример нереляционной таблицы Дисциплина Преподавате Рекомендуем ль ая литература Информатика Гришин, Книга 1, Книга 2, Титова, Богословская Книга 3, Книга 4 Математика Соловьев, Книга 5, Книга 6, Книга 7 Голубев Нарушено свойство реляционных таблиц каждый элемент таблицы - один элемент данных; 37
Первая нормальная форма (1 НФ) Каждый атрибут для каждого экземпляра сущности имеет ТОЛЬКО ОДНО значение. Дисциплина Преподавате Рекомендуем ль ая литература Информатика Гришин Книга 1 Информатика Гришин Титова Книга 2 Книга 3 Книга 4 Книга 1 … … … 38
Приведение к 1 НФ Операция ВСТАВКИ В таблицу включаются дополнительные строки, так, чтобы в каждой строке каждый атрибут принимал единственное значение. 3 препод*4 книги+2 препод*3 книги=18 строк РЕЗУЛЬТАТ – появление избыточности данных, множественных атрибутов. СЛЕДСТВИЕ – наличие АНОМАЛИЙ • Добавления • Удаления • Обновления 39
Первая нормальная форма (1 НФ) ИСКЛЮЧЕНИЕ МНОЖЕСТВЕННЫХ АТРИБУТОВ СТУДЕНТ 1 # Фамилия # Имя # Отчество Дата. Рожд Пол Предмет Оценка М ОЦЕНКА # Предмет Оценка 40
Вторая нормальная форма (2 НФ) 1. Сущность находится в 1 НФ 2. Все неключевые атрибуты функционально полно зависят от ключа. Функциональная зависимость является полной, если значению ключевого атрибута соответствует ТОЛЬКО ОДНО значение описательного атрибута. "СТУДЕНТ" ( № зач. книжки, Фамилия, Имя, зач. книжки, Отчество, Дата. Рожд, Дом. Адрес, Пол, …) "УСПЕВАЕМОСТЬ" (№ зач. книжки, Фам. Студ, № зач. книжки, Имя. Студ, Отч. Студ, название дисциплины, дата, Оценка, Фам. Преп) 41
функциональ ной зависимости СТУДЕНТ # № Зач. кн *№ группы *Фамилия *Имя *Отчество *Дата рожд. *Адрес *Пол ПОСТАВКА # Код_Товара # Дата_Пост # Номер_Дог *Кол_Товара *Код_склада УСПЕВ-ТЬ # № Зач. кн # Назв. дисц # Дата *ФИО студ *Оценка *ФИО преп 42
Приведение к 2 НФ СТУДЕНТ # Фамилия # Имя # Отчество # Номер гр * Факультет * Курс СТУДЕНТ ГРУППА # Фамилия # Имя # Отчество # Номер гр М key 1 * Факультет * Курс 43
Третья нормальная форма (3 НФ) 1. Атрибуты находятся в 1 НФ и 2 НФ 2. Каждый неключевой атрибут нетранзитивно зависит от ключа. ПОНЯТИЕ ТРАНЗИТИВНОЙ ЗАВИСИМОСТИ Если неключевой атрибут А функционально зависит от ключа К, а неключевой атрибут В функционально зависит от неключевого атрибута А, то, говорят, что атрибут В транзитивно зависит от ключа К. К—›А, А—›В, то К—›В (транзитивно) 44
Приведение к 3 НФ ИСКЛЮЧЕНИЕ ТРАНЗИТИВНЫХ ЗАВИСИМОСТЕЙ СОТРУДНИК # Таб_Номер *Фамилия *Имя *Отчество *Должность *Оклад Надбавка М *Фамилия *Имя *Отчество Надбавка ДОЛЖНОСТЬ 1 # Название *Оклад 45
Устранение связей типа «МНОГИЕ-ко-МНОГИМ» В инфологической модели не должно быть связей типа М: М ПРЕПОД-ЛЬ ДИСЦИПЛИНА М М 1 1 ПРЕП-ДИСЦ Мkey 46
ПРИМЕРЫ ИНФОРМАЦИОННОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ 47
Требования нормализации данных 1. Каждая сущность имеет уникальный идентификатор – ключ; 2. Реквизиты, входящие в составной ключ взаимонезависимы; 3. Любой описательный атрибут функционально полно зависит от ключа (зависимость описательных реквизитов от части составного ключа не допускается); 4. Все описательные (неключевые) атрибуты взаимонезависимы, т. е. между ними нет функциональных связей; 5. Между сущностями нет связей М: М. 48
Каждый факт в одном месте Одно из практических правил, применяемых при проектировании БД – постараться устранить из таблиц, так называемые множественные атрибуты – поля, у которых значения повторяются в разных строках таблицы. 49
Этапы проектирования (не последовательные, а взаимосвязанные) 1. Определить объекты, подлежащие описанию в БД. 2. Выделить атрибуты, подлежащие описанию в БД. 3. Скомпоновать атрибуты в отдельные таблицы. Определить ключ в каждой таблице. 4. Установить связи между таблицами. 50
Задание ключа в таблице 1. Лучше простой ключ, чем составной. 2. Составной ключ из минимального числа атрибутов. 3. Лучше числовой ключ, чем текстовый (как правило, создается поле – Код. Чегото типа Счетчик). 4. Ключ – обязательное поле. 51
Пример 1. Поставка материалов Цель: Обеспечить учет поставки материалов на предприятие 52
Выявление сущностей и атрибутов на основе анализа входных документов 53
Установлено один поставщик осуществляет поставку различных материалов; один и тот же материал поставляется несколькими поставщиками; за определенную дату может быть осуществлена только одна поставка отдельным поставщиком и по одному документу; номера документов не повторяются; документ содержит перечень поставляемых материалов; цена материала не изменяется при поставке его различными поставщиками в разное время; справочные реквизиты поставщика не меняются (название, адрес, расч. счет). 54
Состав атрибутов Дата поставки (ДП) Приходный ордер № (Пр. О) Код поставщика (КП) Наименование поставщика (НП) Адрес поставщика (АП) Расчетный счет (РС) Код материала (КМ) Название материала (НМ) Цена материала (ЦМ) Единица измерения (ЕИ) Количество поставки (Кол. П) Стоимость поставки (СП) ПОСТАВЩИК МАТЕРИАЛ ПОСТАВКА 55
ER-диаграмма (связи между сущностями) МАТЕРИАЛ ПОСТАВЩИК # Код матер # Код пост 1 1 ПОСТАВКА # Приходный ордер Мkey * Дата поставки * Код поставщика * Код материала * Кол-во материала Мkey 56
Табличное описание выделенных сущностей 57
Пример 2. ПОЛИКЛИНИКА Цель: Обеспечить учет приема пациентов врачами поликлиники Документы: • Расписание приема врачей • Медкарта пациента • Статистический талон посещения Ограничения: • Расписание приема врачей не включать в ИЛМ 58
Выявление сущностей и атрибутов Ф пациента И пациента О пациента Дата рожд Медполис Ф врача И врача О врача Должность Дата приема Жалобы Диагноз Назначения Документ нетрудосп. ПАЦИЕНТЫ ВРАЧИ СПЕЦИАЛИЗ ПРИЕМ БОЛЕЗНЬ 59
диаграмма ГРУППА БОЛЕЗНЕЙ М Справочник ДОЛЖНОСТЬ 1 1 БОЛЕЗНИ Мkey 1 ВРАЧИ М ПАЦИЕНТЫ 1 М key ПРИЕМ 1 Мkey 60
Пример 3. ДЕКАНАТ Процесс обучения студентов в вузе Приобретение знаний Контроль усвоения знаний Студенты изучают дисциплины. Преподаватели ведут дисциплины. Студенты получают оценки по дисциплинам. Преподаватели ставят оценки по дисциплинам. 61
Ограничения предметной области Срок обучения в институте по всем специальностям одинаковый – 5 лет (10 семестров) Год поступления в вуз конкретного студента отождествляется с годом образования новой группы Год окончания вуза студентов приравнивается к году выпуска всей группы Один студент учится только в одной группе 62
Сущности и Связи ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА 1 1 М ПРЕПОДАВАТЕЛЬ- М ДИСЦИПЛИНА ГРУППА 1 1 М СТУДЕНТ М 1 М ОЦЕНКА 63
Описание таблиц 64
Описание таблиц 65
Сущность Дисциплина Преподаватель. Дисциплина Атрибут Код дисциплины Название Код ПД Код преподавателя Код дисциплины Оценка Код записи Код студента Дата Семестр Код ПД Примечание Ключевое поле Связь с сущностью Преподаватель Связь с сущностью Дисциплина Ключевое поле Связь с сущностью Студент Связь с сущностью Преп-Дисциплина Вид контроля Оценка 66
Распределение сущностей по уровням иерархии ГРУППА 1 ДИСЦИПЛИНА ПРЕПОДАВАТЕЛЬ 1 1 М М СТУДЕНТ ПРЕП-ДИСЦ М 1 1 ОЦЕНКА М М 67
Этапы реализации БД Сначала создать таблицы верхнего уровня подчиненности; Затем создать таблицы следующего уровня, и т. д. , спускаясь все ниже; При создании подчиненной таблицы создать поле связи с главной таблицей с помощью мастера подстановок; И только после этого формы, запросы, отчеты. 68
Пример 4. БИБЛИОТЕКА Цели: 1. Учет книг хранящихся в библиотеке (каталожная карточка) 2. Учет читателей (читательский билет) 3. Учет выданных книг (читательский билет) 69
Книга Шифр книги (ШК) Инв номер Авторы ЭКЗЕМПЛЯР АВТОР Название Тематика Издательство ТЕМА ИЗДАТЕЛЬСТВО Год 70
Приведение к 1, 2, 3 НФ 1 ИЗДАТЕЛЬСТВО М # Код. Изд М 1 КНИГА ЭКЗЕМПЛЯР # Код. А, ФИО М М # ШК, Назв. К, Год, Стоим, Мkey Стр АВТОР М ТЕМА # Код. Т, Описание # Инв. Ном 71
Устранение связей М: М Мkey АВТОР 1 КНИГИ КНИГА 1 АВТОР # Код. А… # ШК # Код. А 1 # ШК Мkey ТЕМА КНИГИ # ШК # Код. Т 1 М key ТЕМА # Код. Т 72
Читатель Множественные атрибуты Читательский билет (№) Фамилия читателя Имя читателя Отчество читателя Адрес читателя Телефон читателя Категория читателя Экземпляр книги 1 Дата выдачи 1 Дата возврата 1 Экземпляр книги 2 Дата выдачи 2 Дата возврата 2 … ЧИТАТЕЛЬ ЗАПИСЬ В БИЛЕТЕ 73
Связи между сущностями КНИГА 1 # ШК, Назв. К, Год, Стоим, Стр М key ЭКЗЕМПЛЯР КНИГИ 1 # Инв. Ном ЧИТАТЕЛЬ 1 # ЧБ, ФИО, Тел. Ч… М key ЗАПИСЬ В БИЛЕТЕ М key # Дата. Выд, # Инв. Ном, Дата. Воз 74
Логическое проектирование БД ИЗДАТЕЛЬСТВО 75
Логическое проектирование БД КНИГА 76
Логическое проектирование БД АВТОР КНИГИ После подстановки ключевых полей из других таблиц им присваивается тип соответственно Текстовый (такой же как и в главной таблице) и Числовой (не Счетчик). Поэтому важно для этих полей вручную установить свойства Обязательное и Индексированное. 77
Логическое проектирование БД ЗАПИСЬ В БИЛЕТЕ 78
Схема данных 79
Лекция Базы данных.ppt