В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базой данных, начиная от ее создания, иобеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language — язык структурированных запросов).
Язык SQL позволяет определять схему реляционной базы данных и манипулировать данными.
Реляционная модель данныхбыла предложена Э. Коддом, известным американским специалистом в области баз данных. Основные концепции этой модели были впервые опубликованы в 1970 г. в статье «A Relational Model I of Data for Large Shared Data Banks» (CACM, 1970, Vol. 13, № 6) После опубликования работ Кодда начались активные исследования по созданию реляционной системы управления базами данных. В результате этих исследований во второй половине 70-х годов был создан ряд коммерческих и некоммерческих реляционных СУБД. В настоящее время реляционные СУБД остаются одними из наиболее распространенных.
Термин «реляционный» указывает на то, что такая модель хранения данных построена на взаимоотношении объектов, сведения о которых хранятся в БД. Эти взаимоотношения удобно представлять в виде двухмерной таблицы. Таким образом, набор отношений (таблиц) может быть использован для хранения данных об объектах реального мира и моделирования связей между ними, т. е. реляционная модель данных представляет данные в виде совокупности взаимосвязанных таблиц. Отношение - двумерная таблица, содержащая некоторые данные.
Сущность – это объект, данные о котором хранятся в базе данных. Свойства, характеризующие этот объект, называются атрибутами.
Математически отношение можно описать следующим образом.
Пусть даны n множеств D1, D2, D3, ... Dn, тогда отношение R есть множество упорядоченных кортежей <d1, d2, d3,... dn>, где dk Dk, а D1, D2, D3,... Dn— домены отношения R.
Наименьшая единица данных реляционной модели — это значение данных, которое находится в одной ячейке, оно называется атомарным.
Атомарное значение имеет определенный тип. Понятие тип данныххарактеризует количество памяти выделяемой под каждый тип данных, диапазон принимаемых значений и возможные операции, выполняемые над данными. Набор поддерживаемых типов данных определяется СУБД и может значительно различаться в разных системах. Однако практически все СУБД поддерживают следующие типы данных:
- целочисленные;
- вещественные;
- строковые;
- специализированные типы данных для денежных величин;
- специальные типы данных для временных величин (дата и/или время).
Рассмотрим смысл этих понятий на примере отношения (таблицы) СТУДЕНТЫ, содержащего информацию о студентах некоторого вуза.
Таблица 3. Пример отношения СТУДЕНТЫ реляционной базы данных
№_студенческого_билета
Фамилия
Дата_рождения
Курс
Специальность
Алексеев Д. А.
12.03.1982
Биология
Яковлев Н. В.
25.12.1979
Физика
Михайлов В. В.
28.02.1979
Математика
Афанасьев А. В.
19.08.1983
Иностранный язык
Кузнецов T. И.
03.10.1982
Физика
2312568Т
Смирнов А. Д.
26.03.1981
3
История
Доменом называется множество атомарных значений одного и того же типа. Таким образом, домен представляет собой все возможные значения, которые может принимать атрибут.
Например, атрибут Курс может принимать целочисленные значения от 1 до 5 включительно. Следовательно, целые числа от 1 до 5 и будут доменом Курсы для атрибута Курс. Домены Фамилии и Специальности для атрибутов Фамилия и Специальность соответственно будут базироваться на строковом типе данных — в число их значений могут входить только те строки, которые могут представлять соответственно имя и название специальности.
Домен Даты_рождения для столбца Дата_рождения определяется на базовом временном типе данных — данный домен содержит только допустимый диапазон дат рождения студентов.
Домен Номера_студенческих_билетов также базируется на целочисленном типе — в число их значений могут входить только те целые числа, которые позволяют обозначить номер студенческого билета (обязательно положительное число).
Данные можно сравнивать только в том случае, если они относятся к одному домену. Если же значения двух атрибутов берутся из различных доменов, то их сравнение лишено смысла. В нашем примере значения доменов Номера_курсов и Номе-ра_студенческих_билетов, хотя и основаны на одном типе данных — целочисленном, сравнимыми не являются.
Понятие домена характерно далеко не для всех СУБД. В качестве примера реляционных баз данных, использующих это понятие, можно привести Oracle и InterBase. Список имен атрибутов отношения с указанием имен доменов называется схемой отношения. Схема нашего отношения СТУДЕНТЫ запишется так:
Степень отношения — это число его атрибутов. Отношение степени один называют унарным, степени два — бинарным, степени три — тернарным,..., степени п — n-арным. Степень отношения СТУДЕНТЫ равна пяти, то есть оно является 5-арным. Схемой базы данных называется множество именованных схем отношений.
В некоторых случаях атрибуты могут не иметь значений, т. е. быть пустыми (NULL). Например, в рассматриваемом в качестве примера отношении СТУДЕНТЫ может также храниться информация о потенциальных абитуриентах, посещающих подготовительные курсы вуза. В этом случае, абитуриенты еще не поступили в вуз и, следовательно, не имеют студенческого билета и не могут быть отнесены к какому-либо курсу (неприменимые атрибуты). Кроме того, иногда при вводе информации в строку реляционной таблицы некоторые данные могут быть неизвестными и выясняться позже (при поступлении на подготовительные курсы абитуриент может еще не определиться окончательно, на какую специальность он будет поступать). В обоих указанных случаях в поля, соответствующие неприменимым или неизвестным атрибутам, ничего не заносится, и строка записывается в базу данных с пустыми значениями этих атрибутов.