Основы проектирования БД. Жизненный цикл БД 1.Планирование разработки БД. 2.Определение требований к системе 3.Сбор и анализ требований пользователей.

Презентация:



Advertisements
Похожие презентации
Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Advertisements

Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
ВИДЫ МОДЕЛЕЙ ДАННЫХ. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
УПРАВЛЕНИЕ ДАННЫМИ. Литература 1.Базы данных: модели, разработка, реализация/Т.С.Карпова –СПб.:Питер, Базы данных: основы, проектирование, использование./М.П.Малыхина.
Нормализация таблиц реляционной базы данных © Панова И.В
Теория экономических информационных систем Семантические модели данных.
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
Организация данных в виде отдельных файлов Файл с данными по договорам договора Дата Организация Директор Адрес Телефон Файл с данными по письмам исх/вх.
Реляционная алгебра Презентация подготовлена зав. кафедрой ИБ, д.п.н., профессором З.В. Семеновой.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Системы управления базами данных СУБД является универсальным программным средством предназначенным для создания и ведения(обслуживания) баз данных на внешних.
Проектирование реляционных БД на основе принципов нормализации"
Базы данных Михайлова Елена Георгиевна, мат.-мех. ф-т, кафедра информатики, доцент.
Модуль 1. Математические основы баз данных и знаний.
Основные понятия и определения Различные модели данных.
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Определения Банк данных (БнД) это система специальным образом организованных дан­ных - баз данных, программных, технических, языковых, организационно-
РЕЛЯЦИОННАЯ АЛГЕБРА. Элементы РМД и формы их представления Сущность – это объект любой природы. Данные о сущности хранятся в отношении (таблице). Атрибуты.
Транксрипт:

Основы проектирования БД

Жизненный цикл БД 1. Планирование разработки БД. 2. Определение требований к системе 3. Сбор и анализ требований пользователей 4. Проектирование БД Концептуальное Логическое физическое

Жизненный цикл БД (продолжение) 5. Разработка приложений Проектирование транзакций Проектирование пользовательского интерфейса 6. Реализация 7. Загрузка данных 8.Тестирование

Жизненный цикл БД (продолжение) 9. Эксплуатация и сопровождение Анализ функционирования и поддержка исходного варианта БД Адаптация, модернизация и поддержка переработанных вариантов.

Этапы проектирования 1. Системный анализ и словесное описание информационных объектов предметной области (ПО). 2. Проектирование инфологической модели ПО – частичное формализованное описание объектов ПО в терминах некоторой семантической модели – концептуальное проектирование. 3. Датологическое или логическое проектирование - разработка реляционной, иерархической или сетевой модели 4. Физическое проектирование – выбор эффективного размещения БД на внешних носителях.

Системный анализ ПО Функциональный подход – принцип «от задач» применяется, когда заранее хорошо определены функции некоторой группы лиц и задач, для чего собственно и создается БД. Предметный подход – когда информационные потребности будущих пользователей жестко не фиксированы, невозможно выделить минимальный объем объектов, которые нужно описать.

Разработка приложений

Основные ф-ции группы администратора Анализ предметной области Проектирование структуры БД Задание ограничений целостности при описании структуры БД и процедур обработки данных Первоначальная загрузка и ведение БД Защита данных Обеспечение восстановления БД Анализ обращений пользователей Анализ эффективности функционирования БД Работа с конечными пользователями Подготовка и поддержание системных средств Организационно-методическая работа по проектированию БД.

Модели данных МД – это некоторая абстракция, в которой отражаются самые важные аспекты функционирования рассматриваемой предметной области, а второстепенные игнорируются. МД включает в себя набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные.

Модель данных - это некоторая абстракция, которая будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, т.е. сведения, содержащие не только данные, но и взаимосвязи между ними.

Классификация моделей

Теоретико-графовая модель. Иерархическая модель – связный неориентированный граф древовидной структуры, объединяющий сегменты.

Иерархическая модель. структурная часть. Поле данных –наименьшая неделимая единица данных, доступная пользователю. Вершине графа соответствует сегмент (узел), а дугам – типы связей предок-потомок. Тип сегмента – поименованная совокупность входящих в него типов полей данных. Экземпляр сегмента – конкретные значения полей данных.

В иерархической модели Связи между объектами графически отображаются в виде дерева. Самая главная вершина – корень – не подчиняется ни одной вершине. Для каждого объекта существует только одна вершина, с которой он связан, расположенная на более высоком уровне. Взаимосвязи между главным и подчиненным объектами устанавливаются по типу «Один – ко- многим».

