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

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


Содержание


Поиск на других ресурсах:




1. Какие есть базовые понятия реляционной модели данных?

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

Реляционная модель данных использует следующие основные понятия:

  • тип данных;
  • домен;
  • атрибут;
  • схема отношения;
  • кортеж;
  • ключ.

 

2. Что такое тип данных в реляционной модели данных?

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

В системах управления базами данных тип данных имеет такое самое значение как и языках программирования.

Пример. Пусть задана таблица Worker, описывающая данные о работнике предприятия.

Идентиф. код

Фамилия и инициалы Домашний адрес

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

Пол Разряд
2931123455 Петров П.П. г. Киев, ул. Мира 26 12.06.1897 М 3
3425526651 Зиновьев А.Ф. г. Москва, ул. Зеленая 339 11.03.1998 М 4
2765165253 Сидоров С.С. г. Харьков, ул. Гагарина 33 18.02.1987 М 2
3293847890 Ахметова М.Б. г. Тула, ул. Лесная 12 А 10.08.1937 Ж 3
2298489472 Ковалев С.С. г. Калуга, ул. Снежная 28 12.06.1990 Ж 4
3234802998 Юрьев М.М. г. Черновцы, ул. Международная 5 11.02.1993 М 5

В вышеприведенной таблице целесообразно установить следующий тип данных для каждого поля:

  • поле «Идентификационный код» – строка символов (строчный тип). Код представляет собой число из 10 символов, поэтому лучше представить его в виде строки. Однако, по желанию, можно представить его как длинное целое число;
  • «Фамилия и инициалы» – строчный тип данных;
  • «Домашний адрес» – строчный тип данных;
  • «Дата рождения» – тип данных «Дата/Время» (Date/Time);
  • «Пол» – логический тип (True — женщина, False – мужчина);
  • «Разряд» – целое число (целочисленный тип).

 

3. Какие типы данных поддерживаются системами управления базами данных?

Современные СУБД поддерживают следующие основные типы данных:

  • целочисленные;
  • вещественный (с плавающей запятой);
  • строковые;
  • типы данных, описывающие дату и время;
  • специализированные типы данных, которые описывают денежные величины;
  • типы данных, которые описывают сложные двоичные объекты (Binary Large Object).

 

4. Домены в реляционной модели данных

Домен – это множество отдельных допустимых значений данных, которые:

  • есть неделимыми (атомарными) для данной модели;
  • имеют одинаковый тип.

Пример. Пусть дана таблица Worker, описывающая данные о работнике.

Идентиф. код

Фамилия и инициалы Домашний адрес

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

Пол Разряд
2931123455 Петров П.П. г. Киев, ул. Мира 26 12.06.1897 М 3
3425526651 Зиновьев А.Ф. г. Москва, ул. Зеленая 339 11.03.1998 М 4
2765165253 Сидоров С.С. г. Харьков, ул. Гагарина 33 18.02.1987 М 2
3293847890 Ахметова М.Б. г. Тула, ул. Лесная 12 А 10.08.1937 Ж 3
2298489472 Ковалев С.С. г. Калуга, ул. Снежная 28 12.06.1990 Ж 4
3234802998 Юрьев М.М. г. Черновцы, ул. Международная 5 11.02.1993 М 5

В домене «Идентификационный код» допустимыми являются строки из цифр, которые имеют строго 10 разрядов. В домене «Пол» возможны только 2 значения. В домене «Разряд» могут быть целочисленные значения от 1 до 6.

 

5. Атрибуты в реляционной модели данных

Атрибуты – это столбцы таблицы (поля таблицы). Атрибуты имеют имена. По имени атрибута осуществляется обращение к таблице.

Пример. В таблице Worker (см. п. 4) названия атрибутов следующие:

  • Идентификационный_код;
  • Фамилия и инициалы;
  • Домашний адрес;
  • Дата рождения;
  • Пол;
  • Разряд.


 

6. Что такое схема отношения? Что такое схема базы данных?

Схема отношения – это список имен атрибутов отношения с указанием имен типов.

Пример. Для таблицы Worker схема отношения будет приблизительно следующей:

WORKER { [Идентиф_код] char(10),
         [Фамилия_и_инициалы] char(20),
         [Домашний_адрес] char(100),
         [Дата_рождения] DateTime,
         [Пол] bool,
         [Разряд] int }

Множество именованных схем отношения, называется схемой базы данных.

 

7. Что такое степень отношения?

Количество атрибутов в таблице называется степенью отношения. Для примера (см. п. 4) таблицы Worker степень отношения равна 6 (таблица имеет 6 полей).

Унарное отношение – это отношение степени один. Бинарное отношение – это отношение степени два. Тернарное отношение – это отношение степени три. n-арное отношение – это отношение степени n.

 

8. Что такое кортеж в базах данных?

