Похожие презентации:
Введение в банки данных
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 разного вида пользователь должен
обладать различными полномочиями.
Полномочия пользователей описываются в специальных таблицахкаталогах, контроль полномочий поддерживается на языковом
уровне.
Базы данных