Базы данных. Учебное пособие
.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФГБОУ ВПО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ»
И.Е. МЕДВЕДКОВА, Ю.В. БУГАЕВ,
С.В.ЧИКУНОВ
БАЗЫ ДАННЫХ
Утверждено редакционно-издательским советом университета
в качестве учебного пособия
ВОРОНЕЖ
2014
УДК 681.3.07 ББК З 2.973.26-018.2.75 М 20
Научный редактор профессор Г.В. АБРАМОВ
Р е ц е н з е н т ы:
кафедра информационных технологий управления Воронежского государственного университета;
д.т.н. В.Е. МЕЖОВ (Воронежская государственная лесотехническая академия)
Печатается по решению редакционно-издательского совета
Воронежского государственного университета инженерных технологий
|
Медведкова, И.Е. |
|
|
М 20 |
Базы данных [Текст]: |
учеб. |
пособие / И. Е. Медвед- |
|
кова, Ю. В. Бугаев, С. В. Чикунов; Воронеж. гос. ун-т инж. |
||
|
технол. – Воронеж : ВГУИТ, 2014. – |
108 с. |
|
|
ISBN 978-5-00032-060-0 |
|
|
|
Учебное пособие разработано в соответствии с требованиями |
||
|
ФГОС ВПО подготовки выпускников по направлениям 230700.62 – |
||
|
“Прикладная информатика”, 230400.62 - “Информационные системы и |
||
|
технологии”. Оно предназначено для закрепления теоретических знаний |
||
|
дисциплин цикла Б3. Пособие формирует практические навыки проекти- |
||
|
рования баз данных. |
|
|
|
2404010000 − 16 |
УДК 681.3.07 |
|
|
ББК З 2.973.26-018.2.75 |
||
M |
OK(03) − 2013 Без объявл. |
|
|
ISBN 978-5-00032-060-0
© Медведкова И.Е., Бугаев Ю.В., Чикунов С.В., 2014
© ФГБОУ ВПО «Воронеж. гос. ун-т инж.технол.
Оригинал-макет данного издания является собственностью Воронежского государственного университета инженерных технологий, его репродуцирование (воспроизведение) любым способом без согласия университета запрещается.
2
ОГЛАВЛЕНИЕ |
|
|
ОТ АВТОРА........................................................................................ |
5 |
|
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ...................................................... |
6 |
|
1.1. |
ПОНЯТИЕ ИНФОРМАЦИИ ........................................................... |
6 |
1.2. |
ДАННЫЕ.................................................................................... |
6 |
1.3. |
ПОНЯТИЕ БАЗЫ ДАННЫХ ........................................................... |
7 |
1.4. |
СУБД И БАНКИ ДАННЫХ ........................................................... |
8 |
1.5. |
НЕЗАВИСИМОСТЬ ПРОГРАММ И ДАННЫХ ................................... |
9 |
1.6. |
ИСТОРИЯ РАЗВИТИЯ СУБД...................................................... |
11 |
1.6.1. |
Ранние СУБД (1 поколение).............................................. |
12 |
1.6.2. |
Реляционные СУБД (2 поколение).................................... |
14 |
1.6.3. |
Постреляционные СУБД (3 поколение)........................... |
16 |
1.7.РОЛЬ И МЕСТО БАЗ ДАННЫХ В ИНФОРМАЦИОННЫХ
СИСТЕМАХ ............................................................................................ |
18 |
|
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ............................................................. |
19 |
|
ГЛАВА 2. МОДЕЛИ ДАННЫХ......................................................... |
21 |
|
2.1. |
ТРЕХУРОВНЕВАЯ АРХИТЕКТУРА ANSI/SPARC........................ |
21 |
2.2. |
ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ ДАННЫХ "СУЩНОСТЬ-СВЯЗЬ"...... |
24 |
2.3. |
ER-ДИАГРАММЫ ..................................................................... |
26 |
2.3.1. |
Дуги ................................................................................... |
28 |
2.3.2. |
Подтипы........................................................................... |
29 |
2.3.3. |
Ассоциации........................................................................ |
29 |
2.4. |
ДАТАЛОГИЧЕСКИЕ МОДЕЛИ ДАННЫХ ...................................... |
30 |
2.4.1. |
Иерархическая модель данных......................................... |
32 |
2.4.2. |
Сетевая модель данных................................................... |
34 |
2.5. |
РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ............................................. |
37 |
2.5.1. |
Преимущества реляционной БД..................................... |
40 |
2.5.2. Получение реляционной схемы из ER-схемы.................... |
41 |
|
2.6. |
МОДЕЛИ ВНУТРЕННЕГО УРОВНЯ .............................................. |
43 |
2.7. |
ПРОЕКТИРОВАНИЕ ДАННЫХ .................................................... |
44 |
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ............................................................ |
47 |
|
ЗАДАНИЕ НА ПОСТРОЕНИЕ ДАТАЛОГИЧЕСКОЙ МОДЕЛИ ......................... |
48 |
|
ГЛАВА 3. СУБД............................................................................... |
49 |
|
3.1. |
ОСНОВНЫЕ ФУНКЦИИ СУБД................................................... |
49 |
3.2. |
ТИПОВАЯ ОРГАНИЗАЦИЯ СОВРЕМЕННОЙ СУБД....................... |
51 |
3.3. |
ПОЛЬЗОВАТЕЛИ БД ................................................................. |
52 |
3.4. |
ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ ................................................ |
54 |
3.5. |
ОБЩИЕ ПРИНЦИПЫ ВОССТАНОВЛЕНИЯ БАЗЫ ДАННЫХ............. |
56 |
3
3.6. |
ЖУРНАЛИЗАЦИЯ ..................................................................... |
58 |
3.6.1. |
Файл журнала. .................................................................. |
58 |
3.6.2. |
Журнализация и буферизация.......................................... |
59 |
3.7. |
ИНДИВИДУАЛЬНЫЙ ОТКАТ ТРАНЗАКЦИИ ................................. |
60 |
3.8. |
ВОССТАНОВЛЕНИЕ ПОСЛЕ МЯГКОГО СБОЯ ............................... |
61 |
3.9. |
ВОССТАНОВЛЕНИЕ БД ПОСЛЕ ЖЕСТКОГО СБОЯ ....................... |
62 |
3.10. |
АДМИНИСТРАТОР БАЗЫ ДАННЫХ............................................. |
63 |
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ............................................................. |
66 |
|
ГЛАВА 4. |
ЯЗЫК SQL....................................................................... |
67 |
4.1. |
ЯЗЫК SQL-ФАКТИЧЕСКИЙ СТАНДАРТ ДЛЯ РЕЛЯЦИОННЫХ |
|
СУБД. |
67 |
|
4.2. |
ОСНОВНЫЕ КЛАССЫ ОПЕРАТОРОВ ЯЗЫКА SQL. ....................... |
69 |
4.2.1.Операторы определения данных Data Definition Language (DDL). …………………………………………………………………………………………..69
4.2.2.Операторы манипулирования данными Data Manipulation
Language (DML) ............................................................................... |
70 |
4.2.3.Контроль транзакций Transaction Control Language (TCL).
……………………………………………………………………………………………70
4.2.4. |
Защита данных Data Control Language (DCL)................... |
71 |
4.3. |
РАБОТА С ОПЕРАТОРАМИ SQL................................................. |
72 |
4.3.1 |
Выбор данных ................................................................... |
72 |
4.3.2 |
Вычисления внутри SELECT............................................... |
76 |
4.3.3 |
Связывание таблиц.......................................................... |
77 |
4.3.4 |
Вложенные последовательности запросов. .................. |
80 |
4.3.5 |
Модификация данных....................................................... |
81 |
4.3.6 |
Определение данных в SQL. .............................................. |
82 |
4.3.7 |
Управление доступом к данным в SQL. ........................... |
85 |
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ............................................................. |
86 |
|
ЗАДАНИЯ НА СОЗДАНИЕ ЗАПРОСОВ ....................................................... |
88 |
|
ГЛАВА 5. ИСПОЛЬЗОВАНИЕ БД..................................................... |
90 |
|
5.1. |
КЛАССИФИКАЦИЯ СУБД ........................................................ |
90 |
5.2. |
ДОКУМЕНТАЛЬНЫЕ И ФАКТОГРАФИЧЕСКИЕ БД ....................... |
91 |
5.2.1. |
Документальные БД ........................................................ |
91 |
5.2.2. |
Фактографические БД ..................................................... |
92 |
5.3. |
ОЦЕНКА КАЧЕСТВА БАЗ ДАННЫХ............................................. |
92 |
5.4. |
ХАРАКТЕРИСТИКИ КАЧЕСТВА ИНФОРМАЦИИ ........................... |
94 |
5.4.1 |
Функциональные характеристики.................................. |
94 |
5.4.2 |
Конструктивные характеристики................................. |
96 |
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ: .......................................................... |
101 |
|
БИБЛИОГРАФИЧЕСКИЙ СПИСОК................................................. |
102 |
|
4
ОТ АВТОРА
Изучение дисциплины направлено на формирование у студентов следующих компетенций по направлениям:
230400.62 – “Информационные системы и технологии”:
−способности проводить предпроектное обследование объекта проектирования, системный анализ предметной об- ласти, их взаимосвязей (ПК-1);
−готовности осуществлять организацию контроля ка- чества входной информации (ПК-22);
−готовности обеспечивать безопасность и целостность данных информационных систем и технологий (ПК-33);
230700.62 – “Прикладная информатика”:
−способности свободно пользоваться русским языком
иодним из иностранных языков на уровне, необходимом для выполнения профессиональных задач (ОК-9);
−способности ставить и решать прикладные задачи с использованием современных информационно- коммуникационных технологий (ПК-4);
−способности моделировать и проектировать структуры данных и знаний, прикладные и информационные процессы
(ПК-9);
−способности принимать участие в создании и управ- лении ИС на всех этапах жизненного цикла (ПК-11).
5
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ
1.1. Понятие информации
Термин информация происходит от латинского слова informatio – объяснение, изложение, сведения. Информация настолько общее понятие, что в него вкладывают различные смыслы в технике, науке, быту.
Информация - сведения об объектах, явлениях окру- жающей среды, их параметрах, свойствах и состоянии.
Свойства информации:
žдостоверность,
žполнота,
žсрочность,
žценность,
žсвоевременность,
žпонятность,
žзащищенность,
žкраткость и т.д.
Динамические свойства информации 1. Рост. В результате деятельности людей информа-
ция об определенном объекте может увеличиваться.
2.Повторяемость. Информация способна многократно распространяться.
3.Старение. С течением времени интенсивность ис- пользования информации объекта может уменьшиться.
4.Рассеиваемость. Информация может рассосредота-
чиваться по различным источникам и отражена в различной форме.
1.2.Данные
Источником информации является реальный мир. По- скольку это чрезвычайно емкое понятие, то выделяется та часть реального мира, которая находится в зоне интересов пользователя, т.е. предметная область (рис. 1.1).
6
Информация об объекте или отношениях объектов, вы- раженная в знаковой форме, образует данные. То есть данные
– это информация, представленная в виде, который позволяет автоматизировать её сбор, хранение и дальнейшую обработку. Для компьютерных технологий данные – это информация в дискретном, фиксированном виде, удобная для хранения, об- работки на ЭВМ, для передачи по каналам связи.
Данные можно перекодировать, т.е. переводить из од- ной знаковой системы в другую без потери информации.
|
Объекты |
|
Реальный |
Свойства |
|
объектов |
||
мир, |
||
(атрибуты) |
||
предметная |
||
|
||
область |
Отношения |
|
|
||
|
объектов |
Логическое
отображение
проблемной среды или отображение в знаковой сис-
теме, ориен-
тированной на человека
Физическое
отображение или отобра- жение в зна- ковой систе- ме, ориенти-
рованной на ЭВМ
Рис. 1.1 Отображение предметных сред в банках данных
Основные идеи современных информационных техно- логий базируются на концепции баз данных. Согласно этой
концепции основой информационных технологий являются данные которые должны быть организованы в базы данных в целях адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей поль- зователей.
1.3. Понятие базы данных
База данных (БД) - это один или несколько специаль- ным образом организованных файлов, хранящих системати- зированную информацию, для доступа к которой используют-
ся программные средства системы управления базой данных
(СУБД). БД. представляет собой хранилище связанных между собой данных, не зависящих от программ, которые к ним об-
7
ращаются. Например, в БД предприятия хранятся конст- рукционные, технологические, производственные, эксплуата- ционные, экономические и т. п. характеристики изделий предприятия и их аналогов, выпускаемых конкурирующими фирмами. Такой БД могут пользоваться специалисты из отде- ла маркетинга (для прогноза конкурентоспособности изделий на рынке), плановики (для определения необходимых объе- мов выпуска продукции), конструкторы (для анализа конст- руктивных особенностей БД конкурентов) и т. д.
БД должна быть достаточно полной, правильно органи-
зованной, всегда соответствовать текущему моменту вре- мени и удобной для использования. Содержащиеся в ней дан-
ные не должны противоречить друг другу.
По существу, база данных— это совокупность храни- мых во внешней памяти ЭВМ данных большого объема. База данных может быть «интегрированной», т. е. представлять собой комплекс взаимосвязанных данных, предназначенных для обеспечения информационных нужд различных пользова- телей, каждый из которых имеет отношение к отдельным, возможно совместно используемым частям данных.
Говоря о физической организации, необходимо отме- тить, что существует много различных способов организации данных в запоминающей среде, с помощью которых можно обеспечить соответствие некоторой модели.
1.4. СУБД и банки данных
Системы управления базами данных (СУБД) – основа современной информационной технологии. Они представля- ют собой базы данных, т. е. набор файлов, содержащих инте-
ресуемые пользователя данные и систему управления базами данных (СУБД).
СУБД предоставляет пользователю услуги для исполь- зования базами данных. Роль СУБД - посредник между при- ложением (например, MS Access), с которым работает чело- век, и физическими файлами в памяти ЭВМ.
Под банком данных понимается организационно- техническая система, представляющая собой совокупность
8
баз данных, технических и программных средств формирова- ния и ведения этих баз и коллектива специалистов, обеспе- чивающих функционирование системы. А также самих дан- ных, хранимых в БД.
В самом общем виде основные функции банка дан- ных можно сформулировать следующим образом: адекватное информационное отображение данных предметной облас- ти, обеспечение хранения, обновления и выдачи необходимых
данных пользователям.
Рис. 1.2. Составные части банка данных
Составными частями любого банка данных являются
(рис.1.2):
üбаза данных,
üсистема управления базой данных (СУБД),
üадминистратор базы данных,
üприкладное программное обеспечение
То есть под банком данных понимаются все аспекты, касающиеся функционирования базы данных.
1.5. Независимость программ и данных
Важнейшим шагом в развитии теории СУБД явился принцип независимости программ и данных, которое вы- ражается в четком разделении программ и данных. Ранние программы, где производилась обработка данных, содер- жали в явном виде физическое форматирование данных, т.е. программа зависела от формата данных, и любое изменение
9
этого формата требовало соответствующего изменения программного обеспечения. Ошибки в программном обес- печении, связанные с наступлением 2000, были прямым следствием подобной жесткой связи программ и данных. Можно, естественно, уменьшить стоимость и сложность
сопровождения программ и данных в результате их четкого разделения.
В базе данных хранится информация, которая должна быть доступна любой программе. Программы получают доступ к данным на логическом уровне абстракции, который не зависит от физической реализации хранения данных.
Подобный подход приводит к независимости программ и данных. Рассмотрим её в двух аспектах – логической и физиче- ской.
Обеспечение логической независимости - предостав-
ление БД определенной свободы вариации "логического" представления БД без соответствующей модификации "фи- зического" представления. В результате достигается воз- можность адаптации взгляда пользователя на БД к его ре- альным потребностям, конструирования различных "логи- ческих" взглядов на одну и ту же "физическую" БД. При этом пользовательское видение БД может по своей струк- туре существенно отличаться от структуры хранимых дан- ных и синтезироваться не только непосредственно из хра- нимых фактически объектов и их связей, но и с помощью различного рода агрегирования таких объектов и их свя- зей, осуществляемого в процессе обработки пользователь- ских запросов. Логическая независимость обеспечивается средствами многоуровневой архитектуры.
Под "физической" независимостью понимается спо-
собность СУБД предоставить некоторую свободу модифи- кации способов организации данных в среде хранения, не вызывая при этом изменений в логической структуре. Бла-
годаря этому можно вносить изменения в организацию хранимых данных, производить настойку системы с це- лью повышения ее производительности. "Физическая "не-
10
