75487

Индексация данных. Индексы в базах данных. Нормализация БД

Доклад

Информатика, кибернетика и программирование

Первичный ключ атрибут или совокупность атрибутов которые уникальным образом однозначно идентифицируют экземпляр объекта запись таблицы. если у таблицы задан первичный ключ то любые записи данной таблицы должны отличаться значениями первичных ключей. Вторичный ключ атрибут или совокупность атрибутов предназначенных для упорядочения таблицы. Нормализация это разбиение таблицы на две или более обладающих лучшими свойствами при включении изменении и удалении данных.

Русский

2015-01-15

59.5 KB

0 чел.


Индексация данных. Индексы в базах данных. Нормализация БД.

Для упорядочения представлений инф-ий и ускорения поиска требуемой инф- ции применяются ключи (индексы).

Ключи бывают первичными и вторичными.

Первичный ключ- атрибут или совокупность атрибутов, которые уникальным образом однозначно идентифицируют экземпляр объекта (запись таблицы).

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

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

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

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

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

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

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

Теперь в дополнение к 1НФ можно определить дальнейшие уровни нормализации – вторую нормальную форму (2НФ), третью нормальную форму (3НФ) и т.д. По существу, таблица находится в 2НФ, если она находится в 1НФ и удовлетворяет, кроме того, некоторому дополнительному условию, суть которого будет рассмотрена ниже. Таблица находится в 3НФ, если она находится в 2НФ и, помимо этого, удовлетворяет еще другому дополнительному условию и т.д.

Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что "(N+1)-я нормальная форма" не обладает некоторыми непривлекательными особенностями, свойственным "N-й нормальной форме". Общий смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей. В п. 4.3 мы выявляли непривлекательные особенности таблицы рис. 4.2 и для их исключения выполняли "интуитивную нормализацию".

Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные.

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

Например, в таблице Блюда (рис. 4.4) поля Блюдо и Вид функционально зависят от ключа БЛ, а в таблице Поставщики рис. 4.3 поле Страна функционально зависит от составного ключа (Поставщик, Город). Однако последняя зависимость не является функционально полной, так как Страна функционально зависит и от части ключа – поля Город.

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

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

Обучение

Дисциплина

Преподаватель

Учебник

Информатика

Шипилов П.А.

Форсайт Р. Паскаль для всех

Информатика

Шипилов П.А.

Уэйт М. и др. Язык Си

Информатика

Голованевский Г.Л.

Форсайт Р. Паскаль для всех

Информатика

Голованевский Г.Л.

Уэйт М. и др. Язык Си

...

...

...

Рис. 4.5. К иллюстрации многозначных зависимостей

Для примера рассмотрим таблицу "Обучение" (рис. 4.5). В ней есть многозначная зависимость "Дисциплина-Преподаватель": дисциплина (в примере Информатика) может может читаться несколькими преподавателями (в примере Шипиловым и Голованевским). Есть и другая многозначная зависимость "Дисциплина-Учебник": при изучении Информатики используются учебники "Паскаль для всех" и "Язык Си". При этом Преподаватель и Учебник не связныфункциональной зависимостью, что приводит к появлению избыточности (для добавление еще одного учебника придется ввести в таблицу две новых строки). Дело улучшается при замене этой таблицы на две: (Дисциплина-Преподаватель и Дисциплина-Учебник).


 

А также другие работы, которые могут Вас заинтересовать

14124. COMPUTER APPLICATIONS 39 KB
  UNIT 2. COMPUTER APPLICATIONS I. Practise reading the following words: characterize distinguishing repetitive efficiently ordinary automobiles atmospheric physicists industries professional airframe survey industry maintenance process vital determine increasingly realized successfully extremely explosion matures distinctive epoch staggering eventual diagnostic proliferation equipment succeed pendulum climate acquisition. II. Before reading the te...
14125. COMPUTER CONFIGURATION 37 KB
  UNIT 3. COMPUTER CONFIGURATION I. Practise reading the following words: component unit device interconnected microprocessor register integrated manage improve performance simplify description identify perform support integers arithmetic sine cosine compare superscalar represent equal rapidly area store single software responsibility significance increase trigonometry. II. Before reading the text try to answer these questions: 1. What components ...
14126. CENTRAL PROCESSING UNIT 36 KB
  UNIT 4. CENTRAL PROCESSING UNIT I. Practise reading the following words: execute fundamental circuit tolerances miniaturization standardization automobile configure advent eventually significantly wiring contents architecture primarily discrete differentiate failure whereas desired retrieve deterring issue register directly cycle entire simultaneously access monolithic separate. II. Before reading the text try to answer these questions: 1. What i...
14127. UNIT 5. MOTHERBOARD 35 KB
  UNIT 5. MOTHERBOARD I. Practice reading the following words: motherboard personal circuit electronic controller component either via determine features wireless expansion industry micro architecture proprietary endure accommodate video monitor prior processor universally current Ethernet graphics existing extension firmware rear failure volatile. II. Before reading the text try to answer these questions: 1. What is a motherboard 2. What is a...
14128. UNIT 6. PERIPHERALS 39 KB
  UNIT 6. PERIPHERALS I. Practise reading the following words: attached scanner internal video accessories refers component processing access similarly represents audio converted accommodate typical processor transform electronic capture included Ethernet chat advantage convert item graphics monitor produces permanent transparencies primarily via. II. Before reading the text try to answer these questions: 1. What components does an ordinary PC...
14129. UNIT 7. KEYBOARDS 46 KB
  UNIT 7. KEYBOARDS I. Practise reading the following words: component primary commands virtually obsolete corporate term universal specification equipment status automating layout arrangement area numeric mode isolated modified vendor menu cursor simulate mandatory via economic requirement environment support minimize sacrifice. II. Before reading the text try to answer these questions: 1. What input devices do you know 2. What input devices d...
14130. Основні етапи розвязування задачі з використанням компютера 67.5 KB
  Тема уроку: Основні етапи розвязування задачі з використанням компютера Мета уроку: Дати поняття про основні етапи розвязування задачі з використанням компютера.Тип уроку: Лекційний. Теоретичний матеріал: Зараз важко уявити собі життя людини без компютера. Люди в
14131. Поняття інформаційної моделі 39 KB
  Тема уроку: Поняття інформаційної моделі Мета уроку: Дати поняття про моделювання та створення інформаційних моделей обєктів.Тип уроку: Лекційний. На початку уроку рекомендується провести усне опитування за темою попереднього уроку з метою визначення засвоєного ма...
14132. Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів 83.5 KB
  Тема уроку: Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій введених для кожного зі стандартних типів. Мета уроку: дати поняття величини та типів даних визначити стандартні типи даних їх опис та набір функцій і операцій для кожного зі стандартних ...