Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование лекции.doc
Скачиваний:
49
Добавлен:
12.11.2019
Размер:
5.53 Mб
Скачать

27.Принципы организации реляционных баз данных

27.1. Основные сведения о базах данных

Delphi имеет мощную встроенную поддержку для работы с локальными и распределенными базами данных (БД) самых различных форматов.

Реляционная БД (Рис. 27 .107) представляет собой прямоугольную таблицу. Столбцы таблицы называются полями, а строки – записями. Каждое поле имеет уникальное имя и тип данных, который можно хранить в этом поле. Число полей в БД фиксировано, а записи можно добавлять и удалять.

Рис. 27.107 Типичная реляционная БД.

Существует несколько форматов файлов баз данных. Наиболее часто применяются базы форматов Paradox (расширение .db) и InterBase (расширение .gdb). Программа, написанная на Delphi, может взаимодействовать как с этими, так и со многими другими видами БД (dBase, FoxPro, Access) на основе единого подхода. С точки зрения написания программы нет никакой разницы, работаете вы с базами Paradox, dBase или Access. Это достигается тем, что операции с БД могут выполняться при помощи специального языка SQL (Structural Query Language). Кроме того, SQL обеспечивает многопользовательский доступ к БД, что автоматически делает программу сетевой.

Три основные функции системы управления базами данных (СУБД):

1. Ввод данных. Любая СУБД должна поддерживать структуры, в которых могут накапливаться данные. Кроме того, должны поддерживаться процедуры оперативного просмотра этих данных и внесения в них изменений с целью обеспечения актуальности данных.

2. Поддержание запросов по данным (или выполнение их). СУБД должна предоставлять пользователю возможность оперативно отыскивать и просматривать отдельные части накопленной информации.

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

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

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

Проектирование БД ставит перед собой следующие цели:

  1. Возможность хранения в БД всех необходимых данных.

  2. Исключение избыточности данных.

  3. Сведение числа хранимых в БД таблиц к минимуму.

  4. Нормализация отношений для легкого обновления и удаления записей.

Для выполнения условия хранения всех данных, первым шагом проектирования структуры БД является определение всех атрибутов объектов реального мира, информация о которых должна храниться в БД. Набор этих атрибутов для одного и того же объекта может оказаться различным в зависимости от предназначения БД. Например, рассмотрим объект "машиностроительная деталь". Если нужно спроектировать базу данных для хранения конструкторской спецификации, в ней достаточно иметь атрибуты "обозначение", "наименование", "куда входит", "имя файла с чертежом". Если же проектируем БД тех же деталей, но уже для решения задачи расчета норм расхода материалов на изготовление деталей, то понадобятся атрибуты "длина", "ширина", "высота", "материал", "вид заготовки" и т.д.