Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Основная коллекция
Артикул: 681798.01.99
Доступ онлайн
от 148 ₽
В корзину
В пособии рассмотрены и проанализированы концепции баз данных, архитектура реляционных баз данных, операции над таблицами реляционных баз, методы проектирования информационных систем, жизненный цикл ИС, модели жизненного цикла, методология RAD, структурный подход к проектированию, моделирование функций: методология SADT, моделирование потоков данных: методология DFD, моделирование данных: методология ERD, моделирование данных: методология IDEF1X. В книге нашли отражение такие вопросы, как объектно-ориентированный подход к проектированию, составные части объектно-ориентированной методологии, объектно-ориентированный анализ, система обозначений объектно-ориентированной методологии, язык UML, общие сведения и классификация CASE- средств, разработка инфологической модели данных; организация доступа к данным (средства ускоренного доступа к данным, язык запросов, обработка транзакций, средства восстановления после сбоев); построение систем, ориентированных на анализ данных (хранилища данных; модели данных, используемые при построении хранилищ данных). Написано на основе учебно-методического пособия «Современные базы данных: основы» (М.: ФА, 2004). Предназначено в качестве учебного пособия для студентов, обучающихся по специальностям «Финансы и кредит», «Бухгалтерский учет, анализ и аудит», «Мировая экономика», «Налоги и налогообложение», а также для магистрантов и слушателей ИПК.
Дадян, Э. Г. Проектирование современных баз данных: Учебно-методическое пособие / Дадян Э.Г. - Москва :НИЦ ИНФРА-М, 2017. - 120 с.ISBN 978-5-16-106529-7 (online). - Текст : электронный. - URL: https://znanium.com/catalog/product/959294 (дата обращения: 20.07.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Э.Г. Дадян

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

Москва

Инфра-М

2017

Э.Г. Дадян

Проектирование современных 

баз данных

Учебно-методическое пособие

Москва

Инфра-М; Znanium.com

2017

УДК 338.2(075.8)

ББК 32.973.23 

Д12

Дадян, Э.Г.

Проектирование современных баз данных: Учебно-методическое 

пособие / Э.Г. Дадян. – М.: Инфра-М; Znanium.com, 2017. – 120 с.

ISBN 978-5-16-106529-7 (online)

В пособии рассмотрены и проанализированы концепции баз данных, архитектура 
реляционных баз данных, операции над таблицами реляционных баз, методы 
проектирования информационных систем, жизненный цикл ИС, модели жизненного 
цикла, методология RAD, структурный подход к проектированию, моделирование 
функций: методология SADT, моделирование потоков данных: методология DFD, 
моделирование данных: методология ERD, моделирование данных: методология IDEF1X. 
В книге нашли отражение такие вопросы, как объектно-ориентированный подход к 
проектированию, составные части объектно-ориентированной методологии, объектноориентированный 
анализ, 
система 
обозначений 
объектно-ориентированной 

методологии, язык UML, общие сведения и классификация CASE- средств, разработка 
инфологической модели данных; организация доступа к данным (средства ускоренного 
доступа к данным, язык запросов, обработка транзакций, средства восстановления после 
сбоев); построение систем, ориентированных на анализ данных (хранилища данных; 
модели данных, используемые при построении хранилищ данных).

Написано на основе учебно-методического пособия «Современные базы данных: основы» 
(М.: ФА, 2004).

Предназначено в качестве учебного пособия для студентов, обучающихся по 
специальностям «Финансы и кредит», «Бухгалтерский учет, анализ и аудит», «Мировая 
экономика», «Налоги и налогообложение», а также для магистрантов и слушателей ИПК.

ISBN 978-5-16-106529-7 (online)
© Э.Г. Дадян, 2007, 2017 (переизд.)

О гл а в л е н и е

Введение............................................................................................................................  
5

1. Б а з ы  д а н н ы х  и С У Б Д ....................................................................................  
7

1.1. 
Данные и ЭВМ.................................................................................................... 
7

