Модели базы данных

Основные модели баз данных

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

¾ «один к одному»;

¾ «один ко многим»;

¾ «многие ко многим».

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

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

Связь типа «многие-ко-многим» выражает такое отношение между таблицами, когда многие записи одной таблицы могут быть связаны со многими записями другой таблицы.

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

Рис. 1 – Иерархическая модель баз данных

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

Это позволяет строить сложные поисковые структуры.

Рис. 2 – Сетевая модель баз данных

Реляционная модель баз данных (РМД) реализует табличный способ.

В реляционной модели базы данных взаимосвязи между элементами данных представляются в виде двумерных таблиц, называемых отношениями.

Отношения обладают следующими свойствами:

¾ каждый элемент таблицы представляет собой один элемент данных (повторяющиеся группы отсутствуют);

¾ элементы столбца имеют одинаковую природу, и столбцам однозначно присвоены имена;

¾ в таблице нет двух одинаковых строк;

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

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

Достоинства реляционной модели:

¾ простота построения;

¾ доступность понимания;

¾ возможность эксплуатации базы данных без знания методов и способов ее построения;

¾ независимость данных;

¾ гибкость структуры и др.

Недостатки реляционной модели:

¾ низкая производительность по сравнению с иерархической и сетевой модели;

¾ сложность программного обеспечения;

¾ избыточность элементов.

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

Объектом называют почти все, что представляет интерес для решения поставленной задачи на компьютере. Это может быть экранное окно, кнопка в окне поле для ввода данных, пользователь программы, сама программа и т.д. Тогда любые действия можно привязать к такому объекту, а также описать, что произойдет с объектом при выполнении опреде6ленных действий (например, при „нажатии“ кнопки). Многократно используемый объект можно сохранить и применять его в различных программах.

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

Свойство — это характеристика, с помощью которой описывается внешний вид и работа объекта.

Событие — это действие, которое связанно с объектом. Событие может быть вызвано пользователем (щелчок мышью), инициировано прикладной программой или операционной системой.

Метод — это функция или процедура, управляющая работой объекта при его реакции на событие.

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

Модели организации данных

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

Модели баз данных определяются тремя компонентами:

а) допустимой организацией данных;

б) ограничениями целостности;

в) множеством допустимых операций.

В теории систем управления базами данных выделяют модели трех основных типов: иерархическую, сетевую и реляционную.

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

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

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

Рисунок 10.1. Иерархическая модель базы данных.

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

Сетевая БД состоит из набора записей и набора связей между этими записями, точнее из набора экземпляров записей заданных типов (из допустимого набора типов) и набора экземпляров из заданного набора типов связей.

Рисунок 10.2. Сетевая модель базы данных.

Концепция реляционной модели впервые были сформулирована в работах американского ученого Э.Ф. Кодда. Откуда происходит ее второе название – модель Кодда (рис. 10.3).

В реляционной модели объекты и взаимосвязи между ними представляются с помощью таблиц. Для ее формального определения используется фундаментальное понятие «отношения». Собственно говоря, термин «реляционная» происходит от английского relation – отношения.

Основным достоинством реляционной модели является ее простота. Именно благодаря ней она положена в основу подавляющего большинства реально работающих СУБД. В настоящее время одной из самых популярных среди настольных (персональных) программных систем управления базами данных является Microsoft Access.

Понятие БД и СУБД. Основные модели данных

В основе большинства информационных технологий лежат большие массивы накопленной информации. Главной формой организации хранения данных в ИС являются базы данных.

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

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

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

ü Иерархическая;

ü Сетевая;

ü Реляционная;

На их основе сегодня созданы новые модели представления данных:

ü Постреляционная;

ü Многомерная;

ü Объектно-ориентированная;

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

ü Эффективное использование памяти ЭВМ;

ü Скорость выполнения основных операций над данными;

ü Удобство работы с иерархически упорядоченной информацией;

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

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

ü Эффективное использование памяти ЭВМ;

ü Скорость выполнения основных операций над данными;

ü Большие возможности образования произвольных связей;

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

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

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

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

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

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

Ø полнофункциональные СУБД – самые многочисленные и мощные по своим возможностям программы. Примеры: Microsoft Access, Microsoft FoxPro, Clarion Database Developer и др.;

Ø серверы БД – используются для организации центров обработки данных в сетях ЭВМ. Примеры: Microsoft SQL Server, NetWare SQL (фирмы Novell) и др.;

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

Ø Средства разработки программ работы с БД – используются для разработки таких программных продуктов, как клиентские программы, серверы БД и их отдельные приложения, а также пользовательские приложения. К средствам разработки пользовательских приложений относятся системы программирования, библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок. Примеры: Delphi фирмы «Borland», Visual Basic фирмы «Microsoft» и др.

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

Персональные СУБД предназначены для проектирования персональных БД и недорогих приложений, работающих с ними. Также персональные СУБД или разработанные с их помощью приложения могут выступать в качестве клиентской части многопользовательской СУБД. Примеры: Visual FoxPro, Paradox, Clipper, Access и др.

Многопользовательские СУБД включают в себя сервер БД и клиентскую часть. Такие СУБД могут работать с различными типами ЭВМ и ОС различных фирм-производителей. Примеры: системы Oracle и Informix.

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

Функции высшего уровня СУБД используют следующие основные функции более низкого уровня:

ü управление данными во внешней памяти;

ü управление буферами оперативной памяти. Буфер — это область ОП, предназначенная для ускорения обмена информацией между внешней и ОП;

ü управление трансакциями. Трансакция — это определённая неделимая последовательность операций над данными БД, которая контролируется СУБД от её начала и до завершения;

ü ведение журнала изменений в БД;

ü обеспечение целостности и безопасности БД;

Для обеспечения доступа пользователей и программ к хранящейся в БД информации СУБД используют 2 типа языков:

l язык описания данных — высокоуровневый язык, предназначенный для описания логической структуры данных;

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

Наибольшее распространение получили 2 стандартизированных языка: QBE (Query by Example — язык запросов по образцу) и SQL (Structured Query Language — структурированный язык запросов).

QBE в основном обладает свойтсвами языка манипулирования данными, а SQL сочетает в себе свойства языков обоих типов.

Теоретической основой языка QBE является реляционное исчисление с переменными-доменами. Язык QBE позволяет формулировать сложные запросы к БД путём заполнения предлагаемой СУБД запросной формы. Такой способ формулировки запросов к БД обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции.

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

Язык SQL ориентирован исключительно на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Различают 2 основных метода использования встроенного SQL: статический и динамический.

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

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

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

Монопольный доступ к данным обычно используется в следующих случаях:

Ø при исключении возможности доступа к объектам БД со стороны других пользователей (например, при работе с конфиденциальной информацией);

Ø при проведении ответственных операций с БД, не допускающих других действий, например, изменение структуры БД.

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

Вопросы к экзамену

1. Определение информационных ресурсов;

2. Определение информационных технологий;

3. Определение информационной системы (ИС);

4. Классы информационных технологий (ИТ);

5. Обеспечивающие подсистемы структуры ИС;

6. Определение географической информационной системы (ГИС);

7. Определение базы данных (БД);

8. Определение системы управления базами данных (СУБД);

9. Виды БД;

10. Структура БД;

11. Режимы работы с БД, формой, отчётом;

12. Типы полей;

13. Ключевые поля;

14. Создание и редактирование формы;

15. Создание и редактирование отчёта;

16. Создание фильтра;

17. Создание запросов с групповыми функциями и без них;

Добавить комментарий

Закрыть меню