FoxPro8

938aad90

Реляционные базы данных


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

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

В 1970 году статья научного сотрудника компании IBM доктора Е. Ф. Кодда о реляционной модели данных произвела революцию в подходе к хранению и обработке информации. На основе этой модели в семидесятые годы были разработаны первые реляционные базы данных, а в настоящее время они рассматриваются как стандарт для современных коммерческих СУБД.

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

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


Номер заказа

Код услуги

Номер телефона

Дата разговора

Код города

Продолжительность разговора

Стоимость

Примечание

Записи о междугородних разговорах записываются в книгу регистрации в табличном виде в хронологическом порядке (рис. 1.1). Каждая строка имеет одинаковую структуру и состоит из восьми полей. В рассматриваемом Примере ЭТО ПОЛЯ: Номер заказа, Код услуги, Номер телефона, Дата разговора, Код города, Продолжительность разговора, Стоимость.



Рис. 1.1. Книга регистрации междугородних разговоров

Замечание

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

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

На помощь приходят компьютерные базы данных. Они, несмотря на огромный объем хранящейся в них информации, обеспечивают высокую скорость поиска необходимой информации. В таких базах данных пользователь может выполнить поиск по любому интересующему его параметру. Кроме того, компьютерные базы данных очень компактны. База данных, содержащая несколько тысяч записей, может поместиться на одной дискете.


Содержание раздела