- •Лекция 2. Введение в базы и банки данных
- •Оглавление
- •Основные понятия
- •Файловые системы
- •Системы с использованием баз данных
- •Система управления базами данных – субд
- •Программное обеспечение
- •База данных
- •Классификация субд Классификация по типу принятой модели данных
- •Классификация по архитектуре
- •Классификация по способу доступа к бд
- •Двухзвенные Трехзвенные
- •Классификация по скорости обработки информации
- •Функции субд
- •2. Среда баз данных
- •2.1. Предметная область базы данных
- •2.2. Трехуровневая архитектура базы данных
- •3. Независимость от данных
- •4. Языки баз данных
- •2.5.1. Язык определения данных ddl
- •2.5.2. Язык управления данными – dml
- •2.6. Классификация моделей данных
- •2.6.1. Объектные модели данных
- •2.6.2. Модели данных на основе записей
- •2.6.3. Физические модели данных
- •2.7. Функции и службы субд
- •2.8. Компоненты субд
- •2 .9. Архитектура многопользовательских субд
- •2.9.2. Файловый сервер
- •2.9.3. Технология «клиент-сервер»
Системы с использованием баз данных
Отличительные черты (концепция) баз данных:
база данных – это единое, большое хранилище данных, которое однократно определяется, а затем используется одновременно многими пользователями – представителями разных подразделений
все данные собраны вместе с минимальной избыточностью
база данных является общим корпоративным ресурсом.
база данных хранит не только данные, но и их описания. Наличие самоописания данных в базе данных обеспечивает в ней независимость программ от данных
независимость данных – возможность изменения логической и физической структуры БД без изменения представлений пользователей
безопасность (целостность) данных - защита данных от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения
Стандартизация построения и эксплуатации БД (фактически СУБД).
Независимость данных предполагает инвариантность к характеру хранения данных, программному обеспечению и техническим средствам. Она обеспечивает минимальные изменения структуры БД при изменениях стратегии доступа к данным и структуры самих исходных данных. Это достигается, как будет показано далее, «смещением» всех изменений на этапы концептуального и логического проектирования с минимальными изменениями на этапе физического проектирования.
Целостность данных - устойчивость хранимых данных к разрушению и уничтожению, связанных с неисправностями технических средств, системными ошибками и ошибочными действиями пользователей.
Она предполагает:
отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;
защиту от ошибок при обновлении БД;
невозможность удаления (или каскадное удаление) связанных данных разных таблиц;
неискажение данных при работе в многопользовательском режиме и в распределенных базах данных;
сохранность данных при сбоях техники (восстановление данных).
Целостность обеспечивается триггерами целостности - специальными приложениями-программами, работающими при определенных условиях. Защита данных от несанкционированного доступа предполагает ограничение доступа к конфиденциальным данным и может достигаться:
введением системы паролей;
получением разрешений от администратора базы данных (АБД);
запретом от АБД на доступ к данным;
формирование видов - таблиц, производных от исходных и предназначенных конкретным пользователям.
Три последние процедуры легко выполняются в рамках языка структуризованных запросов Structured Query Language - SQL, часто называемого SQL2.
Стандартизация обеспечивает преемственность поколений СУБД, упрощает взаимодействие БД одного поколения СУБД с одинаковыми и различными моделями данных. Стандартизация (ANSI/SPARC) осуществлена в значительной степени в части интерфейса пользователя СУБД и языка SQL. Это позволило успешно решить задачу взаимодействия различных реляционных СУБД как с помощью языка SQL, так и с применением приложения Open DataBase Connection (ODBC). При этом может быть осуществлен как локальный, так и удаленный доступ к данным (технология клиент/сервер или сетевой вариант).
П ример реализации подхода с использованием баз данных приведен на рис 3
Преимущества СУБД
контроль за избыточностью данных (обычно полностью не устраняется)
непротиворечивость данных
совместное использование данных
поддержка целостности данных (ограничения на связи и значения)
повышенная безопасность
применение стандартов
повышение эффективности с ростом масштаба системы
упрощение сопровождения системы за счет независимости от данных
улучшенное управление параллельной работой и совместным доступом
развитые службы резервного копирования и восстановления
Недостатки СУБД
Сложность
Высокая стоимость
Дополнительные затраты на аппаратное обеспечение
Затраты на преобразования
Производительность
Более серьезные последствия при выходе системы из строя.