Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-30_BD.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
144.3 Кб
Скачать
  1. Понятие субд. Классификация субд.

В современной технологии баз данных предполагается, что создание базы данных, её поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария – системы управления базами данных (СУБД).

Система управления базами данных (СУБД) – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Современная СУБД содержит в своем составе программные средства создания баз данных, средства работы с данными и сервисные средства. С помощью средств создания БД проектировщик, используя язык описания данных (ЯОД), переводит логическую модель БД в физическую структуру, а на языке манипуляции данными (ЯМД) разрабатывает программы, реализующие основные операции с данными (в реляционных БД – это реляционные операции). При проектировании привлекаются визуальные средства, т.е. объекты, и программа-отладчик, с помощью которой соединяются и тестируются отдельные блоки разработанной программы управления конкретной БД.

Классифицировать СУБД можно, используя различные признаки классификации.

По степени универсальности различают СУБД общего и специального назначения.

Важнейшим классификационным признаком СУБД является тип модели данных, поддерживаемый СУБД. По этому признаку СУБД делятся на:

    • иерархические. Первой иерархической СУБД была система IMS (Information Management System) компании IBM, коммерческое распространение которой началось в 1968 г.;

    • сетевые. Первой сетевой СУБД считается система IDS (Integrated Data Store), разработанная компанией General Electric немного позже системы IMS;

    • реляционные. Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc. и других поставщиков появились в начале 80-х годов;

    • объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают использовать стандартный язык запросов для реляционных БД – SQL, но с объектными расширениями;

    • объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.

    • многомерные, в основе которых лежит многомерная модель данных.

На самом общем уровне все СУБД можно разделить на:

  • профессиональные (промышленные), которые представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами(Oracle, DB2, Sybase, Informix, Inqres, Progress);

  • персональные (настольные). Это программное обеспечение, ориентированное на решение задач локального пользователя или компактной группы пользователей и предназначенная для использования на персональном компьютере, это объясняет их второе название – настольные.(DBASE, FoxBase, FoxPro, Clipper, Paradox, Access).

  1. Типовая организация современной субд.

СУБД состоит из нескольких программных компонентов, каждый из которых нацелен на выполнение специфической операции.

Логически в современной реляционной СУБД можно выделить внутреннюю часть — ядро СУБД, компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит.

Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию.

Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL и утилитах БД.

Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры «клиент-сервер» ядро является основной составляющей серверной части системы.

Обобщенная компонентная структура СУБД:

  • Процессор запросов преобразует запросы в последовательность низкоуровневых инструкций для контроллера базы данных.

  • Компилятор языка определения данных преобразует его команды в набор таблиц, содержащих метаданные.

  • Препроцессор языка манипулирования данными преобразует внедренные в прикладные программы его операторы в вызовы стандартных функций базового языка. Основной его функцией является компиляция операторов языка БД в некоторую выполняемую программу.

  • Контроллер словаря управляет доступом к системному каталогу и обеспечивает работу с ним.

  • Контроллер файлов манипулирует предназначенными для хранения данных файлами и отвечает за распределение доступного дискового пространства. Он создает и поддерживает список структур и индексов, определенных во внутренней схеме.

  • Контроллер базы данных взаимодействует с запущенными пользователями прикладными программами и запросами. Контроллер базы данных принимает запросы и проверяет внешние и концептуальные схемы для определения тех концептуальных записей, которые необходимы для удовлетворения требований запроса. Затем контроллер базы данных вызывает контроллер файлов для выполнения поступившего запроса. В состав контроллера базы данных входят следующие основные программные компоненты:

  1. контроль прав доступа проверяет наличие у данного пользователя полномочий для выполнения затребованной операции;

  2. процессор команд получает управление после проверки полномочий пользователя для выполнения затребованной операции;

  3. средства контроля целостности осуществляют в случае выполнения операций, которые изменяют содержимое базы данных, проверку того, удовлетворяет ли затребованная операция всем установленным ограничениям поддержки целостности данных;

  4. оптимизатор запросов определяет оптимальную стратегию выполнения запроса;

  5. контроллер транзакций осуществляет требуемую обработку операций, поступающих в процессе выполнения транзакций;

  6. планировщик отвечает за бесконфликтное выполнение параллельных операций с базой данных и управляет относительным порядком выполнения операций, затребованных в отдельных транзакциях;

  7. контроллер восстановления гарантирует восстановление базы данных до непротиворечивого состояния при возникновении сбоев;

  8. контроллер буфера отвечает за перенос данных между оперативной памятью и жестким диском.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]