Проектирование предметной области. Объекты и атрибуты предметной области. Связи между объектами типа 1:1, 1:m, m:n
Базы данных (БД) всегда создаются для хранения сведений об определенном виде деятельности. Это может быть любой вид деятельности - от коллекционирования марок до ведения домашнего хозяйства. Любая БД хранит сведения о некоторой части реального мира - о людях и предметах, вовлеченных в деятельность, о происходящих событиях, фактах и т.д.
Часть реального мира, сведения о которой хранятся в БД, называется предметной областью (ПО) базы данных.
В БД хранятся только те сведения, которые представляют интерес с точки зрения соответствующего вида деятельности. Так, в вузе о студенте Иванове как о лице, участвующем в процессе обучения, нужно знать, в какой группе он учится, какие оценки по каким предметам получал и т.д. В поликлинике о пациенте Иванове нужно знать, когда и по какому поводу он обращался к врачу, каков его резус-фактор, группа крови и т.д., но совсем ни к чему здесь сведения об его успеваемости.
Объекты - это вовлеченные в деятельность люди, предметы, места, происходящие события и т.д., информация о которых должна храниться в БД. Можно сказать, что объект есть то, что в словесном описании ПО обозначается именем существительным.
Например, СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, УЧЕБНАЯ ДИСЦИПЛИНА, АУДИТОРИЯ - объекты ПО «Учебный процесс». ПАЦИЕНТ, ПАЛАТА, ВРАЧ - объекты ПО «Больница».
Объекты обладают определенным набором свойств, которые называются атрибутами. Например: фамилия студента, номер студбилета, номер группы, адрес - атрибуты, соответствующие характеристикам объекта ПО СТУДЕНТ. Объект ПРЕПОДАВАТЕЛЬимеет такие атрибуты, как: фамилия, номер диплома, специальность, ученая степень и т.д.
В таблице 2.1 приведены экземпляры объекта ПРЕПОДАВАТЕЛЬс атрибутами НОМЕР, ФИО, Кафедра.
Таблица 2.1
№ преподавателя | ФИО | Кафедра |
Краснов Ю.Б. | ТИ-1 | |
Володин В.Н. | ТИ-1 | |
Булгаков В.М. | РИО | |
Тоянский Л.С. | ТИ-1 | |
Подушкин А.М | ЭИ-1 | |
… | … | … |
Единицей хранящейся в БД информации является таблица. Каждая таблица представляет собой совокупность строк и столбцов, где строки соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы - атрибутам (признакам, характеристикам, параметрам) объекта, события, явления. На рис. 2.1. приведен пример таблицы, в которой содержатся сведения об отпуске товаров со склада. Столбцы представляют собой такие параметры, как дата отпуска товара, наименование товара, наименование покупателя, количество единиц отпущенного товара. Каждая строка содержит сведения о конкретном событии - отпуске товара покупателю. В терминах БД столбцы таблицы называются полями, а ее строки - записями.
Дата | Товар | Покупатель | Отпущено (ед.) |
10.12.99 | Сахар | Геракл, ТОО | |
10.12.99 | Сахар | Геракл, ТОО | |
12.12.99 | Сахар | Пищеторг, ЗАО | 2 000 |
12.12.99 | Макароны | Пищеторг, ЗАО | |
14.12.99 | Сахар | Геракл, ТОО | |
15.12.99 | Дрожжи | База № 28 |
Рис. 2.1. Пример таблицы «Отпуск товаров»
Между отдельными таблицами БД могут существовать связи. Например, информация о покупателе в предыдущей таблице может дополняться в другой (рис. 2.2).
Покупатель | Адрес | Телефон |
Геракл, ТОО | 107005, Москва, 2-я Бауманская ул., 12 | 273-00-14 |
Пищеторг, ЗАО | 105066, Москва, Измайловский б-р, 18/11 | 165-18-99 |
База № 28 | 274088, Хотьково МО, ул. Лесная, 1 | 17-54 |
Рис. 2.2. Пример таблицы «Покупатель»
Базы данных, между отдельными таблицами которых существуют связи, называютсяреляционными
(от relation - связь, отношение).
Связанные отношениями таблицы взаимодействуют по принципу главная (master) - подчиненная (detail). В нашем примере таблица «Отпуск товаров» - главная, а таблица «Покупатель» - подчиненная. Главную таблицу часто называют родительской, а подчиненную - дочерней. Одна и та же таблица может быть главной по отношению к одной таблице БД и дочерней по отношению к другой.