1.2. 
Концепция баз данных. Архитектура СУБД..................................................  
10

1.2.1. Мифологическая модель данных...................................................................... 
11

1.2.2. Даталогическая модель данных......................................................................... 
12

1.2.3. Физическая модель данных...............................................................................  
13

1.3. 
Типы даталогических моделей данны х.......................................................  
13

1.3.1. Иерархическая даталогическая модель............................................................  
13

1.3.2. Сетевая даталогическая модель......................................................................  
14

1.3.3. Даталогическая модель на основе инвертированных списков.............................  
15

1.3.4. Реляционная даталогическая модель...............................................................  
15

1.3.5. Объектно-реляционная даталогическая модель..............................................  
17

1.3.6. Постреляционная даталогическая модель........................................................ 
18

2. Р е л я ц и о н н ы е  б а з ы  д а н н ы х ....................................................................  
19

2.1. 
Основные понятия реляционных баз да нны х...........................................  
19

2.1.1. Типданных..........................................................................................................  
19

2.1.2. Домен...................................................................................................................  
20

2.1.3. Схема отношения, схема базы данных.............................................................  
20

2.1.4. Кортеж, отношение.............................................................................................. 
21

2.2. 
Целостность реляционных баз данны х.......................................................  
22

2.3. 
Основные свойства отношений реляционных баз данных...................... 
23

2.3.1. Отсутствие кортежей-дубликатов......................................................................  
23

2.3.2. Отсутствие упорядоченности кортежей.............................................................  
23

2.3.3. Отсутствие упорядоченности атрибутов...........................................................  
23

2.3.4. Атомарность значений атрибутов......................................................................  
24

3. О п е р а ц и и  с  т а б л и ц а м и  р е л я ц и о н н ы х  б а з  д а н н ы х ................ 
26

3.1. 
Некоторые операции теории множеств.......................................................  
26

3.1.1. Ограничение отношения..................................................................................... 
26

3.1.2. Проекция отношения........................................................................................... 
27

3.1.3. Объединение отношений.................................................................................... 
28

3.1.4. Пересечение отношений..................................................................................... 
29

3.1.5. Разность отношений............................................................................................ 
31

3.1.6. Произведение отношений................................................................................... 
33

3.1.7. Деление отношений............................................................................................  
34

3.1.8. Соединение отношений...................................................................................... 
36

3.2. 
Нормализация отношений реляционных баз данны х..............................  
36

3.2.1. 
Пример декомпозиции исходной «универсальной» таблицы на простые

отношения............................................................................................................ 
36

3

3.2.2. Проблемы, возникающие при использовании универсального отношения.... 
38

3.2.3. Первая нормальная форма (1NF)...................................................................... 
41

3.2.4. Вторая нормальная форма (2NF)....................................................................... 
42

3.2.5. Третья нормальная форма (3NF)....................................................................... 
44

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

3.2.7. Четвертая нормальная форма (4NF). Пятая нормальная форма

