Теория реляционных БД – сложная математическая дисциплина.




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

Основные понятия реляционных БД:

1) В реляционных БД любые совокупности данных, представляются в виде двумерных таблиц.

2) Каждая таблица состоит из фиксированного числа столбцов и переменного количества строк. Описание столбцов, которое составляет разработчик, называют макетом таблицы.

3) Каждый столбец представляет конкретное данное (код фирмы, код продукции, цена). На языке БДстолбцытаблицыназываются полями, причем для каждого поля разработчик должен определить: уникальное имя поля, тип поля, дополнительные характеристики (длину, формат). Поле – это элементарная единица логической организации данных, которая соответствует отдельной, неделимой единицы информации – реквизиту.

4) Каждая строка таблицы на языке компьютера называется записью. Запись является основной структурной единицей обработки данных и единицей обмена между оперативной и внешней памятью. Запись – совокупностьполей, соответствующих логически связанным реквизитам. Структура записи определяется составом и последовательностью входящих в нее полей, каждое из которых содержит элементарное данное. В отличие от количества полей, количество записей в процессе эксплуатации БД может как угодно меняться (от 0 до 1 миллиона и выше). Количество полей, их имена, типы тоже можно менять, но это особая операция называется изменением макета таблицы.

5) Каждое поле может входить в несколько таблиц.

Каждая запись в таблице должна иметь первичныйключ, то есть идентификатор (или адрес), значение которого однозначно определяет эту и только эту запись. Ключ может состоять их одного или нескольких полей. Например, в телефонном справочнике первичным ключом является номер телефона. Каждое значение первичного ключа в пределах таблицы должно быть уникальным. В противном случае невозможно отличить одну запись от другой. Для ключа, состоящего из нескольких полей, если удалить из ключа одно поле, то одному и тому же значению ключа может соответствовать несколько записей. Фамилия никогда не может быть ключом таблицы, обычно это табельный номер или данный паспорта. Чтобы система могла быстро найти нужные записи, таблицу следует упорядочить по значениям ключа поиска (по возрастанию или по убыванию).

Телефонный справочник:

Нам требуется найти данные об абоненте с номером 357-14-18 в таблице из 526 строк. Система знает:

1) Значение ключа (то есть номера) уникальны.

2) Всего в справочнике 526 записей

Прежде всего, система заглядывает в середину таблицы (263 запись) и сравнивает с ним номер телефона и отбрасывает верхнюю половину или нижнюю таблицы. Следующая запись -131, в зависимости от результата сравнения, исключается половина новой группы записей, за 8-9 шагов находится нужная запись.

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

Поэтому в этом случае быстрый поиск по фамилии автора станет невозможен.

Списки сотрудников упорядочивают (сортируют) по разным ключам – по таб. номеру, по зарплате, по году рождения, по образованию, полу.

Ключ сортировки (ключ поиска) может состоять из нескольких полей. Старшинство сортировки дадите по полям Вы.

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

Как упорядочивают записи таблиц в БД?

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

Каждый элемент этого набора состоит из двух частей:

1) Порядкового номера записи в таблице.

2) Значение ключа сортировки

Например, индекс для таблицы TELEFON (сортировка по возрастанию номеров) выглядит так:

 
 
  12-46-75
  13-14-13
  14-76-60
Номер записи в таблице Номер телефона в данной записи

 

 

 


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

Индекс обычно является частью файла БД.

Индекс выполняет две функции:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-03-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: