Файл: Учебное пособие СанктПетербург 2017.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 174

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Санкт-Петербургский государственный технологический институт
(технический университет)»
Кафедра системного анализа и информационных технологий
В. И. Халимон, Г. А. Мамаева,
А. Ю. Рогов, В. Н. Чепикова
БАЗЫ ДАННЫХ
Учебное пособие
Санкт-Петербург
2017

2
УДК 681.3.06
Халимон, В.И. Базы данных: учебное пособие / В.И. Халимон,
Г.А. Мамаева, А.Ю. Рогов, В.Н. Чепикова - С-Пб.: СПбГТИ(ТУ), 2017. – 118 с.
Илл. 60, библиография – 13 наим.
В учебном пособии изложены основы теории баз данных (БД), архитек- тура БД, базовые подходы к проектированию реляционных БД, CASE- средства. Описывается технология разработки персональных БД с помощью
СУБД Microsoft Access. Рассматриваются базисные средства манипулирова- ния данными: элементы реляционной алгебры и реляционного исчисления.
Изложены основы использования языка структурированных запросов Transact-
SQL, реализованного в Microsoft SQL Server, а также основные функции и ти- повая организация современных систем управления базами данных.
Пособие предназначено для бакалавров очной формы обучения для на- правления подготовки 27.03.03 – системный анализ и управление, соответст- вует рабочей программе дисциплины «Базы данных». Учебное пособие фор- мирует у студентов следующие общепрофессиональные: ОПК-2 и профессио- нальные: ПК-7, ПК-9 компетенции. Учебное пособие может быть полезно для студентов заочной формы обучения, магистров, аспирантов, а также может быть использовано как дополнительный материал к лекционному курсу «Про- ектирование информационных систем».
Рецензенты:
1 Санкт-Петербургский государственный университет тех- нологии и дизайна В.И. Пименов, д-р техн. наук, профессор, зав. кафедрой прикладной информатики
2 Д.А. Смирнова, к.т.н., доцент кафедры ресурсосберегаю- щих технологий, СПбТИ(ТУ)
Издание подготовлено в рамках выполнения государственного задания по оказанию образовательных услуг Минобрнауки России
Утверждено на заседании учебно-методической комиссии факультета ин- формационных технологий и управления 12 мая 2016 г.
Рекомендовано к изданию РИС СПбГТИ(ТУ)

3
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ............................................................................................................. 5
1 КОНЦЕПЦИЯ БАЗ ДАННЫХ .......................................................................... 6
1.1 Базы данных и информационные системы. Основные понятия ....... 6
1.2 Централизованные и распределенные базы данных ............................ 8
1.3 Классификация БД по способу доступа к данным ................................ 9
1.4 Модели данных ........................................................................................... 10
1.4.1 Трехуровневая архитектура базы данных .......................................... 10
1.4.2 Классификация моделей данных согласно архитектуре ANSI-SPARC 12
1.4.3 Модели представления данных, поддерживаемые СУБД ................. 15
2 РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ ......................................................... 16
2.1 Основные понятия реляционной модели данных ............................... 16
2.2 Фундаментальные свойства отношений. Понятие первичного
ключа .................................................................................................................. 19
2.3 Виды связей между таблицами ............................................................... 22
2.4 Нормализация отношений ....................................................................... 23
3 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ .......................... 26
3.1 Основные задачи и этапы проектирования ......................................... 26
3.2 Методы проектирования реляционных баз данных .......................... 27
3.3 Проектирование базы данных «Университет» .................................... 29
3.3.1 Инфологическое проектирование ........................................................ 29
3.3.2 Даталогическое проектирование ........................................................ 31
3.3.3 Физическое проектирование................................................................. 33
4 АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ ......................... 33
4.1 Общая характеристика CASE-средств .................................................. 33
4.2 Семантическая модель данных ............................................................... 35
4.3 Структурная схема автоматизированного проектирования базы
данных ................................................................................................................. 43
5 БАЗИСНЫЕСРЕДСТВА МАНИПУЛИРОВАНИЯ ДАННЫМИ ................. 44
5.1 Эквивалентность механизмов реляционной алгебры и
реляционного исчисления .............................................................................. 44
5.2 Элементы реляционной алгебры ............................................................ 45
5.3 Элементы реляционного исчисления .................................................... 51
6 СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ MS ACCESS ................. 52