(нормальная форма проекции-соединения (5NF или PJ/NF)..........................  
47

4. М е т о д ы  п р о е к т и р о в а н и я  и н ф о р м а ц и о н н ы х  с и с т е м ............. 
48

4.1. 
Жизненный цикл ИС.........................................................................................  
48

4.2. 
Модели жизненного цикла............................................................................... 
48

4.3. 
Методология RAD.............................................................................................  
50

4.4. 
Структурный подход к проектированию...................................................... 
52

4.4.1. Моделирование функций: методология SADT................................................. 
52

4.4.2. Моделирование потоков данных: методология DFD........................................ 
53

4.4.3. Моделирование данных: методология ERD..................................................... 
54

4.4.4. Моделирование данных: методология IDEF1X................................................ 
60

4.5. 
Объектно-ориентированный подход к проектированию.........................  
63

4.5.1. Составные части объектно-ориентированной методологии...........................  
63

4.5.2. Объектно-ориентированный анализ.................................................................. 
64

4.5.3. Система обозначений объектно-ориентированной методологии.

Язык UML........................ 
 
 
68

4.6. 
Общие сведения и классификация CASE-средств....................................  
71

4.7. 
Разработка инфологической модели данных............................................. 
75

4.7.1. Анализ выходных форм..................................................................................... 
75

4.7.2. Выделение сущностей.......................................................................................  
77

5. О р г а н и з а ц и я  д о с т у п а  к  д а н н ы м ........................................................... 
79

5.1. 
Средства ускоренного доступа к данны м ................................................... 
79

5.2. 
Язык запросов...................................................................................................  
80

5.2.1. Язык SQL............................................................................................................  
80

5.2.2. Состав SQL-оператора....................................................................................... 
81

5.2.3. SQL-оператор SELECT......................................................................................  
82

5.2.4. SQL-оператор DELETE......................................................................................  
98

5.2.5. SQL-оператор INSERT......................................................................................  
99

5.2.6. SQL-оператор UPDATE.....................................................................................  
99

5.3. 
Обработка транзакций..................................................................................... 
100

5.4. 
Средства восстановления после сбоев........................................................ 
104

6. П р и н ц и п ы  п о с т р о е н и я  с и с т е м , о р и е н т и р о в а н н ы х

н а  а н а л и з  д а н н ы х ...........................................................................................  
105

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

6.2. 
Модели данных, используемые при построении хранилищ данных...... 
107

Заключение........................................................................................................................ 
113

Список литературы..........................................................................................................  
114

Приложение........................................................................................................................ 
115

4

Введение

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

Литературы на русском языке, посвященной тематике СУБД, 
очень немного. Невозможно рекомендовать какое-либо издание, 
содержание которого покрывало бы весь материал курса «Базы 
данных». В числе лучших -  книги К. Дейта «Введение в системы 
баз данных» (М.: Наука, 1980) и «Руководство по реляционной 
СУБД ОВ2» (М.: Финансы и статистика, 1988), а также книга 
Дж. Ульмана «Основы систем баз данных» (М.: Финансы и статистика, 1983). Хотя эти книги несколько устарели (на английском 
языке вышло уже несколько дополненных изданий), тем не менее 
они содержат информацию, которая будет интересна пользователям ПЭВМ, специализирующимся в области разработки и проектирования баз данных.

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

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

2) реляционные базы данных (основные понятия реляционных 
баз данных, тип данных, домен, схема отношения, схема базы данных, кортеж, отношение, целостность реляционных баз данных, основные свойства отношений реляционных баз данных);

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

5

3) операции над таблицами реляционных баз данных (операции теории множеств, нормализация отношений реляционных баз 
данных);

4) методы проектирования информационных систем, жизненный цикл ИС, модели жизненного цикла, методология RAD, структурный подход к проектированию, моделирование функций: методология SADT, моделирование потоков данных: методология DFD 
моделирование данных: методология E R D , моделирование данных: методология ID E F 1X , объектно-ориентированный подход к 
проектированию, составные части объектно-ориентированной методологии, объектно-ориентированный анализ. Система обозначений объектно-ориентированной методологии, язык UM, общие сведения и классификация CASE-средств, разработка инфологической 
модели данных;

5) организация доступа к данным (средства ускоренного доступа к данным, язык запросов, обработка транзакций, средства восстановления после сбоев);

6) принципы построения систем, ориентированных на анализ 
данных (хранилища данных, модели данных, используемые при их 
построении).

о<Х)

6

1. Базы данны х и СУБД

1.1. Д ан н ы е и ЭВМ

Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных явлений. С давних времен люди пытались описать эти явления. Такое описание 
называют данными.

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

Нередко данные и интерпретация разделены. 
Например, 
«Расписание движения самолетов» может быть представлено в 
виде таблицы (рис. 1), в верхней части которой (отдельно от данных) приводится их интерпретация. Такое разделение затрудняет 
работу с данными (попробуйте быстро получить сведения из нижней части таблицы).

