Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модуль1_Организация и управление БД

.pdf
Скачиваний:
12
Добавлен:
16.03.2015
Размер:
1.08 Mб
Скачать

Содержание

 

МОДУЛЬ 1. ОСНОВЫ БАЗ ДАННЫХ ОРГАНИЗАЦИЯ И УПРАВЛЕНИЕ БД..............

4

Лекция 1. Основные понятия и определения автоматизированных систем и баз

данных...............................................................................................................................

4

Определение и состав АБД...........................................................................................

7

Лекция 2. Эволюция систем управления данными. Архитектура современного

банка данных....................................................................................................................

9

Требования к автоматизированным банкам данных...................................................

9

Трехуровневая архитектура банка данных ................................................................

14

Лекция 3. Модели данных, реализованные в СУБД. Иерархическая модель....

17

Иерархическая модель данных...................................................................................

20

Лекция 4. Модели данных, реализованные в СУБД. Сетевая, реляционная и

 

объектная модели .........................................................................................................

24

Сетевая модель данных..............................................................................................

24

Реляционная модель данных......................................................................................

30

Объектно-ориентированная модель данных..............................................................

30

Лекция 5. Определение и свойства реляционной базы данных...........................

32

Структура реляционной базы данных.........................................................................

32

Лекция 6. Языки запросов к РБД.................................................................................

41

Лекция 7. Реляционное исчисление над переменными-кортежами.....................

48

Лекция 8. Структурный язык запросов SQL. Общая структура оператора Select

...........................................................................................................................................

53

Запросы к базе данных................................................................................................

53

Лекция 9. Опции фильтрации, группировки и сортировки Select. Операторы

 

включения, удаления и изменения данных в РБД ..................................................

59

Параметр WHERE ........................................................................................................

59

Оператор UNION ..........................................................................................................

65

Оператор INSERT.........................................................................................................

66

Оператор DELETE........................................................................................................

68

Оператор UPDATE .......................................................................................................

69

Лекция 10. Архитектура и средства администрирования MS SQL Server............

70

Архитектура MS SQL Server ........................................................................................

71

Утилиты администрирования MS SQL Server ............................................................

73

Исходные пользователи и БД в MS SQL Server.........................................................

74

Язык управления данными в MS SQL Server .............................................................

76

Правила именования объектов баз данных в программах на Transact-SQL ...........

77

Постоянные объекты базы ..........................................................................................

77

Временные объекты.....................................................................................................

78

Сохранение значений, вычисляемых оператором SELECT в локальных

 

переменных ..................................................................................................................

79

2

МОДУЛЬ 2. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ..........................................................

80

Лекция 11. Декомпозиция схем отношений...............................................................

80

Аномалии операций включения и удаления данных.................................................

80

Декомпозиция схемы отношения с сохранением информации................................

82

Декомпозиция схемы отношения с сохранением функциональных зависимостей.85

Функциональная зависимость атрибутов отношения................................................

85

Лекция 12. Минимизация функциональных зависимостей....................................

88

Требования к декомпозиции с сохранением ФЗ ........................................................

88

Правила вывода функциональных зависимостей......................................................

89

Графический метод минимизации набора функциональных зависимостей......

90

Лекция 13. Нормальные формы отношений.............................................................

93

Первая нормальная форма (1НФ) отношения...........................................................

93

Вторая нормальная форма (2НФ) отношения............................................................

94

Третья нормальная форма (3НФ) ...............................................................................

95

Алгоритм декомпозиции отношения в третью нормальную форму..........................

96

Дополнительные нормальные формы отношений...............................................

101

Нормальная форма Бойса-Кодда (НФБК) ................................................................

101

Лекция 14. Семантические модели для разработки баз данных.........................

105

Лекция 15. Поэтапная методика проектирования РБД..........................................

117

Общая схема процесса проектирования структуры РБД........................................

117

Лекция 16. Основы физической организации БД ..................................................

124

Лекция 17. Современное состояние и перспективы развития БД......................

129

Хранилища данных ....................................................................................................

133

Базы данных и WEB-технологии...............................................................................

136

3

Модуль 1. Основы баз данных Организация и управление БД

Лекция 1. Основные понятия и определения автоматизированных систем и баз данных

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

Под информацией как предметом труда в АС понимаются любые сведения об объектах, событиях, явлениях и процессах, необходимые для принятия решений, в автоматизируемой сфере деятельности. Необходимая полнота и способы обработки информации определяются задачами, актуальными в данной предметной области в текущий момент времени.

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

4

