Автор работы: Пользователь скрыл имя, 10 Января 2012 в 10:27, реферат
Удачная разработка базы данных обеспечивает простоту ее поддержки. Данные следует сохранять в таблицах, причем каждая таблица должна содержать информацию одного типа, например сведения о заказчиках. Тогда достаточно будет обновить конкретные данные, такие как адрес, только в одном месте, чтобы обновленная информация отображалась во всей базе данных.
Правильно спроектированная база данных обычно содержит разнообразные запросы, позволяющие отображать нужную информацию. В запросах может выводиться подмножество данных, например перечень заказчиков из Петербурга, или комбинированные данные из нескольких таблиц, например сведения о заказах совместно со сведениями о заказчиках.
В этом запросе отображается код заказа, название компании, город и дата исполнения для заказчиков из определенного города, сделавших заказы, которые следует выполнить в одном месяце.
Основные этапы разработки БД. Постановка задачи, последовательность выполнения частей, анализ данных, определение структуры данных, разработка макета решения задачи, тестирование.
Взаимодействие задач.
Основные принципы проектирования БД. Эффективное использование памяти. Нормализация. Уникальность полей, первичные ключи, функциональная зависимость, независимость полей. Четыре правила нормализации таблиц.
Эффективность связей. Создание связей между таблицами.
Перви́чный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).
Если в отношении имеет единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными».
С точки
зрения теории все потенциальные
ключи отношения эквивалентны, то
есть обладают одинаковыми свойствами
Исторически термин «первичный ключ» появился и стал использоваться существенно ранее термина «потенциальный ключ». Вследствие этого множество определений в реляционной теории были изначально сформулированы с упоминанием первичного (а не потенциального) ключа, например, определения нормальных форм. Так же термин «первичный ключ» вошёл в формулировку 12 правил Кодда как основной способ адресации любого значения отношения (таблицы) наряду с именем отношения (таблицы) и именем атрибута (столбца).
Использование
Первичный ключ в таблице является базовым уникальным идентификатором для записей. Значение первичного ключа используется везде, где нужно указать на конкретную запись. На использовании первичных ключей основана организация связей между таблицами реляционной БД. Чтобы организовать между двумя таблицами связь типа «один к одному» или «один ко многим (многие к одному)» в одну из связываемых таблиц добавляют поле (поля), содержащее (-ие) значение первичного ключа записи в связанной таблице (такое поле называют внешним ключом). Для организации связи типа «многие ко многим» создают отдельную таблицу (так называемую «таблицу связи» или «таблицу ассоциации»), каждая запись которой содержит первичные ключи двух связанных записей в разных таблицах.
Понятие функциональной зависимости в данных.
Как известно, основной единицей представления данных в реляционной модели является отношение, которое математически задается списком имен атрибутов, иначе - схемой отношения. На стадии логического проектирования реляционной базы данных проектировщик определяет и выстраивает схемы отношений в рамках некоторой предметной области, а именно - представляет сущности, группирует их атрибуты, выявляет основные связи между сущностями. Так, в самом общем смысле проектирование реляционной базы данных заключается в обоснованном выборе конкретных схем отношений из множества различных альтернативных вариантов схем.
На практике
построение логической модели базы данных,
независимо от используемой модели данных, выполняется
с учетом двух основных требований: исключить
избыточность и максимально повысить
надежность данных. Эти требования вытекают
из требования коллективного использования да
Поэтому любое априорное знание об ограничениях предметной области, накладываемых на взаимосвязи между данными и значения данных, и знания об их свойствах и взаимоотношениях между ними может сыграть определенную роль в соблюдении указанных выше требований. Формализация таких априорных знаний о свойствах данных предметной области базы данных нашла свое отражение в концепции функциональной зависимости данных, т.е. ограничений на возможные взаимосвязи между данными, которые могут быть текущими значениями схемы отношений.
Кортежи отношений могут представлять экземпляры сущности предметной области или фиксировать их взаимосвязь. Но даже если эти кортежи определены правильно, т.е. отвечают схеме отношения и выбраны из допустимых доменов, не всякий из них может быть текущим значением некоторого отношения. Например, возраст человека редко бывает более 120 лет, или один и тот же пилот не может одновременно выполнять два различных рейса. Такие ограничения семантики домена практически не влияют на выбор той или иной схемы отношений. Они представляют собой ограничения на типы данных.
Априорные ограничения предметной области на взаимосвязь значений отдельных атрибутов оказывают наибольшее влияние на процесс проектирования схем реляционных баз данных. Соответствие по значению определенных атрибутов различных отношений базы данных, т.е. зависимость их значений друг от друга, определяет показатели надежности и корректности сохраняемых данных при их коллективном и согласованном использовании.
Вспомним
определение функции как
Определение 1. Пусть r (A1, A2, ..., An) - схема отношения R, a X и Y - подмножества r. Говорят, что Х функционально определяет Y, если каждому значению атрибутов кортежа отношения из Х соответствует не более одного значения атрибутов того же кортежа отношения из Y. Такая ФЗ обозначается как .
Как видно из определения, функциональная зависимость инвариантна к изменению состояний базы данных во времени.
Четыре правила нормализации таблиц.
Лежащая в основе нормализации математическая теория довольно сложна, но для практического применения ее можно сформулировать в виде довольно простых правил.
Правило 1. Уникальность полей. Неэффективное использование памяти является основным недостатком ненормализованных таблиц, поэтому удаление избыточных полей из таблиц является одним из решений этой проблемы.
Правило 1: Каждое поле любой таблицы должно быть уникальным.
Этого
можно достичь созданием
Правило
2. Первичные ключи. База данных хорошо
спроектирована тогда, когда каждая запись
в любой таблице является уникальной.
Это означает, что значение некоторого
поля (или нескольких полей) не повторяется
ни в одной записи в таблице. Такой идентификатор
называется первичным ключом (
Правило 2: Каждая таблица должна иметь уникальный идентификатор, или первичный ключ, который может состоять из одного или нескольких полей.
Если вы создаете таблицу в базе данных, то Access всегда предлагает определить для нее первичный ключ. Вы можете также предоставить Access возможность создать искусственный первичный ключ. В таком случае Access добавляет к каждой записи поле, в которое записывается содержимое счетчика записей. При добавлении новой записи содержимое счетчика увеличивается на единицу.
Правило 3. Функциональная зависимость. Если вы определили для каждой таблицы первичный ключ, то можно проверить, включены ли в таблицы все сведения, относящиеся к соответствующим объектам. Кроме того, следует убедиться, что каждое поле функционально зависит от первичного ключа таблицы.
Правило 3: Для каждого значения первичного ключа значения в столбцах данных должны относиться к объекту таблицы и полностью его описывать.
Это правило используется двояко. Во-первых, в таблице не должно быть данных, не относящихся к объекту, определяемому первичным ключом. Во-вторых, данные в таблице должны полностью описывать объект.
Правило 4. Независимость полей. Последнее правило позволяет проверить, не возникнут ли у вас проблемы при изменении данных в таблицах.
Правило
4: Изменение значений
любого поля (не входящего
в первичный ключ)
должно выполняться
без воздействия
на данные других полей.
Эффективность связей. Создание связей между таблицами.
Создание
связей между таблицами — последний
этап проектирования системы таблиц.
На этом этапе фактически регистрируются
связи между первичными и внешними
ключами, запланированные при
Существует две причины для создания связей между таблицами: поддержание ссылочной целостности и задание способа выборки данных из нескольких таблиц. Связь задает отношение между полями таблиц, имеющими одинаковые по смыслу значения, например, между первичным ключом одной таблицы и внешним ключом другой таблицы. Связи можно задать на уровне базы данных (в этом случае возможна поддержка ссылочной целостности данных) и на уровне запросов. Связи на уровне базы данных являются постоянными связями и являются актуальными при любых действиях, выполняемых с таблицами (например, запросы на обновление или удаление, макросы или программы на Visual Basic, модифицирующие данные связанных таблиц и т.д.). Связи на уровне запросов являются временными и актуальны только на момент выполнения запроса, в котором они заданы. В этом разделе мы будем рассматривать связи на уровне базы данных (постоянные связи), хотя некоторые аспекты справедливы также и для временных связей.
Между
таблицами можно установить связи
одного из трех видов: один-ко-многим (one-to-
Для любого из перечисленных выше типов связей существует три способа объединения. Установленный тип объединения влияет на результаты выборки данных из связанных таблиц.