Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2002.doc
Скачиваний:
44
Добавлен:
15.06.2014
Размер:
335.36 Кб
Скачать

Тема: Первая нормальная формула

Говорят, что некоторое отношение R находится в первой нормальной формуле (1 НФ), если оно удовлетворяет следующему условию: атрибуты отношения содержат только скалярные или атомарные значения.

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

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

Таким образом, отношение R находится в 1 НФ, если оно является плоской таблицей.

Базовые концепции реляционных бд db2.

Объектами DB2 являются следующие объекты: Instances, Databases, Nodegroup, Tables, Views, Indexes, Schemas, System catalog tables. Структура этих объектов вложенная:

System

Instance(s)

Database(s)

Nodegroup(s)

Table(s), Index(es)

LongData

В Control Center видна древовидная структура вида:

+System (LTSRV)

+Instance (DB2)

+Database (Sample)

Tables

Views

Schemas

. . .

Instance (менеджер БД) — модуль, который управляет данными. Он управляет действиями над данными, а так же системными ресурсами, которые отводятся под эти данные. Instance содержит в себе все partitions БД, определенные для распараллеливания работы с БД. Instance представляет собой БД, к которой нет доступа из других Instances. Все части БД сохраняются в соответствующих директориях операционной системы (ОС), таким образом видно, что они физически разделены (не целостные).

Database (БД) — является коллекцией таблиц, которые заполнены пользовательскими данными. Таблица содержит определенное количество колонок, и неопределенное (любое) количество строк. Каждая БД включает множество таблиц системного каталога, которые описывают логическую и физическую структуру данных. Имеется так же конфигурационный файл, в котором содержатся значения параметров, определенных для БД. А так же .log-файл для реализации транзакций, которые позволяют восстанавливать данные и т.п.

Nodegroup — множество partitions (частей) или вся БД, если она представляет собой одну целую часть. Перед тем, как создать таблицу, в БД необходимо создать Nodegroup, где будет записано табличное пространство. Далее создается табличное пространство, в которое записаны таблицы. Затем создаются таблицы.

В каждой БД под каждую таблицу отводится табличное пространство (смотри позже).

Tables (таблицы) содержат данные, которые упорядочены и логически распределены по строкам и столбцам (по ячейкам). Все таблицы БД принадлежат некоторому табличному пространству. Таблицы могут быть связаны метаотношениями, которые делятся на 3 типа:

  1. 1:1 (один к одному)

  2. 1:n (один ко многим)

  3. n:n (многие ко многим)

Доступ к данным осуществляется на языке SQL.

Views (виды) являются способом представления данных без необходимости их сохранения. Вид — выборка из нескольких таблиц, которая представлена в виде виртуальной таблицы.

Пример создания вида:

А В

CREATE VIEW View_AB

SELECT FROM A,B

View_AB WHERE . . .

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

Index_A A

Code

1

2

3

17

Dept

1

ABC

17

JH

2

YFR

3

TRT

Schemas (схемы) — идентификатор пользователя. Схема помогает сгруппировать таблицы и другие объекты БД. Схема персонализирована и владелец может управлять доступом к данным и объектам БД. Схема создается автоматически, когда в БД создан первый объект. Объекты, обладающие схемами — таблицы, индексы, пакеты, пользовательские функции, пользовательские типы данных, триггеры.

Имя схемы состоит из двух частей: идентификатор пользователя и имя объекта.

System Catalog Tables (таблицы системного каталога). DB2 создает и поддерживает множество системных таблиц для каждого объекта на время выполнения операций SQL.