489.00K
Категория: Базы данныхБазы данных

Введение в банки данных

1.

Тема 1. Введение в банки данных

2.

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

3.

Понятие банка данных
Пример. Интегрированный банк данных регионального уровня
МВД России

4.

Требования к БнД
1. Адекватность отображения предметной области (полнота,
целостность и непротиворечивость данных, актуальность
информации, т. е. ее соответствие состоянию объекта на
данный момент времени);
2. Дружелюбность интерфейсов и малое время на освоение
системы для конечных пользователей;
3. Обеспечение секретности и конфиденциальности для
некоторой части данных, в том числе определение групп
пользователей и их полномочий;
4. Обеспечение взаимной независимости программ и данных;

5.

Требования к БнД
5. Обеспечение надежности функционирования БнД;
6. Защита данных от случайного и преднамеренного
разрушения;
7. Возможность быстрого и полного восстановления данных в
случае их разрушения;
8. Технологичность обработки данных, приемлемые
характеристики функционирования БнД (стоимость
обработки, время реакции системы на запросы, требуемые
машинные ресурсы и др.).

6.

Требования к БнД
5. Обеспечение надежности функционирования БнД;
6. Защита данных от случайного и преднамеренного
разрушения;
7. Возможность быстрого и полного восстановления данных в
случае их разрушения;
8. Технологичность обработки данных, приемлемые
характеристики функционирования БнД (стоимость
обработки, время реакции системы на запросы, требуемые
машинные ресурсы и др.).

7.

Компоненты банка данных
В банк данных входят следующие компоненты:
1. Информационная компонента
2. Программные средства БнД
3. Языковые средства БнД
4. Организационно-методические средства
5. Администраторы банка данных

8.

Компоненты банка данных
1. Информационная компонента
К ней относится ядро БнД – это база данных.
База данных – это поименованная совокупность
взаимосвязанных данных, находящихся под управлением
СУБД.
База данных – это совокупность связанных данных,
организованных по определенным правилам,
предусматривающим общие принципы описания, хранения
и манипулирования, независимая от прикладных
программ.
База данных является информационной моделью предметной
области.

9.

Компоненты банка данных
1. Информационная компонента
Описания баз данных часто называют схемой.
Описания отдельных частей баз данных с точки зрения
отдельных пользователей — подсхемы.
К банкам данных не относятся немашинные документы,
служащие источниками информации, вводимой в БД,
файлы входной и выходной информации, архивные файлы,
выходные документы.

10.

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

11.

Компоненты банка данных
2. Программные средства БнД
Основу программных средств БнД представляет СУБД. В ней
можно выделить ядро СУБД, обеспечивающее организацию
ввода, обработки и хранения данных, а также другие
компоненты, обеспечивающие настройку системы, средства
тестирования, утилиты, обеспечивающие выполнение
вспомогательных функции, таких, как восстановление баз
данных, сбор статистики о функционировании БнД и др.
Неотъемлемой компонентой СУБД являются трансляторы или
компиляторы для используемых ею языковых средств.

12.

Компоненты банка данных
2. Программные средства БнД
Подавляющее большинство СУБД работает в среде универсальных
операционных систем и взаимодействует с ОС при обработке
обращений к БнД. Поэтому можно считать, что ОС также
входит в состав БнД.
Для обработки запросов к БД пишутся соответствующие
программы, которые представляют прикладное программное
обеспечение БнД.

13.

Компоненты банка данных
3. Языковые средства БнД
С точки зрения концепции разделения выделяют:
А) Языки описания данных (ЯОД). К ним относятся язык
описания (ЯО) схем; ЯО подсхем; ЯО хранимых данных; ЯО
внешних данных (входных выходных).
Б) Языки манипулирования данных (ЯМД). Они разделяются на
процедурные (надо указать, какие действия и над какими
объектами необходимо выполнить, чтобы получить результат –
пример реляционная алгебра) и непроцедурные (указывается
как достигается результат в общем виде – пример реляционное
исчисление).
В) Языки запросов и другие языковые средства. Сюда относятся
языки, обеспечивающие только возможности выполнения
запросов, генераторы отчетов (выборка данных в виде
документов) и графические языки.

14.

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

15.

Функции администратора БнД
1. Анализ предметной области:
- описание предметной области;
- выявление ограничений целостности;
- определение статуса информации;
- определение потребностей пользователей;
- определение статуса пользователей;
- определение соответствия «данные—пользователь»;
- определение объемно-временных характеристик обработки
данных.
2. Проектирование структуры базы данных:
- определение состава и структуры файлов базы данных,
связей между ними;
- выбор методов упорядочения данных и методов доступа к
информации;
- описание структуры БД на ЯОД.