4
6.1 Общая характеристика СУБД MS Access ............................................. 52
6.2 Инструментальные средства СУБД Access .......................................... 53
6.3 Система доступа к данным ...................................................................... 53
6.4 Поддержка технологий корпоративных сетей ..................................... 54
6.4.1 Многопользовательская база данных Access ...................................... 54
6.4.2 Работа Access с базой данных SQL Server .......................................... 55
6.4.3 Интернет-технологии .......................................................................... 56
6.5 Схема данных .............................................................................................. 56
6.6 Объекты Access ........................................................................................... 57
6.7 Сводные таблицы и сводные диаграммы ............................................. 59
6.8 Размещение базы данных ......................................................................... 60
7 СОЗДНИЕ БАЗЫ ДАННЫХ В СУБД MS ACCESS 2010 ............................ 62
7.1 Начало работы с Access. Интерфейс пользователя ............................. 62
7.2 Основные этапы разработки базы данных в среде MS Access ......... 66
7.2.1 Описание предметной области ............................................................ 66
7.2.2 Создание таблиц .................................................................................... 68
7.2.3 Создание схемы данных ........................................................................ 71
7.2.4 Разработка запросов к базе данных .................................................... 73
7.2.5 Конструирование экранных форм для работы с данными ............... 78
7.2.6 Конструирование отчетов ................................................................... 83
7.2.7 Средства макропрограммирования в MS Access ................................ 86
7.2.8 Разработка программных приложений для MS Access ..................... 87
7.3. Организация защиты данных в СУБД MS Access ............................. 89
8 ОСНОВЫ ИСПОЛЬЗОВАНИЯ ЯЗЫКА СТРУКТУРИРОВАННЫХ
ЗАПРОСОВ ............................................................................................................ 92
8.1 Структурированный язык запросов Transact-SQL ............................ 92
8.1 Команды языка определения данных.................................................... 97
8.2 Команды языка манипулирования данными .................................... 100
9 ОСНОВНЫЕ ФУНКЦИИ И ТИПОВАЯ ОРГАНИЗАЦИЯ
СОВРЕМЕННЫХ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ .......... 109
9.1. Основные функции систем управления базами данных ................ 109
9.2. Типовая организация систем управления базами данных ............ 112
9.3. Архитектуры приложений, использующих базы данных .............. 113
ЛИТЕРАТУРА .................................................................................................... 116

5
ВВЕДЕНИЕ
Применение информационных технологий в настоящее время невоз- можно без рациональной организации информации и обеспечения эффектив- ного доступа к ней пользователей.
Одним из определяющих факторов успеха функционирования систем управления, обеспечивающих требуемый уровень качества процессов, про- дуктов, услуг и результатов деятельности предприятий, является использова- ние современных технологий баз данных. Актуальным становится требова- ние подготовки специалистов, обладающих достаточными знаниями и навы- ками использования современных информационных технологий в области баз данных. Цель учебного пособия – дать студентам необходимые знания по теоретическим основам баз данных, проектированию баз данных, использо- ванию языков манипулирования данными при работе с базами данных.
Учебное пособие соответствуют содержанию дисциплины «Базы дан- ных» федеральных государственных образовательных стандартов по направ- лению подготовки бакалавров 27.03.03 «Системный анализ и управление».
Изложенные в учебном пособии темы соответствуют рабочей программе дисциплины и ГОС.
Авторы ставили перед собой задачу не только изложить материал по теории баз данных, но и дать примеры для грамотного использования полу- ченных знаний. Рассмотренный в пособии пример позволит студентам осво- ить технологию проектирования и создания базы данных, язык запросов
SQL.
При описании форматов команд языка SQL приняты следующие обо- значения:
[ ] – необязательный элемент синтаксиса; { } – обязательный элемент синтаксиса;
| – разделяет элементы синтаксиса внутри квадратных и фигурных ско- бок;
[,…] – предшествующий элемент синтаксиса может быть повторен не- сколько раз (элементы разделяются запятой).