Кортеж рассматривается для конкретной (данной) схемы отношения. В такой схеме кортеж есть множество пар, которые представлены следующим образом:

{ имя_атрибута, значение }

где имя_атрибута – имя конкретного атрибута.

Например. Пусть задана таблица Worker с такими данными

Идентиф. код

Фамилия и инициалы Домашний адрес

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

Пол Разряд
2931123455 Петров П.П. г. Киев, ул. Мира 26 12.06.1897 М 3
3425526651 Зиновьев А.Ф. г. Москва, ул. Зеленая 339 11.03.1998 М 4
2765165253 Сидоров С.С. г. Харьков, ул. Гагарина 33 18.02.1987 М 2
3293847890 Ахметова М.Б. г. Тула, ул. Лесная 12 А 10.08.1937 Ж 3
2298489472 Ковалев С.С. г. Калуга, ул. Снежная 28 12.06.1990 Ж 4
3234802998 Юрьев М.М. г. Черновцы, ул. Международная 5 11.02.1993 М 5

Схема отношения для данной таблицы будет следующая:

WORKER { [Идентиф_код] char(10),
         [Фамилия_и_инициалы] char(20),
         [Домашний_адрес] char(100),
         [Дата_рождения] DateTime,
         [Пол] bool,
         [Разряд] int }

Тогда кортеж, который отвечает первой строке таблицы Worker будет иметь вид:

{ [Идентиф_код], '2931123455' }
{ [Фамилия_и_инициалы], 'Петренко П.П.' }
{ [Домашний_адрес], 'г.Киев, ул. Мира 26' }
{ [Дата_рождения], '12.06.1897' }
{ [Пол], False }
{ [Разряд], 3 }

Таким самым образом можно определить кортеж, который соответствует второй строке таблицы Worker а также и следующим строкам таблицы.

 

9. Что называется кардинальным числом или мощностью отношения?

Кардинальное число – это количество кортежей. В таблице Worker (см. п. 8) кардинальное число равно 7. Кардинальное число еще называют мощностью отношения.

 

10. Что собою представляет пустое значение (NULL) в базе данных?

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

Следует заметить, что значение NULL не является нулем и не является пустой строкой.

Например. В таблице Worker (п. 8) возможна ситуация, когда работник еще не имеет разряда. В этом случае в соответствующей ячейке нужно ввести значение NULL. Как только работнику будет присвоен некоторый разряд, значение NULL будет заменено этим новым значением.

 

11. Что такое ключи отношения? Что такое первичный ключ?

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

Первичный ключ – это специальное дополнительное поле (атрибут) таблицы, которое создается для обеспечения уникальности идентификации записей таблицы. Основная цель создания первичного ключа – предотвратить дублирование (повторение) записей таблицы.

Например. Пусть дана таблица Worker (см. п.8). Чтобы не повторялись записи, в этой таблице может быть создано дополнительное поле (атрибут) с именем, например, ID_Worker. Тип этого поля может быть выбран как счетчик (counter), который автоматически увеличивается при добавлении новой записи в таблицу.

 






12. Что такое простой и составной (сложный) ключи?

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

Пример. Пусть дана таблица Student, содержащая данные о студенте. Таблица содержит следующие поля:

Название поля Тип Описание
ID_Student Целое число, int Уникальный идентификатор поля, счетчик, первичный ключ, простой ключ
Num_book Целое число, int Номер зачетной книжки
Name Строка с 100 символов,

char(100)

Фамилия и имя студента
Course Целое число, int Курс, на котором учится студент

В этой таблице поле ID_Student есть первичным ключом, которое обеспечивает уникальность. Это поле есть счетчиком. При добавлении нового студента в таблицу, значение счетчика увеличивается на некоторое число, как правило на 1. Если удалить студента из таблицы, максимальное значение счетчика уже не уменьшается. Таким образом обеспечивается уникальное число, которое соответствует данному студенту.

В таблице Student составным ключом может быть комбинация полей (атрибутов) ID_Student и Num_book (номер зачетной книжки). Однако, в данной таблице такая комбинация не имеет смысла, поскольку поле ID_Student и без того обеспечивает уникальность.

 

13. Что такое искусственный (суррогатный) ключ?

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

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

 

14. Что такое естественной ключ?

Естественной ключ базируется на атрибутах (полях), которые имеют смысл. Значение в таких атрибутах (полях) не могут повторяться по своей сущности.

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

Пример 1. В таблице Worker (см. п.8) поле «Идентификационный код» есть уникальным, так как не может быть двух людей с одинаковым идентификационным кодом. Это поле и есть естественном ключом.

Пример 2. В таблице Student поле Num_book (№ зачетной книжки) есть уникальным по своей природе. Не может быть двух студентов с одинаковым номером зачетной книжки.

 

15. Какие преимущества и недостатки использования естественных ключей?

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

Основные недостатки естественных ключей:

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

 


Связанные темы