КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Информационная модель данных, ее состав (концептуальная, логическая и физическая модели)
Каждая информационная система в зависимости от ее назначения имеет дело с той или иной частью конкретного мира, которую принято называть предметной областью информационной системы. Анализ предметной области является необходимым начальным этапом разработки любой информационной системы. Именно на этом этапе определяются информационные потребности всей совокупности пользователей будущей системы, которые, в свою очередь, предопределяют содержание ее базы данных. Предметная область данной информационной системы рассматривается прежде всего как некоторая совокупность реальных объектов, которые представляют интерес для ее пользователей. Примерами объектов предметной области могут служить персональные ЭВМ, программные продукты, их пользователи. Каждый из них обладает определенным набором свойств (атрибутов). Так, компьютер характеризуется названием фирмы-производителя, идентификатором модели, типом микропроцессора, объемом оперативной и внешней памяти, типом графической карты и т. д. Информационный объект — это описание некоторой сущности предметной области — реального объекта, процесса, явления или события. Информационный объект (сущность) образуется совокупностью логически взаимосвязанных атрибутов (свойств), представляющих качественные и количественные характеристики объекта (сущности). Между объектами предметной области могут существовать связи, имеющие различный содержательный смысл. Эти связи могут быть обязательными или факультативными. Если вновь порожденный объект оказывается по необходимости связанным с каким-либо объектом предметной области, то между этими двумя объектами существует обязательная связь. В противном случае связь является факультативной (необязательной). Обязательная связь «ЗАМЕЩАЕТ» существует, например, между двумя объектами СОТРУДНИК и ДОЛЖНОСТЬ в предметной области кадровой информационной системы. Каждый принимаемый в организацию сотрудник зачисляется на какую-либо должность и не может быть сотрудника, не замещающего какой-либо Должности. В то же время связь «ЗАМЕЩАЕТСЯ» между типами объектов СОТРУДНИК и ДОЛЖНОСТЬ является факультативной, поскольку могут существовать вакантные должности. Совокупность объектов предметной области и связей между ними характеризует (типовую) структуру предметной области. Множество объектов предметной области, значения атрибутов объектов и связи между ними могут изменяться во времени. Изменения могут сводиться к появлению новых или исключению из рассмотрения некоторых существующих объектов в предметной области, установлению новых или разрушению существующих связей между ними. Поэтому с каждым моментом времени можно сопоставить некоторое состояние предметной области. Информационно-логическая модель (ИЛМ) — совокупность информационных объектов (сущностей) предметной области и связей между ними. Процесс создания информационной модели начинается с определения концептуальных требований будущих пользователей БД. Требования отдельных пользователей интегрируются в едином «обобщенном представлении», которое называют концептуальной моделью данной предметной области (рис. 1.1). Концептуальная модель отображает предметную область в виде взаимосвязанных объектов без указания способов их физического хранения. Концептуальная модель представляет интегрированные концептуальные требования всех пользователей к базе данных данной предметной области. При этом усилия разработчика должны быть направлены в основном на структуризацию данных, принадлежащих будущим пользователям БД, и выявление взаимосвязей между ними. Возможно, что отраженные в концептуальной модели взаимосвязи между объектами окажутся впоследствии нереализуемыми средствами выбранной СУБД. Это потребует изменения концептуальной модели. Версия концептуальной модели, которая может быть реализована конкретной СУБД, называется логической моделью. Логическая модель отражает логические связи между атрибутами объектов вне зависимости от их содержания и среды хранения и может быть реляционной, иерархической или сетевой. Таким образом, логическая модель отображает логические связи между информационными данными в данной концептуальной модели. Различным пользователям в информационной модели соответствуют различные подмножества ее логической модели, которые называются внешними моделями пользователей. Таким образом, внешняя модель пользователя представляет собой отображение концептуальных требований этого пользователя в логической модели и соответствует тем представлениям, которые пользователь получает о предметной области на основе логической модели. Следовательно, насколько хорошо спроектирована внешняя модель, настолько полно и точно информационная модель отображает предметную область и настолько полно и точно работает автоматизированная система управления этой предметной областью. Логическая модель отображается в физическую память, которая может быть построена на электронных, магнитных, оптических, биологических или других принципах. Внутренняя модель предметной области определяет размещение данных, методы доступа и технику индексирования в данной логической модели и иначе называется физической моделью. Информационные данные любого пользователя в БД должны быть независимы от всех других пользователей, т. е. не должны оказывать влияния на существующие внешние модели. Это первый уровень независимости данных. С другой стороны, внешние модели пользователей никак не связаны с типом физической памяти, в которой будут храниться данные, и с физическими методами доступа к этим данным. Это положение отражает второй уровень независимости данных.
Три типа логических моделей баз данных: иерархическая, сетевая, реляционная Ядром любой базы данных является модель данных. Модель данных — совокупность структур данных и операций их обработки. По способу установления связей между данными различают иерархическую, сетевую и реляционную модели. Иерархическая модель позволяет строить базы данных с древовидной структурой. В них каждый узел содержит свой тип данных (сущность). На верхнем уровне дерева в этой модели имеется один узел — «корень», на следующем уровне располагаются узлы, связанные с этим корнем, затем узлы, связанные с узлами предыдущего уровня и т. д., причем каждый узел может иметь только одного предка (рис. 1.2). Поиск данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня на другой пока не будет достигнут искомый уровень. Перемещения по системе от одной записи к другой осуществляются с помощью ссылок. Основные достоинства иерархической модели — простота описания иерархических структур реального мира и быстрое выполнение запросов, соответствующих структуре данных, однако, они часто содержат избыточные данные. Кроме того, не всегда удобно каждый раз начинать поиск нужных данных с корня, а другого способа перемещения по базе в иерархических структурах нет. Указанный недостаток снят в сетевой модели, где, по крайней мере, теоретически возможны связи «всех информационных объектов со всеми». В примере учебного заведения на рис. 1.3 каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей. Поскольку на практике это, естественно, невозможно, приходится прибегать к некоторым ограничениям. Использование иерархической и сетевой моделей ускоряет доступ к информации в базе данных. Но поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и основной памяти ЭВМ. Недостаток основной памяти, конечно, снижает скорость обработки данных. Кроме того, для таких моделей характерна сложность реализации системы управления базами данных (СУБД). Реляционная модель (от англ. relation — отношение) была разработана в начале 70-х годов Коддом. Простота и гибкость модели привлекли к ней внимание разработчиков. В 80-х годах она получила широкое распространение, и реляционные СУБД оказались промышленным стандартом. Модель опирается на систему понятий реляционной алгебры, важнейшие из которых: таблица, строка, столбец, отношение и первичный ключ, а все операции сводятся к манипуляциям с таблицами. В реляционной модели информация представляется в виде прямоугольных таблиц. Каждая таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает объект реального мира — сущность, а каждая ее строка (запись) отражает один конкретный экземпляр объекта — экземпляр сущности. Каждый столбец таблицы имеет уникальное для своей таблицы имя. Столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. Таблица не может иметь менее одного столбца. В отличие от столбцов строки не имеют имен, порядок их следования в таблице не определен, а количество логически не ограничено. Так как строки в таблице не упорядочены, невозможно выбрать строку по ее позиции. Хотя в файле у каждой строки имеется номер, он не характеризует строку. Его значение изменяется при удалении строк из таблицы. Логически среди строк не существует «первой» и «последней». Реляционные системы исключили необходимость сложной навигации, поскольку данные представлены в них не в виде одного файла, а независимыми наборами, и для отбора данных используются операции реляционной алгебры — прикладной теории множеств. В каждой таблице реляционной модели должен быть столбец или совокупность столбцов, значения которых однозначно идентифицируют каждую строку таблицы. Этот столбец или их совокупность и называется первичным ключом таблицы (рис. 1.4). Если таблица удовлетворяет требованию уникальности первичного ключа, она называется отношением. В реляционной модели все таблицы должны быть преобразованы в отношения. Отношения реляционной модели связаны между собой. Связи поддерживаются внешними ключами. Внешний ключ — это столбец (совокупность столбцов), значение которого однозначно характеризует значение первичного ключа другого отношения (таблицы). Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором та же совокупность столбцов является первичным ключом. В приведенном примере на рис. 1.4 отношение «СОТРУДНИК» ссылается на отношение «ОТДЕЛ» через название отдела. Схема реляционной таблицы (отношения) представляет собой совокупность имен полей, образующих запись таблицы: НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2,..., Поле п). Например, для таблиц на рис. 1.4 имеем следующие схемы таблиц: СОТРУДНИК (№ пропуска, Фамилия, Должность, Название отдела, Телефон); ОТДЕЛ {Название отдела, Расположение отдела, Назначение отдела). Курсивом в схемах таблиц показаны первичные ключи. Объектно-ориентированная модель баз начала разрабатываться в связи с появлением объектно-ориентированных языков программирования. Появление таких баз приходится на 90-е годы прошлого века. Такого рода базы хранят методы классов, а иногда и постоянные объекты классов, что позволяет осуществлять беспрепятственную интеграцию межу данными и их обработкой в приложениях. Доминирование реляционной модели в современных СУБД определяется: 1) наличием развитой теории (реляционной алгебры); 2) наличием аппарата сведения других моделей данных к реляционной модели; 3) наличием специальных средств ускоренного доступа к информации; 4)наличием стандартизированного высокоуровневого языка запросов к БД, позволяющего манипулировать ими без знания конкретной физической организации БД во внешней памяти. Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко многим» На практике часто используются связи, устанавливающие различные виды соответствия между объектами «связанных» типов, — «один к одному» (1:1), «один ко многим» (1:М), «многие ко многим» (М:М). Связь «один к одному» означает, что каждому экземпляру первого объекта (А) соответствует только один экземпляр второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А). Связь «один ко многим» характеризуется тем, что каждому экземпляру одного объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляру второго объекта (В) может соответствовать только один экземпляр первого объекта (А). Связь «многие ко многим» означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) могут соответствовать тоже несколько экземпляров первого объекта (А). Пример 1.1. Рассмотрим совокупность следующих информаци онных объектов: СТУДЕНТ (Номер студента, Фамилия И.О., Дата рождения. Номер группы); СТИПЕНДИЯ (Номер студента. Размер стипендии); ГРУППА (Номер группы, Специальность); ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность). Информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением «один к одному», так как каждый студент может иметь только одну стипендию, и каждая стипендия может быть назначена только одному студенту. Информационные объекты ГРУППА и СТУДЕНТ связаны отношением «один ко многим», так как одна группа может включать много студентов, и в то же время каждый студент может обучаться только в одной группе. Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаны отношением «многие ко многим», так как один студент может обучаться у многих преподавателей, и один преподаватель может обучать многих студентов.
Дата добавления: 2014-01-11; Просмотров: 9980; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |