Перекрестная проверка модели данных и иерархии функций
На этапе проектирования автоматизированной информационной системы важно осуществлять проверку на то, что проект базы данных содержит все данные, необходимые для реализации приложения, а проект приложения включает модули, которые используют все проектируемые данные. Такую проверку называют перекрестной. Перекрестная проверка может осуществляться на уровне полученной модели предметной области.
Рассмотрим перекрестную проверку для предметной области «Аренда помещений». На рисунке 22 приведена модель предметной области, представленная в виде ER—диаграммы, построенной по методологии Ричарда Баркера. ER – диаграмма отображает ситуацию заключения договоров на аренду помещений. Договор может быть заключен либо с юридическим, либо с физическим лицом. На рисунке 23 представлена иерархия функций, функции для удобства проведения проверки пронумерованы.
![]() |
Рисунок 22 — Пример модели предметной области
Ведение справочных данных | |||
Фирма | Добавление/ Обновление | Ф1 | |
Просмотр | Ф2 | ||
Физ. лицо | Добавление/ Обновление | Ф3 | |
Просмотр | Ф4 | ||
Помещение | Добавление/ Обновление | Ф5 | |
Просмотр | Ф6 | ||
Аренда помещений | Формирование договора | Добавление | Ф7 |
Отчетные документы | Отчет1. Список арендованных физическими лицами помещений за заданный период времени | Формирование/ Просмотр | Ф8 |
Отчет2. Список арендованных фирмами помещений за заданный период времени | Формирование/ Просмотр | Ф9 |
Рисунок 23 — Пример иерархии функций
Перекрестная проверка может быть формализована в виде таблицы (таблица 11).
Таблица 11 — Пример формализации перекрестной проверки
Функции | Классы объектов | |||
ПОМЕЩЕНИЕ | ДОГОВОР | ФИРМА | ФИЗ.ЛИЦО | |
Ф1 | I, U | |||
Ф2 | R | |||
Ф3 | I, U | |||
Ф4 | R | |||
Ф5 | I, U | |||
Ф6 | R | |||
Ф7 | R | I | R | R |
Ф8 | R | R | R | |
Ф9 | R | R | R |
В таблице использованы сокращения названий функций: I – добавление данных (insert); U – обновление данных (update); R – чтение данных (read).
Анализируя таблицу 10, можно отметить, что каждой функции соответствует хотя бы один класс объектов, при этом для реализации функции чтения данных (для формирования отчета) в модели присутствует необходимое количество классов объектов. С другой стороны, каждый класс объектов, отображенный в модели, необходим для реализации хотя бы одной функции.
Даталогическая модель БД
Построение даталогической модели базы данных – это следующий этап проектирования базы данных методом «нисходящего» проектирования. Исходными данными для даталогического проектирования является модель предметной области. В результате должна быть получена логическая структура базы данных, описанная в терминах выбранной модели данных на основе физических записей. В настоящее время распространение получила реляционная модель данных, на рынке программного обеспечения наиболее широко представлены реляционные СУБД.
Реляционная модель данных
Для того чтобы построить даталогическую модель БД по правилам реляционной модели данных необходимо знать компоненты этой модели.
1 Структура данных. В основе реляционной модели данных (РМД) лежит абстрактная теория данных, основанная на некоторых положениях математики – теории множеств и предикатной логики. Основа РМД – понятие теоретико—множественное отношения, которое представляет собой подмножество декартова произведения.
Рассмотрим некоторые определения.
Доменом называется множество допустимых значений одного или нескольких атрибутов. Пример домена: D{а,б,c}, где D – название домена, а,б,с – множество допустимых значений.
Декартовым произведением доменов D1, D2, …, Dк, обозначаемом D1 х D2 х …Dк, называется множество всех кортежей (V1, V2,…Vк) длины к, таких, что элемент кортежа V1 принадлежит D1, V2 принадлежит D2, Vк принадлежит Dк. Кортеж – это множество атрибутов, каждый из которых определен на соответствующем домене.
Реляционным отношением называется некоторое подмножество декартового произведения одного или более доменов, имеющее смысл с точки зрения предметной области.
Удобно представлять отношение как таблицу, где каждая строка есть кортеж и каждый столбец (атрибут) представляет элементы домена. Если столбцам присваиваются имена, то их порядок становится несущественным.
Арность (степень) отношения – это число его атрибутов.
Мощность (кардинальное число) отношения – это число его кортежей.
Список имен атрибутов (столбцов) отношения называется схемой отношения: R(A1, A2, …, Ak), где R – имя отношения, A1, A2, …, Ak – имена атрибутов.
Каждое реляционное отношение обладает хотя бы одним уникальным ключом. Уникальный ключ это атрибут или совокупность атрибутов отношения, значения которых не повторяются для разных кортежей. Каждый уникальный ключ так же называют потенциальным или возможным ключом.
Реляционное отношение используется для:
— представления класса объектов предметной области – посредством отображения в виде схемы отношения;
— представления связей между классами объектов – посредством потенциальных ключей и их копий. Таким образом, схемы отношений могут быть связаны!
Совокупность связанных между собой схем реляционных отношений, используемых для представления информации, называется схемой реляционной БД, а текущее значение элементов реляционных отношений – реляционной БД.
Схему реляционной базы данных можно представить в виде совокупности m схем отношений:
{R1(A1,1, A1,2, …, A1,k);
R2(A2,1, A2,2, …, A2,n);
…
Rm(Am,1, Am,2, …, Am,t)},
где m – количество схем отношений;
k, n, t — арности отношений.
2 Операции манипулирования данными. Реляционной модели данных присущи четыре операции над данными: добавление строки (строк) в таблицу, обновление строки (строк) в таблице, удаление строки (строк) из таблицы, выборка или чтение данных из таблицы (таблиц). Наиболее важной операцией является операция выборки данных, эту операцию также называют формулировкой запросов. Запросы в реляционной модели данных базируются на трех, равноценных между собой, теоретических языках: реляционной алгебре, реляционном исчислении с переменными — кортежами, реляционном исчислении с переменными — доменами. Запросы на основе реляционной алгебры выражены через операции объединения, разности, декартова произведения, пересечения, соединения и деления двух отношений, а также операций проекции и выборки, производимых над отдельным отношением.
3 Ограничения реляционной модели данных. Модели присущи два ограничения. Первое, основное ограничение, требует невозможности представления в реляционном отношении кортежей дубликатов и формулируется следующим образом: «каждое реляционное отношение имеет первичный ключ, значение первичного ключа должно быть определено». Первичный ключ определяется из совокупности уникальных ключей отношения. Это, как правило, атрибут числового типа и наименьшей длины.
Второе ограничение РМД называется правилом ссылочной целостности, или правилом поддержки целостности связей и формулируется: «каждому значению внешнего ключа отношения должно соответствовать значение, соответствующего первичного ключа (по связи), либо значение внешнего ключа может быть не определено». Основная цель ссылочной целостности заключается в недопустимости наличия "висячих" ссылок из дочерних отношений на родительское отношение. Значение внешнего ключа строки дочернего отношения должно быть равно значению первичного ключа некоторого кортежа родительского отношения, либо значение внешнего ключа может быть неопределенным. Отношение, которое содержит внешний ключ, называется ссылающимся отношением.