В классической теории баз данных, модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:
аспект структуры: методы описания типов и логических структур данных в базе данных;
аспект манипуляции: методы манипулирования данными;
аспект целостности: методы описания и поддержки целостности базы данных.
Аспект структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы – поведение данных.
Каждая БД и СУБД строится на основе некоторой явной или неявной модели данных. Все СУБД, построенные на одной и той же модели данных, относят к одному типу. Например, основой реляционных СУБД является реляционная модель данных, сетевых СУБД – сетевая модель данных, иерархических СУБД – иерархическая модель данных и т. д.
Работающая информационная система (ИС) подразумевает использование модели предметной области. В общем случае понятиями, формирующими модель, являются объекты и отношения между ними. Модель может иметь явное описание, хранимое полностью или частично в ЭВМ, и храниться (также полностью или частично) в ЭВМ сама. Хранимую в ЭВМ и используемую программно модель можно называть базой данных. Альтернативу явному хранимому описанию модели составляет ее неявное и часто некорректное описание "логикой прикладной программы".
Принципиальные трудности описания предметной области, технические трудности реализации баз данных и исторический ход событий привели к тому, что в программировании понятие базы данных (и это видно из самого термина) связано в первую очередь с хранением "данных", доступом к ним. В этом случае для базы данных нет однозначного строгого определения и чаще всего встречается два различных ее понимания. В первом речь идет о хранилище структур данных - чаще всего связанных множеств записей - и о способе для пользователей (программы) работать с записями. Во втором - о хранении собственно модели предметной области, допускающей организацию доступного конечному пользователю (в идеале - "предметнику") способа взаимодействия с моделью. Определения, которые принимаются большинством специалистов по разработке информационных систем, могут быть самыми общими, как, например: "Собрание данных, организованных для особо быстрого и удобного способа поиска и извлечения (например, из ЭВМ)", и более специфицированными, как, например: "Собрание структурированных данных в ЭВМ, поддерживаемое СУБД, которая обеспечивает различным приложениям различный вид данных".
Реально при проектировании ИС используется несколько моделей: две "крайних", обобщенная (понятийная) модель и модель, представленная схемой базы данных, могут дополняться рядом промежуточных. Промежуточной может быть, например, модель "сущность-связь" определенного уровня общности.
Упоминаемая во втором определении СУБД непосредственно осуществляет функции управления доступом к базе данных, а также целый ряд вспомогательных функций. Таким образом, СУБД отвечает за хранение модели в компьютере и за работу программ и пользователей с моделью.
Если база данных, по крайней мере теоретически, может иметь математическое описание, то СУБД - чисто инженерный продукт. Современная СУБД должна обеспечивать работу приложений и пользователей с информационной моделью:
на ЭВМ разной архитектуры с установленными на них различными операционными системами;
в компьютерных сетях разных типов, работающих по различным протоколам;
с различными графическими и символьными системами представления информации.
Вот неполный перечень некоторых функций, которые обеспечивают современные СУБД:
поддержка логической модели данных (определение данных, оперированирование данными);
восстановление данных (транзакции, журнализация, контрольные точки);
управление одновременным доступом;
безопасность данных (права доступа);
самостоятельная оптимизация выполнения операций;
другие функции (администрирование, статистика, распределение и т.д.).
Если можно говорить об основной идее СУБД, то она заключается в передаче управления данными из прикладной программы и/или от пользователя одной специальной системе, которая вне зависимости от того, какая программа или версия программы, или же какой пользователь работает с данными, единым во всех случаях образом отслеживает защиту данных от рассогласованности, оптимизирует выполнение операций над данными, обращения к ним и т.д. (список выгод, которые дает СУБД, имеется в любом учебнике).
Использование модели данных при работе с БД (в "компьютерном" смысле, в смысле хранения структур данных) неизбежно по нескольким причинам. Во-первых, модель дает общий язык пользователям, работающим с данными. Во-вторых, модель может обеспечить предсказуемость результатов работы с данными. Становится возможным объяснить пользователю, почему он получил конкретный результат при просмотре или изменении данных, и наоборот, работающий с базой может предвидеть, какого сорта он получит результат. За время существования разработок
программных систем предложено много различных моделей разной степени распространенности. На некоторых можно остановиться.
Ядром любой БД является модель данных, с помощью которой могут быть представлены объекты, предметные области и взаимосвязи между ними.
Модель данных – совокупность структур данных и операции их обработки.
Существует несколько видов моделей данных, к которым можно отнести:
- концептуальная;
- инфологическая;
- иерархическую;
- сетевую;
- реляционную;
- постреляционную;
- объектно–ориентированную;
- многомерную.
Иерархическая и сетевая модели данных стали применяться в системах управления БД в начале 60–х годов. В начале 70–х годов была предложена реляционная модель данных (Эдгар Кодд), которая является на сегодняшний момент самой распространенной.
В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц, которые характеризуются следующими свойствами:
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов может быть произвольным.
Основное назначение модели данных состоит в том, чтобы дать возможность представить в целом информационную картину без отвлекающих деталей, связанных с особенностями хранения. Оно является инструментом, с помощью которого разрабатывается стратегия получения любых данных, хранящихся в базе данных.
Существует несколько видом моделей данных, к которым можно отнести иерархическую, сетевую, реляционную, постреляционную и объектно–ориентированную модели данных.
Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных.
Актуальность моей курсовой работы в том, чтобы показать, что единого мнения и подхода в построении базы данных нет, есть лишь различные типы моделей баз данных, а какая из них в той или иной степени применима в решении конкретной задачи решает сам разработчик базы данных.
Цель работы состоит в том, чтобы подробно описать все известные на сегодняшний день модели баз данных, показать достоинства и недостатки применения разных видов моделей баз данных. Так же представить мнение одного из авторитетов в области теории баз данных, как К.Дейта по поводу развития построения баз данных.
В практической части курсовой работы будет реализована модель базы данных автосалона в которой будет описан процесс создания таблиц, наполнения их данными, написание запросов, схема самой базы данных.
1.Теоретическая часть
1.1 Концептуальная модель
Концептуальная модель наиболее полно отвечает потребностям проектирования баз знаний и построена на ряде принципов, которые мы сейчас рассмотрим. Есть две большие области понятий в концептуальной модели. Обе они построены по принципу иерархического дерева [1,25]. Первая область – это дерево типов данных, вторая – дерево данных. Дерево типов описывает структуру данных дерева данных, поэтому без дерева типов нет никакой логической целостности дерева данных. Для начала, рассмотрим простой пример с телевизионной камерой. Отраженный свет попадает в объектив камеры, там он разлагается на три составляющие: синий, красный, зеленый. Записывая уровень освещенности трех составляющих света 25 раз в секунду, мы можем составить представление об освещенности и отражающей способности предметов, которые мы снимаем. Теперь дадим основные определения.
Уровень упрощения – уровень детализации представления об объекте реального мира, достаточный нам для его описания и последующего использования. В предыдущем примере мы составили представление об интересующем нас объекте по его освещенности. Мы могли бы дать огромное количество характеристик, вплоть до химического состава и геометрии кристаллов, но нам это не нужно. Нам достаточно показать фильм на экране, поэтому уровень освещенности нам наиболее полно подходит. Значит, для достаточно полного представления об объекте и использования на практике представлений о нем нам достаточно упростить объект реального мира до освещенности.
Свойство объекта – это одна из характеристик объекта реального мира, информацию, о которой мы будем хранить в базе данных. Например, в предыдущем примере у нас есть три свойства у объекта – уровни красной, синей и зеленой составляющих отраженного света.
События – набор реакций объекта на изменения внешних условий, описанных в нашей базе данных, например, узнав интенсивность падающего света на объект и интенсивность отраженного света от объекта, мы можем описать реакцию нашего объекта на изменение освещенности через к-нт отражения [7, 12].
Тип – набор свойств и событий объекта, описанных как единый комплекс. При этом, в зависимости от уровня упрощений, у нас может быть свойством типа другой тип. Например, совокупность трех событий дает нам тип – снимаемый предмет на камеру.
Объект – совокупность типов и свойств, объединенных в один тип, способный описать объект реального мира. В нашем примере один тип достаточен для описания объекта, снимаемого на камеру, но бывают случаи, когда одного типа недостаточно, или уровень упрощения слишком высок, чтобы можно было составить простую модель. Например, объект машина состоит из типов: кузов, рама, мотор, колеса и т.д. Эти типы, в свою очередь, тоже являются объектами, которые состоят из типов, например для колеса: обод, камера, покрышка и т.д. Для камеры: оболочка, ниппель, давление воздуха и т.д. Можно бесконечно углубляться в детализацию, но, как правило, это не требуется. Рассмотрим разные точки зрения пользователей на наши типы, в зависимости от состояния технологического процесса производства и продажи машины. Человек, который собирает колесо, рассматривает его как объект, состоящий из типов: оболочка, ниппель, давление воздуха. Он собрал колесо и передал его на главный конвейер. Далее колесо рассматривается как тип, входящий в состав объекта рама. На последней стадии сборки, нам уже не важно иметь в поле зрения свойство колесо, практически, мы потеряли его из видимости. Далее, мы рассматриваем тип рама, входящий как свойство в объект машина. Человек, который пришел покупать машину, может рассматривать его то, как объект то, как тип, входящий как свойство в объект материальное состояние и т.д. Из этих рассуждений видно, что концептуальная модель очень гибка и самодостаточна для описания внешнего мира. Мы можем двигаться от простого к сложному, описывая все, что входит в технологический процесс.
1. Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. – 8-е изд.–М.: «Вильямс», 2006. – 1328 с. – ISBN 0-321-19784-4.
2. Когаловский М. Р. Перспективные технологии информационных систем. – М.: ДМК Пресс; Компания АйТи, 2003. – 288 с. – ISBN 5-279-02276-4.
3. Когаловский М. Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002. – 800 с.– ISBN 5-279-02276-4.
4. Цикритзис Д., Лоховски Ф. Модели данных = D. Tsichritzis, F. Lochovsky. Data Models. Prentice Hall, 1982. – М.: Финансы и статистика, 1985. – 344 с.
5. Банников Н.А. http://www.stikriz.narod.ru/ stikriz@nvrsk.ru 2000 г.
6. Webster's Tenth New Collegiate Dictionary, 1967.
7. Pascal F. Understanding Relational Databases with Examples in SQL-92. John Wiley & Sons, 1993.
8. Codd E. F. An Evaluation Scheme for Database Management Systems that are Claimed to be Relational. Proc. IEEE CS International Conference, no. 2 on Data Engineering, Los Angeles, February, 1986.
9. The Xerox Learning Research Group.// The Smalltalk-80 System, Byte, 1981. V. 6. No.8. August. PP. 36-48.
10. Halpin T. Using Object Role Modelling to Design Relational Databases: Interview.// DBMS, 1995. V. 8. No. 9 (September). P. 38.
11. Дадли К. Соответствие стандарту SQL.// Мир Oracle, 1996. № 1 (39). Январь - март. (Перевод на русский язык) С. 7-16.
12. Date C. J. Moving Forward with Relational: Interview.//DBMS, 1994. V. 7. No. 10 (October). P. 62.
13. Вон К. Технология объектно-ориентированных баз данных.// Открытые системы, 1994. Вып. 4 (8). Осень.P. 14.
14. Олле Т. В. Предложения КОДАСИЛ по управлению базами данных. М.: Финансы и статистика, 1981.