Конспект Лекций БД. Конспект лекций_БД. Конспект лекций по курсу Информационное обеспечение, базы данных
![]()
|
ПроектированиеАвтономное тестирование ![]() ![]() ![]() ![]() ![]() Кодирование ![]() Нисходящее Восходящая Проектирование реализация Уровень ответственности разработчиков Водопадная модель процесса разработки ![]() Степень завершенности продукта Выпуск первой версии интеграция Время ![]() ![]() ![]() ![]() ![]() ![]() реализация прототипирование проектирование Спиральная модель процесса разработки Трехуровневая архитектура БД. ТР БД – стандартная структура БД, состоящая из концептуального, внешнего и внутреннего уровней.Внешний уровень определяет пользовательское (группы пользователей) представление данных. Внутренний уровень определяет физический вид БД (физические адреса, индексы, указатели и т.д.), физические устройства, хранящие БД, методы доступа и обновления. Ни один из пользователей не касается этого уровня. Концептуальное проектирование БД состоит в определении элементов данных, которые нужно включить в БД, отношений между ними и ограничений на значения данных. Этот процесс требует разрешения конфликтов между различными пользователями (н-р. различное использование одних и тех же терминов), т.е. создаются части БД, называемыми представлением данных (свои для каждой группы пользователей), затем эти представления интегрируются в полную схему БД, которая определяет логическую структуру всей БД. Администратор БД ![]() ![]() Пользователь Логическая структура Физическая структура ![]() ![]() ![]() ![]() ![]() Пользовательское представление данных ![]() ![]() ![]() Внешний Концептуальный Внутренний уровень уровень уровень База данных это совокупность взаимосвязанных, хранящихся вместе данных, которые можно обрабатывать различными программами, дополнять модифицировать и обновлять с помощью специальных средств управления базой данных (СУБД). Основное назначение СУБД предоставление пользователям БД средств манипулирования данными в терминах, не связанных со способом их хранения в ЭВМ. Т.е. СУБД обеспечивает независимость логических схем БД с их физической организацией. СУБД представляет собой интерфейс доступа к БД, играет центральную роль в функционировании БД и состоит из языковых и программных средств. Языки – средства, при помощи которых определяется структура данных или схема, а также происходит запоминание данных и манипуляция ими. Язык, которым определяется схема, называется языком описания данных (ЯОД). Он служит для описания логической схемы БД, т. е. создает не саму БД, а только ее описание. ЯОД задает типы и форматы данных, способы их объединения и связи между собой. Для выполнения операций с БД используется язык манипулирования данными (ЯМД). Основными операциями ЯМД являются: поиск записи, включение новой записи, модификация записи, удаление записи т.е. с его помощью пользователь может взаимодействовать с БД. Нормализация – процесс приведения реляционной таблицы к стандартному виду. В рассмотренных выше примерах одна и та же информация (Ф.И.О.) повторяется несколько раз. Эта избыточность данных приводит не только к увеличению объема БД; она может вызвать нарушение в целостности (противоречивость) БД. Например, фамилия внесена с ошибкой, что приведет к созданию двух разных (с точки зрения СУБД) имен одного человека, а исправления занесены только в первый кортеж. Тогда между кортежами, содержащими информацию об инициалах, возникает несоответствие, которое называется аномалией обновления. Возможны также аномалии удаления и ввода. Все они не желательны. Для сведения к минимуму подобных процессов используют разбиение – это процесс разделения таблиц на несколько таблиц с целью избавления от аномалий и поддержания целостности данных. Таблица считается нормализованной на определенном уровне, когда она удовлетворяет условиям, накладываемым соответствующей формой нормализации. Процесс нормализации представляет собой последовательное изменение структуры до тех пор, пока она не будет удовлетворять требованиям формы нормализации. Существует шесть форм нормализации: 1- 4 (1 – 4 NF), нормальная форма Бойса-Кодда (BCNF), пятая нормальная форма, или нормальная форма проекции соединения (5 NF или PJ/NF). На практике чаще используются первые три формы нормализации. При приведении к последней, пятой нормальной форме таблица считается полностью нормализованной. При описании нормальных форм используют несколько понятий. Функциональная зависимость между полями А и В называется зависимость, при которой каждому значению А в любой момент времени соответствует единственное значение В из всех возможных, то есть значение атрибута в кортеже однозначно определяет значение другого атрибута в кортеже (ФЗ: А В). Атрибут в левой части ФЗ называется детерминантом, так как его значение определяет значение атрибута в правой части. Например, река и мере, одна река впадает в единственное море и с течением времени эта связь не меняется. Ключ таблицы является детерминантом, так как его значение однозначно определяет значение каждого атрибута таблицы. Многозначная функциональная зависимость. Поле А однозначно определяет поле В, если для каждого поля А существует хорошо определенное множество соответствующих значений поля В. Например, если рассматривать успеваемость группы, то поле с оценкой имеет хорошо определенное множество допустимых значений (1, 2, 3, 4, 5), кроме того ограничено количество предметов. Транзитная функциональная зависимость между полями А и С наблюдается в том случае, если поле В функционально зависит от поля А и поле С функционально зависит от поля В. В то же время не существует функциональной зависимости поля А от поля В, то есть не ключевой атрибут функционально зависит от одного или более не ключевых атрибутов. Первая нормальная форма. Таблица находится в 1НФ тогда, когда она не содержит повторяющихся полей и составных значений полей (то есть каждое поле должно содержать одно значение, а не комбинацию). Эта форма является основой реляционной модели данных, так как любая таблица в РБД автоматически находится в 1НФ, а иное просто невозможно. Любой домен, а следовательно, и столбец, состоит из множества атомарных значений, которые не могут быть разложены на более мелкие составляющие. В рассматриваемых ранее примерах можно разложить поля Ф.И.О., адрес, если это необходимо при выполнении статической обработки, тогда размер таблицы после приведения к 1НФ увеличится. Таблица, находящаяся в 1 НФ обладает следующими недостатками: - добавление новых данных требует ввода для всех столбцов, даже если в таблице уже существуют необходимые данные, то есть присутствует избыточность данных, а это всегда приводит в ошибкам ввода (появлению 2 разных значений одного поля); - если какие либо данные изменяются, то необходимо просматривать всю таблицу и вносить эти изменения во всех строках, где она встречается; - при удалении одной строки в БД может быть потеряна важная для всей обработки информация. Вторая нормальная форма. Таблица находится во 2 НФ, если она удовлетворяет требованиям 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом, то есть любое не ключевое поле однозначно идентифицируется полным набором ключевых полей. Таблица, находящаяся во 2НФ, должна удовлетворять следующим правила: должна содержать данные об одном типе объектов; каждая таблица должна содержать одно или несколько полей, образующих уникальный идентификатор (или первичный ключ) для каждой строки; все поля, не имеющие ключа должны определяться полным уникальным идентификатором данной таблицы. Если таблица имеет простой первичный ключ, состоящий только из одного столбца, та она автоматически находится во второй нормальной форме. Если же первичный ключ составной, то таблица необязательно находится во второй нормальной форме и тогда ее необходимо разделить на 2 или более таблиц таким образом, чтобы первичный ключ однозначно идентифицировал значение в любом столбце. Процесс разбиения на две таблицы состоит из нескольких простых шагов. 1. Создается новая таблица, атрибутами которой будут атрибуты исходной таблицы, противоречащие правилу ФЗ. Детерминант ФЗ становится ключом новой таблицы. 2. Атрибут, стоящий в правой части ФЗ, исключается из исходной таблицы. 3. Если более одной ФЗ нарушают 2НФ, то шаги 1 и 2 повторяются для каждой такой ФЗ. 4. Если один и тот же детерминант входит в несколько ФЗ, то все функционально зависящие от него атрибуты помещаются в качестве не ключевых атрибутов в таблицу, ключом которой будет детерминант. Третья нормальная форма. Таблица находится в 3НФ, если она удовлетворяет определению 2НФ и ни одно из ее не ключевых полей функционально не зависит от любого другого не ключевого поля. Можно сказать, что таблица находится в 3НФ, если она находится во 2НФ и каждое не ключевое поле не транзитивно зависит от первичного ключа. Требование 3НФ сводится к тому, чтобы все не ключевые поля зависели только от первичного ключа и не зависели друг от друга. Должна существовать возможность изменять значение любого не ключевого поля, не изменяя значения любого другого поля БД. Это требование исключает любое поле, значения в котором получаются как результат вычислений, использующий значения других полей. Нормальная форма Бойса-Кодда. Таблица находится в НФ Б-К только в том случае, если любая функциональная зависимость между ее полями сводится к полной функциональной зависимости от возможного ключа, то есть любой детерминант является ключом. Четвертая нормальная форма При использовании 1НФ запрещается таблицам иметь неатомарные, или многозначные, атрибуты. Однако на практике существует множество ситуаций моделирования, требующих многозначных атрибутов. Например, в университете один преподаватель проводит нескольких дисциплин. Таблица имеет 4НФ, если она имеет 3НФ и не содержит многозначных зависимостей. Так как проблема многозначных зависимостей возникает в связи с многозначными атрибутами, то можно решить ее, поместив каждый многозначный атрибут в свою собственную таблицу вместе с ключом, от которого атрибут зависит. Пятая нормальная форма. Нормальная форма область/ключ. 5НФ была предложена для исключения аномалии, связанные с особым типом ограничительных условий называемых совместными зависимостями. Эта форма не имеет практического применения. НФОК была предложено в 1981 г., основана на определениях ключей и областей атрибутов. Таблица имеет НФОК если любое ограничительное условие является следствием определений областей и ключей. Однако, общий метод приведения таблицы к НФОК не разработан. Методологии моделирования предметной области Методологии моделирования предметной области. Структурная модель предметной области. Объектная структура. Функциональная структура. Структура управления. Организационная структура. Функционально-ориентированные и объектно-ориентированные методологии описания предметной области. Функциональная методика IDEF. Функциональная методика потоков данных. Объектно-ориентированная методика. Сравнение существующих методик. Синтетическая методика. |