5
Лекция № 5. Системы баз данных
Цель лекции:
изучить основы систем баз данных.
Содержание лекции:
понятие, характеристика, архитектура баз
данных. Модели данных. Нормализация. Ограничение целостности данных.
Оптимизация запросов и их обработки. Основы SQL. Проектирование и
разработка
баз
данных.
Технология
программирования
ORM.
Распределенные, параллельные и гетерогенные базы данных.
20
5.1
Основные понятия системы баз данных
Данные
– это информация, которая представлена в определенном виде,
позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку
человеком или информационным устройством. Для компьютерных
технологий данные – это информация в дискретном, фиксированном виде,
удобная для хранения, обработки на ЭВМ, а также для передачи по каналам
связи.
База данных (БД)
– именованная совокупность данных, которая
отражает состояние объектов и их отношений в рассматриваемой предметной
области. БД состоит из множества связанных файлов.
Система управления базами данных (СУБД)
– это совокупность
языковых и программных средств, которые предназначены для создания,
ведения и совместного использования БД множеством пользователей.
Проектируемая БД должна обладать следующими свойствами:
целостностью, которая достигается вследствие введения ограничений
целостности, в частности, к ним относятся ограничения, связанные с
нормализацией БД;
восстанавливаемостью БД после сбоя системы или отдельных видов
порчи системы;
безопасностью БД, которая предполагает защиту данных от
преднамеренного и непреднамеренного доступа, модификации или
разрушения, хищения. Применяется запрещение несанкционированного
доступа, защита от копирования и криптографическая защита.
эффективностью:
минимальное
время
реакции
на
запрос
пользователя; минимальные потребности в памяти.
Одним из важнейших аспектов развития СУБД является идея отделения
логической структуры БД и манипуляций данными, необходимыми
пользователям,
от
физического
представления,
которое
требуется
компьютерному оборудованию. По числу уровней описания данных,
поддерживаемых СУБД, различают одно-, двух- и трехуровневые системы. В
настоящее время чаще всего поддерживается трехуровневая архитектура
описания БД .
Трехуровневая архитектура включает:
внешний уровень, на котором пользователи или отдельные группы
пользователей имеют свое представление на создаваемую базу данных;
внутренний уровень, на котором СУБД и операционная система
воспринимают данные;
концептуальный
уровень
представления
данных,
который
предназначен для отображения внешнего уровня на внутренний уровень, а
также для обеспечения необходимой их независимости друг от друга; он
связан с обобщенным представлением пользователей
.
Описание структуры данных на любом уровне называется схемой.
21
Моделью данных
называют формализованное описание структуры
единиц информации и операций над ними в информационной системе.
Модель данных – это некая абстракция, отражающая самые важные аспекты
функционирования выделенной предметной области, а второстепенные –
игнорируются. Модель данных включает в себя набор понятий для описания
данных, связей между ними и ограничений, которые накладываются на
данные.
В модели данных различают три главные составляющие:
структурную часть, которая определяет правила порождения
допустимых для данной СУБД видов структур данных;
управляющую часть, которая определяет возможные операции над
такими структурами;
классы ограничений целостности данных, реализующиеся средствами
этой системы.
Каждая СУБД поддерживает ту или иную модель данных. По существу,
модель данных, поддерживаемая механизмами СУБД, полностью определяет
множество конкретных баз данных, которые могут быть созданы средствами
этой системы, а также способы модификации состоянии БД с целью
отображения тех изменений, которые происходят в предметной области.
На сегодняшний день описано много разнообразных моделей,
построение которых преследует разные цели. Из множества опубликованных
моделей данных можно выделить три категории:
объектные модели данных (ER-модель, API);
модели данных на основе записей ( сетевые, иерархические);
физические модели данных (обобщающая модель и модель памяти
кадров).
Нормализация
– это процесс организации данных в базе данных,
включающий создание таблиц и установление отношений между ними в
соответствии с правилами, которые обеспечивают защиту данных и делают
базу данных более гибкой, устраняя избыточность и несогласованные
зависимости. Избыточность
данных
приводит
к
непродуктивному
расходованию свободного места на диске и затрудняет обслуживание баз
данных.
Ограничение целостности
– это совокупность специальных средств,
ограничивающих доступ в базах данных недопустимым данным (например,
предупреждение ошибок пользователей при вводе данных).
Ограничения целостности делятся на три категории:
а)
первая категория – это средства обеспечения доменной целостности;
б)
вторая категория – сущностная целостность;
в)
третья категория – ссылочная целостность, обеспечивается системой
первичных и внешних ключей.
Еще две большие категории, на которые можно поделить средства
обеспечения целостности – это средства декларативного и процедурного
22
характера. Средства декларативного характера создаются как составные части
объектов при их определении в базе данных (например, условие на значение
при определении таблицы в базе данных). Средства процедурного характера
(триггеры и хранимые процедуры) реализуются как отдельные программные
модули. В общем случае декларативные ограничения менее функциональны,
но более экономны с точки зрения ресурсов и наоборот.
Запрос
– это языковое выражение, описывающее данные, которые
подлежат выборке из базы данных. В контексте оптимизации запросов
понимается, что запросы выражаются в манере, которая основана на
содержании (в большинстве случаев ориентированной на множества), что дает
оптимизатору возможность выбора между возможными процедурами
вычисления.
Оптимизация запросов
направлена на минимизацию времени отклика
для заданного запроса и смеси типов запросов в заданной системной среде.
Обработка запросов предполагает использование эвристического метода
и метода, заключающегося в сравнительной оценке стоимости различных
вариантов выполнения запроса и выборе минимального использующего
ресурсы.
Существует несколько типов БД, среди которых:
1)
Распределенная база данных (DDB – distributed database) – это
совокупность логически взаимосвязанных баз данных, распределенных в
компьютерной сети. Распределенная система управления базой данных
определяется как программная система, которая позволяет управлять
распределенной базой данных таким образом, чтобы ее распределенность
была прозрачна для пользователей.
2)
Параллельная
СУБД
реализуется
на
мультипроцессорном
компьютере с применением широкомасштабного параллелизма. Такое
определение подразумевает наличие множества альтернатив, спектр которых
варьируется от непосредственного переноса существующих СУБД с
переработкой лишь интерфейса к операционной системе до изощренных
комбинаций алгоритмов параллельной обработки и функций баз данных,
приводящих к новым аппаратно-программные архитектурам.
3)
Гетерогенная СУБД – это распределенная СУБД, состоящая из
различных видов СУБД.
Достарыңызбен бөлісу: |