Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009, страница 11
Описание файла
PDF-файл из архива "Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009", который расположен в категории "". Всё это находится в предмете "информационное обеспечение разработок" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационное обеспечение разработок" в общих файлах.
Просмотр PDF-файла онлайн
Текст 11 страницы из PDF
3.1. Представление отношения С О Т Р У Д Н И КФормально, если переставить атрибуты в отношении, то получается новоеотношение. Однако в реляционных БД перестановка атрибутов не приводитк образованию нового отношения.Домен представляет собой множество всех возможных значений определенного атрибута отношения. Отношение С О Т Р У Д Н И К включает 4 домена.Домен 1 содержит фамилии всех сотрудников, домен 2 — номера всех отделов3. Реляционнаямодельданных51фирмы, домен 3 — названия всех должностей, домен 4 — даты рождения всехсотрудников.
Каждый домен образует значения одного типа данных, например, числовые или символьные.Отношение С О Т Р У Д Н И К содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4 элементов, каждый из которых выбирается изсоответствующего домена. Каждому кортежу соответствует строка таблицы (рис. 3.1).Схема отношения {заголовок отношения) представляет собой списокимен атрибутов. Например, для приведенного примера схема отношенияимеет вид С О Т Р У Д Н И К ( Ф И О , Отдел, Должность, Д_Рождения). Множество собственно кортежей отношения часто называютсодержимым{телом)отношения.Первичным ключом {ключом отношения, ключевым атрибутом) называется атрибут отношения, однозначно идентифицирующий каждый из егокортежей.
Например, в отношении С О Т Р У Д Н И К ( Ф И О , Отдел, Должность,Д_Рождения) ключевым является атрибут «ФИО». Ключ может быть составным {сложным), то есть состоять из нескольких атрибутов.Каждое отношение обязательно имеет комбинацию атрибутов, котораяможет служить ключом. Ее существование гарантируется тем, что отношение — это множество, которое не содержит одинаковых элементов — кортежей. То есть в отношении нет повторяющихся кортежей, а это значит, что покрайней мере вся совокупность атрибутов обладает свойством однозначнойидентификации кортежей отношения. Во многих СУБД допускается создавать отношения, не определяя ключи.Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношения.
Все эти комбинации атрибутов являются возможнымиключами отношения. Любой из возможных ключей может быть выбран какпервичный.Если выбранный первичный ключ состоит из минимально необходимогонабора атрибутов, говорят, что он является не избыточным.Ключи обычно используют для достижения следующих целей:1)исключения дублирования значений в ключевых атрибутах (остальныеатрибуты в расчет не принимаются);2)упорядочения кортежей.
Возможно упорядочение по возрастанию илиубыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание);3)ускорения работы к кортежами отношения (подраздел 3.2);4)организации связывания таблиц (подраздел 3.3).Пусть в отношении R1 имеется не ключевой атрибут А, значения которогоявляются значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 есть внешний ключ.Часть 1. Основы52построениябазданныхС помощью внешних ключей устанавливаются связи между отношениями. Например, имеются два отношения СТ У Л Е Н Т( Ф И О.
Группа, Специальность) и ПРЕДМЕТШазв.Пр. Часы), которые связаны отношением СТУД Е Н Т _ П Р Е Д М Е Т ( Ф И О . Назв.Пр. О ц е н к а ) (рис. 3.2). В связующемотношении атрибуты Ф И О и Назв.Пр образуют составной ключ. Эти атрибуты представляют собой внешние ключи, являющиеся первичными ключами других отношений.внешнийключвнешнийключРис. 3.2. Связь отношенийРеляционная модель накладывает на внешние ключи ограничение для обеспечения целостности данных, называемое ссылочной целостностью.
Это означает, что каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.Поскольку не всякой таблице можно поставить в соответствие отношение, приведем условия, выполнение которых позволяет таблицу считать отношением.1. Все строки таблицы должны быть уникальны, то есть не может бытьстрок с одинаковыми первичными ключами.2. Имена столбцов таблицы должны быть различны, а значения их простыми, то есть недопустима группа значений в одном столбце одной строки.3. Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.4.
Порядок размещения строк в таблице может быть произвольным.Наиболее часто таблица с отношением размещается в отдельном файле.В некоторых СУБД одна отдельная таблица (отношение) считается базой данных. В других СУБД база данных может содержать несколько таблиц.В общем случае можно считать, что БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Например, при использовании СУБД Microsoft Access в файлеБД наряду с таблицами хранятся и другие объекты базы: запросы, отчеты,формы, макросы и модули.3.
Реляционнаямодельданных53Таблица данных обычно хранится на магнитном диске в отдельном файлеоперационной системы, поэтому по ее именованию могут существовать ограничения. Имена полей хранятся внутри таблиц. Правила их формированияопределяются СУБД, которые, как правило, на длину полей и используемыйалфавит серьезных ограничений не накладывают.Если задаваемое таблицей отношение имеет ключ, то считается, что таблица тоже имеет ключ, и ее называют ключевой или таблицей с ключевыми полями.У большинства СУБД файл таблицы включает управляющую часть (описание типов полей, имена полей и другая информация) и область размещения записей.К отношениям можно применять систему операций, позволяющую получать одни отношения из других.
Например, результатом запроса к реляционной БД может быть новое отношение, вычисленное на основе имеющихсяотношений. Поэтому можно разделить обрабатываемые данные на хранимуюи вычисляемую части.Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи).3 . 2 . ИндексированиеКак отмечалось выше, определение ключа для таблицы означает автоматическую сортировку записей, контроль отсутствия повторений значений в ключевых полях записей и повышение скорости выполнения операций поиска в таблице.
Для реализации этих функций в С У Б Д применяютиндексирование.Термин «индекс» тесно связан с понятием «ключ», хотя между ними естьи некоторое отличие.Под индексом понимают средство ускорения операции поиска записейв таблице, а следовательно, и других операций, использующих поиск: извлечение, модификация, сортировка и т.
д. Таблицу, для которой используетсяиндекс, называют индексированной.Индекс выполняет роль оглавления таблицы, просмотр которого предшествует обращению к записям таблицы. В некоторых системах, например,Paradox, индексы хранятся в индексных файлах, хранимых отдельно от табличных файлов.Варианты решения проблемы организации физического доступа к информации зависят в основном от следующих факторов:• вида содержимого в поле ключа записей индексного файла;• типа используемых ссылок (указателей) на запись основной таблицы;• метода поиска нужных записей.Часть 1. Основы построения54базданныхВ поле ключа индексного файла можно хранить значения ключевых нолей индексируемой таблицы либо свертку ключа (так называемый хешкод). Преимущество хранения хеш-кода вместо значения состоит в том,что длина свертки независимо от длины исходного значения ключевогополя всегда имеет некоторую постоянную и достаточно малую величину(например, 4 байта), что существенно снижает время поисковых операций.
Недостатком хеширования я в л я е т с я необходимость выполненияоперации свертки (требует определенного времени), а также борьба с возникновением коллизий (свертка различных значений может дать одинаковый хеш-код).Для организации ссылки на запись таблицы могут использоваться три типаадресов: абсолютный (действительный), относительный и символический(идентификатор).На практике чаще всего используются два метода поиска: последовательный и бинарный (основан на делении интервала поиска пополам).Проиллюстрируем организацию индексирования таблиц двумя схемами:одноуровневой и двухуровневой.
При этом примем ряд предположений, обычно выполняемых в современных вычислительных системах. Пусть ОС поддерживает прямую организацию данных на магнитных дисках, основные таблицы и индексные файлы хранятся в отдельных файлах. Информация файловхранится в виде совокупности блоков фиксированного размера, напримерцелого числа кластеров.При одноуровневой схеме в индексном файле хранятся короткие записи, имеющие два поля: поле содержимого старшего ключа (хеш-кода ключа) адресуемого блока и поле адреса начала этого блока (рис. 3.3).ключключключадресключключадресзаписьключзаписьключзаписьключзаписьзаписьзаписьключключключадресИндексныйфайлключзаписьзаписьзаписьБлок — 2Блок — 1Рис.