Bazy_dannykh_Uchebnik_novy
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«УРАЛЬСКАЯ ГОСУДАРСТВЕННАЯ АРХИТЕКТУРНО-ХУДОЖЕСТВЕННАЯ АКАДЕМИЯ»
(ФГБОУ ВПО «УралГАХА»)
_______________________________________________________________________
Институт урбанистики
Базы данных
Гущин А.Н.
Учебно-методическое пособие.
Екатеринбург 2014
1
ВВЕДЕНИЕ
Курс «Базы данных» продолжительностью один семестр предназначен для бакалавров профиля «Прикладная информатика» (по областям), входит в профессиональной части базового образовательного цикла. Полностью соответствует требованиям образовательного стандарта ФГОС-3.
Курс отличается широтой охвата материала, наличием единой концепции,
основанной на онтологическом моделировании предметной области. Курс написан таким образом, что отдельные главы являются максимально автономными, поэтому может быть полезен студентам различных форм обучения. Помимо классической теории баз данных,
последние несколько лекций посвящены специфике пространственных данных – данных,
имеющих пространственную привязку. В курсе содержится большое число примеров,
иллюстрирующих основные положения теории. Помимо примеров содержатся рекомендации по выполнению практических работ, а также большое количество тестовых вопросов, необходимых для всесторонней проверки знаний, полученных в ходе изучения курса.
Результаты прохождения курса связаны со следующими обязательными требованиями по его усвоению, перечисленными в стандарте ФГОС-3.
Знать:
1.принципы организации проектирования и содержание этапов процесса разработки программных комплексов (в части проектирования баз данных),
2.модели данных,
3.архитектуру баз данных,
4.системы управления базами данных и информационными хранилищами,
5.методы и средства проектирования баз данных,
6.особенности администрирования баз данных в локальных и глобальных сетях,
Уметь:
1.использовать международные и отечественные стандарты,
2.разрабатывать концептуальную модель предметной области, выбирать инструментальные средства и технологии проектирования ИС.
Обеспечение требований образовательного стандарта.
В соответствии со списком «знать», разбит весь массив тестовых вопросов. Поэтому,
используя результаты тестирования, можно оценить уровень знаний по всем разделам.
Тестирование рекомендуется проводить в форме компьютерного тестирования.
Необходимые умения появляются в процессе выполнения практических работ.
2
Использование международных и и отечественных стандартов вплетено в процесс
изложения материала и далее перетекает в практические работы.
Компетенции, формируемые в результате изучения.
Процесс изучения дисциплины направлен на формирование основной компетенции
ПК-9 – «способен моделировать и проектировать структуры данных и знаний,
прикладные и информационные процессы»
иразвитие сопутствующих компетенций:
ПК-6 – «способен документировать процессы создания информационных систем на всех стадиях жизненного цикла»,
ПК-7 – «способен использовать технологические и функциональные стандарты,
современные модели и методы оценки качества и надежности при проектировании,
конструировании и отладке программных средств»,
ПК-12 – «способен эксплуатировать и сопровождать информационные системы и сервисы»,
ПК-13 – «способен принимать участие во внедрении, адаптации и настройке
прикладных ИС»
Для понимания того, как формируются необходимые компетенции, необходимо
представить уточняющий контекст компетенции в пределах настоящего курса.
Название компетенции в стандарте |
Уточняющий контекст компетенции в |
|
пределах курса |
|
|
|
|
ПК-6 – «способен документировать |
Под документированием понимается |
процессы создания информационных |
создание документации, необходимой для |
систем на всех стадиях жизненного цикла» |
сопровождения баз данных. |
ПК-7 – «способен использовать |
В контексте настоящего курса может быть |
технологические и функциональные |
сформирована и проверена составляющая, |
стандарты, современные модели и методы |
относящаяся к оценке надежности при |
оценки качества и надежности при |
разработке приложений для СУБД Access. |
проектировании, конструировании и |
Разработка надежных приложений включает, |
отладке программных средств» |
прежде всего, использование методов |
|
поддержания целостности базы данных. |
ПК-12 – «способен эксплуатировать и |
На основании закона 143-ФЗ «Об |
сопровождать информационные системы и |
информации, информационных технологиях |
сервисы» |
и защите информации» под информационной |
|
системой понимается «совокупность |
|
содержащейся в базах данных информации и |
|
обеспечивающих ее работу информационных |
|
технологий и технических средств». Откуда |
|
следует, что компетенцию ПК-12 в контексте |
|
настоящего курса следует понимать как |
3
|
умение эксплуатировать и сопровождать |
|
базы данных. |
ПК-13 – «способен принимать участие во |
Аналогичным образом данная компетенция |
внедрении, адаптации и настройке |
понимается как участие во внедрении, |
прикладных ИС» |
адаптации и настройке баз данных и |
|
приложений на их основе. |
Поскольку компетенция является интегральной характеристикой, то оценка уровня
сформированности той или иной компетенции целесообразней проводить по итогам
обучения: во время Государственного экзамена или по качеству выполненной ВКР. В
контексте настоящего курса уровень сформированности основной компетенции ПК-9
можно оценить так:
Высокий (продвинутый) уровень – сдача теста и выполнение всех практических работ на оценку «отлично»,
Средний уровень развития – сдача теста и выполнение всех практических работ на оценки «хорошо» и «отлично»,
Низкий уровень развития – сдача теста выполнение всех практических работ в том
числе с оценкой «удовлетворительно».
Разумеется, представленные рекомендации не являются универсальными и каждый ВУЗ
(каждый преподаватель) вправе использовать свою шкалу.
4
СОДЕРЖАНИЕ |
|
||
1. |
Информация и данные.......................................................................................................... |
6 |
|
2. |
Информационные системы, банки данных и СУБД.......................................................... |
11 |
|
4. |
Реляционная модель базы данных...................................................................................... |
33 |
|
5. |
Целостность баз данных..................................................................................................... |
47 |
|
6. |
Реляционная алгебра........................................................................................................... |
60 |
|
7. |
Язык запросов SQL............................................................................................................. |
69 |
|
8. |
Язык запросов QBE............................................................................................................. |
93 |
|
9. |
Экранные формы и отчеты............................................................................................... |
101 |
|
10. |
Пространственные данные ............................................................................................. |
107 |
|
11. |
Распределенные базы данных и хранилища данных..................................................... |
117 |
|
12. |
Программно-аппаратная организация (архитектура) баз данных................................. |
124 |
|
13. |
Проектирование баз данных........................................................................................... |
135 |
|
Рекомендуемый список практических работ....................................................................... |
156 |
||
Рекомендуемый список вопросов для тестирования........................................................... |
168 |
5
1. Информация и данные
«Базы данных содержат информацию» - это выражение, наверное, всем знакомо и,
по крайней мере, интуитивно не вызывает возражений. Да и если спросить любого похожего: «Для чего нужны базы данных», он, не задумываясь, ответит: «Для хранения информации». Однако, вдумаемся в поставленный вопрос поглубже. База данных хранит именно данные, как же они преобразуются в информацию, и в чем разница между данными и информацией?
Данные (калька от лат. data)
это представление фактов и идей в формализованном виде, пригодном для
передачи и обработки в некотором информационном процессе.
Изначально, данные это величины, т.е. величины, заданные заранее, вместе с условием задачи. Противоположность - переменные величины.
Примеры 1 (Данные):
«Иванов» - строка текста, «Петров» - строка текста, 1345 –число
01.10.1972 – дата, «01.10.1972» - дата в виде строки теста. «Иван» - строка текста
Каждое из указанных данных представляется в компьютере в формализованном виде,
например, текстовая строка представляется последовательностью символов – кодов каждого символа строки. Следовательно, удовлетворяют условиям определения.
А что такое информация?
Информация
Термин «информация» происходит от латинского слова «informatio» - разъяснение,
изложение, сведения. В практическом смысле, понятном каждому, определение информации дал С.И. Ожегов: информация - это:
1)сведения об окружающем мире и протекающих в нем процессах;
2)сообщения, осведомляющие о положении дел, о состоянии чего-либо.
Для понимания различий между информацией и данными, рассмотрим операции, которые можно выполнять с данными и операции, которые можно выполнять с информацией.
Операции с данными
-Ввод (сбор) данных - накопление данных с целью обеспечения достаточной полноты для принятия решений
6
-Формализация данных - приведение данных поступающих из разных источников, к
одинаковой форме, для повышения их доступности.
-Фильтрация данных - это отсеивание «лишних» данных, в которых нет необходимости для повышения достоверности и адекватности.
-Сортировка данных - это упорядочивание данных по заданному признаку с целью удобства использования.
-Архивация - это организация хранения данных в удобной и легкодоступной форме.
-Защита данных - включает меры, направленные на предотвращение утраты,
воспроизведения и модификации данных.
-Транспортировка данных - прием и передача данных между участниками информационного процесса.
-Преобразование данных - это перевод данных из одной формы в другую или из одной структуры в другую.
Операции с информацией
Создавать – для создания новой информации мы можем сделать свои фото или написать пост (комментарий, твит) или использовать множество других способов.
Принимать – принимать информацию тоже можно по-разному: посмотреть страницу в браузере, скачать файл из интернета.
Комбинировать – создавая web-страницу или презентацию, вы комбинируете различную информацию в единое смысловое целое.
Хранить – с этим все понятно.
Передавать – с этим тоже понятно.
Копировать – с этим тоже понятно.
Обрабатывать – вот обрабатывать информацию можно самыми различными способами, которые еще и зависят от носителя информации (например, мы размещаем фотографии с социальной сети, при этом выделяем на них отдельных людей и подписываем, кто это).
Искать – искать информацию тоже можно самыми различными способами: искать в интернете, писать запросы в различные инстанции, пойти в библиотеку, спросить у знакомых.
Воспринимать – можно воспринимать информацию по разным каналам восприятия: видеть и слышать; можно воспринимать информацию хвалебную и не воспринимать критическую; возможностей опять много.
7
Запоминать – тоже по-разному: в зависимости от типа информации от ее материального носителя, от значимости информации, от ее важности.
Измерять – попытки измерить количество информации предприняли Хартли и Шенон (напомним из курса информатики знаменитую формулу I = log2N).
Говорят, что данные могут иметь типы. Концепция типа данных появилась в языках программирования высокого уровня как естественное отражение того факта, что обрабатываемые программой данные могут иметь различные множества допустимых значений, храниться в памяти компьютера различным образом, занимать различные объёмы памяти и обрабатываться с помощью различных команд процессора.
Типы данных Тип (сорт) – относительно устойчивая и независимая совокупность элементов,
которую можно выделить во всем рассматриваемом множестве (предметной области). Математически тип может быть определён двумя способами: 1)
Множеством всех значений, принадлежащим типу. 2) Предикатной функцией,
определяющей принадлежность объекта к данному типу.
Множество всех значений, принадлежащих типу, называется доменом.
Преимущества использования типов:
1.Надёжность. Типы данных защищают от трёх видов ошибок:
a.Некорректное присваивание.
b.Некорректная операция.
c.Некорректная передача параметров.
2.Стандартизация. Благодаря соглашениям о типах, поддерживаемых большинством систем программирования, сложилась ситуация, когда программисты могут быстро менять свои рабочие инструменты, а программы не требуют больших переделок при переносе исходных текстов в другую среду.
Всовременной практике иногда используют понятие типа информации, например,
печатная, электронная. Но этот термин характеризует скорее носитель (материальную основу) информации. Зато свойств у информации гораздо больше.
Свойства информации
Информация обладает следующими свойствами: достоверность, полнота, точность,
ценность, своевременность, понятность, доступность, краткость и т.д. Информация
достоверна, если она отражает истинное положение дел. Недостоверная информация может привести к неправильному пониманию или принятию неправильных решений.
8
Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать. Информация полна, если ее достаточно для понимания и принятия решений. Как неполная, так и избыточная информация сдерживает принятие решений, или может повлечь ошибки. Точность информации определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т. п. Ценность
информации зависит от того, насколько она важна для решения задачи, а также от того,
насколько в дальнейшем она найдет применение в каких-либо видах деятельности человека. Только своевременно полученная информация может принести ожидаемую пользу. Одинаково нежелательны как преждевременная подача информации (когда она еще не может быть усвоена), так и ее задержка. Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной. Информация становится
понятной, если она выражена языком, на котором говорят те, кому предназначена эта информация. Информация должна преподноситься в доступной (по уровню восприятия)
форме. Поэтому одни и те же вопросы по-разному излагаются в школьных учебниках и научных изданиях.
Классификация информации Классификация – это процесс соотнесения тех или иных объектов по классам
в соответствии с определенными признаками, которые и позволяют определить сходство или различие объектов.
Таким образом, даже по набору операций видно, что информация – значительно более широкое и общее понятие, чем данные. И значительно лучше подходят для компьютерной обработки именно данные. Но это только часть ответа на поставленный вопрос. Пусть данные и лучше подходят для компьютерных целей, но как они преобразуются в информацию? Ключом к пониманию процесса является понятие метаинформации.
Метаинформация информация о способах и методах переработки информации или о том, где
найти информацию - знания о местонахождении информации,
рассредоточенной в распределенных БД, различные оценки этой информации,
описание источников и времени её формирования, достоверности, регламента и процедур её получения.
Таким образом, в теории баз данных явно или неявно присутствует метаинформация, позволяющая собирать по единым правилам разрозненные данные и объединять их в единое целое, образующее для пользователя осмысленную информацию.
9
Рассмотрим пример использования метаинформации в языке разметки html.
Метаинформация в разметке html страниц представляется как и все остальное, в виде так называемых тегов. META-теги - это необязательные атрибуты, размещенные в заголовке страницы, которые могут содержать ее описание, ключевые слова к ней, информацию об авторе, управляющие команды для браузера и поисковых роботов, и прочую служебную информацию, не предназначенную для посетителей. Поисковые системы на сегодняшний день активно используют META-теги, что позволит поисковому роботу правильно и качественно проиндексировать сайт. В качестве meta-тегов может выступать дата устаревания страницы, позволяющая оценить актуальность полученной информации.
Аналогичным образом предположим, что у нас есть таблица, где все данные из примера 1 подставлены в соответствующие ячейки, показана в таблице 1.
Таблица 1. Представление данных в табличной форме.
Фамилия |
Имя |
Дата рождения |
Номер зачетки |
|
|
|
|
Иванов |
Иван |
01.10.1972 |
1345 |
|
|
|
|
Петров |
|
|
|
|
|
|
|
Теперь из таблицы видно, что разрозненные данные примера 1 превратились в информацию о конкретных людях, причем видно, что информация не полна. Таким образом, структура размещения данных в виде таблицы и название граф для таблицы как раз являются метаинформацией, позволяющей собирать данные в информацию. Заменим в вышеприведенном определении метаинформации термин «информация» на термин
«данные». Метаинформация - информация о способах и методах переработки данных или о том, где найти данные - знания о местонахождении данных, рассредоточенных в распределенных БД, различные оценки этих данных, описание источников и времени их формирования, достоверности, регламента и процедур их получения. Собственно вопрос о том, в какой форме реализуется такая метаинформация и есть предмет изучения дисциплины «Базы данных».
10