Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 15:15, реферат
Целью данной работы является анализ реляционных баз данных и способов манипулирования ими.
Для реализации поставленной цели предполагается решение следующих задач:
дать основные понятия баз данных, описать архитектуру СУБД, модели данных;
раскрыть модель сущность-связь, описать характеристику связей, классификацию сущностей, структуру первичных и внешних ключей, определить понятие целостности данных;
описать реляционную структуру данных, реляционные базы данных и способы манипулирования ими.
Наименьшей единицей данных реляционной
модели было принято отдельное атомарное
(неразложимое) для данной модели значение
данных. Например, фамилия, имя и
отчество в одной предметной области
могут рассматриваться как
Домен - это множество атомарных значений одного и того же типа. Их смысл в следующем, например, если взять значения двух атрибутов из одного и того же домена, то тогда необходимо производить сравнение, которое использует оба атрибута, если же значения двух атрибутов берутся из различных доменов, то смысла в их сравнении нет.
Рассмотрим конкретный пример для первого случая: при организации транзитного рейса, целесообразно задать запрос: "Выдать рейсы, в которых время вылета из Челябинска в Египет больше времени прибытия из Свердловска в Стамбул".
Отношение на доменах D1, D2, ..., Dn (не обязательно, чтобы все они были различны) состоит из заголовка и тела. На рис. 3 приведен пример отношения для расписания движения самолетов.
Заголовок состоит из такого фиксированного множества атрибутов A1, A2, ..., An, что существует взаимно однозначное соответствие между этими атрибутами Ai и определяющими их доменами Di (i=1,2,...,n).
Рисунок 2. Отношение с математической точки зрения (Ai - атрибуты, Vi - значения атрибутов)
Тело состоит из меняющегося во времени множества кортежей. В свою очередь, каждый кортеж состоит из множества пар атрибут-значений (Ai:Vi), (i=1,2,...,n), по одной такой паре для каждого атрибута Ai в заголовке. Для любой заданной пары атрибут-значение (Ai:Vi) Vi является значением из единственного домена Di, который связан с атрибутом Ai.
Степенью отношения называют число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, ..., а степени n – n-арным.
Кардинальным числом или мощность отношения называется число его кортежей. Кардинальное число отношения всегда будет изменяться во времени в отличие от его степени.
Поскольку отношение – это множество, а множества по определению не содержат совпадающих элементов, то никакие два кортежа отношения не могут быть дубликатами друг друга в любой произвольно-заданный момент времени. Пусть R – отношение с атрибутами A1, A2, ..., An. Говорят, что множество атрибутов K=(Ai, Aj, ..., Ak) отношения R является возможным ключом R тогда и только тогда, когда происходит выполнение двух независимых от времени условий:
Каждому отношению соответствует
хотя бы один возможный ключ. Это
происходит, потому что для всех
его атрибутов выполняется
Мы рассмотрели не все математические
понятия, которые составили
Отношение – Таблица (иногда Файл), Кортеж – Строка (иногда Запись), Атрибут – Столбец, Поле.
Индексы
Выше мы рассмотрели понятие ключей таблиц базы данных. В большинстве реляционных СУБД ключи реализуются с помощью объектов, называемых индексами.
Индекс представляет собой указатель на данные, размещенные в реляционной таблице. Можно провести аналогию индекса таблицы базы данных с указателем, обычно помещаемым в конце книги. Чтобы найти в книге страницы, относящиеся к некоторой теме, проще всего обратиться к указателю, в котором устанавливается соответствие между перечисленными в алфавитном порядке темами и номерами страниц, и сразу определить страницы, которые следует просмотреть. Чтобы без указателя найти все страницы, относящиеся к нужной теме, пришлось бы просматривать всю книгу. Индекс базы данных предназначен для аналогичных целей – чтобы ускорить поиск информации в таблице базы данных. Индекс предоставляет информацию о точном физическом расположении данных в таблице.
При создании индекса в нем сохраняется информация о местонахождении записей, относящихся к индексируемому столбцу таблицы. При добавлении в таблицу новых записей или удалении существующих индекс также модифицируется.
При выполнении запроса к базе данных, в условие поиска которого входит индексированный столбец, поиск значений производится в первую очередь в индексе. Если этот поиск оказывается успешным, то в индексе устанавливается точное местоположение искомых данных в таблице базы данных.
Рассмотрим пример индекса. На рис. 3 показан фрагмент таблицы СТУДЕНТЫ и индекса, построенного по полю «Имя» данной таблицы. При выполнении поиска по имени студента, просматривая индекс, можно сразу определить порядковый номер записи, содержащей необходимую информацию, и затем быстро найти в таблице сами данные. Если бы у таблицы отсутствовал индекс по полю «Имя», то выполнение поиска по имени студента потребовало бы просмотра всей таблицы. Таким образом, использование индексов снижает время выборки данных.
Различают несколько типов индексов. Наиболее часто выделяют три типа: простые; составные; уникальные.
Простые индексы представляют собой простейший и вместе с тем наиболее распространенный тип индекса. Простой индекс строится на основе только одного столбца реляционной таблицы (индекс, приведенный на Рисунке 3 является простым).
Составные индексы строятся по двум и более столбцам реляционной таблицы. При создании составного индекса необходимо принимать во внимание, что последовательность столбцов, по которым создается индекс, влияет на скорость поиска данных.
Можно назвать
два условия оптимальности
- первым
следует помещать столбец,
- первым
следует помещать столбец,
Сформулированные условия оптимальности часто являются противоречивыми, так что между ними следует находить разумный компромисс.
Уникальные индексы не допускают введения в таблицу дублирующих значений. Уникальные индексы используются не только с целью повышения скорости поиска, но и для поддержания целостности данных. Уникальный индекс может быть как простым, так и составным.
Реляционная база данных
По мере
увеличения возможностей и уменьшения
стоимости вычислительных средств,
получило развитие второе направление,
связанное с использованием средств
вычислительной техники в автоматизированных
информационных системах. Здесь вычислительные
возможности компьютеров
Со временем именно второе направление, связанное с хранением и обработкой данных, стало доминирующим, особенно после появления персональных компьютеров. Использование персональных компьютеров для выполнения сложных научных расчетов сейчас является скорее исключением. Интересно также отметить, что современные персональные компьютеры, оборудованные процессорами с громадными тактовыми частотами (на сегодняшний день рядовой дешевый процессор работает на частоте 1800-2200 МГц), при решении сложных научных задач могут даже уступать по вычислительным возможностям «большим» компьютерам 20-25-летней давности.
Реляционной базой данных называется совокупность отношений, которые
содержат всю информацию, хранящуюся в БД. Пользователи воспринимают эту базу данных как совокупность таблиц.
Особенности таких таблиц:
1. Таблица имеет уникальное имя и состоит из однотипных строк.
2. Существование фиксированного числа полей (столбцов) и значений
(множественные поля
и повторяющиеся группы
3. Возможность однозначной
идентификации любой строки
4. Присвоение столбцам
таблицы однозначного имени,
5. Полное информационное
содержание базы данных
Так, связи между строкой
с БЛ = 2 таблицы "Блюда" на рис.
4 и строкой с ПР = 7 таблицы продукты
(для приготовления Харчо
6. При выполнении операций
с таблицей ее строки и
Манипулирование реляционными данными
Общеизвестен тот факт,
что механизмы реляционной
Ответ на этот вопрос в их различии уровнем процедурности. На основе алгебраических операций строятся выражения реляционной алгебры. Аналогично тому, как интерпретируются арифметические и логические выражения, выражения реляционной алгебры имеют процедурную интерпретацию. То есть, запрос, который представлен на языке реляционной алгебры, вычисляется на основе вычислений элементарных алгебраических операций, при этом необходимо учитывать их старшинство и возможное наличие скобок. Однозначной интерпретации для формулы реляционного исчисления не существует. Формула призвана устанавливать условия, которые должны удовлетворять кортежам результирующего отношения. Именно поэтому языки реляционного исчисления являются более непроцедурными или декларативными.
Учитывая эквивалентность механизмов реляционной алгебры и реляционного исчисления, можно пользоваться любым из этих механизмов для проверки степени реляционности некоторого языка БД.
Отметим, что хотя и редко алгебру или исчисление принимаю в качестве полной основы какого-либо языка БД. Обычно (как, например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее, знание алгебраических и логических основ языков баз данных часто бывает полезно на практике.
Различные проблемы при обновлении таблиц связаны, прежде всего, со стремлением минимизировать число таблиц. Поэтому будут даны рекомендации по разбиению некоторых больших таблиц на несколько маленьких. Возникает вопрос: Как правильно сформировать требуемый ответ, если необходимые данные хранятся в разных таблицах?
Э. Ф. Кодд предложил реляционную модель данных. Он так же стал создателем инструмента для удобной работы с отношениями – реляционной алгебры. Каждой операцией этой алгебры используется одна или несколько таблиц (отношений) в качестве ее операндов и продуцирует в результате новую таблицу, т.е. позволяет "разрезать" или "склеивать" таблицы (Рисунок 3).
Рисунок 3. Некоторые операции реляционной алгебры
Для реализации всех операций
реляционной алгебры и почти
всех их сочетаний были созданы языки
манипулирования данными.
1. SQL: Structured Query Language – структуризованный язык запросов;
2. QBE: Quere-By-Example – запросы по образцу.
Они относятся к языкам очень высокого уровня. Они применяются для указания пользователем тех данных, которые необходимо получить, но при этом процедура получения не уточняется.
Заключение
В настоящее время реляционные базы данных - наиболее распространенный тип баз данных, что обусловлено относительной легкостью проектирования. Другим решающим фактором превосходства РБД является поддержка производителей программного обеспечения управления базами данных. Наиболее известные и широко применяемые СУБД, такие как MS Access, SQL Server, MySQL предназначены именно для работы с реляционными БД.
В реляционной базе данных данные хранятся в двумерных таблицах с использованием простых доменов. Целостность реляционной базы данных поддерживается с помощью правил целостности сущностей и ссылочной целостности.
Основное достоинство