- •Дисциплина «Базы данных»
- •Раздел 1. Теоретические основы построения баз данных. Реляционная модель. (Лекции 1÷4)
- •Основные требования, предъявляемые к базам данных
- •Уровни представления данных в информационной системе
- •Среда и компоненты субд
- •Основные функции субд
- •1. Непосредственное управление данными во внешней памяти
- •2. Управление буферами оперативной памяти
- •3. Управление транзакциями
- •4. Журнализация
- •5. Поддержка языков бд
- •Типовая организация современной субд
- •Планирование, проектирование и разработка баз данных
- •Наиболее распространенные современные субд
- •Архитектура клиент-сервер
- •Целостность сущностей.
- •Целостность внешних ключей (или ссылочная целостность).
Основные требования, предъявляемые к базам данных
База данных может быть организована различными способами, но она должна максимально удовлетворять следующим требованиям.
1. Минимальная избыточность. Данные, хранимые в базе данных, могут содержать как «полезную», так и «вредную» избыточность. Последняя всегда имеет место при отсутствии концептуального представления данных, когда каждый пользователь создает для своих приложений отдельный набор данных. В этом случае, если нескольким пользователям требуются одни и те же данные, то они должны быть повторены в каждом наборе. Такая избыточность является неконтролируемой, поскольку об ее существовании пользователи могут и не подозревать. Интеграция пользовательских представлений в единое концептуальное представление, как правило, устраняет эту избыточность данных. К «полезной» избыточности можно отнести периодические копии данных, хранящихся в базе данных. Эта избыточность легко контролируется. Более того, она является необходимой, например, для восстановления данных, разрушенных при случайных сбоях и в катастрофических ситуациях.
Таким образом, требование минимальной избыточности следует понимать как устранение «вредной» (неконтролируемой) и сведение к минимуму «полезной» (контролируемой) избыточности данных.
2. Целостность данных. Состоит в поддержании «правильности» и актуальности данных. Обеспечивается восстановлением данных после разрушения, а также устранением противоречивости данных, которая заключается в появлении различных экземпляров для одних и тех же атрибутов. Противоречивость может появиться при обновлении избыточных данных в том случае, если оно будет выполнено только на части данных.
Существует также понятие ссылочной целостности данных, которую легче всего проиллюстрировать на простой реляционной базе данных (набор взаимосвязанных таблиц), реализованной в среде Microsoft Access и содержащей две сущности с типом связи 1 : М («один ко многим»).
Таблицы со стороны связи «один» называются родительскими, а со стороны «много» – дочерними.
Ссылочная целостность данных в среде Access обеспечивается установкой в окне связи соответствующих флажков.
Если установлен только один флажок «Обеспечение целостности данных», то это означает, что допускаются такие манипуляции с данными, чтобы не оставалось записей-«сирот», а «бездетные родители» допускаются. Тогда в дочернюю таблицу можно добавлять только такие записи (строки), у которых значение внешнего ключа совпадает с одним из значений первичного ключа в родительской таблице, иначе добавляемые записи окажутся «сиротами».
Удалять из дочерней таблицы можно любые записи. В этом случае могут остаться «бездетными» записи-«родители», что допустимо.
В родительские таблицы можно добавлять записи с любыми значениями первичных ключей, лишь бы не нарушались условия уникальности. Это может привести только к появлению «бездетных» родителей.
Удалять из родительских таблиц можно лишь такие записи, для которых отсутствуют «дети» в дочерних таблицах. Иначе могут появиться записи-«сироты».
Ссылочную целостность данных можно усилить установкой еще и флажка «Каскадное обновление связанных полей». В этом случае изменение значения ключевого поля в родительских таблицах (при этом не должно нарушаться условие уникальности первичных ключей) повлечет за собой соответствующие изменения значений полей связи в дочерней таблице. Изменение же значений полей связи (внешних ключей) в дочерней таблице не приведет к автоматическому изменению значений связанных с ними полей в родительских таблицах, а может привести только к нарушению ссылочной целостности данных. Если дочерних таблиц, связанных с родительской по этим же полям несколько, то изменения коснутся всех дочерних таблиц (каскадное изменение).
Если еще установить и флажок «Каскадное удаление связанных записей», то при удалении какой-либо записи из родительской таблицы, автоматически удалятся ее «дети» из всех дочерних таблиц.
Многие среды (Access, Microsoft SQL Server, Visual FoxPro и др.) допускают установку ссылочной целостности данных подобным образом. Однако это можно сделать также и из программы.
3. Безопасность и секретность. Обеспечиваются защитой данных от аппаратных и программных сбоев, от катастрофических и криминальных ситуаций (регулярное копирование данных), а также от некомпетентного или несанкционированного (неразрешенного) доступа к данным (например, использование паролей).
4. Независимость данных. Подразумевает возможность изменения структуры базы данных без изменения прикладных программ пользователей. Понимается в двух аспектах, а именно, как логическая и физическая независимость.
Логическая независимость предполагает возможность изменения концептуальной схемы базы данных без изменения прикладных программ пользователей.
Физическая независимость подразумевает возможность изменения способа размещения данных на физических носителях и (или) методов доступа к данным без изменения приложений пользователей.
5. Производительность. Характеризуется временем, затраченным на выполнение приложений пользователей. Во многом это время зависит от времени получения ответов на запросы пользователей. Поэтому задача оптимизации запросов стоит достаточно остро в современных информационных системах с базами данных. Однако решение этой задачи выходит за рамки работы. Здесь можно дать только такую рекомендацию разработчикам: время отклика системы на запросы пользователей не должно превышать 3 секунды (эргономическая рекомендация). Если же это ограничение недостижимо, то надо выдавать пользователю информационные сообщения типа «Ждите ответа» и пр.
6. Гибкость и способность к расширению. Понимаются как способность базы данных к наращиванию данных, а также увеличению количества возможных приложений и расширению функций в пределах каждого приложения. Очевидно, что предусмотреть все невозможно, но думать о дальнейшем развитии проектируемой базы данных все же следует.
Лекция 2. Классификация СУБД, аспекты классификации. Общие характеристики структур данных и моделей данных. Основные компоненты среды СУБД, объекты СУБД, функции СУБД. Уровни представления баз данных; понятия схемы и подсхемы.
Классификация БД.
1) по характеру использования :
- однопользовательские, персональные
- многопользовательские
2) по масштабу :
- однопользовательские
- групповые (офисные)
- корпоративные (к примеру, Oracle, Microsoft SQL Server и т.п.)
3) по характеру представления (по содержанию):
- документальные (хранится символьная и текстовая информация)
- фактографические (хранится цифровая информация)
- мультимедийные
4) по виду программного обеспечения :
- полнофункциональные
- сервер
- клиент
5) по модели представления данных :
Исторически сложились3 классические модели:
- иерархическая модель
- сетевая
- реляционная (с 1970 г. Oracle).
Позже появились:
- объектно-ориентированные СУБД
- объектно-реляционные СУБД (постреляционные…)
- многомерные БД
6) по назначению:
- транзакционные базы данных (OLTP) – их большинство…
- хранилища данных (DW (Data Warehouse) – исключены операции удаления и модификации данных. (Для того чтобы заполнять DW, надо делать фильтрацию данных).
