Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подготовка к гос экзамену.doc
Скачиваний:
18
Добавлен:
25.09.2019
Размер:
298.5 Кб
Скачать

Вопрос 8. Определение и основные понятия субд. –

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

Основными средствами СУБД являются:

- средства задания структуры БД:

- средства конструирования экранных форм, предназначенных для ввода данных, просмотра и их обработки в диалоговом режиме;

- средства создания запросов для выборки данных при заданных условиях, а также выполнения операций по их обработки

- средства создания отчетов из БД для вывода на печать результатов обработки в удобном для пользователя виде.

- средства создания приложений пользователя, позволяющие объединить различные операции работы с БД в единый технологический процесс.

Вопрос 9. Свойства субд и технология использования. Критерии выбора субд пользователем.

К основным свойствам СУБД и баз данных можно отнести:

- отсутствие дублирования данных в различных областях модели, обеспечивающее однократный ввод данных и простоту их корректировки;

- непротиворечивость данных

- целостность БД

- всевозможные выборки данных и их использование различными задачами и приложениями пользователя

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

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

- возможность модификации структуры БД без повторной загрузки данных

- обеспечение независимости программ от данных

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

Вопрос 10. Нормальные формы базы данных

Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями.

Таблица находится в первой нормальной форме (1НФ) когда она не содержит одинаковых строк и в любом допустимом значении этой таблицы каждая ее строка содержит только одно значение для каждого столбца.

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

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и ни один из ее неключевых атрибутов не связан функциональной зависимостью с любым другим неключевым атрибутом.

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

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

Процесс нормализации основан на понятии функциональной зависимости атрибутов: атрибут А зависит от атрибута В (В→А), если в любой момент времени каждому значению атрибута В соответствует не более одного значения атрибута А.

Зависимость, при которой каждый не ключевой атрибут зависит от всего составного ключа и не зависит от его частей, называется полной функциональной зависимостью. Если атрибут А зависит от атрибута В, а атрибут В зависит от атрибута С (С→В→А), но обратная зависимость отсутствует, то зависимость С от А называется транзитивной.

Общее понятие нормализации подразделяется на несколько «нормальных форм».

Таблица находится в первой нормальной форме когда она не содержит одинаковых строк и в любом допустимом значении этой таблицы каждая ее строка содержит только одно значение для каждого атрибута (столбца). Другими словами, информационный объект (или сущность) находится в первой нормальной форме (1НФ), когда все его атрибуты имеют единственное значение. Если в каком-либо атрибуте есть повторяющиеся значения, объект (сущность) не находится в 1НФ, и упущен ещё по крайней мере один информационный объект (ещё одна сущность).

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

Например, отношение

ПРЕДМЕТ (Код предмета, Название, Цикл, Объём часов, Преподаватели)

не находится в 1НФ, так как атрибут Преподаватели подразумевает возможность присутствия нескольких фамилий преподавателей в записи, относящейся к какому-то конкретному предмету, что соответствует участию нескольких преподавателей в ведении одной дисциплины. Переведем атрибут с повторяющимися значениями в новую сущность, назначим ей первичный ключ (Код преподавателя) и свяжем с исходной сущностью ссылкой на первичный ключ последней (Код предмета). В результате получим две сущности, причем во вторую сущность ПРЕПОДАВАТЕЛЬ мы добавляем характеризующие ее атрибуты:

ПРЕДМЕТ (Код предмета, Название, Цикл, Объём часов);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность, Оклад, Адрес, Код предмета).

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

ПРЕДМЕТ (Код предмета, Название, Цикл, Объём часов);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность, Оклад, Адрес);

ИЗУЧЕНИЕ (Код предмета, Код преподавателя).

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

Возвращаясь к предыдущему примеру, замечаем что атрибут Цикл в сущности ПРЕДМЕТ, характеризующий принадлежность предмета к циклу гуманитарных,

естественно-научных, общепрофессиональных или специальных дисциплин, не полностью зависит от уникального идентификатора Код предмета, так как разные предметы могут иметь одно и то же значение атрибута Цикл. Перенесем атрибут в новую сущность ЦИКЛ и получим четыре взаимосвязанные сущности:

ПРЕДМЕТ (Код предмета, Название, Объем часов, Код цикла);

ЦИКЛ ( Код цикла, Название цикла);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность, Оклад, Адрес);

ИЗУЧЕНИЕ (Код предмета, Код преподавателя).

Не удовлетворяют этим требованиям таблицы, представленные на рисунках 1 и 2. Таблица 2 имеет составной первичный (ФИО студента), семестр, дисциплина, форма отчетности) и содержит множество неключевых атрибутов (оценка, количество часов, ФИО преподавателя), зависящих лишь от той или иной части первичного ключа. Так, атрибуты Количество часов и ФИО преподавателя зависят только от атрибутов Семестр, дисциплина, Форма отчетности. Следовательно эти атрибуты не связаны с первичным ключом полной функциональной зависимостью. Ко 2НФ приведены все таблицы на рисунке 3.

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

В нашем примере не ключевые атрибуты Должность и Оклад находятся в транзитивной зависимости. В чем опасность такой зависимости? Во-первых, несколько человек могут работать в одной и той же должности. При изменении должностного оклада в этом случае нужно будет менять данные в каждой записи, содержащей эту должность. В рассмотренной ситуации нужно создать новую сущность ДОЛЖНОСТЬ с находящимися в транзитивной зависимости атрибутами – Название должности и Оклад и сделать ссылку от сущности ПРЕПОДАВАТЕЛЬ на сущность ДОЛЖНОСТЬ:

ПРЕДМЕТ (Код предмета, Название, Объем часов, Код цикла);

ЦИКЛ (Код цикла, Название цикла);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Код должности, Адрес);

ДОЛЖНОСТЬ (Код должности, Название должности, Оклад);

Изучение (Код предмета, Код преподавателя).