Типы связей информационных объектов. Связи между объектами

2. 2. ПОСТРОЕНИЕ МОДЕЛИ “ОБЪЕКТ - СВОЙСТВО - ОТНОШЕНИЕ”

Для описания ИЛМ используются как языки аналитического (описательного) типа, так и графические средства в дальнейшем применяется графический способ отображения модели “объект-свойство-отношение”. В предметной области в процессе ее обследования и анализа выделяют классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве предметной области рассмотреть вуз, то в ней можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории и т. д. Объекты могут быть реальными, как названные выше, а могут быть и абстрактными, как, например, предметы, которые изучают студенты.

При отражении в информационной системе каждый объект представляется своим идентификатором, который отличает один объект класса от другого, а каждый класс объектов представляется именем этого класса. Так, для объектов класса “ИЗУЧАЕМЫЕ ПРЕДМЕТЫ” идентификатором каждого объекта будет “НАЗВАНИЕ ПРЕДМЕТА”. Идентификатор должен быть уникальным.

Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения, естественно, могут различаться. Например, для объектов класса “СТУДЕНТ” таким набором свойств, описывающим объекты класса, может быть “ГОД РОЖДЕНИЯ”, “ПОЛ” и др.

При описании предметной области надо изобразить каждый из существующих классов объектов и набор свойств, фиксируемый для объектов данного класса.

Будем использовать для отображения объектов и их свойств следующие обозначения (рис. 2. 3).

Свойство

Рис. 2.3 Обозначение объектов и их свойств

Каждому классу объектов в инфологической модели присваивается уникальное имя.

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



Рис. 2.4 Изображение связи «объект - свойство»

При описании предметной области надо отразить связи между объектом и характеризующими его свойствами. Это изображается просто в виде линии, соединяющей обозначение объекта и его свойств.

Связь между объектом и его свойством может быть различной. Объект может обладать только одним значением какого-то свойства. Например, каждый человек может иметь только одну дату рождения. Назовем такие свойства единичными. Для других свойств возможно существование одновременно нескольких значений у одного объекта. Пусть, например, при описании “СОТРУДНИКА” фиксируется в качестве его свойства “ИНОСТРАННЫЙ ЯЗЫК”, которым он владеет. Так как сотрудник может знать несколько иностранных языков, то такое свойство будем называть множественным. При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств - двойную.

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

Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех объектов данного класса либо отсутствует у некоторых объектов. Например, для отдельных служащих может иметь место свойство “УЧЕНАЯ СТЕПЕНЬ”, а другие объекты этого класса могут не обладать, указанным свойством. Назовем такие свойства условными.

При изображении связи условного свойства с объектом будем использовать пунктирную линию, а для обозначения динамических и статических свойств будем использовать буквы D и S над соответствующей линией.

Иногда в инфологической модели бывает полезно ввести понятие “составное свойство”. Примерами таких свойств могут быть “АДРЕС”, состоящий из “ГОРОДА”, “УЛИЦЫ”, “ДОМА” и “КВАРТИРЫ”, и “ДАТА РОЖДЕНИЯ”, состоящая из “ЧИСЛА”, “МЕСЯЦА” и “ГОДА”. Используем в ИЛМ для обозначения составного свойства квадрат, из которого исходят линии, соединяющие его с обозначениями составляющих его элементов (рис. 2. 4).

В инфологической модели отображаются не отдельные экземпляры объектов, а классы объектов. Когда в ИЛМ изображено обозначение объекта, то ясно, что речь идет о классе объектов, обладающих описанными свойствами. Поэтому в инфологическую модель в большинстве случаев можно в явном виде не вводить еще и обозначение для класса объектов. Явное изображение класса объектов необходимо только в том случае, если в ПО для данного класса объектов фиксируются не только характеристики, относящиеся к отдельным объектам этого класса, но и какие-то интегральные характеристики, относящиеся ко всему классу в целом. Например, если для класса объектов “СОТРУДНИКИ ПРЕДПРИЯТИЯ” фиксируется не только возраст каждого из сотрудников, но и средний возраст всех сотрудников, то в инфологической модели необходимо отразить не только объект “СОТРУДНИК”, но и класс объектов “СОТРУДНИКИ”. Для отображения класса объектов можно использовать какое-то специфическое обозначение или такое же, которое используется для объектов (рис. 2. 5).



Рис. 2.5 Изображение класса объектов и интегральных характеристик класса.

Кроме связи между объектом и его свойствами, в инфологической модели фиксируются связи между объектами разных классов. Различают связи типа «один к одному» (1: 1), «один ко многим» (1: М), «многие к многим» (М: М). Иногда эти типы связей называются степенью связи.

Кроме степени связи в инфологической модели для характеристики связи между разными сущностями надо указывать так называемый “класс принадлежности”, который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности должен быть либо обязательным, либо необязательным.

Объясним сказанное на конкретных примерах. Как указывалось выше, инфологическая модель строится не для отдельного объекта, а отображает классы объектов и связи между ними. Соответствующая диаграмма, отображающая это, называется диаграммой ER-типа (такое название обусловлено тем, что по-английски слово “сущность” пишется “Entity ”, а связь-“Relationship ”). Однако иногда, кроме диаграмм ER-типа, используются диаграммы ER-экземпляров.

Предположим, что в инфологической модели отображается связь между двумя классами объектов: “СОТРУДНИК” и “ЯЗЫК ИНОСТРАННЫЙ”.

