Московский государственный университет печати

Чертовской В.Д.


         

Базы и банки данных

Учебное пособие


Чертовской В.Д.
Базы и банки данных
Начало
Печатный оригинал
Об электронном издании
Оглавление

Введение

Часть 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ

Раздел 1. Основные понятия

1.

Глава 1. Общие сведения

1.1.

Данные, информация, знания

1.2.

Основные понятия и определения

1.3.

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

1.4.

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

2.

Глава 2. Концепция баз данных

2.1.

Требования, предъявляемые к базам данных

2.2.

Концепция построения БД

2.3.

Методология проектирования баз данных

2.4.

Методология использования баз данных

Раздел 2. Теория баз данных

3.

Глава 3. Общая теория

3.1.

Модели представления данных

3.2.

CASE-технология

3.3.

CASE-средства

4.

Глава 4. Теория реляционных баз данных

4.1.

Математические основы теории

4.2.

Построение БД

4.3.

Использование БД

4.3.1.

Запросы к данным

4.3.2.

Синхронизация процессов доступа

Часть 2. Централизованные базы данных

Раздел 3. Реализация бд (модели БД)

5.

Глава 5. Реляционные БД SQL

5.1.

Логическая структура

5.2.

Создание БД

5.3.

Использование БД

5.3.1.

Язык SQL

5.3.2.

Язык QBE

6.

Глава 6. Сетевые БД

6.1.

Логическая структура

6.2.

Программная реализация

6.2.1.

Создание БД (ЯОД)

6.2.2.

Использование БД (ЯМД)

7.

Глава 7. Иерархические БД

7.1.

Логическая структура

7.2.

Программная реализация

7.2.1.

Создание БД (ЯОД)

7.2.2.

Использование БД (ЯМД)

8.

Глава 8. Взаимосвязь МД

8.1.

Сравнительная характеристика моделей данных

8.2.

Преобразование моделей данных

8.3.

Выбор моделей данных

9.

Глава 9. Физическая БД

9.1.

Вопросы программной реализации БД

9.2.

Организация хранения и доступ

9.3.

Доступ к данным и их обновление

Раздел 4. Современные направления развития БД

10.

Глава 10. Автоматизация проектирования

10.1.

Классический подход к проектированию

10.1.1.

Однопользовательский режим

10.1.2.

Многопользовательский режим

10.2.

Современный подход к проектированию

10.3.

Автоматизация проектирования

11.

Глава 11. Объектно-ориентированные базы данных

11.1.

Недостатки реляционных баз данных

11.2.

Состояние развития ООБД

11.3.

Сущность ООБД

11.4.

Недостатки и перспективы развития ООБД

Часть 3. Распределенные базы данных (РБД)

Раздел 5. Основы теории РБД

12.

Глава 12. Общая характеристика РБД

12.1.

Новые требования, предъявляемые к БД

12.2.

Состав и работа РБД

12.3.

Система клиент/сервер

Раздел 6. Основы теории РБД

13.

Глава 13. Создание РБД

13.1.

Обеспечение целостности

13.2.

Фрагментация и локализация

13.3.

Процесс интеграции

13.4.

Преобразование структуры и данных

13.5.

Однородные и неоднородные РБД

14.

Глава 14. Использование РБД

14.1.

Одновременный доступ

14.2.

Защита

14.3.

Восстановление РБД

14.4.

Запросы

Заключение

Контрольные вопросы

Литература

Указатели
11  именной указатель
360  предметный указатель
163  указатель иллюстраций
25  указатель компаний

Часть 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ

Раздел 1. Основные понятия

1.
Глава 1. Общие сведения

1.1.
Данные, информация, знания

Любая задача обработки информации и принятия решений может быть представлена в виде схемы, показанной на рис. 1.1.Рис. 01.01. Схема решения задач обработки информации и принятия решений: x-штрих, y-штрих - входная и выходная информация; f - внутреннее операторное описание

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

Правила могут быть в виде алгоритмов, процедур и эвристических последовательностей.

АлгоритмАлгоритм - последовательность правил перехода от исходных данных к результату. Правила могут выполняться компьютером или человеком.

ДанныеДанные - совокупность объективных сведений.

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

ЗнанияЗнания - совокупность фактов, закономерностей и эвристических правил, с помощью которых решается поставленная задача. Последовательность операций обработки данных называют Информационная технологияинформационной технологией (ИТ). В силу значительного количества информации в современных задачах она должна быть упорядочена. Существует два подхода к упорядочению.

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

  2. В связи с этим предложена другая, широко используемая технология баз данных, представляющая собой упорядочение по хранению.

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

База знанийБаза знаний (БЗ) представляет собой совокупность БД и используемых правил, полученных от лиц, принимающих решения (ЛПР).

Наряду с понятием «база данных» существует термин «банк данных», который имеет две трактовки.

  1. В настоящее время данные обрабатываются децентрализованно (на рабочих местах) с помощью персональных компьютеров (ПК). Первоначально же использовалась централизованная обработка на больших ЭВМ. В силу централизации базу данных называли банком данных и потому часто не делают различия между базами и банками данных.

  2. Банк данныхБанк данных - база данных и система управления ею (СУБД). СУБД (например, FoxPro) представляет собой приложение для создания баз данных как совокупности двумерных таблиц.

ПриложениеПриложение - программа или группа программ, предназначенных для выполнения стандартных работ.

1.2.
Основные понятия и определения

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

ФайлФайл - информация, хранимая на электронном носителе после завершения отдельных заданий и рассматриваемая в процессе обработки как единое целое.

ПолеПоле - столбец файлового документа (таблицы). Имя поля часто называют атрибутом.

ДоменДомен - совокупность значений поля.

УниверсумУниверсум - совокупность значений всех полей.

ЗаписьЗапись - строка документа. Это пользовательское представление называют также логической записью.

Запись физическаяЗапись физическая (совокупность данных записываемых/считываемых одним блоком) характеризует расположение данных в физической памяти ПК.

Запись хранимаяХранимая запись - совокупность связанных элементов данных, соответствующая одной или нескольким логическим записям и содержащая все необходимые служебные данные.

КлючКлюч - поле с уникальными (неповторяющимися) записями, используемое для определения места расположения записи. Ключ может состоять из совокупности полей (составной ключ), называемых Суперключсуперключом.

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

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

УказательУказатель - идентификатор, который ведет к заданной записи из какой-то другой записи в базе данных. Приведем перечень используемых в дальнейшем терминов, детальное пояснение которых проводится в последующих разделах данной работы.

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

АрхитектураАрхитектура - разновидность (обобщение) структуры, в которой какой-либо элемент может быть заменен на другой элемент, характеристики входов и выходов которого идентичны первому элементу.

Схема внешняяВнешняя схема - описание данных на концептуальном уровне.

Схема внутренняяВнутренняя схема - описание данных на физическом уровне.

Модель даталогическаяДаталогическая модель - модель логического уровня, представляющая собой отображение логических связей безотносительно к их содержанию и среде хранения.

Задание (работа)Задание (работа) - программа или совокупность программ и преобразуемые этими программами данные.

ИндексИндекс - совокупность указателей, содержащих информацию о местоположении записи.

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

КОДАСИЛ (CODASYL)КОДАСИЛ (CODASYL) - набор стандартов для сетевых БД.

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

КортежКортеж - совокупность полей или запись.

ЛогическийЛогический - определение, относящееся к представлению или описанию данных, не зависящему от запоминающей среды или вычислительной системы.

МетаданныеМетаданные - данные о данных, описание информационных ресурсов, их характеристик, местонахождения, способов использования и т.д.

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

НавигацияНавигация - операция, результат которой представлен единым объектом, полученным при прохождении пути по логической структуре БД.

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

Отношение r на множествах (доменах)Отношение r на множествах (доменах)S1 , ..., Sn - подмножество декартова произведения S1 & ... & Sn . Отношение может быть составным: r = (r1 , ..., rn ).

ПодсхемаПодсхема - описание логического представления пользователя данной группы.

Предметная областьПредметная область - часть реального мира, представляющая интерес для данного исследования (использования).

ПрограммаПрограмма - полное и точное описание алгоритма на некотором формальном языке.

ПроцедураПроцедура - некоторая подпрограмма.

База данных распределеннаяРаспределенная база данных (РБД) - единая БД, представленная в виде отдельных (возможно, избыточных и перекрывающихся) разделов на разных вычислительных средствах.

СемантикаСемантика - часть языка, касающаяся указания смысла и действия текста, составленного в соответствии с синтаксическим правилами.

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

СинтаксисСинтаксис - правила, определяющие разрешенные языковые конструкции, а также последовательности расположения символов в программе.

Журнал системныйСистемный журнал - журнал регистрации всех изменений БД.

СпецификацияСпецификация - операция, результатом которой является новая структура, построенная на основе структур базы данных.

СтруктураСтруктура - совокупность элементов и их связей.

СущностьСущность - примитивный объект данных, отображающий элемент предметной области (человек, место, вещь и т.д.).

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

СвязьСвязь - ассоциация между экземплярами примитивных или агрегатированных объектов (записей) данных.

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