Правила ИМД Каждый порожденный узел (потомок) не может иметь больше одного порождающего узла (предка). На графе только одна входящая стрелка. На графе есть только один узел без входящей стрелки, т.е. без предка – это корень. Узлы без выходящих стрелок – это листья. Узел интерпретируется как запись. Для поиска записи необходим двигаться от корня к листьям.

Граф-дерево обладает следующими свойствами: Имеется только одна вершина графа – корень, в которую не входит ни одно ребро. Имеются вершины графа n-го уровня, называемые исходными, куда заходит одно ребро (n-1) уровня; исходит из этого узла 0,1 или несколько порожденных узлов, потомков. Единственный проход к порожденному узлу через его исходный узел Каждый потомок может иметь только одного предка Нет замкнутых циклов Сегмент без потомков – листовой сегмент

Пример иерархической модели. Поставщики П и товары Т, которые они поставляют.

Основные информационные единицы в ИМД: База данных БД Сегмент – запись (различают тип и экземпляр сегмента): Тип – это поименованная совокупность типов элементов данных в него входящих; Экземпляр образуется из конкретных значений полей. Поле – минимальная, неделимая, доступная с помощью СУБД единица данных

Достоинства ИМД позволяет описать структуру данных как на логическом так и на физическом уровнях, быстрота доступа к данным, но за счет потери информационной гибкости.

Недостатки ИМД Жесткая фиксированность взаимосвязей между элементами данных – изменение связей требует изменения структуры, Жесткая зависимость физической и логической организации данных, Потеря информационной гибкости (в рассмотренном примере за один проход по дереву нельзя получить информацию обо всех поставщиках товара Т1).

Сетевая модель. Любой объект м.б. и главным и подчиненным. Каждый объект может участвовать в любом количестве взаимосвязей.

Сетевая модель Любой объект м.б. и главным и подчиненным и каждый объект может участвовать в любом количестве взаимосвязей. Данные представляются при помощи записей и связей. Запись (объект) может иметь множество как подчиненных записей, так и записей, которым она сама подчинена.

Что нужно добавить, чтобы эта модель стала сетевой и отражала тоже, что модель слайда 41?

Сетевая модель более гибкая, чем иерархическая с ее помощью можно отобразить предметную область более сложной структуры, но обе эти модели предполагают наличие один раз отображенной в модели жесткой структуры. Это препятствует развитию и реорганизацию системы.

Сетевая модель Базовыми элементами являются: Элемент данных Агрегат данных Запись Набор данных

Сетевая модель Элемент данных – минимальная поименованная информационная единица, доступная пользователю (аналог – поле в файловой системе). Агрегат данных – следующий уровень обобщения в модели, поименованная совокупность элементов данных внутри записи. Например, АДРЕС – агрегат данных, а ГОРОД, УЛИЦА, ДОМ – это элементы данных.

Агрегат ДАТА Дата День МесяцГод

Сетевая модель Запись – конечный уровень агрегации. Каждая запись – это именованная структура, содержащая один или более именованных элементов данных, каждый из которых имеет свой формат.(см. след. слайд)

Запись СОТРУДНИК Сотрудник Табельный номер ФИОДата рождения Адрес день месяц год

Теоретико-множественные модели Реляционная модель

Реляционная модель - совокупность взаимосвязанных двумерных таблиц, называемых отношениями.

Реляционная модель Определяет способ отображения сущностей, атрибутов и связей на структуры данных.

К реляционной модели R1 – поставщики R3 - поставки R2 -товары П1 П2 П3 П1 Т1 П1 Т2 П1 Т3 П2 Т1 П2 Т3 П3 Т2 П3 Т3 Т1 Т2 Т3

Реляционная модель и предметная область Предметная область рассматривается как некоторая совокупность реальных объектов (сущностей) и разного рода связей между ними. Каждый объект обладает определенным набором свойств (атрибутов). Описание ПО может включать не только физические объекты, но и сведения о процессах и абстракциях

Основные понятия реляционной модели Объект – сущность – отношение таблица Экземпляр объекта - кортеж – запись – строка Атрибуты – поля – столбцы Элемент данных - ячейка

Основные понятия реляционной модели Домен – множество допустимых значений данного атрибута. Домены могут отличаться для каждого из атрибутов, но несколько атрибутов могут определяться на одном и том же домене

Основные понятия реляционной модели

Первичный ключ – поле, значения которого однозначно идентифицируют запись. Данные в этом поле не могут повторяться. Составной первичный ключ – это первичный ключ, состоящий более чем из одного поля Внешний ключ – это поле, чьи значения совпадают с имеющимися значениями первичного ключа другой таблицы.

Основные понятия реляционной модели Схема отношения – перечень имен атрибутов данного отношения с указанием домена, к которому они относятся. Схема данных – это группа связанных таблиц. Кардинальное число - количество кортежей Степень отношения – количество атрибутов

Свойства отношения Отношение имеет уникальное имя Каждый атрибут имеет уникальное имя, его значения берутся из одного и того же домена. Каждый компонент кортежа является простым, атомарным значением, не состоящим из группы значений. (Нельзя заменить значение атрибута другим отношением, тогда это была бы сетевая или иерархическая таблица). Последовательность атрибутов несущественна. Последовательность кортежей несущественна Все кортежи д.б. различны

12 правил Кодда 1. Правило информации 2. Правило гарантированного доступа 3. Поддержки недействительных значений 4. Динамического каталога 5. Исчерпывающего подъязыка данных 6. Обновления представлений 7.Добавления, обновления, удаления 8. Независимости физических данных 9. Независимости логических данных 10. Независимости условий целостности 11. Независимости распространения 12.Единственности

Доминирование реляционной модели обусловлено: Наличием развитой теории РМ данных Наличием методов приведения к РМ других моделей данных Поддержка РМ специальных средств ускоренного доступа к данным Возможность манипулирования данными без необходимости знания физической организации БД во внешней памяти Наличие стандартизованного высокоуровневого языка запросов.

Управление реляционной БД. Реляционная алгебра – это процедурный язык обработки реляционных таблиц. Основные операции: 1. Объединение (Union) – отношение t называется объединением r и s, если каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим. Оператор объединения берет в качестве входных две таблицы одинаковой структуры и строит новую таблицу со всеми строками обеих таблиц, удаляя дубликаты.

Объединение SELECT поле FROM табл 1 UNION SELECT поле FROM табл 2

Реляционная алгебра 2.Пересечение. Оператор использует две таблицы одной и той же структуры, удаляет значения, которые не присутствуют в обеих таблицах одновременно. Непосредственно не реализовано в синтаксисе SQL.

Реляционная алгебра 3. Разность - отношение t называется разностью r и s, если каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s. Из двух таблиц одинаковой структуры формируется таблица значений которые есть в одной таблицы и отсутствуют в другой. SELECT поле FROM табл 1 WHERE поле NOT IN (SELECT поле FROM табл 2)

Соединение Используется чтобы одну таблицу связать с другой на основе соответствующих значений столбца, обычно первичного ключа одной и внешнего другой SELECT name FROM tabl1 JOIN tabl2 ON tabl1.name=tabl2.name

Декартово произведение Оператор берет две таблицы и строит новую, состоящую из всех возможных комбинаций строк по одной из каждой таблицы. В результате количество строк м.б. чрезвычайно большим и «задушить» сервер. Наименее полезная и наиболее опасная операция. SELECT поле FROM табл 1 CROSS JOIN табл 2

Основные операции реляционной алгебры. Декартово произведение Проекция (Project) Выбор (Select) Дополнительные операции Пересечение Естественное соединение Соединение (Join) Деление

Целостность Целостность (от англ. integrity – нетронутость, неприкосновенность, сохранность, целостность) – понимается как правильность данных в любой момент времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не может контролировать правильность каждого отдельного значения, вводимого в базу данных (хотя каждое значение можно проверить на правдоподобность).

Три группы правил целостности: Целостность по сущностям. 1. Отсутствие кортежей дубликатов (наличие первичного ключа) 2. Отсутствие полей с множественными атрибутами (обеспечивается нормализацией) 3. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал неопределенное значение. Целостность по ссылкам. Для любого кортежа с конкретным значением внешнего ключа должен обязательно существовать кортеж связанной таблицы с соответствующим значением первичного. Целостность, определяемая пользователем. Для любой конкретной базы данных существует ряд дополнительных специфических правил, которые относятся к ней одной и определяются разработчиком. Чаще всего контролируется: уникальность тех или иных атрибутов, диапазон значений (экзаменационная оценка от 2 до 5) принадлежность набору значений (пол "М" или "Ж").

Физические модели БД 1. Основанные на файловых структурах. 2. Основанные на странично- сегментной организации

ФМ БД, основанные на файловых структурах. 1. Прямого доступа 2. Последовательного доступа 3.Индексные: Плотный индекс (индексно-прямые), Неплотный индекс (индексно- последовательные), В-деревья. 4. Инвертированные списки 5. Взаимосвязанные файлы: С однонаправленными цепочками, С двунаправленными цепочками.

