Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПОВС (2002) / Shimarik / Shimarik / Специальная часть.doc
Скачиваний:
28
Добавлен:
16.04.2013
Размер:
1.9 Mб
Скачать

2.2.4. Характеристика связей и язык моделирования

При построении инфологических моделей можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т.е. сущность-связь). В них сущности изображаются помеченными прямоугольниками, ассоциации – помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а связи между ними – ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.

Между двумя сущностям, например, А и В возможны четыре вида связей.

Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:

Рис 2.3.Пример ER-диаграммы, иллюстрирующий отображение связи один-к-одному

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

Рис 2.4.Пример ER-диаграммы, иллюстрирующий отображение связи один-ко-многим

Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.

Квартира может пустовать, в ней может жить один или несколько жильцов.

Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).

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

2.2.5. Даталогическая модель данных

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

2.3.Базовые понятия для работы с базами данных в Borland Delphi

Для программирования баз данных в среде Borland Delphi мне необходимо было свободно владеть всеми средствами это среды, предоставляемыми для этого. Ниже я привожу их описание.

2.3.1. База данных и таблицы

База данных (БД) (А. Вальвачев “Программирование в среде С++Builder”) это множество файлов, предназначенных для хранения информации о некоторой предметной области. Файлы, принадлежащие одной базе данных, собираются в одном каталоге, которому назначается сокращенное имя — псевдоним (А. Вальвачев “Программирование в среде С++Builder”).

Если абстрагироваться от формата отдельных файлов базы данных, то можно считать, что база данных состоит из таблиц. Таблица (А. Вальвачев “Программирование в среде С++Builder”) содержит информацию о множестве идентичных по структуре объектов. Например, давайте представим, что некоторое предприятие выполняет заказы своих покупателей и ведет учет своей деятельности. Информация о заказах может быть представлена в виде таблицы (рис. 1).

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

Все спроектированные базы в системе “Эксперт” реляционные.

2.3.2. Записи и поля

Элементами таблицы являются записи (А. Вальвачев “Программирование в среде С++Builder”). Записи соответствуют строкам табли­цы. Например, в таблице заказов каждая запись содержит информацию об одном заказе. Число записей в таблице может быть произвольным.

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

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