Общая характеристика реляционной модели данных

Автор работы: Пользователь скрыл имя, 28 Февраля 2013 в 14:56, лекция

Описание работы

Основы реляционной модели данных были впервые изложены в статье Е.Кодда в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реля-ционная модель получила дальнейшее развитие. Наиболее распространенная трактовка реляционной модели данных принадлежит К.Дейту. Согласно Дейту, реляционная модель состоит из трех частей:
• Структурной части
• Целостной части
• Манипуляционной части

Файлы: 1 файл

Базовые понятия реляционной модели данных.docx

— 169.99 Кб (Скачать файл)

Несмотря на постоянно  совершенствуемые возможности выбора средств для разработки кода баз данных, детальное её проектирование остается заботой человека. Средства по разработке баз данных помогают создать прототип базы данных, на котором строится вся рабочая версия. Любая база данных кроме таблиц содержит дополнительный программный код в виде триггеров, функций и хранимых процедур, которые пишутся на языке SQL, то полностью автоматизировать создание из логической модели пока не представляется возможным. Хранимые процедуры, основным назначением которых является реализация бизнес процессов предметной области, процедуры и функции, хранящиеся непосредственно в базе данных в откомпилированном виде, могут запускаться непосредственно пользователем или разработанными программами, работающими с базой данных. Триггеры – это хранимые процедуры, связанные с некоторыми событиями, происходящими во время работы базы данных. В качестве таких событий выступают операции вставки, обновления и удаления строк таблиц. Важным является то, что пользователи не могут обойти триггер, независимо от того, кто из них и каким образом инициировал запускающее его событие. Основным назначением триггеров является автоматическая поддержка целостности базы данных, но они могут использоваться и для реализации достаточно сложных ограничений, накладываемых предметной областью, например, с операцией вставки нового товара в накладную может быть связан триггер, который проверяет наличие необходимого товара на складе и выполняет другие необходимые действия. Понимание всех тонкостей при разработке баз данных особенно важно и при проведении изменеий базы данных.

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

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

Документальная информация отличается неопределённостью или  переменной структурой данных (документов).

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

Лексикографические базы – это классификаторы, кодификаторы, словари основ слов, тезаурусы, рубрикаторы и т.д., обычно используемые в качестве справочных совместно с документальными или фактографическими БД.

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

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

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

Сетевая модель данных включала язык определения данных (Data Definition Language, DDL) и язык манипулирования данными (Data Manipulation Language, DML) – формальные языки, предназначенные для определения и манипулирования содержимым базы данных. Предложенное разграничение функций между различными типами языков в системах управления базами данных привело к выделению языков управления транзакциями, языков манипулирования схемой и других групп языков. В сетевых БД, в отличие от иерархических, нет необходимости в корневой записи, поскольку между типами записей могут быть созданы наборы без искусственных ограничений, свойственных иерархии. Однако здесь, как и в иерархических БД, ассоциации поддерживаются с помощью физических указателей. Примером этой модели является Интернет.

Реляционная модель данных обеспечивает ряд важных возможностей, которые делают управление БД и их использование относительно легким, устойчивым по отношению к ошибкам и предсказуемым. Она описывает данные с их естественной структурой, не добавляя каких-либо дополнительных структур, необходимых для машинного представления или для целей реализации; обеспечивает математическую основу для интерпретации выводимости, избыточности и непротиворечивости отношений; обеспечивает независимость данных от их физического представления, от связей между данными и от соображений реализации, связанных с эффективностью и подобными заботами. Главным элементом в реляционной модели является отношение. Для большинства людей обычной визуализацией отношения служит "таблица". Таблица, как известно, имеет строки и столбцы. Столбцы отношения соответствуют "элементам данных" каждой записи, которая представляется строкой отношения. Важное различие между отношением и таблицей (в том виде, как она реализована в большинстве поставляемых реляционных СУБД) заключается в том, что отношение не может иметь дубликатов кортежей (т.е. записей в файле), в то время как для таблиц допускается возможность содержать дубликаты строк.

Реляционная модель данных (РМД) некоторой предметной области  представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними.

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

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

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

Первые публикации, связанные  с объектно-ориентированными базами данных (ООБД) появились в середине 1980-х годов.  
В общей классической постановке объектно-ориентированный подход базируется на концепциях:  
• объекта и идентификатора объекта; 

• атрибутов и методов; 

• классов; 

• иерархии и наследования классов.

Объектно-ориентированные базы данных (ООБД) строятся из объектов. Объекты хранятся физически как строки или столбцы таблицы. 

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

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

Каждый объект имеет  состояние и поведение. Состояние объекта - набор значений его атрибутов. Поведение объекта - набор методов (программный код), оперирующих над состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или множество объектов. Состояние и поведение объекта инкапсулированы в объекте; взаимодействие между объектами производится на основе передачи сообщений и выполнении соответствующих методов.

Множество объектов с одним  и тем же набором атрибутов  и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования).

По типологии доступа и характеру использования хранимой информации выделяют специализированные и интегрированные БД.

По топологии хранения данных различают локальные и распределённые БД.

По степени доступности можно выделить общедоступные и с ограниченным доступом пользователей к БД.

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

Функции, классификация  и структура СУБД

С начала своего возникновения  в конце 60-х годов автоматизированные информационные системы ориентировались на хранение и обработку больших объемов данных, которые не могли быть одновременно и полностью размещены в оперативной памяти ЭВМ. 
В структуре программного обеспечения ЭВМ, как в то время, так и сейчас, за организацию, размещение и оперирование данными во внешней (долговременной) памяти отвечает операционная система ЭВМ, соответствующий компонент которой чаще всего называется «файловой системой». Данные во внешней памяти компьютера представлены именованными совокупностями, называемыми файлами. В большинстве случаев операционная (файловая) система не «знает» внутренней смысловой логики организации данных в файлах и оперирует с ними как с однородной совокупностью байтов или строк символов. 
С точки зрения смысла и назначения АИС файлы данных имеют структуру, отражающую информационно-логическую схему предметной области АИС. Эта структура данных в файлах должна обязательно учитываться в операциях обработки (собственно, в этом и заключается одна из основных функций АИС). Вместе с тем, в силу невозможности в большинстве случаев размещения файлов баз данных сразу целиком в оперативной памяти компьютера, структуру данных в файлах баз данных приходится учитывать при организации операций обращения к файлам во внешней памяти. 
Отсюда вытекает основная особенность ^ СУБД как вида программного обеспечения. Будучи по природе прикладным программным обеспечением, т. е. предназначенным для решения конкретных прикладных задач, СУБД изначально выполняли и системные функции — расширяли возможности файловых систем системного программного обеспечения. 
В общем плане можно выделить следующие функции, реализуемые СУБД: 
• организация и поддержание логической структуры данных (схемы базы данных); 
• организация и поддержание физической структуры данных во внешней памяти; 
• организация доступа к данным и их обработка в оперативной и внешней памяти. 
Организация и поддержание логической структуры данных (схемы базы данных) обеспечивается средствами модели организации данных.* Модель данных определяется способом организации данных, ограничениями целостности и множеством операций, допустимых над объектами организации данных. Соответственно модель данных разделяют на три составляющие — структурную, целостную и манипуляционную. 
* В обиходе просто «модель данных». 
Известны три основные модели организации данных: 
• иерархическая;

• сетевая;

• реляционная.

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

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

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

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

Информация о работе Общая характеристика реляционной модели данных