Проектирование БД методом нормализации Нормализация – это процедура устранения нежелательных функциональных зависимостей, аномалий, пошаговый обратимый процесс замены данной схемы (совокупности отношений) другой схемой, в которой отношения имеют более простую и регулярную структуру.

Избыточность нужно минимизировать! Ном ЗачФИОГруппа ФИОстарКуратор ИС-25ИвановИИ428Иванов ИИДоц.КимИИ ИС-34ПетровПП429Милов ИППреп.ЦойКК ИС-43СидоровВА428Иванов ИИДоц.КимИИ ИС-37КашинаИП428Иванов ИИДоц.КимИИ ИС-18КоневВА428Иванов ИИДоц.КимИИ

НЕТ аномалиям! Различают три вида аномалий в БД: Аномалии включения Аномалии удаления Аномалии модификации

Аномалии Аномалия модификации – ситуация, когда изменение значения одного данного вызывает необходимость просмотра всей таблицы и соответствующее изменение других записей таблицы. Аномалия удаления – ситуация, когда при удалении данных из таблицы может пропасть информация, не связанная напрямую с удаляемыми данными. Аномалия добавления - ситуация, когда вставка новой записи требует дополнительного просмотра таблицы.

Избыточность нужно минимизировать! Ном ЗачФИОГруппа ФИОстарКуратор ИС-25ИвановИИ428Иванов ИИДоц.КимИИ ИС-34ПетровПП429Милов ИППреп.ЦойКК ИС-43СидоровВА428Иванов ИИДоц.КимИИ ИС-37КашинаИП428Иванов ИИДоц.КимИИ ИС-18КоневВА428Иванов ИИДоц.КимИИ

Выход есть! Декомпозиция Вместо одной таблицы СТУДЕНТ две: СТУДЕНТ и ГРУППА Ном ЗачФИОГрупп а ИС-25ИвановИИ428 ИС-34ПетровПП429 ИС-43СидоровВ А 428 ИС-37КашинаИ П 428 ИС-18КоневВА428 Групп ФИОстКуратор 428Иванов ИИ Доц.Ким ИИ 429Милов ИП Преп.Цо йКК

Цель нормализации Окончательной целью нормализации является получение такого проекта базы данных, в котором любая часть информации хранится лишь в одном месте, то есть исключается избыточность информации. Это делается не столько с целью экономии места (в некоторых случаях нормализованные таблицы занимают больше места, чем ненормализованные), сколько для исключения возможности противоречий в хранимых данных.

Если исходить из структуры данных, то нормализацией называется процесс превращения сетевой или иерархической структуры данных в реляционную.

Основой процесса нормализации является предложенный Е. Коддом в рамках реляционной теории аппарат, называемый нормализацией отношений. Им выделено три формы нормальных отношений, которые в дальнейшем были доработаны, и предложен механизм перехода от формы к форме, а кроме того было добавлено еще три специальных формы. Но, как правило, необходимо и достаточно привести базу данных к третьей нормальной форме.

Таблица считается нормализованной на определенном уровне, когда она удовлетворяет условиям, накладываемым соответствующей формой нормализации. Процесс нормализации представляет собой последовательное изменение структуры таблиц до тех пор, пока она не будет удовлетворять требованиям последней формы нормализации.

При описании нормальных форм используется несколько понятий. Функциональной зависимостью между полями A и В называется зависимость, при которой каждому значению А в любой момент времени соответствует единственное значение В из всех возможных. Примером функциональной зависимости может служить связь реки и моря, так как одна река впадает в единственное море и с течением времени эта связь не меняется. О Полной функциональной зависимостью между составным полем А и полем В называется зависимость, при которой поле В зависит функционально от поля А и не зависит функционально от любого подмножества поля А.

Многозначная функциональная зависимость. Поле А однозначно определяет поле В, если для каждого значения поля А существует хорошо определенное множество соответствующих значений поля В. Например, если рассматривать таблицу изучаемых студентами предметов и оценок студентов, то поле с оценкой имеет хорошо определенное множество допустимых значений (1, 2, 3, 4, 5). Кроме того, количество предметов также ограничено.

Транзитивная функциональная зависимость между полями А и С наблюдается в том случае, если поле В функционально зависит от поля А и поле С функционально зависит от поля В. В то же время не существует функциональной зависимости поля А от поля В. Несколько полей взаимно независимы, если ни одно из них не является функционально зависимым от другого поля. Неключевым полем таблицы называется каждое поле, не входящее в состав первичного ключа.

