Лекция 2. СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.ppt
- Количество слайдов: 17
Лекция 2 СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
Содержание 2. 1. История развития СУБД (становление и поколения) 2. 2. Основные функции СУБД 2. 2. 1 Непосредственное управление данными во внешней памяти 2. 2. 2. Управление буферами оперативной памяти 2. 2. 3. Управление транзакциями 2. 2. 4. Журнализация 2. 2. 5. Поддержка языков БД 2. 3. Типовая организация СУБД 2. 4. Компоненты СУБД 2. 5. Архитектура многопользовательских СУБД 2. 6. Преимущества и недостатки СУБД 2. 7. Способы разработки и выполнения приложений
Определение СУБД (DBMS) – программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать БД, а также осуществлять к ней контролируемый доступ. Фактически – прослойка между БД и пользователем (прикладной программой) для скрытия особенностей хранения и управления данными (абстрагирование).
История развития СУБД (становление и поколения) СУБД выросли из файловых систем. Примерное начало становления СУБД – 60 -е годы 20 века (нет данных о разработках других стран (СССР, Европа)): для управления данными американского проекта Apollo в начале 60 -х создано программное обеспечение GUAM, в середине 60 -х на базе GUAM создана первая коммерческая СУБД IMS (Information Management System); в середине 60 -х фирма General Electric создала систему IDS (Integrated Data Store) – сетевая СУБД (более сложные взаимосвязи, чем у иерархических СУБД, попытка создания стандарта баз данных).
Формирование стандартов БД – в 1965 на конференции CODASYL (Conference on Data System Languages) создана группа List Processing Task Force, переименованная в 1967 в DBTG (Data Base Task Group) – предложен стандарт в отчетах 1969, 1971 на сетевые. DBTG-системы + системы на основе иерархического подхода – СУБД первого поколения (будут рассмотрены при изучении иерархической и сетевой модели данных), имеют ряд недостатков: для выполнения простых запросов требуют написания достаточно сложных программ; независимость от данных реализована в минимальной степени; отсутствие теоретических основ для описания (только технические стандарты).
В 1970 опубликована работа (E. F. Codd, IBM) о реляционной модели данных, устраняющей недостатки иерархической и сетевой моделей. На базе этой модели появилось множество экспериментальных СУБД. Первые коммерческие реляционные СУБД – конец 70 -х – начало 80 -х (экспериментальная СУБД System R (IBM, Сан-Хосе, Калифорния) – создана для проверки реляционной модели, в ходе проекта создан язык SQL; СУБД DB 2 (IBM); Oracle (Oracle Corporation)). Реляционные СУБД относятся к СУБД второго поколения. Реляционная модель также имеет ряд недостатков, один из них – ограниченные возможности моделирования. Наиболее значимые работы по устранению этого недостатка реляционной модели (в области семантического моделирования данных – исследований о способах представления смыслового значения, о модели более точно описывающей реальный мир): 1976, Чен предложил модель «сущность-связь» (ER-модель) – технология проектирования баз данных (будем рассматривать); Кодд предложил расширенные версии реляционной модели (RM/T (1979) и RM/V 2 (1990)).
В 1970 опубликована работа (E. F. Codd, IBM) о реляционной модели данных, устраняющей недостатки иерархической и сетевой моделей. На базе этой модели появилось множество экспериментальных СУБД. Первые коммерческие реляционные СУБД – конец 70 -х – начало 80 -х (экспериментальная СУБД System R (IBM, Сан-Хосе, Калифорния) – создана для проверки реляционной модели, в ходе проекта создан язык SQL; СУБД DB 2 (IBM); Oracle (Oracle Corporation)). Реляционные СУБД относятся к СУБД второго поколения. Реляционная модель также имеет ряд недостатков, один из них – ограниченные возможности моделирования. Наиболее значимые работы по устранению этого недостатка реляционной модели (в области семантического моделирования данных – исследований о способах представления смыслового значения, о модели более точно описывающей реальный мир): 1976, Чен предложил модель «сущность-связь» (ER-модель) – технология проектирования баз данных (будем рассматривать); Кодд предложил расширенные версии реляционной модели (RM/T (1979) и RM/V 2 (1990)).
Основные функции СУБД Для СУБД характерно наличие следующих функций и служб (сервисов) (первые восемь - Эдгар Кодд, 1982): СУБД должна предоставлять пользователям возможность сохранять, изменять и обновлять данные в БД; СУБД должна иметь доступный конечным пользователям каталог, в котором хранится описание элементов данных; СУБД должна иметь механизм, который гарантирует выполнение либо всех операций обновления данной транзакции, либо ни одной из; СУБД должна иметь механизм, который гарантирует корректное обновление БД при параллельном выполнении операций обновления многими; СУБД должна предоставлять средства восстановления БД на случай ее повреждения или разрушения (этот вопрос связан с поддержкой транзакций);
СУБД должна иметь механизм, гарантирующий возможность доступа к БД только санкционированных пользователей; СУБД должна обладать способностью к интеграции с коммуникационным программным; СУБД должна обладать инструментами контроля за тем, чтобы данные и их изменения соответствовали заданным правилам (целостность БД); СУБД должна обладать инструментами поддержки независимости программ от фактической структуры БД; СУБД должна предоставлять некоторый набор различных вспомогательных служб (в основном для эффективного администрирования БД).
Компоненты СУБД Рис. 2. 1. Основные компоненты типичной СУБД
Компоненты типичной СУБД: процессор запросов – основной компонент СУБД – преобразует запросы в последовательность низкоуровневых инструкций для контроллера базы данных; контроллер базы данных – принимает запросы, проверяет внешние и концептуальные схемы для определения тех концептуальных записей, которые необходимы для выполнения запроса; контроллер файлов – манипулирует файлами БД (создает и поддерживает список структур и индексов, определенных во внутренней схеме, но не управляет вводом-выводом данных непосредственно, а лишь передает запросы соответствующим методам доступа, которые обмениваются данными между системными буферами и диском); препроцессор языка DML – преобразует внедренные в прикладные программы DML-операторы в вызовы стандартных функций базового языка (взаимодействуя с процессором запросов);
компилятор языка DDL – преобразует DDL-команды в набор таблиц, содержащих метаданные; контроллер словаря – управляет доступом к системному каталогу и обеспечивает работу с ним (почти все компоненты СУБД имеют доступ к системному каталогу).
компилятор языка DDL – преобразует DDL-команды в набор таблиц, содержащих метаданные; контроллер словаря – управляет доступом к системному каталогу и обеспечивает работу с ним (почти все компоненты СУБД имеют доступ к системному каталогу).
Архитектура многопользовательских СУБД Эффективность функционирования информационной системы (ИС) во многом зависит от ее архитектуры. ПБД размещается на компьютерах сотрудников подразделений, являющихся клиентами корпоративной базы данных. СУБД должна предоставлять пользователям возможность сохранять, изменять и обновлять данные в БД; Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом - компьютер (программа), использующий данный ресурс. Различают следующие архитектуры (по мере развития): 1) Телеобработка 2) Файловый сервер 3) Технология «клиент/сервер» .
Преимущества технологии «клиент/сервер» : более широкий доступ к существующим базам данных; повышение производительности системы (по сравнению с выше перечисленными подходами); снижение стоимости аппаратного обеспечения (серверная машина – более мощная, чем клиентские); снижение сетевого трафика (по сети идут только необходимые данные); повышается уровень непротиворечивости данных (проверка целостности данных выполняется централизованно на сервере, а не у клиентов). Расширение двухуровневой технологии «клиент/сервер» переход к трехуровневой структуре (эффективна в Internet): тонкий (неинтеллектуальный) клиент – управление только пользовательским интерфейсом (например, web browser); средний уровень (клиент) – управление логикой пользовательского приложения; сервер базы данных.
Преимущества СУБД: контроль за избыточностью данных; непротиворечивость данных; больше полезной информации при том же объеме хранимых данных в БД хранится вся информация; совместное использование данных; поддержка целостности данных; повышенная безопасность; применение стандартов; повышение эффективности с ростом масштабов системы; возможность нахождения компромисса для противоречивых требований; повышение доступности данных и их готовности к работе; улучшение показателей производительности; упрощение сопровождения системы за счет независимости от данных; улучшенное управление параллельностью; развитые службы резервного копирования и восстановления.
Недостатки СУБД: сложность и размер; стоимость СУБД и дополнительные затраты на аппаратное обеспечение; затраты на преобразование; производительность; серьезные последствия при выходе системы из строя.
Лекция 2. СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.ppt