ЛИ_БД_теория.ppt
- Количество слайдов: 52
Медицинская информатика. Проектирование баз данных Тишков А. В. к. ф. -м. н. , доцент
Данные в Excel – разные типы данных
Данные в Excel – разные типы данных
Данные в Excel – повторные исследования в столбцах
Пример схемы БД
Инфологическое проектирование — это формализованное описание предметной области: l выделение объектов l определение атрибутов объектов l выявление логических связей между объектами На этом этапе нет привязки к системе управления базами данных (СУБД)
Построение ER-моделей l l ER-диаграмма: Entity(сущность) – Relation(связь) Сущность – объект. На диаграмме – существительное. Атрибут – свойство объекта. На диаграмме – существительное. Связь между сущностями – зависимость между объектами, выраженная через свойства. На диаграмме – глагол. Степень (кратность) связи 1: 1, 1: M, M: M Пример: Преподаватель ведет дисциплину Преподаватель 1 Ведет M Дисциплина
Виды логической связи Отношения, которые могут существовать между сущностями: 1. один-к-одному, каждому экземпляру одной сущности соответствует один экземпляр другой сущности; 2. один-ко-многим, каждому экземпляру одной сущности может соответствовать несколько экземпляров другой сущности; 3. многие-ко-многим, нескольким экземплярам одной сущности может соответствовать несколько другой сущности.
(Не)Полное участие в связи l Полное: каждый экземпляр сущности участвует по крайней мере в одном экземпляре связи Полное Доктор 1 Ведет прием M Пациент Неполное Доктор 1 Удаляет зуб M Пациент
Элементы ER-диаграммы l l l Сущности – прямоугольники Атрибуты – эллипсы. Ключевые (однозначно определяющие сущность) подчеркиваются Связи – ромбы Табельный номер Фамилия Имя Доктор 1 Отчество Квалификация Дата-время Помещение Пациент Ведет м Прием
ЛОГИЧЕСКОЕ (ДАТАЛОГИЧЕСКОЕ) ПРОЕКТИРОВАНИЕ - это преобразование инфологической модели в модель допустимую для выбранной системы управления базами данных (СУБД). Разрабатывается схема базы данных (БД). Система управления базами данных — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
База данных и модели данных База данных (БД) – это совокупность структурированных и взаимосвязанных данных. Существуют 4 основные модели данных: - списки (плоские таблицы); - реляционные базы данных; - иерархические структуры; - сетевые структуры.
Иерархические структуры В иерархической базе данных - один тип объекта является главным, все нижележащие – подчиненными.
Сетевая модель данных С сетевой базе данных -любой тип данных одновременно может быть главным и подчиненным. Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию. Несмотря на то, что сетевая модель решает некоторые проблемы иерархической (сложность добавления и удаления данных), выполнение простых запросов остается достаточно сложным процессом.
Реляционная модель данных В реляционной базе данных модель данных строится по принципу взаимосвязанных таблиц. Мы будем рассматривать реляционные БД. В реляционных базах данных строка таблицы называется записью, а столбец — атрибутом или полем.
Функциональные зависимости l Между атрибутами отношения А и В существует функциональная зависимость, если любое значение атрибута А однозначно определяет значение атрибута В. А l l l В Номер полиса –> ФИО Мед. услуга – > Стоимость Наим. медикамента –> Ед. изм. Атрибут А функционально определяет атрибут В и является детерминантом. Атрибут В функционально зависит от А. Если в любой строке отношения R значению атрибута А всегда соответствует только одно значение В Если две строки отношения R совпадают по значению атрибута А, то они совпадают и по значению В
№ сотр ФИО Должность Оклад №_ Телефон отдела нач. отдела 21 Иванов менеджер 200 5 111 -11 -12 37 Петров инженер 100 3 111 -11 -11 14 Сидоров программист 1000 3 111 -11 -11 09 Степанов менеджер 400 7 111 -11 -13 05 Федоров зав. отд 1500 3 111 -11 -11 41 Иванов секретарь 200 5 111 -11 -12
№ сотр № сотр ФИО Должность Оклад №_отдела Телефон нач. отдела ФИО ФИО ФИО №сотр Должность Оклад №_отдела Телефон нач. отдела
Ключи и отношения Первичный ключ – это одно или несколько полей (столбцов), комбинация значений которых однозначно определяет запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах. Внешний (вторичный) ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц. Ключи используются для построения связей. Отношением называется совокупность атрибутов, характеризующих объект. Пример записи отношения: Сотрудники отделов = (№_сотр, ФИО, должность, оклад, №_отд. корпус, телефон)
ПРОБЛЕМА ПЛОСКИХ ТАБЛИЦ: ИЗБЫТОЧНОСТЬ ДАННЫХ 1/2 № сотр ФИО Должность Оклад №_ отдела Ко р. Теле фон 21 Иванов менеджер 200 5 2 111 -11 -12 37 Петров инженер 100 3 1 111 -11 -11 14 Сидоров программист 1000 3 1 111 -11 -11 09 Степанов менеджер 200 7 3 111 -11 -13 05 Федоров зав. отд 1500 3 1 111 -11 -11 41 Иванов секретарь 200 5 2 111 -11 -12
ПРОБЛЕМА ПЛОСКИХ ТАБЛИЦ: ИЗБЫТОЧНОСТЬ ДАННЫХ 2/2 Сотрудники отделов = (№_сотр, ФИО, должность, оклад, №_отд. корпус, телефон) Поля, связанные с № отдела, повторяются - корпус, - телефон
Вставка l l l При добавлении новой информации - в данном примере сотрудники существующих отделов - нужно точно повторить информацию, связанную с № отдела (корпус, телефон). В противном случае данные будут противоречивы, (т е один отдел может находится в разных корпусах или иметь другой телефон) СУБД не сможет контролировать эти ошибки. № ФИО сотр Должность Оклад №_ отдела Ко Теле р. фон 21 37 Иванов менеджер 200 5 2 Петров инженер 100 3 1 111 -11 -12 111 -11 -11 14 Сидоров программист 1000 3 1 111 -11 -11
Удаление l при удалении записи, содержащей сведения о сотруднике Степанове удалятся сведения и о 7 отделе, который больше не фигурирует ни в одной записи и при появлении нового сотрудника 7 отдела их придется искать в бумажных документах) № ФИО сотр Должность Оклад №_ отдела Ко Теле р. фон 21 09 Иванов менеджер 200 5 2 Степанов менеджер 200 7 3 111 -11 -12 111 -11 -13 41 Иванов секретарь 200 5 2 111 -11 -12
Обновление l l изменение номера телефона 3 отдела придется производить в 3 записях, если будет пропущена хотя бы одна запись с таким же номером отдела, то данные будут противоречивы № ФИО сотр Должность Оклад №_ отдела Ко Теле р. фон 21 Иванов менеджер 200 5 2 111 -11 -12 37 Петров инженер 100 3 1 111 -11 -11 14 Сидоров программист 1000 3 1 111 -11 -11 05 Федоров зав. отд 3 1 111 -11 -11 1500
Решение l l Выход: декомпозиция таблицы (в данном случае на две). Декомпозиция должны сохранять зависимости, тогда возможно соединение без потерь, то есть восстановление исходного отношения после декомпозиции.
Таблица 2 Сотрудники № ФИО сотр 21 Иванов должность Оклад №_отд менеджер 200 5 37 Петров инженер 100 3 14 Сидоров программист 1000 3 09 Степанов менеджер 400 7 05 Федоров зав. отд 1500 3 41 Иванов секретарь 200 5
Таблица 3 Отделы №_отд корпус телефон 3 1 111 -11 -11 5 2 111 -11 -12 7 3 111 -11 -13
Выявление потенциальных ключей отношений l l l Напомним: первичный ключ – атрибут, однозначно определяющий строки таблицы. Ключевой атрибут должен быть детерминантом для остальных атрибутов отношения. Неключевые атрибуты отношения называются описательными.
l l Детерминантов для остальных атрибутов может быть несколько, тогда среди них выбирается один, который становится первичным ключом. (Например, номер паспорта и ИНН) В случае отсутствия атрибута-ключа в отношении создается суррогатный ключ, обычно это порядковый номер строки в таблице (поле счетчик). Ключи могут быть составными, т. е. состоять из нескольких атрибутов. (Прием: дата, время + доктор) Описательные атрибуты, не являющиеся первичным ключом (или его частью), должны быть функционально зависимы от ключа.
НОРМАЛИЗАЦИЯ l Нормализация отношений - формальный аппарат ограничений на формирование отношений, которое позволяет устранять дублирование данных, обеспечивает их непротиворечивость.
ОПРЕДЕЛЕНИЕ 1 НФ • Отношение находится в первой нормальной форме, если на пересечении каждой строки и каждого столбца находится только одно значение. • 1 НФ является обязательной группа День №пары Дисциплина Аудитория Тип занятий 123 Пн 2 Физика 9 (вход с торца здания) Пн 3 Информатика 4 Практика Пн 4 Анатомия лекция 2 Лаборатор ная
группа День №пары Дисциплина Аудитория Тип занятий 123 Пн 2 Физика 9 123 Пн 3 Информатика 4 Практика 123 Пн 4 Анатомия лекция 2 Лаборатор ная
ПОЛНАЯ ФУНКЦИОНАЛЬНАЯ ЗАВИСИМОСТЬ l l А и В могут быть составными Атрибут В находится в полной функциональной зависимости от составного атрибута А , если В функционально зависит от полного набора составного атрибута А и не находится в зависимости от его части.
поставщик, товар поставщик товар поста товар колич магазин вщик ество количество поставщик, товар поставщик товар 1 кофе 100 1 1 чай 100 2 2 кофе 300 2 чай 400 1 какао 200 1 магазин 2 магазин 3
ОПРЕДЕЛЕНИЕ 2 НФ l Отношение находится во 2 НФ, если оно – – находится в 1 НФ каждый описательный атрибут функционально полно зависит от всего составного ключа. Отношение Сессия (№_зк, дисциплина , ФИО. , группа, оценка) №_зк ФИО группа дисциплина оценка 101 Иванов 123 физика 5 101 Иванов 123 информатика 3 101 Иванов 123 физ-ра зачет 102 Петров 123 физика 3 102 Петров 123 анатомия 4 103 Сидоров 123 информатика 5
l l Ключ: №_зк (студент) и дисциплина. Описательный атрибут – оценка. Сессия (№_зк, дисциплина , ФИО. , группа, оценка) Находится ли отношение Сессия во 2 НФ? l l №зк ФИО Дисциплина ФИО неверно ФИО. , группа зависят от части составного ключа, те от №_зк и не зависят от дисциплины. Значит нет полной ФЗ и отношение Сессия не находится во 2 НФ №_зк ФИО группа дисциплина оценка 101 Иванов 123 физика 5 101 Иванов 123 информатика 3 101 Иванов 123 физ-ра зачет 102 Петров 123 физика 3 102 Петров 123 анатомия 4 103 Сидоров 123 информатика 5
l l l Для приведения отношения Сессия, находящегося в 1 НФ ко 2 НФ применяется декомпозиция Студент(№_зк, ФИО. , группа) Сессия(№_зк, дисциплина, оценка) В новое отношение №_зк ФИО группа дисциплина оценка 101 Иванов 123 физика 5 101 Иванов 123 информатика 3 101 Иванов 123 физ-ра зачет 102 Петров 123 физика 3 102 Петров 123 анатомия 4 103 Сидоров 123 информатика 5
ОПРЕДЕЛЕНИЕ 3 НФ l Отношение в 3 НФ – – l находится во 2 НФ не имеет описательных атрибутов, находящихся в транзитивной зависимости от первичного ключа транзитивная зависимость наблюдается, если один описательный атрибут зависит от ключа, а другой описательный атрибут зависит от первого описательного атрибута. Ключ l Описательный 1 Описательный 2 Описательный атрибут 2 находится в транзитивной зависимости от ключа
Транзитивная зависимость l l А, В, С атрибуты отношения R Если А В студент а В С группа то А С студент группа староста Зайцев 101 Иванов Уткин 101 Иванов Рудаков 102 Петров группа староста
Пример l l Отношение Студент = (№ зк, дата рожд, группа, староста) № зач ФИО дата рожд группа староста № зач ФИО дата рожд староста l группа l Атрибут староста находится в транзитивной зависимости от №_зк
необходима декомпозиция Студент= ( №_зк, ФИО, Дата рожд, Группа) Группа=(№Группы, староста ) l Атрибуты, находящиеся в транзитивной зависимости удаляются из этого отношения в новое вместе с копией детерминанта. l
Логическая модель Построение схемы l l l Наличие связей определяется природой реальных объектов, процессов, явлений. СВЯЗЬ 1: 1 один экземпляр одного объекта соответствует одному экземпляру другого объекта. Такие объекты легко соединяются в одно отношение Первичные ключи таких отношений идентичны.
СВЯЗЬ 1: 1 l l Исходная таблица разбивается на две таблицы с одинаковым ключом, связь 1: 1. Разбиение производится с целью разделения описательных атрибутов (секретные и доступные) или из других соображений, которые описываются при проектировании
ПРИМЕР l l l l l Регистрационный номер Название препарата Англ. Название препарата Лат. Название препарата Форма выпуска Состав Упаковка Производитель Описание Фармакологическое действие Показания к применению Взаимодействие с другими лекарствами Дозировка Способ применения Побочные действия Противопоказания Срок годности Условия хранения Условия отпуска
ОПИСАНИЕ Регистрационный номер Описание Фармакологическое действие Показания к применению Взаимодействие с другими лекарствами Дозировка Способ применения Побочные действия Противопоказания Условия хранения Условия отпуска ПРЕПАРАТ Регистрационный номер Название препарата Англ. Название препарата Лат. Название препарата Форма выпуска Состав Упаковка Производитель Срок годности
Связь 1: М l l l Одному экземпляру одного объекта соответствует несколько экземпляров другого объекта (может быть даже в перспективе) Вторичные ключи предназначены для связи таких таблиц. Первичный ключ из главной таблицы повторяется в подчиненной таблицы для их связи. В подчиненной таблице такой ключ называется вторичным или внешним.
ПРИМЕР ПРЕПОДАВАТЕЛЬ Табельный номер ФИО Должность Степень КАФЕДРА № кафедры Название Факультет ФИО зав кафедры телефон
ПРЕПОДАВАТЕЛЬ Табельный номер ФИО Должность Степень № кафедры 1 М КАФЕДРА № кафедры Название Факультет ФИО зав кафедры телефон
Многозначные зависимости М: N l l l не могут реализовываться в реляционных БД, вводится дополнительный объект – связка, который будет подчиненным по отношению к каждому из исходных. Объект – связка отсутствует в инфологической модели,
ПРИМЕР ПОКУПАТЕЛЬ №покупателя продукта ФИО Наименование Адрес ПРОДУКТ код поставщик Покупатель может покупать много различных продуктов. Продукт продаётся разным покупателям Связь многие ко многим
СОЗДАНИЕ ОБЪЕКТА СВЯЗКИ ( ПРОДАННЫЙ ТОВАР) покупатель № покупателя 1 фио адрес продукт 1 код продукта наименование поставщик проданный товар М М № покупателя код продукта дата продажи
ЛИ_БД_теория.ppt