Предположим, что предметной областью является завод, некоторые сотрудники которого знают иностранный язык, но ни один из них не владеет более чем одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также что некоторые из сотрудников владеют одним и тем же иностранным языком (рис. 2. 6).

с1. .я1

с2. .я2

с3. .я3

с4. .я4

с5. .я5

с6. .я6

с7. .я7

Рис. 2.6 Диаграмма ER - экземпляров

В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 6, а диаграмма ER-типов-как на рис. 2. 7.

Рис. 2. 7. Диаграмма E - R типов

Предположим далее, что предметной областью является институт, а объект “ЛИЧНОСТЬ” отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто ни владеет более чем одним языком (рис. 2. 8). В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 8, а диаграмма ER-типов-как на рис. 2. 9.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


Как в первом, так и во втором рассмотренном случае между, сущностями наблюдается отношение М: 1. На диаграмме это отображено со стороны объекта “ЛИЧНОСТЬ” двойной стрелкой, а со стороны объекта “ЯЗЫК ИНОСТРАННЫЙ” - одинарной стрелкой на линии, изображающей связь между данными сущностями.

Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обоих сущностей, а во втором-для сущности “ЛИЧНОСТЬ” класс принадлежности является обязательным. На диаграмме (рис. 2. 9) это отображено точкой в прямоугольнике, соответствующем объекту “ЛИЧНОСТЬ”.

Пусть предметная область будет та же, что и в предыдущем случае, но имеют место ситуации, что некоторые абитуриенты знают несколько иностранных языков. В этом случае связь между объектами будет иметь тип М: М.

Для такой предметной области диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 10, а диаграмма ER-типов-как на рис. 2. 11.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


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

В этом случае связь между объектами будет М: М, и класс принадлежности обоих сущностей является обязательным.

(Пример можно было бы привести, но суть ясна).

Выше мы рассматривали объекты, не вникая в их сложность. На самом деле различают несколько разновидностей объектов.

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

Выделяют несколько разновидностей сложных объектов: составные объекты, обобщенные объекты и агрегированные объекты.

Составной объект соответствует отображению отношения “целое-часть”. Примерами составных объектов являются УЗЛЫ- ДЕТАЛИ, КЛАСС-УЧЕНИКИ и т. п.

Для отображения составных объектов в инфологической модели обычно не используются какие-либо специальные условные обозначения. Связь между составным и составляющими его объектами отображается так же, как это было описано выше. Причем характер связи тоже может быть разный: так, “ДЕТАЛИ” и “УЗЛЫ” связаны между собой отношением типа М: М, а “ГРУППА” и “СТУДЕНТЫ”-отношением 1: М.

Обобщенный объект отражает наличие связи “род-вид” между объектами предметной области. Например, объекты СТУДЕНТ, ШКОЛЬНИК, АСПИРАНТ, УЧАЩИЙСЯ ТЕХНИКУМА образуют обобщенный объект УЧАЩИЕСЯ. Объекты, составляющие обобщенный объект, называются его категориями.

Как “родовой” объект, так и “видовые” объекты могут обладать определенным набором свойств. Причем наблюдается так называемое наследование свойств, т. е. “видовой” объект обладает всеми теми свойствами, которыми обладает “родовой” объект, плюс свойствами, присущими только объектам этого вида.

Определение родо - видовых связей означает классификацию объектов предметной области по тем или иным признакам. Подклассы могут выделяться в инфологической модели в явном и неявном виде. В первом случае при графическом изображении вводится специальное обозначение для подкласса. На рис. 2. 14 изображен фрагмент инфологической модели, отражающий обобщенный объект “ЛИЧНОСТЬ” для высшего учебного заведения. Для него выделено несколько категорий: ПРЕПОДАВАТЕЛЬ, СТУДЕНТ, АСПИРАНТ. Для обозначения подкласса в схеме использовался треугольник.

Естественно, что классификация может быть многоуровневой. Так, в рассматриваемом примере обобщенный объект “ЛИЧНОСТЬ” может быть разбит на два подкласса: СОТРУДНИК и УЧАЩИЙСЯ. СОТРУДНИКИ, в свою очередь, могут быть классифицированы на ПРОФЕССОРСКО-ПРЕПОДАВАТЕЛЬСКИИ СОСТАВ, АДМИНИСТРАЦИЯ и т. д.

Личность



Рис. 2.14 Изображение обобщенного объекта


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

Рис. 2.15 Граф пересечений

Граф пересечений содержит дополнительную информацию о предметной области и не относится к классу ER-моделей.

Агрегированные объекты соответствуют обычно какому-либо процессу, в который оказываются “вовлеченными” другие объекты. Например, агрегированный объект “ПОСТАВКА” объединяет в себе объекты “ПОСТАВЩИК”, который поставляет продукцию, “ПОТРЕБИТЕЛЬ”, который получает эту продукцию, а также саму поставляемую “ПРОДУКЦИЮ”. Своеобразным объектом является “ДАТА ПОСТАВКИ”. Агрегированный объект может, так же как и простой объект, иметь характеризующие его свойства. В рассматриваемом примере таким свойством может быть размер поставки.

Агрегированные объекты обычно называются отглагольными существительными (например, поставлять-поставка, выпускать- выпуск, продавать-продажа и т. д.).



Рис. 2.16 Изображение агрегированного объекта

Для отображения агрегированного объекта в инфологической модели будем использовать следующие условные обозначения:

сам агрегированный объект будем изображать ромбом, рядом с которым указывается имя соответствующего объекта. Этот ромб необходимо связать с условными обозначениями тех объектов, которые образуют этот агрегированный объект. Свойства агрегированного объекта изображаются так же, как и для простого объекта. На рис. 2.16 изображен агрегированный объект “ПОСТАВКА ПРОДУКЦИИ”.

1. Основные понятия и термины к теме
“ИНФОРМАЦИОННАЯ МОДЕЛЬ – ОСНОВА ПОСТРОЕНИЯ
СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.

Каждой цивилизации приходится иметь дело с обработкой информации. С развитием экономики и ростом численности населения возрастает и объем взаимосвязанных данных, необходимых для решения коммерческих и административных задач.

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

@ Ядром информационной системы являются хранимые в ней данные . На любом предприятии данные различных отделов, как правило, пересекаются, то есть используются в нескольких подразделениях или вообще являются общими. Например, для целей управления часто нужна информация по всему предприятию. Заказ комплектующих невозможен без наличия информации о запасах. Хранящиеся в информационной системе данные должны быть легко доступны в том виде, в каком они нужны для конкретной производственной деятельности предприятия. При этом не имеет существенного значения способ хранения данных. Сегодня на предприятии мы можем встретить систему обработки данных традиционного типа, в которой служащий вручную помещает данные в скоросшиватель, и рядом с ней - современную систему с применением самой быстродействующей ЭВМ, сложнейшего оборудования и программного обеспечения. Несмотря на поразительную несхожесть, обе эти системы обязаны предоставлять достоверную информацию в определенное время, определенному лицу, в определенном месте и с ограниченными затратами.

Чтобы понять процесс построения информационной системы, необходимо знать ряд терминов, которые применяются при описании и представлении данных.

@ Предметной областью называется часть реальной системы, представляющая интерес для данного исследования.

При проектировании автоматизированных информационных систем предметная область отображается моделями данных нескольких уровней. Число используемых уровней зависит от сложности системы, но в любом случае включает логический и физический уровни. Предметная область может относиться к любому типу организации (например, банк, университет, больница или завод).

Необходимо различать полную предметную область (крупное производственное предприятие, склад, универмаг и т. д.) и организационную единицу этой предметной области. Организационная единица в свою очередь может представлять свою предметную область (например, цех по производству кузовов автомобильного завода или отдел обработки данных предприятия по производству ЭВМ). В данном случае цехи и отделы сами могут соответствовать определенным предметным областям.

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

@ Объектом называется элемент информационной системы, информацию о котором мы сохраняем. В реляционной теории баз данных объект называется сущностью.

Объект может быть реальным (например, человек, какой-либо предмет или населенный пункт) и абстрактным (например, событие, счет покупателя или изучаемый студентами курс). Так, в области продажи автомобилей примерами объектов могут служить МОДЕЛЬ АВТОМОБИЛЯ, КЛИЕНТ и СЧЕТ. На товарном складе - это ПОСТАВЩИК, ТОВАР, ОТПРАВЛЕНИЕ и т. д. Каждый объект обладает определенным набором свойств, которые запоминаются в информационной системе. При обработке данных часто приходится иметь дело с совокупностью однородных объектов, например таких, как служащие, и записывать информацию об одних и тех же свойствах для каждого из них.

@ Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств.

Таким образом, для объектов одного класса набор свойств будет одинаков, хотя значения этих свойств дл я каждого объекта, конечно, могут быть разными. Например, класс объектов МОДЕЛЬ свойств дл я каждого объекта, конечно, могут быть разными. Например, класс объектов МОДЕЛЬ АВТОМОБИЛЯ будет иметь одинаковый набор свойств, описывающих характеристики автомобилей, и каждая модель будет иметь различные значения этих характеристик.

Объекты и их свойства являются понятиями реального мира. В мире информации, существующем в представлении программиста, говорят об атрибутах объектов.

@ Атрибут - это информационное отображение свойств объекта. Каждый объект характеризуется рядом основных атрибутов.

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

Рис. 1.1. Три области представления данных.

@ Таблица - это некоторая регулярная структура, состоящая из конечного набора однотипных записей. В некоторых источниках таблица называется отношением.

Мы постараемся избегать последнего термина, так как с развитием реляционной теории “отношением” наряду с термином “связь” часто стали называть связи между таблицами. Каждая запись одной таблицы состоит из конечного (и одинакового!) числа полей , причем конкретное поле каждой записи одной таблицы может содержать данные только одного типа.

@ Значения данных представляют собой действительные данные, содержащиеся в каждом элементе данных.

Элемент данных “НАИМЕНОВАНИЕ МОДЕЛИ” может принимать такие значения, как “Voyager"96 3.8 Grand ”, “Continental 4.6” или “Crown Victoria 4.6” . В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными или описательными. Информацию о некоторой предметной области можно представить с помощью нескольких объектов, каждый из которых описывается несколькими элементами данных. Принимаемые элементами данных значения называются данными .

@ Единичный набор принимаемых элементами данных значений называется экземпляром объекта . Объекты связываются между собой определенным образом.

@ Соответствующая модель объектов с составляющими их элементами данных и взаимосвязями называется концептуальной моделью предметной области. Концептуальная модель дает представление о потоке данных в предметной области.

Некоторые элементы данных обладают важным для построения информационной модели свойством. Если известно значение, которое принимает такой элемент данных объекта, мы можем идентифицировать значения, которые принимают другие элементы данных этого же объекта. Например, зная уникальный номер модели автомобиля - 7, мы можем определить, что это “Voyager" 96” и что рабочий объем двигателя у данной модели “ 3778” .

@ Ключевым элементом данных называется такой элемент, по которому можно определить значения других элементов данных.

Однозначно идентифицировать объект могут два и более элемента данных. В этом случае их называют “кандидатами” в ключевые элементы данных. Вопрос о том, какой из кандидатов использовать для доступа к объекту, решается пользователем или разработчиком системы. Выбирать ключевые элементы данных следует тщательно, поскольку правильный выбор способствует созданию верной концептуальной модели данных.

@ Первичный ключ - это атрибут (или группа атрибутов), которые единственным образом идентифицируют каждую строку в таблице.

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

@ Альтернативный ключ - это атрибут (или группа атрибутов), несовпадающий с первичным ключом и уникально идентифицирующий экземпляр объекта.

Например, для объекта “СЛУЖАЩИЙ”, который имеет атрибуты “ИДЕНТИФИКАТОР СЛУЖАЩЕГО”, “ФАМИЛИЯ”, “ИМЯ” и “ОТЧЕСТВО”, группа атрибутов “ФАМИЛИЯ”, “ИМЯ”, “ОТЧЕСТВО” может являться альтернативным ключом по отношению к атрибуту “ИДЕНТИФИКАТОР СЛУЖАЩЕГО” (в предположении, что на предприятии не работают полные тезки).

@ Внешний ключ - это атрибут таблицы, являющийся первичным ключом другой таблицы.

Например, атрибут "НОМЕР МОДЕЛИ" объекта АВТОМОБИЛЬ может быть внешним ключом по отношению к объекту "MODEL" (Модель автомобиля).

@ Запись данных - это совокупность значений связанных элементов данных.

На рис. 1.2. такими элементами данных являются уникальный ключ и наименование модели, рабочий объем, количество цилиндров и мощность двигателя. Например, одна из записей –“7 Voyager’96 3.8 Grand 3778 6 164,0” . Эта строка представляет собой значения, которые принимают элементы данных объекта МОДЕЛЬ АВТОМОБИЛЯ (MODEL). Записи хранятся на некотором носителе, в качестве которого может выступать человеческий мозг, лист бумаги, память ЭВМ, внешнее запоминающее устройство и т. д.

MODEL

УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ

Наименование модели

Рабочий объем (куб. см.)

Мощность (л.сил)

GMC Jimmy 4.3

7

Voyager’96 3.8 Grand

3778

164,0

Stealth 3.0

348 Spider 3.4

Рис.1.2. Записи данных объекта MODEL.

Каждая запись одной таблицы состоит из конечного (и одинакового!) числа полей , причем конкретное поле каждой записи одной таблицы может содержать данные только одного типа

@ Тип данных характеризует вид хранящихся данных.

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

@ Связь - это функциональная зависимость между сущностями.

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

Связи могу быть представлены пятью основными характеристиками:

Тип связи (идентифицирующая, не идентифицирующая)

Родительская сущность;

Дочерняя (зависимая) сущность;

Мощность связи (cordiality );

Допустимость пустых (null ) значений.

Связь называется идентифицирующей , если экземпляр дочерней сущности идентифицируется (однозначно определяется) через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой .

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

Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Для любой связи, кроме неспецифической, эта связь записывается как 1:n .

@ Хранимые процедуры - это приложение (программа), объединяющее запросы и процедурную логику (операторы присваивания, логического ветвления и т. д.) и хранящееся в базе данных.

Хранимые процедуры позволяют содержать вместе с базой данных достаточно сложные программы, выполняющие большой объем работы без передачи данных по сети и взаимодействия с клиентом. Как правило, программы, записываемые в хранимых процедурах, связаны с обработкой данных. Тем самым база данных может представлять собой функционально самостоятельный уровень приложения, который может взаимодействовать с другими уровнями для получения запросов или обновления данных.

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

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

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

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

@ Нормализация отношений - это процесс построения оптимальной структуры таблиц и связей в реляционной БД.

В процессе нормализации элементы данных группируются в таблицы, представляющие объекты и их взаимосвязи. Теория нормализации основана на том, что определенный набор таблиц обладает лучшими свойствами при включении, модификации и удалении данных, чем все остальные наборы таблиц, с помощью которых могут быть представлены те же данные. Введение нормализации отношений при разработке информационной модели обеспечивает минимальный объем физической, то есть записанной на каком-либо носителе, БД и ее максимальное быстродействие, что впрямую отражается на качестве функционирования информационной системы. Нормализация информационной модели выполняется в несколько этапов (1-ая, 2-ая и 3-я нормальные формы).

@ Словарь данных - это централизованное хранилище сведений об объектах, составляющих их элементах данных, взаимосвязях между объектами, их источниках, значениях, использовании и форматах представления.

@ Обеспечением целостности базы данных называется система мер, направленных на поддержание правильности данных в базе данных в любой момент времени.

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

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

Система автоматизированной обработки данных основывается на использовании определенной модели данных или информационной модели. Модель данных отражает взаимосвязи между объектами.

2. Последовательность создания информационной модели

Процесс создания информационной модели начинается с определения концептуальных требований ряда пользователей (рис. 2.1). Концептуальные требования могут определяться и для некоторых задач (приложений), которые в ближайшее время реализовывать не планируется. Это может несколько повысить трудоемкость работы, однако поможет наиболее полно учесть все нюансы функциональности, требуемой для разрабатываемой системы, и снизит вероятность ее переделки в дальнейшем. Требования отдельных пользователей интегрируются в едином “обобщенном представлении”. Последнее называют концептуальной моделью.

@ Концептуальная модель представляет объекты и их взаимосвязи без указания способов их физического хранения.

Таким образом, концептуальная модель является, по существу, моделью предметной области. При проектировании концептуальной модели все усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на анализе решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области и выявляемых в результате анализа данных. Здесь имеются в виду данные, используемые как в уже разработанных прикладных программах, так и в тех, которые только будут реализованы.

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

@ Логическая модель отражает логические связи между элементами данных вне зависимости от их содержания и среде хранения.

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

@ Физическая модель , определяющая размещение данных, методы доступа и технику индексирования, называется внутренней моделью системы.

С точки зрения прикладного программирования независимость данных определяется не техникой программирования, а его дисциплиной. Например, для того чтобы при любом изменении системы избежать перекомпиляции приложения, рекомендуется не определять константы (постоянные значения данных) в программе. Лучшее решение состоит в передаче программе значений в качестве параметров.

Все актуальные требования предметной области и адекватные им "скрытые" требования на стадии проектирования должны найти свое отражение вконцептуальной модели. Конечно, нельзя предусмотреть все возможные варианты использования и изменения базы данных. Но в большинстве предметных областей такие основные данные, как объекты и их взаимосвязи, относительно стабильны. Меняются только информационные требования, то есть способы использования данных для получения информации.

Степень независимости данных определяется тщательностью проектирования базы данных. Всесторонний анализ объектов предметной области и их взаимосвязей минимизирует влияние изменения требований к данным в одной программ на другие программы. В этом и состоит всеобъемлющая независимость данных.

3. Взаимосвязи в модели

Взаимосвязь выражает отображение или связь между двумя множествами данных. Различают взаимосвязи типа «один к одному », «один ко многим » и «многие ко многим ». В рассматриваемой задаче по автоматизации управления работой дилерапопродаже легковых автомобилей, если клиент производит заказ на покупку автомобиля впервые, осуществляется первичная регистрация его данных и сведений о сделанном заказе. Если же клиент производит заказ повторно, осуществляется регистрация только данного заказа. Вне зависимости от того, сколько раз данный клиент производил заказы, он имеет уникальный иденти­фикационный номер (уникальный ключ клиента). Информация о каждом клиенте включает наименование клиента, адрес, телефон, факс, фамилию, имя, отчество, признак юридического лица и примечание. Таким образом, атрибутами объекта КЛИЕНТ являются «УНИКАЛЬНЫЙ КЛЮЧ КЛИЕНТА», «НАИМЕНОВАНИЕ КЛИЕНТА», «АДРЕС КЛИЕНТА» и т. д. Следующий представляющий для нас интерес объект - МОДЕЛЬ АВТОМОБИЛЯ. Этот объект имеет атрибуты «УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ», «НАИМЕНОВАНИЕ МОДЕЛИ» и т.д. Третий рассматриваемый объект - ЗАКАЗ. Его атрибутами являются «НОМЕР ЗАКАЗА», «КЛЮЧ КЛИЕНТА» и «КЛЮЧ МОДЕЛИ». И четвертый рассматриваемый объект - ПРОДАВЕЦ. Его атрибутами являются «УНИКАЛЬНЫЙ КЛЮЧ ПРОДАВЦА», «ИМЯ ПРОДАВЦА», «ФАМИЛИЯ» и «ОТЧЕСТВО».

Взаимосвязь «один к одному» (между двумя типами объектов)

Мысленно вернемся к временам планово-распределительной экономики. Допустим, в определенный момент времени один клиент может сделать только один заказ. В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается взаимосвязь «один к одному », обозначаемая одинарными стрелками, как это показано на рис. 2.2,а.

Рис. 2.2. Взаимосвязи между двумя объектами: а) «один к одному»; б) «один ко многим»; в) «многие ко многим»

Рис. 2.3. Взаимосвязь между данными при отношении «один к одному».

Взаимосвязь «один ко многим» (между двумя типами объектов).

В определенный момент времени один клиент может стать обладателем несколь­ких моделей автомобилей, при этом несколько клиентов не могут являться обладателями одного автомобиля. Взаимосвязь «один ко многим» можно обоз­начить с помощью одинарной стрелки в направлении к «одному» и двойной стрелки в направлении ко «многим», как это показано на рис. 2.2,б.

В этом случае одной записи данных первого объекта (его часто называют родительским или основным) будет соответствовать несколько записей второго объекта (дочернего или подчиненного). Взаимосвязь «один ко многим» очень распространена при разработке реляционных баз данных. В качестве родительского объекта часто выступает справочник, а в дочернем хранятся уникальные ключи для доступа к записям справочника. В нашем примере в качестве такого справочника можно представить объект КЛИЕНТ, в котором хранятся сведения о всех клиентах. При обращении к записи для определенного клиента нам доступен список всех покупок, которые он сделал и сведения о которых хранятся в объекте МОДЕЛЬ АВТОМОБИЛЯ, как это показано на рис. 2.4. В случае, если в дочернем объекте будут какие-то записи, для которых нет соответствующих записей в объекте КЛИЕНТ, то мы их не увидим. В этом случае говорят, что объект содержит потерянные (одинокие) записи. Это не допустимо, и в дальнейшем вы узнаете, как избегать подобных ситуаций.

Рис. 2.4. Взаимосвязь между данными при отношении «один ко многими».

Если мы будем просматривать записи объекта МОДЕЛЬ АВТОМОБИЛЯ, то в объекте КЛИЕНТ мы сможем получить данные о клиенте, купившем данный автомобиль (см. рис. 2.4). Обратите внимание, что для потерянных записей сведений о клиенте мы не получим.

Взаимосвязь «многие ко многими (между двумя типами объектов).

В рассматриваемом примере каждый продавец может обслуживать нескольких клиентов. С другой стороны, приобретая автомобили в различное время, каждый клиент вполне может быть обслужен различными продавцами. Между объектами КЛИЕНТ и ПРОДАВЕЦ существует взаимосвязь «многие ко многим». Такая взаимосвязь обозначается двойными стрелками, как это показано на рис. 2.2, в.

На рис. 2.5 приведена схема, по которой в этом случае будут взаимосвязаны данные. При просмотре данных в объекте КЛИЕНТ мы сможем узнать, какие продавцы обслуживали определенного клиента. Однако в объекте ПРОДАВЕЦ в этом случае нам придется завести несколько записей для каждого продавца. Каждая строчка будет соответствовать каждому обслуживанию продавцом кли­ента. При таком подходе мы столкнемся с серьезными проблемами. Например, не сможем ввести в объект ПРОДАВЕЦ уникальный ключ для каждого продав­ца, так как неизбежно один продавец будет обслуживать нескольких клиентов, и в этом случае у нас появится несколько записей для одного и того же продавца.

Рис. 2.5. Взаимосвязь между данными при отношении «многие ко многими

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

Рис. 2.6. Отображение взаимосвязи между данными при отношении «многие ко многим» с помощью промежуточного объекта

Взаимосвязи между объектами являются частью концептуальной модели и должны отображаться в базе данных. Наряду с взаимосвязями между объектами существуют взаимосвязи между атрибутами объекта. Здесь также различают взаимосвязи типа «один к одному», «один ко многим» и «многие ко многим».

Взаимосвязь «один к одному» (между двумя атрибутами)

Мы предполагаем, что ключ (номер) клиента является его уникальным идентификатором, то есть он не изменяетсяпри последующих поступлениях заказов от данного клиента. Если наряду с номером клиента в базе данных хранится и другой его уникальный идентификатор (например, номер паспорта),то между такими двумя уникальными идентификаторами существует взаимосвязь «один к одному». На рис. 2.7,а эта взаимосвязь обозначается одинарными стрелками .

Взаимосвязь «один ко многим» (между двумя атрибутами)

Имя клиента и его номер существуют совместно. Клиентов с одинаковыми именами может быть много, но все они имеют различные номера. Каждому клиенту присваивается уникальный номер. Это означает, что данному номеру клиента соответствует только одно имя. Взаимосвязь «один ко многим» обозначается одинарной стрелкой в направлении к «одному» и двойной стрелкой в направлении ко «многим» (рис.2.7, б ).

Взаимосвязь «многие ко многим» (между двумя атрибутами)

Несколько клиентов с одинаковыми именами могли быть обслужены несколькими продавцами. Несколько продавцов с одинаковыми именами могли получить заказы от нескольких клиентов. Между атрибутами «имя клиента» и «имя продавца» существует взаимосвязь «многие ко многим». Мы обозначаем эту взаимосвязь двойными стрелками (рис. 2.7,в ).

а)

б)

в)

Рис. 2.7. Взаимосвязи между двумя атрибутами:
а) взаимосвязь «один к одному»; б) взаимосвязь «один ко многим
» в) взаимосвязь «многие ко многим »

Типы моделей данных

Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.

Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, - подчиненными (рис. 2.8). Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порожденного (подчиненног o ) типа объекта может быть только один исходный (главный) тип объекта. На рис. 2.8 узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и т. д. уровнях.

Рис. 2.8. Схема иерархической модели данных.

В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным и подчиненным (в сетевой модели главный объект обозначается термином “владелец набора”, а подчиненный – термином “член набора”). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей. Схема сетевой модели приведена на рис.2.9.

Рис.2.9. Схема сетевой модели данных.

В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц, как это показано на рис. 2.10. Взаимосвязи также рассматриваются в качестве объектов. Каждая таблица представляет один объект и состоит из строк и столбцов. В реляционной базе данных каждая таблица должна иметь первичный ключ (ключевой элемент) – поле или комбинацию полей, которые единственным образом идентифицируют каждую строку в таблице. Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение в СУБД для персональных компьютеров.

Рис. 2.10. Схема реляционной модели данных.

Одно – однозначные связи

Одно – однозначные связи имеют место, когда каждому экземпляру первого объекта (А) соответствует только один экземпляр второго объекта (В)и наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А). Следует заметить, что такие объекты легко могут быть объединены в один, структура которого образуется объединением реквизитов обоих исходных объектов, а ключевым реквизитом может быть выбран любой из альтернативных ключей, т.е. ключей исходных объектов. Графическое изображение одно – однозначных связей являются группа – староста, фирма – расчетный счет в баке и т.п.

Рис.1 Графическое изображение одно – однозначных отношений объектов

Одно – многозначные связи (1:М)

Одно – многозначные связи (1:М) – это такие связи, когда экземпляру одного объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляра второго объекта (В) может соответствовать только один экземпляр первого объекта (А).

Рис.2 Графическое изображение одно – многозначный связи отношений объектов.

В такой связи объект А является главным объектом, а объект В – подчиненным, т.е. имеет место иерархическая подчиненность объекта В объекту А. Примером одно – многозначных связей являются подразделения – сотрудники, кафедра – преподаватель, группа студент и т.п.

Много – многозначные связи (M:N)

Много – многозначные связи (M:N) – это когда, каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) может соответствовать тоже несколько экземпляров первого объекта (А).

Рис.3 Преобразование связи типа M:N через объект – связку

Объект – связка должен иметь идентификатор, образованный из идентификаторов исходных объектов Ка и Кб.
Примером много – многозначных связей является связь поставщики – товары, если один поставщик поставляет разные наименования товаров, а товар одного наименования поставляется несколькими поставщиками.

Определение связей между информационными объектами

Рассмотрим определение связей между информационными объектами и тип отношений, которыми они характеризуются, для предметной области Учебный процесс .

Связи между объектами ГРУППА - СТУДЕНТ характеризуются одно – многозначными отношениями (1:М), поскольку одна группа включает много студентов, а один студент входит только в одну группу. Связь между ними осуществляется по номеру группы, который является уникальным идентификатором главного объекта ГРУППА входит в составной идентификатор объекта СТУДЕНТ (см.табл.1)

Аналогично устанавливается связь между объектами КАФЕДРА ПРЕПОДАВАТЕЛЬ , которые также находятся в одно – многозначных отношениях. Связь между ними осуществляются по уникальному ключу главного объекта КАФЕДРА – коду кафедры, который в подчиненном объекте ПРЕПОДАВАТЕЛЬ является описательным.

Таблица 1. Объекты справочной информации о студентах, группах и предметах

Таблица 2. Группировка реквизитов по информационным объектам документа Список преподавателей кафедры

В таблице приняты обозначения для ключа: П – простой, У – уникальный.

В каждой группе в течение семестра проводятся занятия по разным предметам (объект ИЗУЧЕНИЕ ). С другой стороны, каждое занятие определенно для каждой группы. Поэтому имеет место связь типа один – ко – многим между объектами ПРЕДМЕТ - ИЗУЧЕНИЕ .

По каждому предмету проводится множество занятий в различных группах разными преподавателями. С другой стороны, каждое занятие проводится по конкретному предмету, что определяет отношения типа один – ко – многим между объектами ПРЕДМЕТ - ИЗУЧЕНИЕ . Аналогично определяются отношения типа один – ко – многим между объектами ПРЕПОДАВАТЕЛЬ – ИЗУЧЕНИЕ .
Объект ИЗУЧЕНИЕ фактически играет роль объекта связки в много – многозначных отношениях объектов.

Рис.4 Много – многозначные связи информационных объектов


Рис.5 Информационно – логическая модель предметной области Учебный процесс

Объект УСПЕВАЕМОСТЬ содержит данные об успеваемости (оценку) конкретного студента по конкретному занятию. Поэтому он является связанным с объектом СТУДЕНТ и объектом ИЗУЧЕНИЕ . Один студент имеет оценки по нескольким занятиям, но каждая оценка всегда относится к одному конкретному студенту. Это означает, объект УСПЕВАЕМОСТЬ является подчиненным и находится в одно – многозначных отношениях с объектом СТУДНТ . Объект УСПЕВАЕМОСТЬ , а также является подчиненным и находится в одно – многозначных отношениях с объектом ИЗУЧЕНИЕ. Объект УСПЕВАЕМОСТЬ выполняет роль объект – связки много – многозначных отношениях объектов СТУДЕНТ и ИЗУЧЕНИЕ . Много – многозначные отношения между этими объектами определяются тем, что одному студенту соответствует много занятий, отображаемых объектом ИЗУЧЕНИЕ , а одно занятие проводится со многими студентами.

В табл.3 перечислены все одно – многозначные связи между объектами, указаны ключи, по которым должны устанавливаться связи, и определены главные и подчиненные информационные объекты в этих связях.

Таблица 3 Связи информационных объектов

Информационно – логическая модель предметной области Учебный процесс

Информационно – логическая модель приведена в каноническом виде и объекты в ней размещены по уровням. Уровень остальных объектов определяется наиболее длинным путем к объекту от нулевого уровня. Такое размещение объектов дает представление об их иерархической подчиненности, делает модель более наглядной и облегчает понимание одно – многозначных отношений между объектами.

Логическая структура реляционной базы данных

Логическая структура реляционной базы данных Access является адекватным отображением полученной информационно – логической модели, не требующим дополнительных преобразований. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей. Структура реляционной таблицы определяется реквизитным составом соответствующего информационного объекта, где каждый столбец (поле) соответствует одному из реквизитов объекта. Ключевые реквизиты объекта образуют уникальный ключ реляционной таблицы. Для каждого столбца задается тип, размер данных и другие свойства. Строки (записи) таблицы соответствуют экземплярам объекта и формируются при загрузке таблиц.

Связи между объектами модели данных реализуются одинаковыми реквизитами – ключами связи в соответствующих таблицах. При этом ключом связи всегда является уникальный ключ главной таблицы. Ключом связи в подчиненной таблице является либо некоторая часть уникального ключа в ней, либо поле, не входящее в состав первичного ключа (например, код кафедры в таблице ПРЕПОДАВАТЕЛЬ ). Ключ связи в подчиненной таблице называется внешним ключом . В Access может быть создана схема данных , наглядно отображающая логическую структуру базы данных. Определение одно – многозначных связей в этой схеме должно осуществляться в соответствии с построенной моделью данных. Внешний вид схемы данных практически совпадает с графическим представлением информационно – логической модели. Для модели данных, построенной в рассмотренном примере, логическая структура базы данных в виде схемы данных Access приведена на рис.2.7.

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

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

