logo search
5

5.10. Базы данных

 

5.10.1. Основные понятия баз данных (БД)

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

База данных (БД) – это поименованная совокупность структурированных данных, хранимых в памяти вычислительной системы,  отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Например, БД «Деканат» (рисунок 5.8).

Рисунок 5.8- пример БД

 

 

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

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

 К функциям СУБД относят:

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

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

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

- поддержка языков БД. Для работы с БД используются специальные языки. Наиболее распространенным языком СУБД является язык запросов SQL.

 

5.2.2. Основные этапы проектирования БД. Определение модели данных, их виды и краткая характеристика

Основные этапы проектирования БД:

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

Сущность – объект любой природы, данные о котором хранятся в БД. Примерами атрибутов для сущности Студент являются ФИО, Специальность, Группа; для сущности  Предмет – название предмета, преподаватель, кафедра (см. рисунок 5.8)

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

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

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

Пример 1.

Рисунок 5.9- Пример иерархической модели

 

 

Пример 2: Иерархической БД является Каталог папок Windows. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина. На третьем уровне находятся папки дисков (Диск А:, С:, D: и др.)  и системные папки (Принтер, Панель управления и др.), которые находятся внутри папки Мой компьютер и т.д.

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

 

Рисунок 5.10 – Пример сетевой модели

Пример. Сетевой базой является Всемирная паутина WWW глобальной компьютерной  сети Internet. Гиперссылки связывают между собой миллионы документов в единую сетевую БД.

БД с реляционной моделью (от англ. Отношение) содержит объекты, имеющие одинаковый набор свойств, что позволяет представлять их в виде двумерной таблицы. Таким образом, отношения представлены в виде таблиц. Реляционная БД может состоять из одной или нескольких таблиц, которые связываются между собой. Например, на рисунке 5.8 имеются два отношения СТУДЕНТ (ФИО, Группа, Специальность) и ПРЕДМЕТ (Название_предмета, Преподаватель, Кафедра), которые связаны отношением ОЦЕНКИ (ФИО, Оценка, Название предмета).

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

Основными элементами реляционной модели БД являются:

поля (домены) – столбцы таблицы (атрибуты, представляющие свойства);

записи( кортежи) – строки таблицы;

первичный (простой) ключ – одно из  полей БД, которое однозначно определяют экземпляр объекта (сущности). Например, на рисунке 1, для сущности СТУДЕНТ, простой ключ – ФИО; для сущности ПРЕДМЕТЫ – Название предмета.

Ключ, состоящий из нескольких полей, называется составным (сложным). Внешний ключ устанавливает связи между таблицами БД.

В отношении ОЦЕНКИ поля ФИО и Название_предмета образуют составной ключ. Эти атрибуты представляются внешними ключами в отношениях СТУДЕНТ и ПРЕДМЕТЫ.

Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных.

Существует три типа связей:

- связь «один-к-одному»

- связь «один-ко-многим»

- связь «многие-ко-многим».

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

Рисунок 5.11 – Связь «один-к-одному»

Связь «один-ко-многим» в большинстве случаев отражает реальную взаимосвязь сущностей в предметной области. Если между двумя таблицами существует отношение один-ко-многим, то это означает, что каждой записи в одной таблице А соответствует несколько  записей в другой таблице В.

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

Рисунок 5.12 – Связь «один ко многим»

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