Основы теории. Реляционная база данных — база данных, основанная на реляционной модели данных
Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. Целью нормализации реляционной базы данных является устранение недостатков структуры базы данных, приводящих к вредной избыточности в данных, которая в свою очередь потенциально приводит к различным аномалиям и нарушениям целостности данных. Для выполнения основных операций с базами данных служат инструментальные пакеты программ, которые называются системами управления базами данных (СУБД). Для хранения информации о группе однородных объектов в большинстве современных СУБД используется таблица базы данных. СУБД и соответствующие им базы данных, хранение информации в которых основано на таблицах, принято называть реляционными (от relation–отношение). Дело в том, что математическая структура, соответствующая таблице, называется отношением. Например, информацию о сотрудниках некоторой фирмы можно представить в виде отношения, приведенного на рисунке 1. Рисунок 1 – Отношение, содержащее информацию о сотрудниках Строка в отношении называется кортежем (tuple). В отношении, представленном на рисунке 1, каждый кортеж содержит информацию об одном сотруднике. Столбцы в отношении именуются атрибутами (attribute), поскольку каждый элемент столбца описывает некоторую характеристику (или атрибут) одной сущности, представленной соответствующим кортежем. В нашем примере каждый кортеж содержит атрибуты Emplld (Личный номер работника), Name (Имя и фамилия), Address (Адрес) и SSNum (Номер полиса социального страхования). В некоторых случаях возникает потребность в простом извлечении кортежей из отношений. Для получения информации о сотруднике нам необходимо выбрать из отношения EMPLOYEE кортеж с соответствующим значением атрибута EmplId. В результате выполнения операции выборки (SELECT) будет создано новое отношение (новая таблица), состоящее из отобранных кортежей исходного отношения. В случае выбора информации о сотруднике новое отношение будет содержать только один кортеж из отношения EMPLOYEE. Таким образом, одной из операций, которую нам может потребоваться выполнить над некоторым отношением, является выборка кортежей, обладающих некоторыми характеристиками, и помещение выбранных кортежей в новое отношение. Для формального представления этой операции мы будем использовать следующий синтаксис: NEW < - SELECT from EMPLOYEE where Emplld = " 34Y70" Семантика этого выражения — создать новое отношение с именем NEW, содержащее те кортежи (в приведенном случае он будет единственным) отношения EMPLOYEE, в которых значение атрибута Emplld равно " 34Y70" (рисунок 2). Рисунок 2 – Операция SELECT В противоположность операции выборки SELECT, которая извлекает из отношения строки, операция проекции PROJECT предназначена для извлечения столбцов. Ниже приведен еще один пример использования операции PROJECT: MAIL< - PROJECTName, AddressfromEMPLOYEE Эта операция позволяет получить список имен и адресов всех сотрудников компании. Искомый список содержится во вновь созданном отношении с именем MAIL, с двумя атрибутами Name и Address (рисунок 3). Рисунок 3 – Операция PROJECT
Третьей операцией, с которой мы здесь познакомимся, является операция соединения JOIN. Она предназначена для объединения данных из двух разных отношений. Соединение двух отношений посредством операции JOIN приводит к созданию нового отношения, набор атрибутов которого включает все атрибуты исходных отношений (рисунок 4). Имена атрибутов нового отношения не отличаются от имен атрибутов исходных отношений, за исключением того, что перед каждым из них в качестве префикса, отделяемого точкой, указывается имя исходного отношения. (Если отношение А содержит атрибуты V и W, а отношение В — атрибуты X, Y и Z, то полученное в результате их соединения отношение будет содержать атрибуты A.V, A.W, B.X, B.Y и B.Z.) Кортежи (строки) нового отношения образуются посредством конкатенации кортежей двух исходных отношений (рисунок 4). Для того чтобы определить, какие именно строки из исходных отношений должны быть объединены, в операции JOIN задается некоторое условие. Одним из вариантов такого условия является задание пары атрибутов исходных отношений, значения в которых должны совпадать. Именно этот вариант условия представлен на рисунке 4, который демонстрирует механизм выполнения следующего оператора: С < - JOIN A and В where A.W = B.X Рисунок 4 – Операция JOIN В качестве примера для ознакомления с простейшими возможностями баз данных и СУБД рассмотрим некоторые возможности программы MicrosoftAccess, которая является одной из самых сложных составных частей пакета MicrosoftOffice. СУБД MSAccessпредназначена для создания и поддержания в рабочем состоянии баз данных, для получения из них информации в требуемой форме, а также для создания приложений, автоматизирующих работу с базами данных. База данных в программе MSAccessпредставляет собой взаимосвязанную совокупность основных компонентов, которые называются объектами базы. Объектами базы данных в MSAccessсчитаются таблицы, формы, запросы, отчеты, а также страницы, макросы и модули. Для выполнения всех функций по созданию и работе с базами данных в программе MSAccessимеются мастера и конструкторы создания базы. Мастер представляет собой подсистему, которая в значительной степени автоматизирует процессы создания отдельных объектов базы или полностью готовой базы данных. При создании базы с помощью мастера все её объекты создаются автоматически. Результатом является полностью рабочая база вместе с поддерживающим эту работу приложением. Использование конструкторов позволяет выполнить всю работу, так сказать «вручную», с максимальным учетом особенностей решаемой задачи и требований заказчика. Конструктор является наиболее гибким инструментом создания любых новых объектов базы и изменения структуры уже существующих.
|