Работа c базами данных в DELPHI: Методические указания к разработке проектов в DELPHI, страница 2

Последовательность размещения записей в таблице и порядок следования полей в ней – несущественны. Поскольку строки в таблицы неупорядочены, к ней может быть добавлена колонка (или несколько) для идентификации каждой строки таблицы. Такая колонка называется первичным ключом. Колонка, указывающая на запись в другой таблице, связанную с данной записью, называют внешним ключом. Внешний ключ – это колонка, значения которой совпадают со значениями первичного ключа другой таблицы. Наличие внешнего ключа, позволяет связать две таблицы. В этом случае таблица, содержащая первичный ключ, определяющий возможные значения внешнего ключа, называется master–таблицей, а таблица, содержащая внешний ключ – detail–таблицей. Подобное взаимоотношение таблиц называется связью. Если каждой строке одной таблицы соответствует только одна строка другой таблицы, то таблицы связаны отношением один-к-одному. Если таких строк – несколько, то таблицы связаны отношением один-ко-многим. Существуют и отношения: много-к-одному и много-ко-многим. Графическое отображение связей между таблицами в группе называется схемой базы данных. Любые манипуляции с данными в базе данных  осуществляются на основе запроса (query), оформленного в строгом соответствии с правилами некоторого языка, именуемого языком запросов (SQL). Существует стандартная версия языка SQL.

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

Базы данных в общем случае могут содержать разные типы объектов:

·  таблицы для хранения данных;

·  индексы, служащие для сортировки данных и поддержания ключей;

·  правила и ограничения для поддержки ссылочной целостности и контроля значений данных;

·  триггеры;

·  хранимые процедуры (часть исполняемого кода).

Рассмотрим вкратце перечисленные объекты.

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

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

Правила и ограничения содержат сведения об ограничениях, накладываемых на возможные значения полей. Отметим, что далеко не все СУБД поддерживают ограничения.

Следующие два объектатипичны только для многозвенных БД. Они позволяют перенести реализацию части операций по обработке данных на сервер.

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

Хранимая процедура – процедура, помещаемая на сервер, к которой может обращаться клиент, в клиент-серверных приложениях.

2. Проектирование баз данных

Проектирование реляционной базы данных представляет собой пошаговый процесс призванный, в конечном итоге, обеспечить:

  • быстрый доступ к данным;
  • отсутствие дублирования данных;
  • целостность данных.

Процесс разработки структуры базы данных включает в себя следующие этапы:

  • сбор информации об объектах и представление ее в виде нескольких взаимосвязанных таблиц на основе нормализации отношений;
  • формализация знаний о системе (определение типов данных и их взаимосвязей) и требований к процедурам обработки данных;
  • структурирование данных в результате системного анализа.

Проектирование может осуществляться классическим способом, когда разработчик это делает вручную и с помощью CASE-средств (CASE означает Computer –Aided System Engineering).