- •Системы управления базами данных
- •2. Динамическое создание гипертекстовых документов на основе содержимого бд.
- •Архитектура субд
- •Функции субд
- •Логическое (даталогическое) проектирование]
- •Нормализация Нормальная форма
- •Параллельные системы баз данных
- •Гомогенные и гетерогенные базы данных
- •Литература
- •2.Когаловский м.Р. Перспективные технологии информационных систем. — м.: дмк Пресс; Компания АйТи, 2003. — 288 с. — isbn 5-279-02276-4.
ЛЕКЦИЯ 5 ТЕМА: Системы баз данных
СОДЕРЖАНИЕ
Основы систем баз данных понятия, характеристика, архитектура. Модели данных. Нормализация Ограничение целостности данных. Оптимизация запросов и их обработка Основы SQL. Параллельная обработка данных и их восстановление. Проектирование и разработка баз данных. Технология программирования QRM. Распределенные, параллельные, гетерогенные базы данных
(2 часа)
Основы систем баз данных понятия, характеристика, архитектура.
Основные понятия и определения Стержневые идеи современных информационных технологий базируются на концепции баз данных. Согласно этой концепции, основой информационных технологий являются данные, которые должны быть организованы в базы данных в целях адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей.
Одним из важнейших понятий в теории баз данных является понятие информации. Под информацией понимаются любые сведения о каком-либо событии, процессе, объекте. Данные — это информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку человеком или информационным средством. Для компьютерных технологий данные — это информация в дискретном, фиксированном виде, удобная для хранения, обработки на ЭВМ, а также для передачи по каналам связи.
База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области, или иначе БД — это совокупность взаимосвязанных данных при такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений в определенной предметной области. БД состоит из множества связанных файлов.
Система управления базами данных (СУБД) — совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Автоматизированная информационная система (АИС) — это система, реализующая автоматизированный сбор, обработку, манипулирование данными, функционирующая на основе ЭВМ и других технических средств и включающая соответствующее программное обеспечение (ПО) и персонал. В дальнейшем в этом качестве будет использоваться термин информационная система (ИС), который подразумевает понятие автоматизированная.
Каждая ИС в зависимости от ее назначения имеет дело с той или иной частью реального мира, которую принято называть предметной областью (ПрО) системы. Выявление ПрО — это необходимый начальный этап разработки любой ИС. Именно на этом этапе определяются информационные потребности всей совокупности пользователей будущей системы, которые, в свою очередь, предопределяют содержание ее базы данных.
Банк данных (БнД) является разновидностью ИС. БнД — это система специальным образом организованных данных: баз данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. Под задачами обработки данных обычно понимается специальный класс решаемых на ЭВМ задач, связанных с видом, хранением, сортировкой, отбором по заданному условию и группировкой записей однородной структуры. Отдельные программы или комплекс программ, реализующие автоматизацию решения прикладных задач обработки данных, называются приложениями. Приложения, созданные средствами СУБД, относят к приложениям СУБД.
Приложения, созданные вне среды СУБД с помощью систем программирования, использующих средства доступа к БД, к примеру, Delphi или Visual Studio, называют внешними приложениями.
Современное состояние технологий баз данных
Кратко сформулируем основные современные принципы организации баз данных.
Базы данных. Для хранения и обработки больших объемов информации используются базы данных. Телефонный справочник является базой данных, в которой хранится информация об организациях (адрес, телефон и т. д.). Записная книжка является базой данных, в которую записывается информация о людях (фамилия, телефон, адрес электронной почты и т. д.). Библиотечный каталог является базой данных, которая хранит информацию о книгах (название, автор, год издания и т. д.).
Каждая база данных хранит информацию о большом количестве объектов одинакового типа (организациях, людях, книгах и т. д.). Объекты одного типа обладают одинаковым набором свойств, поэтому база данных хранит для каждого объекта значения этих свойств.
База данных позволяет упорядоченно хранить данные о большом количестве однотипных объектов, обладающих одинаковым набором свойств.
В настоящее время широкое распространение получили компьютерные базы данных. Например, при работе с электронной почтой используется база данных "Адресная книга".
Табличная форма представления баз данных. Базы данных удобно представлять в виде таблицы. В каждой строке таблицы размещаются значения свойств одного объекта, а каждый столбец таблицы хранит значения определенного свойства всех объектов. Например, в базе данных "Записная книжка" в каждой строке таблицы содержится информация об определенном человеке, а значения его "свойств": "№", "Фамилия", "Телефон", "E-mail" хранятся в различных столбцах (табл.1).
Таблица 5.1. База данных "Записная книжка" в табличной форме |
||||||||||||||||
|
Столбцы табличной базы данных называют полями. Каждое поле имеет имя и может хранить данные определенного типа (текст, число, дата/время и т. д.). В базе данных "Записная книжка" полями являются "№" (число), "Фамилия", "Телефон" и "E-mail" (текст).
Строки таблицы называются записями (т. е. это записи об объекте). Запись хранит набор значений, содержащихся в полях базы данных. Записи могут нумероваться с использованием счетчика (поле "№").
Так, в базе данных "Записная книжка" содержатся три записи, в каждой из которых хранятся значения четырех свойств.
Представление записей базы данных с помощью формы. Для поочередного ввода, просмотра и редактирования записей базы данных часто используется форма. Форма позволяет последовательно отображать записи в удобном для пользователя виде.
Обычно на форме размещаются надписи, являющиеся именами полей базы данных, и поля, в которых отображаются данные выбранной записи базы данных (рис. 5.1).
В процессе создания формы можно указать, какие поля базы данных включить в форму и как расположить поля в окне формы. Пользователь может подобрать подходящий дизайн (размер и цвет) надписей, текстовых полей и самой формы.
|
Значительная часть современных СУБД способна работать на компьютерах различной архитектуры под управлением разных операционных систем. Подавляющее большинство современных СУБД обеспечивают поддержку полной реляционной модели данных, обеспечивая целостность категорий и целостность на уровне ссылок. Современные СУБД для определения данных и манипуляции ими опираются на принятые стандарты в области языков, а при обмене данными между различными СУБД базируются на существующих технологиях по обмену информацией.
Многие существующие СУБД относятся к так называемым сетевым СУБД, которые предназначены для поддержки многопользовательского режима работы с базой данных и поддержки возможности децентрализованного хранения данных. Такие СУБД имеют развитые средства администрирования баз данных и средства защиты хранимой в них информации. Подобные СУБД имеют средства подключения клиентских приложений. Современные СУБД характеризуются опытами применения концепции фундаментальной идеи объектно-ориентированного подхода, способствующей повышению уровня абстракции баз данных, являющейся перспективным этапом на пути развития технологий баз данных.
Информационные системы, созданные средствами технологии баз данных, иногда принято называть банками данных (БнД).
БнД включает в себя:
технические средства; одну или несколько БД; СУБД; словарь или каталог данных; администратора; вычислительную систему; обслуживающий персонал.
БнД — информационная система, реализующая централизованное управление данных в интересах всех пользователей АС. (Средство интеграции данных). БнД — может рассматриваться в узком и широком смысле этого понятия. В узком БнД=БД + СУБД. В широком БнД =АС (автоматизированная система). БнД в узком смысле включает в состав две основные компоненты: • БД; • СУБД — для реализации централизованного управления данными, хранимыми в базе, доступа к ним, поддержание их в состоянии, соответствующем состоянию ПО. В широком смысле БнД — это АС.
Рисунок 3. Банк данных
Системы управления базами данных
Итак, как уже не один раз упоминалось, СУБД — это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.
По степени универсальности различаются два класса СУБД — системы общего назначения и специализированные системы.
СУБД общего назначения не ориентированы на какую-либо конкретную предметную область или на информационные потребности конкретной группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной обстановке.
СУБД общего назначения обладает средствами настройки на работу с конкретной БД в условиях конкретного применения.
В некоторых ситуациях СУБД общего назначения не позволяют добиться требуемых проектных и эксплуатационных характеристик (производительность, занимаемый объем памяти и прочее).
Тем не менее, создание специализированных СУБД весьма трудоемкий процесс и для того, чтобы его реализовать, нужны очень веские основания.
В процессе реализации своих функций СУБД постоянно взаимодействует с базой данных и с другими прикладными программными продуктами пользователя, предназначенными для работы с данной БД и называемыми приложениями. Для того чтобы СУБД успешно справлялась со своими задачами, она должна обладать определенными возможностями.
Основные функциональные возможности СУБД – это, в первую очередь, создание базы данных и ее актуализация, ввод и обработка данных, отбор данных с помощью запросов и предоставление информации пользователям БД в виде таблиц, графиков и отчетов.
Обеспечение целостности данных на уровне БД предполагает наличие средств, позволяющих удостовериться, что информация в БД всегда остается корректной и полной. Целостность данных должна обеспечиваться независимо от способа занесения данных в память (в интерактивном режиме, посредством импорта или с помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
· встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
· средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Большую пользу для обеспечения условий целостности данных, приносят триггеры, которые сохраняют связи между таблицами при добавлении, обновлении или удалении строк в таблицах. Триггером называют сохраненную процедуру специального типа, которая вступает в действие, когда пользователь изменяет данные в указанной таблице с помощью одной или нескольких из следующих операций: UPDATE, INSERT или DELETE. Триггеры позволяют выполнять запросы к другим таблицам и могут содержать сложные инструкции SQL
Импорт-экспорт данных. Функция импорта позволяет средствам СУБД обрабатывать информацию из внешних источников двумя способами:
· Данные из других приложений (например, электронных таблиц) преобразуются из другого формата (например, формата электронной таблицы) и копируются в новую таблицу СУБД;
· Объекты импортируются из одной БД в другую БД в рамках одной СУБД.
Экспорт представляет собой способ вывода данных и объектов БД в другую БД, электронную таблицу или формат файла, позволяющий другой БД, приложению или программе использовать эти данные или объекты БД. Экспорт по своей сути напоминает копирование и вставку через буфер обмена.
Связывание таблиц – это установление связи с данными из другого приложения, что позволяет просматривать и изменять данные в исходном приложении и в СУБД.
Разработка и сопровождение приложений. СУБД обладают развитыми средствами для создания приложений, Этими средствами являются: мощные языки программирования; средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов; средства генерации прикладных программ (приложений), генерации исполнимых файлов.
Многопользовательские функции. Практически все СУБД предназначены для работы в многопользовательских средах, но обладают для этого различными возможностями. Наиболее общими функциями являются следующие:
· блокировка БД, файла, записи, поля;
· идентификация рабочей станции, установившей блокировку;
· обновление информации после модификации;
· контроль за временем обращения и повторения обращения;
· обработка транзакций;
· работа с сетевыми операционными системами.
Репликация баз данных представляет собой создание специальных копий – реплик общей БД, с которыми пользователи могут одновременно работать на разных компьютерах. Отличие реплики от обычной копии файлов БД заключается в том, что для реплики БД возможна синхронизация изменений. При проведении сеанса синхронизации все изменения, сделанные одним пользователем, могут автоматически вноситься в общую реплику и реплики других пользователей, и наоборот.
Интеграция с Интернет отражает новейшие направления развития функциональных возможностей СУБД. Одно из этих направлений – публикация данных в Интернете и в корпоративной сети. СУБД позволяют публиковать объекты БД в виде статических и динамических Web-страниц. Во многих объектах БД возможно использование гиперссылок для перехода к другим документам. Существуют средства создания интерактивных Web-страниц для просмотра, ввода и анализа данных.
Основными WWW-технологиями доступа к БД являются следующие:
1. Однократное или периодическое преобразование содержимого баз данных в статические документы. Содержимое БД просматривает специальная программа-преобразователь, создающая множество файлов в виде связных HTML-документов. Полученные файлы копируются на WWW-сервер. Доступ к ним осуществляется как к статическим гипертекстовым документам сервера.
Такая технология эффективна при небольших массивах данных простой структуры с редким обновлением, а также при пониженных требованиях к актуальности данных, предоставляемых через ресурс WWW. Создание статических Web-страниц не требует использования механизма поиска и индексирования данных.