Интерпретация

Номер
рейса

Дни

недели

Пункт

отправления

Время
вылета

Пункт

назначения

Время

прибытия

Тип

самолета

Стоимость

билета

Данные

138
2_4_7
Баку
21.12
Москва
0.52
ИЛ-86
115.00

57
3_6
Ереван
7.20
Киев
9.25
ТУ-154
92.00

1234
2_6
Казань
22.40
Баку
23.50
ТУ-134
73.50

Рис. 1. Расписание движения самолетов. Данные и их 
интерпретация, оформленные в виде таблицы

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

Существуют, по крайней мере, две исторические причины, по 
которым применение ЭВМ привело к отделению данных от интер
7

претации. Во-первых, ЭВМ не обладали достаточными возможностями для обработки текстов на естественном языке -  основном 
языке интерпретации данных. Во-вторых, стоимость памяти ЭВМ 
была первоначально весьма велика. Память использовалась для 
хранения самих данных, а интерпретация традиционно возлагалась 
на пользователя. Пользователь закладывал интерпретацию данных в свою программу, которая «знала», например, что шестое 
вводимое значение связано с временем прибытия самолета, а четвертое -  с временем его вылета. Это существенно повышало роль 
программы, так как вне интерпретации данные представляют собой 
не более чем совокупность битов на запоминающем устройстве. 
Жесткая зависимость мевду данными и использующими их программами создает значительные неудобства для их использования.

Автоматизированные информационные технологии первоначально основывались на файловой организации данных (см.: Автоматизированные информационные технологии: Учебное пособие/ 
Под ред. Т.В. Воропаевой, В.Б. Либермана, А.И. Никифорова. М.: 
Финансовая академия, 2002). Каждый программный продукт работал с одним или несколькими файлами данных, структура которых 
находились в прямой зависимости от приложений. При этом существовал «примат» программного обеспечения: информационные 
возможности системы полностью определялись возможностями 
программ; любые изменения в структуре данных были возможны 
только при условии соответствующего изменения приложений; информация, содержащаяся в файлах данных, в большинстве случаев оказывалась недоступной для других программных средств.

Схема такой организации программного и информационного 
обеспечения представлена на рис. 2.

Рис. 2. Схема файловой организации данных

8

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

Однако такая организация программного и информационного 
обеспечения имеет свои недостатки.

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

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

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

9

4. Разобщение данных. Файлы данных, используемые разными приложениями, не связаны или только частично связаны между 
собой. Это зачастую приводит к невозможности получить полную 
картину состояния предметной области, серьезным затруднениям 
при решении экономических задач, требующих работы с данными 
разных программ. Кроме того, это может вызывать временную или 
постоянную противоречивость данных, нарушение их целостности.

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

Качественно новый этап информационных технологий связан с 
использованием в АИС баз данных (БД, ЭВ) и систем управления 
базами данных.

1.2. К онцепция баз д ан н ы х. А рхи тектура СУБД

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

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

СУБД должна предоставлять доступ к данным любым пользователям, включая и тех, кого не интересуют такие подробности ее 
функционирования, как:

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

• способы обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;

• технология поддержания баз данных в актуальном состоянии 
ит.д.

При выполнении основных из этих функций СУБД должна использовать различные описания данных. А как создавать эти описания?

10

Естественно, что работу над проектом базы данных надо начинать с анализа предметной области и выявления требований к 
ней отдельных пользователей (сотрудников организации, для которых создается база данных). Проектирование обычно поручается 
человеку (группе лиц) -  администратору базы данных (АБД). Им 
может быть как специально выделенный сотрудник организации, 
так и будущий пользователь базы данных, достаточно хорошо знакомый с машинной обработкой данных.

1.2.1. Мифологическая модель данны х

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

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

(часть реального мира, отражаемая в базе данных)

Рис. 3. Уровни моделей данных

11

Доступ онлайн
от 148 ₽
В корзину