Материал: Письменные лекции по дисциплине «Базы данных»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Архитектуры систем централизованных БД с сетевым доступом подразделяется на файл-сервер и клиент-сервер.

БД с сетевым доступом файл-сервер

БД с сетевым доступом клиент-сервер Отличия: в архитектуре «файл-сервер» файловый сервер принимает

запросы, поступающие по сети от компьютеров-клиентов и передает им требуемые данные, однако обработка этих данных выполняется на компьютерах-клиентах, а в архитектуре «клиент-сервер» сервер базы данных не только обеспечивает доступ к общим данным, но и берет на себя всю обработку этих данных. Недостатки архитектуры «файл-сервер»: требуется большой объем передачи данных, низкая производительность, сложное управление целостностью данных.

Архитектура «файл-сервер» предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На ней хранится совместно используемая централизованная БД. Все другие машины сети являются рабочими станциями. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность системы падает.

В архитектуре «клиент-сервер» подразумевается, что помимо хранения централизованной БД центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные клиента, порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту.

Распределенная БД состоит из нескольких частей, хранимых в различных ЭВМ вычислительной сети (работа с такой БД происходит с помощью СУБД).

По способу доступа к данным БД разделяются на БД с локальным и удаленным доступом.

БД с локальным доступом называется, если эта вычислительная система является компонентом сети ЭВМ, возможен распределённый доступ к такой базе. Такой способ использования БД часто применяют в локальных сетях ПК.

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

Для работы с созданной БД пользователю или администратору БД следует иметь перечень файлов-таблиц с описанием состава их данных (структуры, схемы). Для этого создается специальный файл, называемый

словарем данных (депозитарием, словарем-справочником, энциклопедией). Описание БД относится к метаинформации.

1.3. Классификация СУБД

Пример информационной БД — БД сотового оператора. Пример операционной БД — БД банка.

1.3.1. Состав СУБД и работа БД

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

обеспечивающую ввод-вывод, обработку и хранение информации, создание, модификацию и тестирование БД, трансляторы.

Следует отметить, что исторически для системы управления базой данных сложились три языка:

1.Язык описания данных (ЯОД), называемый также языком описания схем, — для построения структуры ("шапки") таблиц БД;

2.Язык манипулирования данными (ЯМД) — для заполнения БД данными и операций обновления (запись, удаление, модификация);

3.Язык запросов — язык поиска наборов величин в файле в соответствии с заданной совокупностью критериев поиска и выдачи затребованных данных без изменения содержимого файлов и БД (язык преобразования критериев в систему команд).

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

1.4.Язык SQL

Язык SQL является языком запросов. Он содержит специальные средства определения ограничений целостности БД.

Ограничения целостности хранятся в специальных таблицах-каталогах, и обеспечение контроля целостности БД производится на языковом уровне, т. е. при компиляции операторов модификации БД компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код.

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

Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений

можно ограничить или наоборот расширить видимость БД для конкретного пользователя. Поддержание представлений производится также на языковом уровне.

Авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. В число этих полномочий входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.

Схема базы данных (от англ. Database schema) — ее структура,

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

Схемы в общем случае хранятся в словаре данных. Хотя схема определена на языке базы данных в виде текста, термин часто используется для обозначения графического представления структуры базы данных.

Основными объектами графического представления схемы являются таблицы и связи, определяемые внешними ключами.

Задачи СУБД:

поддержание логически согласованного набора файлов;

обеспечение языка манипулирования данными;

восстановление информации после разного рода сбоев;

реальная параллельная работа нескольких пользователей.