6
1 КОНЦЕПЦИЯ БАЗ ДАННЫХ
1.1 Базы данных и информационные системы. Основные понятия
В основе решения многих задач лежит обработка информации. Для об- легчения обработки информации создаются информационные системы (ИС).
Автоматизированными называют ИС, в которых применяют технические средства, в частности ЭВМ.
Информационная система (ИС) — это система, предназначенная для хранения, поиска и обработки информации, и соответствующие организаци- онные ресурсы (человеческие, технические, финансовые и т. д.), которые обеспечивают и распространяют информацию.
Информационная система предназначена для своевременного обеспе- чения надлежащих людей надлежащей информацией, то есть для удовлетво- рения конкретных информационных потребностей в рамках определенной
предметной области.
Под предметной областью информационной системы понимается со- вокупность реальных процессов и объектов (сущностей) в некоторой области деятельности для организации управления и, в конечном счете, автоматиза- ции, например, предприятие, вуз и т.д.
По области применения ИС можно разделить на системы, используе- мые в производстве, образовании, здравоохранении, науке, военном деле, со- циальной сфере, торговле и других отраслях. По целевой функции ИС можно условно разделить на следующие основные категории: управляющие, ин- формационно-справочные, поддержки принятия решений.
Заметим, что иногда используется более узкая трактовка понятия ИС как совокупности аппаратно-программных средств, задействованных для ре- шения некоторой прикладной задачи. В организации, например, могут суще- ствовать информационные системы, на которых соответственно возложены следующие задачи: учет кадров и материально-технических средств, расчет с поставщиками и заказчиками, бухгалтерский учет и т. п.
Неотъемлемой частью любой информационной системы является база
данных.
База данных (БД)–это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.
Создавая базу данных, пользователь стремится упорядочить информа- цию по различным признакам и быстро извлекать данные, при необходимо- сти делая выборку с произвольным сочетанием признаков. Пользователями
БД могут быть различные прикладные программы, программные комплексы, а также специалисты предметной области, выступающие в роли потребите- лей и (или) источников данных, называемые конечными пользователями.
Однако для быстрого нахождения требуемой информации необходимо,


7 чтобы хранящиеся данные были структурированы.
Структурирование – это соглашение о способах представления дан-
ных.
Неструктурированными называют, например, данные, записанные в текстовом файле (рис. 1).
Рисунок 1 – Пример неструктурированных данных
Чтобы автоматизировать поиск и систематизировать эти данные, необ- ходимо выработать определенные соглашения о способах представления данных. Так, например, дату рождения каждого студента нужно записывать одинаково в соответствии с заданным форматом. Эти же замечания справед- ливы и для других элементов данных.
После проведения несложной структуризации информации она будет выглядеть, например, так, как показано на рис. 2.
Номер
зачет-
ной
книжки
Номер Фамилия
Имя
Отчество
Дата
рождения
Коммер-
ческий
1212 1005
Сергеев
Иван
Петрович
12.12.71
Да
1232 1006
Михайлов Степан Степанович 14.10.71
Да
Рисунок 2 –Пример структурированных данных
Таким образом, дадим более точное определение базе данных.
База данных представляет собой поименованную совокупность струк-
турированных данных, хранимых в памяти вычислительной системы и ото-
бражающих состояние объектов и их взаимосвязей в рассматриваемой пред-
метной области.
С точки зрения функционирования любой информационной системы
БД должна удовлетворять следующим общесистемным требованиям.
Данные, хранящиеся в системе, отражают часть реального мира, объек- ты которого находятся в сложном взаимодействии между собой. Систем- ность, взаимосвязанность этих объектов приводит к взаимосвязанности от- ражающих их информационных объектов (элементов информации ). Для того чтобы обеспечить непротиворечивость отображения объектов реального ми- ра, БД должна представлять собой некоторое единое взаимоувязанное целое.
Поэтому важнейшим требованием к БД является обеспечение адекватности
отображения предметной области.
Информационные потребности конечных пользователей, как правило,
Зачетная книжка № 1212, группа № 1005, Иван Пет- рович Сергеев, 12 декабря 1971 г. р., обучается на коммерческой основе. Зач. кн. № 1232, гр. № 1006,
Михайлов Степан Степанович, 14.10.71 г. р.,

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