16.

Функции администратора БнД
3. Задание ограничений целостности при описании
структуры базы данных и процедур обработки БД:
- задание ограничений целостности, присущих предметной
области;
- определение ограничений целостности, вызванных
структурой базы данных;
- разработка процедур обеспечения целостности БД при
вводе и корректировке данных.
4. Первоначальная загрузка и ведение базы данных:
- разработка технологии изменения, добавления, удаления
записей в БД;
- проектирование форм ввода;
- создание программных модулей;
- подготовка исходных данных;
- ввод и контроль ввода.

17.

Функции администратора БнД
5. Защита данных.
- Обеспечение парольного входа в систему: регистрация
пользователей, назначение и изменение паролей.
- Обеспечение защиты конкретных данных: определение
прав доступа групп пользователей и отдельных
пользователей, определение допустимых операций над
данными для отдельных пользователей, выбор/создание
программно-технологических средств защиты данных.
- Тестирование средств защиты данных.
- Фиксация попыток несанкционированного доступа к
информации.
- Исследование возникающих случаев нарушения защиты
данных и проведение мероприятии по их предотвращению.

18.

Функции администратора БнД
6. Обеспечение восстановления БД:
- разработка программно-технологических средств
восстановления БД,
- организация ведения системных журналов.
7. Анализ обращений пользователей к БД:
- сбор статистики обращений пользователей к БД, ее хранение и
анализ (кто из пользователей, к какой информации, как часто
обращался, какие выполнял операции, время выполнения
запросов, анализ причин безуспешных (в том числе и
аварийных) обращений к БД).
8. Работа с пользователями: сбор информации об изменениях в
предметной области, об оценке пользователями работы БнД,
определение регламента работы пользователей с БнД, обучение
пользователей, консультирование пользователей.

19.

Функции администратора БнД
9. Анализ эффективности функционирования БнД и развитие
системы:
- анализ показателей функционирования системы (время обработки,
объем памяти, стоимостные показатели);
- реорганизация и реструктуризация баз данных;
- изменение состава баз данных, развитие программных и
технических средств.
10. Подготовка и поддержание системных программных средств:
сбор и анализ информации о СУБД и ППП, приобретение
программных средств, их установка, проверка работоспособности,
поддержание системных библиотек.
11. Организационно-методическая работа: выбор или создание
методики проектирования БД, определение целей и направлений
развития системы, планирование этапов развития БнД, разработка
и выпуск организационно методических материалов.

20.

Классификация БнД/Баз данных
1. По форме представления информации различают видео- и
аудиосистемы, а также системы мультимедиа.
Наибольшее практическое использование находят базы данных,
содержащие обычные символьные данные:
А) К неструктурированным БД могут быть отнесены базы,
организованные в виде семантических сетей.
Б) Частично структурированными можно считать базы данных в
виде обычного текста или гипертекстовые системы.
В) Структурированные БД, в свою очередь, по типу используемой
модели делятся на иерархические, сетевые, реляционные,
смешанные и мультимодельные.

21.

Классификация БнД
2. По типу хранимой информации БД делятся на документальные,
фактографические и лексикографические. Среди документальных
баз различают библиографические, реферативные и
полнотекстовые.
К лексикографическим базам данных относятся различные словари
(классификаторы, многоязычные словари, словари основ слов и т.
п.).
3. По характеру организации хранения данных и обращения к
ним различают локальные (персональные), общие
(интегрированные) и распределенные базы данных.
4. По охвату предметной области. Она может производиться по
разным признакам: по территориальному (всемирный, страна,
город или какой-либо иной регион), временному (год, месяц, с
начала века и т. п.), ведомственному, проблемному.

22.

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

23.

Классификация СУБД
1. По языкам общения СУБД делятся на открытые, замкнутые и
смешанные. Открытые системы — это системы, в которых для
обращения к базам данных используются универсальные языки
программирования. Замкнутые системы имеют собственные языки
общения с пользователями БнД. Открытые системы в настоящее
время используются редко.
2. По числу уровней в архитектуре различают одноуровневые,
двухуровневые, трехуровневые системы. В принципе возможно
выделение и большего числа уровней. Под архитектурным
уровнем СУБД понимают функциональный компонент, механизмы
которого служат для поддержки некоторого уровня абстракции
данных (логический и физический уровень, а также «взгляд»
пользователя — внешний уровень).