Язык базы данныхЯзык базы данных - общий термин, относящийся к классу языков, которые используются для определения и обращения к базам данных.

Язык манипулирования даннымиЯзык манипулирования данными (ЯМД) - командный язык, обеспечивающий доступ к содержимому БД и его обработку.

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

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

Таблица 1.1.

Таблица данных о вузе

№_студента №_преподавателя Кафедра Факультет Часовая нагрузка
1 2 3 4 5
Козлов
...
Строков
...
ИиУС
...
ПМТ
...
65
...

В силу произвольности порядка для данной, конкретной реализации следует закрепить определенный вариант, называемый Схема пользователясхемой пользователя. В нелинейной структуре выделяется понятие «агрегат», являющийся как бы таблицей в таблице (табл. 1.2).

Таблица 1.2.

Таблица поставок комплектующих

Шифр Название Кол-во в год В том числе по кварталам
54
...
Принтер
...
98
...
40
...
17
...
20
...
21
...

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

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

КлассификацияКлассификация - разделение множества на подмножества по неформально предложенному признаку. В силу многогранности баз данных и СУБД (комплекса технических и программных средств для хранения, поиска, защиты и использования данных) имеется множество классификационных признаков. Классификация БД по основным из них ссылка на источники литературы приведена на рис. 1.2.Рис. 01.02. Классификация баз данных Отдельно следует классифицировать системы управления базами данных (рис. 1.3).Рис. 01.03. Классификация СУБДБаза данныхБазы данных могут классифицироваться и с точки зрения экономической ссылка на источники литературы: по условиям предоставления услуг - бесплатные и платные (бесприбыльные, коммерческие); по форме собственности - государственные, негосударственные; по степени доступности - общедоступные, с ограниченным кругом пользователей. В дальнейшем сосредоточим внимание на видеобазах данных-текстов (таблиц) со структуризованными данными документального и лексикографического характера. Речь пойдет об открытых СУБД, как правило, операционного типа. В части II и преимущественно в части I рассматриваются вопросы, связанные с централизованными БД. Специфика методологии и построения распределенных БД изучается в части III.

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

Система управления базы данныхСУБД представляет собой оболочку, с помощью которой при организации структуры таблиц и заполнения их данными получается та или иная база данных. В связи с этим полезно поговорить о системе программно-технических, организационных и «человеческих» составляющих (рис. 1.4).Рис. 01.04. Состав СУБД Программные средства включают систему управления, обеспечивающую ввод-вывод, обработку и хранение информации, создание, модификацию и тестирование База данныхБД, Транслятортрансляторы. Базовыми внутренними языками программирования являются языки четвертого поколения. В качестве базовых языков могут использоваться C, C++, Pascal, Object Pascal. Язык C++ позволяет строить программы на языке Visual Basic с широким спектром возможностей, более близком и понятном даже пользователю-непрофессионалу, и на непроцедурном (декларативном) языке структурированных запросов SQL. Следует отметить, что исторически для системы управления базой данных сложились три языка:

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

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

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

В настоящее время функции всех трех языков выполняет Язык SQLязык SQL, относящийся к классу языков, базирующихся на исчислении кортежей (кортеж чаще всего является единицей информации), языки СУБД FoxPro, Visual Basic for Application (СУБД Access) и т.д.

Вместе с тем сохранились и языки запросов, например язык запросов по примеру Query By Example (QBE) класса исчисления доменов. Отметим, что эти языки в качестве «информационной единицы» БД используют отдельную запись. С помощью языков БД создаются приложения, базы данных и интерфейс пользователя, включающий экранные формы, меню, отчеты. При создании БД на базе СУБД FoxPro эти элементы (объекты) фиксируются в отдельных файлах, которые, в свою очередь, сосредоточиваются в одном файле, называемом Проектпроектом. После отработки БД проект преобразуется в приложение. В СУБД Access все созданные объекты размещаются в одном файле.

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

В качестве технических средств могут выступать супер- или персональные компьютеры с соответствующими периферийными устройствами.

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

Пользователей возможно разделить на две основные категории: конечные пользователи; администраторы баз данных.

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

    1) анализ предметной области, статус информации и пользователей;

    2) проектирование структуры и модификация данных;

    3) задание и обеспечение целостности;

    4) загрузка и ведение БД;

    5) защита данных;

    6) обеспечение восстановления БД;

    7) сбор и статистическая обработка обращений к БД, анализ эффективности функционирования БД;

    8) работа с пользователем.

Одним из важнейших инструментов АБД является словарь.

© Центр дистанционного образования МГУП