Первая нормальная форма Таблица находится в первой нормальной форме тогда, когда она не содержит повторяющихся полей и составных значений полей (то есть каждое поле должно содержать одно значение, а не их комбинацию).

Вторая нормальная форма Таблица находится во второй нормальной форме, если она удовлетворяет требованиям первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом, то есть любое не ключевое поле однозначно идентифицируется полным набором ключевых полей.

таблица, находящаяся во второй нормальной форме, должна удовлетворять следующим правилам: таблица должна содержать данные об одном типе объектов; каждая таблица должна содержать одно поле или несколько полей, образующих уникальный идентификатор (или первичный ключ) для каждой строки; все поля, не имеющие ключа, должны определяться полным уникальным идентификатором данной таблицы.

Третья нормальная форма Таблица находится в третьей нормальной форме, если она удовлетворяет определению второй нормальной формы и ни одно из ее неключевых полей функционально не зависит от любого другого неключевого поля. Можно сказать, что таблица находится в третьей нормальной форме, если она находится во второй нормальной форме и каждое неключевое поле нетранзитивно зависит от первичного ключа.

Требование третьей нормальной формы сводится к тому, чтобы все неключевые поля зависели только от первичного ключа и не зависели друг от друга. Нужно иметь возможность изменять значение любого неключевого поля, не изменяя значения любого другого поля базы данных. Это требование исключает любое поле, значения в котором получаются как результат вычислений, использующих значения других полей.

Нормализация Теория нормализации основана на концепции нормальных форм, которых всего шесть. 1НФ – все значения полей таблицы д.б. атомарными, а все записи уникальными. Любая реляционная таблица по определению уже в 1НФ. 2НФ – таблица находится в 1НФ и любое неключевое поле однозначно идентифицируется полным набором ключевых полей. Применима только для таблицы с составным ключом. 3НФ - таблица находится во 2НФ и все ее неключевые поля зависят только от первичного ключа.

Нормализация 1НФ,2НФ,3НФ ограничивают зависимость непервичных атрибутов от ключей, НФБК – ограничивает зависимость первичных ключей, 4НФ – формулирует ограничения на виды многозначных зависимостей, 5НФ – отношение находится в 5НФ, если оно не содержит зависимостей соединения.

Метод проектирования БД по Чену Очень кратко и самое главное. Более подробно и детально Вы познакомитесь с этим методом проектирования, изучая дисциплину «Проектирование ИС».

Три основных понятия модели Чена: Сущность Атрибут - это поименованная характеристика (свойство) сущности. Связь – осмысленная ассоциация между сущностями.

Сущность - это информационный объект в модели Чена, может определять как материальные объекты, например, сотрудник, студент, пропуск, так и не материальные, например, экзамен, контроль исполнения, имеет атрибуты

Связи в модели являются средством отражения взаимодействия сущностей в рассматриваемой ПО Различают четыре типа бинарных связей Один к одному 1:1 Один ко многим 1:М Многие к одному М:1 Многие ко многим M:N

имеет Пропуск 11 имеет Отдела Сотрудни к отдела 1М выполн яет Отдел Проект МN сотрудник Примеры связей между сущностями

Обозначения в модели Чена ( слайд 80 ) Прямоугольник – сущность Ромб – глагол - логическая связь между сущностями На стрелке указывается тип связи 1:1, 1:М, M:N Один сотрудник имеет только один пропуск и этот пропуск может иметь только один сотрудник - 1:1. Отдел имеет много сотрудников, но каждый сотрудник работает только в одном отделе – 1:М. Отдел выполняет много проектов и каждый проект могут выполнять несколько отделов - M:N. Здесь сущности: сотрудник, пропуск, отдел, проект.

ER-модель В ER-модели добавляются еще атрибуты, каждый из которых записывается в овале. Овал соединяется линией с соответствующем прямоугольником (сущностью). Например, сущность сотрудник может иметь атрибуты: табельный номер, ФИО, должность, раб. телефон.

Последовательность действий при построении модели Чена Выделение в предметной области сущностей (выписываются из описания ПО все имена существительные и исключаются имена существительные, являющиеся свойствами (атрибутами) этой или других сущностей). Определение атрибутов (свойств)каждой сущности (выписываются из описания ПО все имена существительные и исключаются имена существительные, являющиеся сущностями). Выделение для каждой сущности ключевых атрибутов (ключевой атрибут – это атрибут, однозначно определяющий сущность, например, для сущности сотрудник – это табельный номер) Формирование связей между сущностями Исключение связей M:N