используемые в АС, могут иметь разные формы представления, определяющие возможные способы их обработки. Например, значение ’29.01.2006’ может пониматься как просто текстовая строка или дата и в зависимости от этого к нему могут применяться разные операции.

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

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

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

5

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

Основой для построения развивающихся вслед за объектами их информационных моделей являются автоматизированные банки данных.

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

АБД

 

 

 

 

Состояние объектов

 

Информацион-

 

предметной области

 

ная модель

 

 

 

предметной

 

 

 

области

 

 

 

 

 

 

 

 

 

Предметная область

(объекты, процессы, явления, события реального мира)

Ответ АБД

Запрос

программы

Ответ АБД

Запрос

специалиста

Прикладные

Прикладныепрограммы программы(бизнесприложе(бизнесния)

приложения)

Специалисты, Специалисты, принимающие решения

Принятые решения

Рис.1.1. Схема использования АБД в автоматизированной системе

6

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

Определение и состав АБД

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

В состав типового автоматизированного банка входят: базы данных, словарь данных (метабаза), система управления базой данных и администратор баз данных.

7

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

СУБД – комплекс лингвистических (языковых) и программных средств, предназначенных для создания, защиты, ведения и совместного использования баз данных многими пользователями.

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

СТУДЕНТ (Факультет, Специальность, Фамилия И. О., Успеваемость, Стипендия)

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

Для создания в словаре описаний данных в СУБД используются специальные языки – Data Description Language (DDL). Языки описания данных базы включают средства для описания полной логической структуры данных – языки описания схемы, средства для описания данных отдельных групп пользователей – языки описания подсхем и средства описания размещения данных на носителях информации. Используемые в СУБД языки описания данных различаются системами соглашений о том, как отдельные данные должны быть организованы в хранимые записи и какими могут быть связи между записями, определяющие структуру данных. Правила образования допустимых структур данных определяют модель данных в конкретной СУБД.

8

Во многих СУБД для облегчения процесса построения описания (схемы) данных созданы диалоговые экранные формы.

Для управления данными СУБД имеют языки манипулирования данными

– Data Manipulation Language (DML), содержащие операторы, создания запросов и внесения изменений в базу данных. Операторы языка манипулирования данными зависят от допустимых структур (модели) данных, однако в любой СУБД должны быть реализованы операторы для включения, удаления, изменения, поиска и выборки данных. Во многих реальных языках для работы с БД каждая названная группа состоит из нескольких операторов. Таким образом, каждая СУБД для работы с БД использует ее описание, созданное средствами DDL, и выполняет преобразование данных операторами DML. Изучение этих языков составляет значительную часть курса базы данных. Для работы с БД непрограммирующих пользователей – специалистов в предметной области во многих СУБД разработаны диалоговые экранные формы для управления данными и выполнения запросов.

Лекция 2. Эволюция систем управления данными. Архитектура современного банка данных

Требования к автоматизированным банкам данных

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

Основными требованиями к автоматизированным банкам данных, работающим в составе АС, являются:

1)возможность объединения в единой базе данных многих пользователей – специалистов в предметной области при одновременном сохранении контроля прав доступа пользователей к БД. Объединение данных

9

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

2)наличие полнофункциональных и удобных средств для работы с БД. Возможность создавать ассоциативные запросы к данным по их наименованиям и выбирать данные по разнообразным критериям;

3)возможность одновременной работы многих пользователей с общей базой данных, предотвращающая конфликты совместного обращения к одним данным;

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

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

состав и объемы данных и переходить на новые более производительные устройства.

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

В процессе перехода к современному состоянию банки данных прошли ряд этапов развития.

10

Эволюция банков данных

1 этап. Прямой доступ прикладных программ к носителям информации. Для хранения промежуточных и окончательных данных программами

используются устройства долговременного хранения. Запись и считывание осуществляется по физическим адресам данных в устройствах. Схема работы программы с устройством хранения представлена на рис. 2.1.

Прикладная

Драйвер

Данные

программа

 

Физические

 

Устройство для

адреса на

 

 

хранения данных

устройстве

 

Рис. 2.1. Прямая запись – считывание на устройство хранения данных

Прямой доступ программ к устройству хранения данных имеет следующие серьезные недостатки:

зависимость программы от используемого устройства памяти;

доступ выполняется по только физическим адресам данных и невозможен по их содержанию;

полная незащищенность данных от несанкционированного доступа;

избыточность, обусловленная дублированием одних данных в разных программах;

однопрограммный режим обработки.

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

2 этап. Применение файловых систем для хранения данных. Схема доступа к данным в файловой системе показана на рис. 2.2.

11