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

Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 15:15, реферат

Описание работы

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

Файлы: 1 файл

реляц.БД.docx

— 97.37 Кб (Скачать файл)

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

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

Рассмотрим конкретный пример для  первого случая: при организации  транзитного рейса, целесообразно  задать запрос: "Выдать рейсы, в которых  время вылета из Челябинска в Египет больше времени прибытия из Свердловска  в Стамбул".

Отношение на доменах 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 тогда и только тогда, когда происходит выполнение двух независимых от времени условий:

  1. Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
  2. Минимальность: ни один из атрибутов Ai, Aj, ..., Ak не может быть исключен из K без нарушения уникальности.

Каждому отношению соответствует  хотя бы один возможный ключ. Это  происходит, потому что для всех его атрибутов выполняется условие  уникальности. За первичный ключ принимается  один из возможных ключей (выбранный  произвольным образом). Остальные возможные  ключи, если они есть, называются альтернативными  ключами.

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

Отношение – Таблица (иногда Файл), Кортеж – Строка (иногда Запись), Атрибут  – Столбец, Поле.

Индексы

Выше  мы рассмотрели понятие ключей таблиц базы данных. В большинстве реляционных  СУБД ключи реализуются с помощью  объектов, называемых индексами.

Индекс  представляет собой указатель на данные, размещенные в реляционной  таблице. Можно провести аналогию индекса  таблицы базы данных с указателем, обычно помещаемым в конце книги. Чтобы найти в книге страницы, относящиеся к некоторой теме, проще всего обратиться к указателю, в котором устанавливается соответствие между перечисленными в алфавитном порядке темами и номерами страниц, и сразу определить страницы, которые следует просмотреть. Чтобы без указателя найти все страницы, относящиеся к нужной теме, пришлось бы просматривать всю книгу. Индекс базы данных предназначен для аналогичных целей – чтобы ускорить поиск информации в таблице базы данных. Индекс предоставляет информацию о точном физическом расположении данных в таблице.

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

При выполнении запроса к базе данных, в условие  поиска которого входит индексированный  столбец, поиск значений производится в первую очередь в индексе. Если этот поиск оказывается успешным, то в индексе устанавливается  точное местоположение искомых данных в таблице базы данных.

Рассмотрим  пример индекса. На рис. 3 показан фрагмент таблицы СТУДЕНТЫ и индекса, построенного по полю «Имя» данной таблицы. При  выполнении поиска по имени студента, просматривая индекс, можно сразу  определить порядковый номер записи, содержащей необходимую информацию, и затем быстро найти в таблице  сами данные. Если бы у таблицы отсутствовал индекс по полю «Имя», то выполнение поиска по имени студента потребовало бы просмотра всей таблицы. Таким образом, использование индексов снижает  время выборки данных.

Различают несколько типов индексов. Наиболее часто выделяют три типа: простые; составные; уникальные.

Простые индексы представляют собой простейший и вместе с тем наиболее распространенный тип индекса. Простой индекс строится на основе только одного столбца реляционной  таблицы (индекс, приведенный на Рисунке 3 является простым).

Составные индексы строятся по двум и более  столбцам реляционной таблицы. При  создании составного индекса необходимо принимать во внимание, что последовательность столбцов, по которым создается индекс, влияет на скорость поиска данных.

Можно назвать  два условия оптимальности следования столбцов в составном индексе:

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

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

Сформулированные  условия оптимальности часто  являются противоречивыми, так что  между ними следует находить разумный компромисс.

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

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

По мере увеличения возможностей и уменьшения стоимости вычислительных средств, получило развитие второе направление, связанное с использованием средств  вычислительной техники в автоматизированных информационных системах. Здесь вычислительные возможности компьютеров отходят  на второй план – основные функции  вычислительных средств в информационных системах состоят в поддержке  надежного хранения информации, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса.

Со временем именно второе направление, связанное с хранением  и обработкой данных, стало доминирующим, особенно после появления персональных компьютеров. Использование персональных компьютеров для выполнения сложных научных расчетов сейчас является скорее исключением. Интересно также отметить, что современные персональные компьютеры, оборудованные процессорами с громадными тактовыми частотами (на сегодняшний день рядовой дешевый процессор работает на частоте 1800-2200 МГц), при решении сложных научных задач могут даже уступать по вычислительным возможностям «большим» компьютерам 20-25-летней давности.

Реляционной базой данных называется совокупность отношений, которые 

содержат всю информацию, хранящуюся в БД. Пользователи воспринимают эту базу данных как совокупность таблиц.

Особенности таких таблиц:

1. Таблица имеет уникальное  имя и состоит из однотипных  строк.

2. Существование фиксированного  числа полей (столбцов) и значений 

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

3. Возможность однозначной  идентификации любой строки таблицы.

4. Присвоение столбцам  таблицы однозначного имени, причем  в каждом из них размещаются  однородные значения данных (даты, фамилии, целые числа или денежные  суммы).

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

Так, связи между строкой  с БЛ = 2 таблицы "Блюда" на рис. 4 и строкой с ПР = 7 таблицы продукты (для приготовления Харчо нужен  Рис), представляется не с помощью  указателей, а благодаря существованию  в таблице "Состав" строки, в  которой номер блюда равен 2, а  номер продукта – 7.

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

Манипулирование реляционными данными

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

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

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

Отметим, что хотя и  редко алгебру или исчисление принимаю в качестве полной основы какого-либо языка БД. Обычно (как, например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее, знание алгебраических и логических основ языков баз данных часто  бывает полезно на практике.

Различные проблемы при  обновлении таблиц связаны, прежде всего, со стремлением минимизировать число  таблиц. Поэтому будут даны рекомендации по разбиению некоторых больших  таблиц на несколько маленьких. Возникает  вопрос: Как правильно сформировать требуемый ответ, если необходимые данные хранятся в разных таблицах?

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

 

Рисунок 3. Некоторые операции реляционной алгебры

 

Для реализации всех операций реляционной алгебры и почти  всех их сочетаний были созданы языки  манипулирования данными.Назовем  самые распространенные среди них:

1. SQL: Structured Query Language – структуризованный язык запросов;

2. QBE: Quere-By-Example – запросы по образцу.

Они относятся к языкам очень высокого уровня. Они применяются  для указания пользователем тех  данных, которые необходимо получить, но при этом процедура получения  не уточняется.

 

 

Заключение

 

В настоящее  время реляционные базы данных - наиболее распространенный тип баз  данных, что обусловлено относительной  легкостью проектирования. Другим решающим фактором превосходства РБД является поддержка производителей программного обеспечения управления базами данных. Наиболее известные и широко применяемые  СУБД, такие как MS Access, SQL Server, MySQL предназначены именно для работы с реляционными БД.

В реляционной  базе данных данные хранятся в двумерных  таблицах с использованием простых  доменов. Целостность реляционной  базы данных поддерживается с помощью  правил целостности сущностей и  ссылочной целостности.

Основное достоинство реляционных  баз данных – это их совместимость  с самым распространенным языком запросов SQL. Только при единственном запросе на языке SQL, выполняется несколько операций: соединение нескольких таблиц во временную таблицу и вырезание из таблицы требуемых строк и столбцов, то есть, селекция и проекция. Табличная структура реляционной базы данных проста в понимании для пользователя, как следствие и язык SQL так же является достаточно простым для изучения. Реляционная модель содержит достаточно большой теоретический материал, на нем были основаны эволюционные преобразования и успешная реализация реляционных баз данных. Именно популярность реляционных баз данных сыграла решающую роль в том что язык SQL стал основным.

Информация о работе Реляционные базы данных