УПРАВЛЕНИЕ ДАННЫМИ. Литература 1.Базы данных: модели, разработка, реализация/Т.С.Карпова –СПб.:Питер, 2002. 2.Базы данных: основы, проектирование, использование./М.П.Малыхина.

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



Advertisements
Похожие презентации
Тема 1. Введение в управление данными. Основные понятия баз и банков данных.
Advertisements

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

УПРАВЛЕНИЕ ДАННЫМИ

Литература 1. Базы данных: модели, разработка, реализация/Т.С.Карпова –СПб.:Питер, Базы данных: основы, проектирование, использование./М.П.Малыхина – СПб.:БХВ-Петербург, 2004.

Управление данными Обработка данных ОВП ПрД ОД Обмен данными М К П Накопление данных Ф БД

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

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

Файлы данных Последовательного доступа Произвольного доступа Индексно- последовательные

Пример: файл хранит сведения о студентах РосНОУ и их успеваемости Структура файла: Факультет-Группа-ФИО-зачетки- Тел Моб-Тел Дом-Адрес-Дисциплина 1- Оценка 1-Дисциплина 2-Оценка 2-и т.д. по всем дисциплинам учебного плана Замечательно, но ведь учебные планы разные! Сколько же будет полей? Есть и еще недостатки. Какие?

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

Немного истории 1968 г. – введена в эксплуатацию первая промышленная СУБД IMS фирмы IBM 1969 г. – Е.Ф.Коддом была предложена реляционная модель данных 1975 г. –первый стандарт ассоциации по языкам CODASYL, на котором до сих пор основываются сетевые модели

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

Основные понятия СУБД – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Приложения – программы, с помощью которых конечные пользователи работают с БД.

Основные функции СУБД Непосредственное управление данными во внешней памяти Управление буферами оперативной памяти Управление транзакциями Журнализация и восстановление БД после сбоев Поддержка языков БД

Банк данных. Структура типового БнД. БнД ВС ОПО ТС БДСУБД ЯОД ЯМД АБД Словарь данных

Пользователи банков данных Конечные пользователи Администраторы БнД. Разработчики и администраторы приложений.

Банк данных. Принципы концепции БнД: Интеграция данных; Централизация управления ими; Обеспечение независимости прикладных программ обработки данных и самих данных.

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

Свойства БД (по Дж.Мартину) 1. Многоразовое использование 2. Простота обновления 3. Быстрый поиск и получение необходимой информации по запросу 4. Уменьшение избыточности 5. Защита от несанкционированного доступа 6. Максимальная независимость от прикладных программ 7. Защита от уничтожения и искажения данных

Требования к БД 1. Адекватность отражения предметной области 2. Возможность взаимодействия с пользователями различных категорий и в разных режимах 3. Обеспечение секретности данных, надежности, целостности, защиты от случайного или целенаправленного разрушения БД 4. Обеспечение взаимной независимости программ и данных 5. Технологичность обработки данных 6. Совместимость компонентов БД 7. Простота изменения логической и физической структуры БД 8. Способность к расширению и модификации

Принципы классификации БД По типам ИС По типам применяемых моделей По режимам работы

По типу ИС ИС Документальные (полнотекстовые) Фактографические

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

Режим работы с БД Одно- пользовательский Много- пользовательский Последовательный Параллельный С централизованной БД С распределенной БД

Сетевой режим Файл-сервер На ФС находится ядро ОС и файлы данных, на РС - СУБД Клиент-сервер На сервере данные и СУБД, вся обработка запроса на сервере и только ответ передается клиенту

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

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

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

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

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

Разработка приложений проектирование транзакций Используемых данных Функциональных характеристик формируемых выходных данных Стапени важности и интенсивности использования пользовательского интерфейса

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

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

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

Классификация моделей Модели инфологическиепатологическиефизические

Инфологические модели инфологические Диаграмма Бахмана Модель Чена «сущность- связь»( ER)

Датологические модели патологические документальные фактографические Теоретико графовые иерархические сетевые Теоретико множественные реляционные Бинарных ассоциаций Объектно- ориентированные

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

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

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

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

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

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

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

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

Недостатки ИМД Жесткая фиксированность взаимосвязей между элементами данных – изменение связей требует изменения структуры, Жесткая зависимость физической и логической организации данных, Потеря информационной гибкости (в рассмотренном примере за один проход по дереву нельзя получить информацию обо всех поставщиках товара Т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.Единственности

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

Управление реляционной БД. Реляционная алгебра – это процедурный язык обработки реляционных таблиц.

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

Объединение возвращает отношение, содержащее все кортежи, которые принадлежат либо одному из двух заданных отношений, либо им обоим

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

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

Пересечение Возвращает отношение, содержащее все кортежи, которые принадлежат одновременно двум заданным отношениям

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

Разность Возвращает отношение, содержащее все кортежи, которые принадлежат первому из двух заданных отношений и не принадлежат второму

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

Произведение Возвращает отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум заданным отношениям

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

Выборка Возвращает отношение, содержащие все кортежи из заданного отношения, которые удовлетворяют указанным условиям.

Выборка в SQL Всего один оператор SELECT

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

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

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

Деление Для заданных двух унарных отношений и одного бинарного возвращает отношение, содержащее все кортежи из первого унарного отношения, которые содержатся также в бинарном отношении и соответствуют всем кортежам во втором унарном отношении

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

Целостность Целостность (от англ. 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

Трехуровневая архитектура СУБД внешний концептуальный Внутренний, физический Здесь пользователи воспринимают данные, каждое приложение видит и обрабатывает только свои данные. Обобщенное представление данных, отражение всей предметной области. Здесь СУБД и ОС воспринимают данные, собственно данные на внешних носителях

Концептуальная схема должна содержать: Объекты и их атрибуты Связи между объектами Ограничения, накладываемые на данные Семантическую информацию о данных Обеспечение безопасности и поддержки целостности БД

Внутренний уровень Распределение дискового пространства для хранения данных и индексов Описание подробностей сохранения записей Сведения о размещении записей Сведения о сжатии данных и выбранных методах их шифрования

Физический уровень Ниже внутреннего уровня находится физический уровень, контролируемый ОС под руководством СУБД. ФУ обеспечивает физический взгляд на БД: дисководы, физические адреса, индексы, указатели и т.д.

Трехуровневая архитектура СУБД обеспечивает логическую между уровнями 1 и 2 и физическую между уровнями 2 и 3 независимость данных. Логическая независимость предполагает возможность изменения одного приложения без корректировки других. Физическая независимость – возможность переноса хранимых данных с одних носителей на другие при сохранении работоспособности всех приложений.

Прохождение запроса пользователя 1. П посылает СУБД запрос на получение данных из БД. 2. Анализ прав П и соответствующей внешней модели данных подтверждает или запрещает доступ П. 3. Если запрет, то СУБД прекращает процесс обработки данных, о чем сообщает П. 4. Если подтверждение, то СУБД определяет соответствующую запросу часть концептуальной модели. 5. СУБД получает информацию о запрошенной части концептуальной модели

продолжение 6. СУБД запрашивает информацию о местоположении данных на физическом уровне. 7. В СУБД возвращается информация о местоположении данных. 8. СУБД запрашивает данные у ОС. 9. ОС перекачивает данные с устройств хранения и пересылает их в системный буфер, оповещая СУБД об окончании. 10. СУБД выбирает из системного буфера и пересылает в рабочую область П только нужное П.