При выборе информационных объектов необходимо ответить на ряд вопросов:

1. На какие таблицы можно разбить данные, подлежащие хранению в БД?

2. Какое имя можно присвоить каждой таблице?

3. Какие наиболее интересные характеристики (с точки зрения пользователя) можно выделить?

4. Какие имена можно присвоить выбранным характеристикам?

В нашем случае предполагается завести следующие таблицы (рис 4):


Выделим связи между информационными объектами (рис.5)



В ходе этого процесса необходимо ответить на следующие вопросы:

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

3. Каковы возможные типы связей, которые могут быть использованы впоследствии?

Попытка задать ограничения на объекты, их характеристики и связи приводит к необходимости ответа на следующие вопросы:

1. Какова область значений для числовых характеристик?

2. Каковы функциональные зависимости между характеристиками одного информационного объекта?

3. Какой тип отображения соответствует каждому типу связей?

При проектировании БД существуют взаимосвязи между информационными объектами трех типов: «один к одному», «один ко многим», «многие ко многим» (рис.6).


Например:

Построение концептуальной модели

В простых случаях для построения концептуальной схемы используют традиционные методы агрегации и обобщения. При агрегации объединяются информационные объекты (элементы данных) в один в соответствии с семантическими связями между объектами. Например, урок истории в 10 «а» классе проводится в кабинете №7, начало в 9-30. Методом агрегации создаем информационный объект (сущность) РАСПИСАНИЕ со следующими атрибутами: «класс», «предмет», «кабинет», «время». При обобщении информационные объекты (элементы данных) объединяются в родовой объект (рис.7):

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

Модели «сущность-связь», дающие возможность представлять структуру и ограничения реального мира, а затем трансформировать их в соответствии с возможностями промышленных СУБД, являются весьма распространенными.

Под сущностью понимают основное содержание того явления, процесса или объекта, о котором собирают информацию для БД. В качестве сущности могут выступать место, вещь, личность, явление и т.д. При этом различают тип сущности и экземпляр сущности. Под типом сущности обычно понимают набор однородных объектов, выступающих как целое. Понятие «экземпляр сущности» относится к конкретному предмету. Например:

Тип сущности - ученик

Экземпляр сущности - Иванов, Петров, Сидоров и др.

В нашем примере Школа, Класс, Предметы, Ученики, Учителя, Оценки – сущности. Проанализируем связи между сущностями (рис.8).

Теперь можно перейти к проектированию информационной (концептуальной) схемы БД (атрибуты сущностей на диаграмме не показаны) (рис.9).


принадлежит Школа
Класс Учится Ученик
работает изучает
Учитель Преподает Предмет
экзамен
Ведомость

Логическое проектирование

Логическое проектирование представляет собой необходимый этап при создании БД. Основной задачей логического проектирования является разработка логической схемы, ориентированной на выбранную систему управления базами данных. Процесс логического проектирования состоит из следующих этапов:

1. Выбор конкретной СУБД;

2. Отображение концептуальной схемы на логическую схему;

3. Выбор языка манипулирования данными.

Выбор конкретной СУБД

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

Конструирование баз данных на основе реляционной модели имеет ряд важных преимуществ перед другими моделями

· Независимость логической структуры от физического и пользовательского представления.

· Гибкость структуры базы данных – конструктивные решения не ограничивают возможности разработчика БД выполнять в будущем самые разнообразные запросы.

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

| Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Табличные модели

Урок 12
Табличные модели

Табличные модели





Изучаемые вопросы:

Таблицы типа «объект-свойство».
- Таблица типа «объект-объект».
- Двоичные матрицы.

Таблицы типа «объект-свойство»

Еще одной распространенной формой информационной модели является прямоугольная таблица , состоящая из строк и столбцов. Использование таблиц настолько привычно, что для их понимания обычно не требуется дополнительных объяснений.

В качестве примера рассмотрим таблицу 2.1.

При составлении таблицы в нее включается лишь та информация, которая интересует пользователя. Например, кроме тех сведений о книгах, которые включены в таблицу 2.1, существуют и другие: издательство, количество страниц, стоимость. Однако для составителя таблицы 2.1 было достаточно сведений об авторе, названии и годе издания книги (столбцы «Автор», «Название», «Год») и информации, позволяющей найти книгу на полках книжных стеллажей (столбец «Полка»). Предполагается, что все полки пронумерованы и, кроме того, каждой книге присвоен свой инвентарный номер (столбец «Номер»).

Таблица 2.1 - это информационная модель книжного фонда домашней библиотеки.

Таблица может отражать некоторый процесс, происходящий во времени (табл. 2.2).

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

Таблицы 2.1 и 2.2 относятся к наиболее часто используемому типу таблиц. Их называют таблицами типа «объект-свойство» .

В одной строке такой таблицы содержится информация об одном объекте (книга в библиотеке или состояние погоды в 12-00 в данный день). Столбцы - отдельные характеристики (свойства) объектов.

Конечно, строки и столбцы в таблицах 2.1 и 2.2 можно поменять местами, повернув их на 90°. Иногда так и делают. Тогда строки будут соответствовать свойствам, а столбцы - объектам. Но чаще всего таблицы строят так, чтобы строк в них было больше, чем столбцов. Как правило, объектов больше, чем свойств.