24.

Классификация СУБД
3. По выполняемым функциям СУБД делятся на информационные
и операционные.
А) Информационные СУБД позволяют организовать хранение
информации и доступ к ней. Для выполнения более сложной
обработки необходимо писать специальные программы.
Б) Операционные СУБД выполняют достаточно сложную
обработку, например, автоматически позволяют получать
агрегированные показатели, не хранящиеся непосредственно в
базе данных, могут изменять алгоритмы обработки и т. д.
4. По сфере возможного применения различают универсальные и
специализированные, обычно проблемно-ориентированные СУБД

25.

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

26.

Функции СУБД
СУБД отвечают за:
2. Управление буферами оперативной памяти
СУБД обычно работают с БД значительного размера и зачастую
размер БД существенно больше доступного объема оперативной
памяти. Поэтому при обращении к любому элементу данных будет
скорость обмена будет равна скорости работы внешнего
устройства, где находится нужная информация.
Практически единственным способом реального увеличения этой
скорости является буферизация данных в оперативной памяти.
Зачастую возможностей ОС по буферизации данных может оказаться
недостаточно, поэтому в развитых СУБД поддерживается
собственный набор буферов оперативной памяти с собственной
дисциплиной замены буферов.

27.

Функции СУБД
СУБД отвечают за:
3. Управление транзакциями
Транзакция - это последовательность операций над БД,
рассматриваемых СУБД как единое целое.
Понятие транзакции необходимо для поддержания логической
целостности БД.
Каждая транзакция начинается при целостном состоянии БД и
оставляет это состояние целостным после своего завершения,
делает очень удобным использование понятия транзакции как
единицы активности пользователя по отношению к БД.

28.

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

29.

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

30.

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

31.

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

32.

Функции СУБД
СУБД отвечают за:
4. Журнализация
При мягком сбое во внешней памяти основной части БД могут
находиться объекты, модифицированные транзакциями, не
закончившимися к моменту сбоя, и могут отсутствовать объекты,
модифицированные транзакциями, которые к моменту сбоя
успешно завершились. Для восстановления данных сначала
производят откат незавершенных транзакций (undo), а потом
повторно воспроизводят (redo) те операции завершенных
транзакций, результаты которых не отображены во внешней
памяти.
Для восстановления БД после жесткого сбоя используют журнал и
архивную копию БД. Грубо говоря, архивная копия - это полная
копия БД к моменту начала заполнения журнала.

33.

Функции СУБД
СУБД отвечают за:
5. Поддержка языков БД
Для работы с базами данных используются специальные языки, в
целом называемые языками баз данных. В части СУБД может
иметься несколько специализированных по своим функциям
языков. Чаще всего выделяются два языка - язык определения
схемы БД (SDL - Schema Definition Language) и язык
манипулирования данными (DML - Data Manipulation Language).
SDL служит главным образом для определения логической структуры
БД, т.е. той структуры БД, какой она представляется
пользователям.
DML содержит набор операторов манипулирования данными, т.е.
операторов, позволяющих заносить данные в БД, удалять,
модифицировать или выбирать существующие данные.

34.

Функции СУБД
СУБД отвечают за:
5. Поддержка языков БД
В современных СУБД обычно поддерживается единый
интегрированный язык, содержащий все необходимые средства
для работы с БД, начиная от ее создания, и обеспечивающий
базовый пользовательский интерфейс с базами данных.
Стандартным языком наиболее распространенных в настоящее
время реляционных СУБД является язык SQL (Structured Query
Language).
Язык SQL сочетает средства SDL и DML, т.е. позволяет определять
схему реляционной БД и манипулировать данными. Он содержит
специальные средства определения ограничений целостности БД.

35.

Функции СУБД
СУБД отвечают за:
5. Поддержка языков БД
Специальные операторы языка SQL позволяют определять так
называемые представления БД (view).
Для пользователя представление является такой же таблицей, как
любая базовая таблица, хранимая в БД, но с помощью
представлений можно ограничить или наоборот расширить
видимость БД для конкретного пользователя.
Авторизация доступа к объектам БД производится также на основе
специального набора операторов SQL. Идея состоит в том, что для
выполнения операторов SQL разного вида пользователь должен
обладать различными полномочиями.
Полномочия пользователей описываются в специальных таблицахкаталогах, контроль полномочий поддерживается на языковом
уровне.
English     Русский Правила