Лекция №13.
Тема: Прикладные программные средства: «системы управления базами данных(СУБД)»
I. Обоснование актуальности приложения.
Имеется большой объем данных о какой-то реальной системе объектов или событий. Например, о книгах в библиотеке, о работниках предприятия, о товарах на складе, о дорожно-транспортных происшествиях на длительный период времени и т.п. Необходимо организовать хранение этой информации таким образом, чтобы ее было удобно просматривать, пополнять, изменять, искать нужные сведения, делать любые выборки, осуществлять сортировку в любом порядке.
Такой работой людям приходилось заниматься и задолго до появления компьютеров. Основным средством хранения данных была бумага. Данные хранились в виде списков в толстых журналах, папках, на картонных карточках. Последний способ используется, например, в библиотечных каталогах. Большинству учеников он хорошо знаком: на каждой карточке записаны сведения об отдельной книге. В алфавитном каталоге карточки систематизированы по фамилиям авторов в алфавитном порядке, в предметном каталоге – по тематике книг. Подобные систематизированные картотеки используются в отделах кадров предприятий. Они удобны тем, что легко можно извлечь нужную карточку, заменить, добавить новые карточки, сохраняя установленный порядок. Тем не менее, если такая картотека содержит тысячи карточек, то, как бы совершенна ни была ее организация, обработка данных в ней – дело длительное и трудоемкое.
Другой пример – архивы различных документов. Например, существуют исторические архивы, архивы судебных дел, архивы патентов на изобретения и многие другие. Порой такие архивы занимают целые здания. Поиск в них нужных документов требует значительных усилий. Кроме того, существуют киноархивы, фотоархивы, архивы звуковых записей.
|
В наше время решению описанных проблем помогают компьютеры. Компьютерные информационные системы позволяют хранить большие объемы данных, осуществлять в них быстрый поиск, вносить изменения, выполнять всевозможные манипуляции с данными (группировать, сортировать и пр.). Например, система продажи железнодорожных и авиационных билетов. Другой пример: во время телерепортажей с крупных международных соревнований, олимпийских игр на экран мгновенно выводится досье любого спортсмена, о котором говорит комментатор – это работает компьютерная информационная система.
Примеры:
· система продажи билетов на пассажирские поезда и самолеты;
· система WWW;
Под информационной системой понимается совокупность средств, способов и методов, направленных на создание и применение систем сбора, хранения, обработки и передачи информации. Цель любой информационной системы – обработка данных об объектах реального мира. В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой–либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и в конечном счете автоматизации, например, предприятие, вуз, и т.д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы.
|
Структурирование – это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле: «Личное дело №156763, Иванов Иван Иванович, дата рождения 1 января 1975 года; личное дело №789465, Сидоров Сидор Сидорович, дата рождения 01 февраля 1978 года; личное дело №456127, Петров Петр Петрович, дата рождения 01 января 1987 года и т.д.».
Легко убедиться, что сложно организовать поиск необходимых данных, хранящихся в неструктурированном виде, а упорядочить подобную информацию практически не представляется реальным. Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах представления данных, то есть дату рождения необходимо записывать одинаково для каждого человека, она должна иметь одинаковую длину и определенное место среди остальной информации. Эти же замечания справедливы и для остальных данных (номер личного дела, фамилия, имя, отчество).
После проведения несложной структуризации с информацией, указанной в данном текстовом файле, она будет выглядеть так:
№ личного дела | Фамилия | Имя | Отчество | Дата рождения |
Иванов | Иван | Иванович | 01.01.75 | |
Сидоров | Сидор | Сидорович | 01.02.78 | |
Петров | Петр | Петрович | 01.01.87 |
Пользователями базы данных могут быть различные прикладные программы, программные комплексы, а также специалисты предметной области, выступающие в роли потребителей или источников данных, называемые конечными пользователями.
|
В современной технологии баз данных предполагается, что создание базы данных, её поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария – системы управления базами данных.
Основой всякой информационной системы является база данных – организованная совокупность данных на магнитных дисках. Естественно, серьезная база данных требует больших объемов дисковой памяти.
База данных (БД) – это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Основные требования к СУБД:
1. Непротиворечивость данных. Не должно быть такой ситуации, когда заказывается отсутствующий на складе товар или в результате ошибки ввода информация о покупателе в заказе не соответствует данным картотеки покупателей. Такое требование называется требованием целостности. Целостность базы данных подразумевает поддержание полной, непротиворечивой и адекватно отражающей предметную область информации. С требованием целостности данных связано понятие транзакции. Транзакция – это последовательность операций над БД, рассматриваемых как единое целое (то есть или все или ничего).
Например, при оформлении заказа на определенный товар в системе нужно выполнить такие операции: регистрацию заказа и резервирование определенного количества товара, а также уменьшение данного товара на складе. Если на любом этапе изменения данных произойдет сбой, то целостность БД будет нарушена. Для предотвращения подобных нарушений вводится транзакция «Оформление заказа», в которой над БД либо должны произвестись все необходимые операции (товар продан, уменьшен его запас на складе), либо должен произойти возврат к исходному состоянию (товар не продан, его количество на складе не изменилось).
2. Актуальность хранимых данных. В любой момент времени информация, содержащаяся в БД, должна быть современной.
3. Многоаспектное использование данных – поступление информации из различных источников в единую БД и возможность ее использования любым отделом предприятия в соответствии с правами доступа и функциями.
4. Возможность модификации системы – возможность ее расширения и модификации данных, а также дополнение новыми функциями без ущерба для системы в целом.
5. Надежность – целостность БД не должна нарушаться при технических сбоях.
6. Скорость доступа – обеспечение быстрого доступа к требуемой информации.
СУБД обеспечивают надежное хранение больших объемов данных сложной структуры во внешней памяти компьютера и эффективный доступ к ним.
К основным функциям СУБД относятся:
Непосредственное управление данными во внешней и оперативной памяти и обеспечение эффективного доступа к ним в процессе решения задач.
Поддержание целостности данных и управление транзакциями.
Ведение системного журнала изменений в БД для обеспечения восстановления БД после технического или программного сбоя.
Реализация поддержки языка описания данных и языка запросов.
Обеспечение безопасности данных.
Обеспечение параллельного доступа к данным нескольких пользователей.
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования базы данных из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
II.Классификация баз данных.
1). По характеру хранимой информации:
- фактографические;
- документальные;
В фактографических базах данных регистрируются факты – конкретные значения свойства (атрибуты) объектов реального мира. Информация заносится в определенном формате, имеет четкую структуру.
В документальных БД - всевозможные документы. Причем это могут быть не только текстовые документы, но и графика, видео и звук (мультимедиа). Пример: архивы. Документальные базы данных образует совокупность неструктурированных объектов, снабженных тем или иным формализованным аппаратом поиска.
2). По способу хранения данных (по технологии обработки):
- централизованные;
- распределенные; (напр. Internet).
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным
- с локальным доступом
- с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем: файл-сервер, клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут также создавать на рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объёма обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту.
4. По структуре организации данных:
- иерархические:
- сетевые:
- реляционные (табличные):
Иерархическая БД. В такой БД существует упорядоченность элементов в записи, один элемент считается главным, остальные – подчиненными. Данные в записи упорядочены в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться лишь последовательным «спуском» со ступеньки на ступеньку. Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней. Иерархическую БД образует каталог файлов, хранимых на диске; дерево каталогов, доступное для просмотра в NORTON COMMANDER, - наглядная демонстрация структуры такой БД и поиска в ней нужного элемента (при работе в операционной системе MS-DOS). Такой же БД является родовое генеалогическое дерево.
Еще пример:
| |||||
Сетевая БД. Эта база данных отличается большей гибкостью, так как в ней существует возможность устанавливать дополнительно к вертикальным иерархическим связям горизонтальные связи. Это облегчает процесс поиска требуемых элементов данных, так как уже не требует обязательного прохождения всех предшествующих ступеней.
Реляционная база данных. (Реляция – отношение).
– используется наиболее часто и является универсальной. Данные хранятся в виде таблиц.
Строка таблицы называется записью
Столбец – полем;
Все элементы в столбце имеют одинаковый тип (числовой, символьный), а каждый столбец – неповторяющееся имя. Одинаковые строки в таблице отсутствуют. Преимущество таких БД – наглядность и понятность организации данных, скорость поиска нужной информации.
Примеры: а) таблица на странице классного журнала;
б) двумерные таблицы типа:
Код | Фамилия | Имя | Дата рождения |
1 | Иванов Сидоров Ильина Кравченко | Алексей Иван Наталья Елена | 23.09.85 4.06.84 15.12.87 8.10.85 |
Счетчик текстовый текстовый дата/время
Ключевое поле не имеет повторяющихся записей и по нему однозначно определяется запись.
В данном случае ключевым полем может служить поле «Код».