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. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.
- Введение
- 5. Программные средства реализации информационных процессов
- 5.1. Виды программного обеспечения
- 5.2. Файлы и файловые системы
- 5.3. Назначение и классификация операционных систем
- 5.4. Операционные системы семейства Windows
- 5.5. Операционная система Linux
- 5.6. Технологии виртуализации
- 5.6.1. Основные понятия виртуализации
- 5.6.2. Виды виртуализации
- 5.6.2.1. Виртуализация платформ
- 5.6.2.1. Виртуализация ресурсов
- 5.6.3. Обзор настольных платформ виртуализации
- 5.6.4. Настольной платформа виртуализации Virtual Box
- 5.7. Сервисное программное обеспечение
- 5.8. Инструментарий технологий программирования
- 5.9. Пакеты прикладных программ и их характеристика
- 5.10. Базы данных
- 5.2.3. Системы управления базой данных: определение. Основные понятия реляционной субд: структура таблицы и типы данных; определения формы, отчета, запроса. Виды запросов.