1.2 Централизованные и распределенные базы данных
С появлением и развитием корпоративных и иных сетей появилась

9 возможность организации доступа к одним и тем же данным из различных структурных подразделений предприятия или из других регионов. При этом разработаны два вида баз данных — централизованные и распределенные.
Централизованная база данных характеризуется тем, что полностью находится на центральном компьютере (сервере), к которому пользователи
(клиенты) обращаются за информацией с помощью своих компьютеров.
Управление базой данных (ее корректировка и прочие процедуры, поддержи- вающие ее целостность, безопасность и др.) осуществляется централизован- но.
Недостатки централизованной БД: необходимость передачи большого потока данных, низкая надежность и низкая производительность.
Преимущества: минимальные затраты на корректировку.
Для снижения остроты перечисленных недостатков создают распреде-
ленные базы данных.
Распределенная база данных состоит из нескольких, возможно пере- секающихся или даже дублирующих друг друга частей, хранимых в различ- ных ЭВМ вычислительной сети.
Главный критерий распределения данных в сети состоит в следующем: данные должны находиться там, где существует наибольшая частота обра- щения к ним.
Фактически распределенная БД есть виртуальный объект, составные части которого хранятся в разных узлах сети. Для пользователя они находят- ся в одной логической модели базы данных.
По технологии обработки данных базы данных подразделяются на цен- трализованные и распределенные.
1.3 Классификация БД по способу доступа к данным
Классификация баз данных по способу доступа предполагают архитек- туры (рис. 3):

файл-сервер;

клиент-сервер.

10
Рисунок 3 –Архитектуры БД «Файл-сервер» и «Клиент-сервер»
Файл-сервер. Такая архитектура предполагает выделение одной из ма- шин сети в качестве центральной (сервер файлов ). На такой машине хранит- ся совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользователей системы к централизованной БД. Файлы БД в соответ- ствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. Очевидно, что при большой интенсив- ности доступа к одним и тем же данным производительность такой системы падает.
Применение архитектуры «файл-сервер» привлекает своей простотой, удобством использования и доступностью. Она представляет интерес для ма- лых рабочих групп и используется и в информационных системах масштаба небольшого предприятия.
Клиент-сервер. В этой концепции подразумевается, что помимо хра- нения централизованной БД центральная машина (сервер БД) должна обес- печивать выполнение основного объема обработки данных. Клиентское при- ложение формирует запросы к серверу базы данных, как правило, в виде ин- струкций языка SQL. Сервер извлекает из базы запрошенные данные и пере- дает на компьютер клиента. Главное достоинство такого подхода — значи- тельно меньший объем передаваемых данных.
Совершенно очевидно, что перенос программ управления данными с ра- бочих станций на сервер способствует высвобождению ресурсов рабочих станций, предоставляет возможность увеличить число частных, локально ре- шаемых задач. Данная архитектура позволяет также централизовать ряд самых важных функций управления данными, такие, как защита информации баз данных, обеспечение целостности данных, управление совместным использо- ванием ресурсов.
1.4 Модели данных
1.4.1 Трехуровневая архитектура базы данных
Современная технология баз данных основана на концепции трехуров- невой архитектуры СУБД, сформулированной американским комитетом по стандартизации SPARC (Standards Planning and Requirements Committee)
Американского национального института стандартов ANSI (American Nation- al Standards Institute). Архитектура включает 3 уровня описания данных (кон- цептуальный, внешний и внутренний), различающиеся степенью абстракции
(рис.4).
1. На внешнем (пользовательском) уровне описываются различные подмножества элементов концептуального уровня для представлений дан- ных различным пользовательским программам. Каждый пользователь полу- чает в свое распоряжение часть представлений о данных, но полная концеп-