Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh.doc
Скачиваний:
11
Добавлен:
07.08.2019
Размер:
293.89 Кб
Скачать
  1. Общие понятия реляционного подхода к организации баз данных

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

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

Основные теоретические идеи реляционной модели были изложены в работах по теории отношений американского логика Чарльза Содерса Пирса (1839 - 1914) и немецкого логика Эрика Шредера (1841 - 1902), а также американского математика Эдгара Кодда.

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

Рассмотрим основные положения реляционной модели данных.

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

В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.

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

Свойства отношений

  • Уникальность имени отношения.

  • Уникальность кортежей.

  • Каждая ячейка отношения содержит только атомарное (неделимое) значение.

  • Неупорядоченность кортежей, т.к. тело отношения – множество.

  • Неупорядоченность атрибутов.

  • Уникальность имени атрибута в пределах отношения.

  • Атомарность значений атрибутов.

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

Значение атрибута – значение поля в записи.

Степень отношения – количество столбцов в таблице.

Мощность отношения – количество строк в таблице.

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

Первичный ключ (primary key) – набор атрибутов, однозначно идентифицирующий кортеж в отношении. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации кортежей отношения.

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

Внешний ключ (foreign key) - ключевой элемент подчиненного (внешнего, дочернего) отношения, значение которого совпадает со значением первичного ключа главного (родительского) отношения.

Ссылочная целостность данных (referential integrity) - набор правил, обеспечивающих соответствие ключевых значений в связанных отношениях.

Хранимые процедуры (stored procedures) - программные модули, сохраняемые в базе данных для выполнения определенных операций с информацией базы.

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

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

Связь (relation) - функциональная зависимость между объектами.

В реляционных базах данных между отношениями устанавливаются связи по ключам, один из которых в главном отношении - первичный, второй - внешний ключ - во внешнем отношении, как правило, первичным не является и образует связь "один ко многим" (1:N). В случае первичного внешнего ключа связь между отношениями имеет тип "один к одному" (1:1). Информация о связях сохраняется в базе данных.

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

Приведем 12 правил реляционной модели, которые сформулировал Е. Кодд

  1. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.

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

  3. Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов.

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

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

  6. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему.

  7. Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление.

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

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

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

  11. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.

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

Структурная часть базы данных

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

Основные элементы данных реляционной модели проиллюстрированы на примере базы данных «Студент» рис. 6.

1

1

Отношение «Предмет»

Номер

зачетки

Фамилия

Имя

Отчество

Дата поступления

Дата рождения

Факультет

Курс

Группа

Спец-ть

2001-351

Юдина

Елена

Юрьевна

01.09.2003

05.03.1984

Информатики

5

И-591

ПОИТ

2002-351

Зайцева

Юлия

Игоревна

01.09.2002

20.05.1984

Информатики

4

И-491

ПОИТ

2002-352

Цедова

Светлана

Борисовна

01.09.2002

12.10.1984

Информатики

4

И-491

ПОИТ

2002-353

Чувашова

Екатерина

Петровна

01.09.2002

20.10.1984

Информатики

4

И-491

ПОИТ

2003-351

Зайцев

Алексей

Сергеевич

01.09.2001

19.10.1985

Филологический

3

Ф-352

Совр. ин. яз.

~

~

Номер зачетки

Код предмета

Дата сдачи

Экзамен

Дата сдачи экзамена

Код предмета

Наименование

Семестр

Ф.И.О преподавателя

2002-353

1201

10.12.02

1201

Базы данных

4

Попова И.С.

Рис. 6. Элементы реляционной модели данных на примере базы данных «Студент»

Реляционная целостность данных

Реляционная целостность данных рассматривается в двух аспектах – ключи отношений и реляционные ограничения целостности.

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

Ключ может быть составным (сложным), т.е. состоять из нескольких атрибутов, и простым.

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

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

Ключи необходимы для:

  • Исключения дублирования данных в ключевых атрибутах

  • Упорядочения кортежей.

  • Ускорение работы с кортежами отношений.

  • Организация связывания таблиц.

Если в отношении R1 имеется не ключевой атрибут А, значения которого совпадают со значениями ключевого атрибута Б другого отношения R2, то атрибут А отношения R1 является внешним ключом.

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

Так как каждый атрибут связан с некоторым доменом, для множества допустимых значений каждого атрибута отношения определяют так называемые ограничения домена. Кроме того, для БД задаются два правила целостности, которые называются реляционными ограничениями целостности – ограничения для всех допустимых состояний БД:

  • Правила целостности сущностей,

  • Правила ссылочной целостности.

Целостность отношений – в базовом (основном) отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, т.е. NULL-значений.

Ссылочная целостность – значение внешнего ключа отношения должно либо соответствовать значению первичного ключа базового отношения, либо задаваться значением NULL.

Индексирование

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

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

Индексный файл – это хранимый файл особого типа, в котором каждая запись состоит из двух значений: данное и RID-указатель.

Ключевые поля во многих СУБД индексируются автоматически. Такие файлы называются файлами первичных индексов.

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

Некоторые СУБД поддерживают кластеризованные и хешированные индексы.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]