logo search
Разработка автоматизированной информационной системы учета договоров подряда в строительной фирме

2.1.3 Основные концепции реляционных баз данных

Теория реляционной базы данных разработана в начале 70-х годов доктором Э.Ф. Коддом на основе математической теории отношений. Предложенные им идеи оказали большое влияние на технологию баз данных во всех ее аспектах.

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

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

1) каждый элемент таблицы представляет собой один элемент данных, повторяющиеся группы отсутствуют;

2) все столбцы в таблице однородные, то есть элементы столбца имеют одинаковую природу;

3) в таблице нет двух одинаковых строк;

4) порядок строк в таблице произвольный.

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

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

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

Отношение много-к-одному аналогично рассмотренному ранее типу один-ко-многим.

Отношение много-ко-многим возникает между двумя таблицами в тех случаях, когда:

1) одна запись из первой таблице может быть связана более чем с одной записью из второй таблицы;

2) одна запись из второй таблице может быть связана более чем с одной записью из первой таблицы.

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

Множество отношений и операций над данными образует реляционную алгебру. Все множество операций реляционной алгебры разделено на две группы:

1) теоретико-множественные (объединение, пересечение, разность, расширенное декартовое произведение);

2) специальные.

Реляционная модель БД имеет дело с тремя аспектами данных: со структурой данных, с целостностью данных и с манипулированием данными. Под структурой понимается логическая организация данных в БД, под целостностью данных - безошибочность и точность информации, хранящейся в БД, под манипулированием данными - действия, совершаемые над данными в БД. Эти три аспекта отражают и основные процедуры процесса накопления данных (хранение, актуализацию и извлечение) [7].