Лекции и практики (1). Курс лекций и материалы для практических занятий
Скачать 1.01 Mb.
|
Предметная область информационной системыПредметная область (ПрО) информационной системы рассматривается как совокупность реальных процессов и объектов (сущностей), представляю- щих интерес для её пользователей [6]. Каждая из сущностей ПрО обладает определённым набором свойств (атрибутов). Для упрощения процедуры описания ПрО в большинстве случаев прибе- гают к определению типов сущностей. Тип позволяет выделить из всего мно- жества сущностей ПрО группу сущностей, однородных по структуре и поведе- нию (относительно рамок рассматриваемой ПрО). Например, для ПрО "Инсти- тут" в качестве типов сущностей могут рассматриваться студенты, преподава- тели, дисциплины и т.п. Данные предметной области представляются экземплярамисущностей (студент Иванов, преподаватель Сидоров, дисциплина "Базы данных"). Экзем- пляры сущностей одного типа обладают одинаковыми наборами атрибутов, но должны отличаться значением хотя бы одного атрибута для того, чтобы быть узнаваемыми (например, студенты могут иметь одинаковые ФИО, но должны иметь разные номера зачётных книжек). Среди атрибутов сущности можно выделить существенные и малозначи- тельные. Признание какого-либо свойства существенным носит относительный характер. Например, атрибут Должностьдля сотрудника является существен- ным, а для читателя библиотеки – малозначительным. Атрибуты можно условно классифицировать следующим образом: Идентифицирующие и описательные атрибуты. Идентифицирующие атри- буты имеют уникальное значение для сущностей данного типа, описатель- ные заключают в себе интересующие свойства сущности. Составные и простые атрибуты. Простой атрибут состоит из одного ком- понента, его значение неделимо; составной атрибут является комбинацией нескольких компонентов, возможно, принадлежащих разным типам данных. Однозначные и многозначные атрибуты (могут иметь соответственно одно или много значений для каждого экземпляра сущности). Основные и производные атрибуты. Значение основного атрибута не зави- сит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов. Обязательные и необязательные. Значение обязательного атрибута всегда устанавливается при помещении данных в БД; значение необязательного ат- рибута может быть пропущено. Спецификация атрибута состоит из его названия, типа данных, размера и описания ограничений целостности – множества значений, которые может при- нимать данный атрибут. Между сущностями ПрО могут существовать связи, имеющие различный содержательный смысл (семантику). Например, студент учитсяв группе, врач лечитпациента, клиент имеетвклад в банке. Связи могут быть факультатив- ными или обязательными. Если вновь порождённая сущность одного из типов оказывается по необходимости связанной с сущностью другого типа, то между этими типами сущностей есть обязательная связь. Иначе связь является факуль- тативной. Примеры обязательной и факультативной связей приведены на рис. 1.3. Здесь связь замещаетявляется обязательной (изображается двойной линией), потому что каждый сотрудник должен работать на определённой должности, а связь замещаетсяявляется факультативной, т.к. должность мо- жет быть вакантна. Примечание. В данном учебном пособии наименования сущностей, атрибутов и связей вы- деляются курсивом и подчёркиванием. Кроме того: Сущность записывается прописными буквами (ОТДЕЛ). Атрибут сущности начинается с прописной буквы (Название). Ключевой атрибут выделяется полужирным шрифтом (Табельный номер). Связь между сущностями определяется глаголом (работает). Рис. 1.3. Примеры обязательной и факультативной связей Для удобства каждую связь между сущностями можно изображать одним ромбом (рис. 1.4). Выделяют также показатель кардинальности связи: "один к одному" (1:1), "один ко многим" (1:n) и "многие ко многим" (m:n) (рис. 1.4).
Рис. 1.4. Примеры различной кардинальности связей Связи, приведённые на рис. 1.4, с учётом семантики означают следующее: пациент–койка (1:1) – каждый пациент занимает одну койку, каждая койка в каждый момент времени может быть занята только одним пациентом; палата–пациент (1:n) – каждый пациент находится в одной палате, в каждой палате могут находиться несколько пациентов; пациент–врач (n:m) – каждый пациент может лечиться у нескольких врачей, каждый врач может лечить несколько пациентов. Обратите внимание: необязательная связь имеет модификатор "может", а у обя- зательной связи его нет. Степень связи – это количество типов сущностей, которые входят в связь. Различают унарные (рис. 1.5,а), бинарные (рис. 1.5,б) и тернарные (рис. 1.5,в) связи. (На практике связи с большей степенью редко используются). Унарная связь означает, что одни экземпляры сущности связаны с другими эк- земплярами этой же сущности (например, одни сотрудники руководят другими, а деталь может являться частью механизма). Различают тип связи и экземпляр связи. Тип связи определяется её име- нем, обязательностью, степенью и кардинальностью, например, бинарная связь учитсямежду сущностями ГРУППАи СТУДЕНТ, обязательная для студента, кардинальностью 1:n. А экземпляр связи – это конкретная связь между студен- том Сидоровым и группой Н-11, в которой он учится. Рис. 1.5. Примеры связей различной степени Совокупность типов сущностей и типов связей между ними характеризу- ет структуру предметной области. Собственно данные представлены экземпля- рами сущностей и связей между ними. Данные экземпляров сущностей и связей хранятся в базе данных информационной системы, а описание типов сущностей и связей является метаданными. Множества экземпляров сущностей, значения атрибутов сущностей и эк- земпляры связей между ними могут изменяться во времени. Поэтому каждому моменту времени можно сопоставить некоторое состояние предметной обла- сти. Состояния ПрО должны подчиняться совокупности правил, которые ха- рактеризуют семантику предметной области. В базе данных эти правила могут быть заданы с помощью так называемых ограничений целостности, которые накладываются на атрибуты сущностей, типы сущностей, типы связей и/или их экземпляры. Фактически ограничения целостности – это правила, которым должны удовлетворять значения данных в БД. Например, для библиотеки мож- но привести такие ограничения целостности: количество экземпляров книги не может быть отрицательным; номер паспорта читателя должен быть уникаль- ным; каждая книга относится к определённому разделу рубрикатора ББК – библиотечно-библиографической классификации и т.д. Для того чтобы обеспечить соответствие базы данных текущему состоя- нию предметной области, база данных динамически обновляется (периодиче- ски или в режиме реального времени). Это обновление называется актуализа- цией данных. Актуализация может проводиться: вручную, если изменения в данные вносит пользователь (например, запись сведений о выдаче абоненту книги в библиотеке); автоматизировано, если изменения инициируются пользователем, но вы- полняются программно (например, обновление списка должников в библио- теке – читателей, которые просрочили дату возврата книг); автоматически, если данные поступают в электронном виде и обрабатыва- ются программой без участия человека (это касается, например, автомати- зированных систем управления производством). Правильность обновлений может контролироваться программно, но правильнее контролировать их автоматически с помощью ограничений целостности БД. База данных является информационной моделью внешнего мира, некото- рой предметной области. Во внешнем мире сущности ПрО взаимосвязаны, по- этому в БД эти связи должны быть отражены. Если связи между данными в БД отсутствуют, то имеет смысл говорить о нескольких независимых БД и хранить их раздельно. |