Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД теория_.docx
Скачиваний:
32
Добавлен:
10.04.2015
Размер:
392.84 Кб
Скачать

8.Реляционная алгебра: операции традиционные и специальные, примитивные.

Традиционные операторы над множествами:

Объединение– возвращает отношение содержащее кортежи, принадлежащие хотя бы одному из исходных отношений.

Пересечение– возвращает кортежи, принадлежащие одновременно 2-м исходным отношениям.

РазностьR1иR2- возвращает отношение кортежей, которые принадлежат 1-му отношениюR1, но не принадлежатR2.

Операции объединение, пересечение и разность должны быть совместимы по типу операндов, т.е. R1 иR2 должны иметь одинаковое количество атрибутов, соответствующие атрибуты должны быть определены на одном и том же домене.

Произведение- возвращает результат сцепления каждого кортежа 1-го отношения с каждым кортежем 2-го отношения.

R1

A

B

C

R2

X

Y

R1xR2

A

X

A

Y

B

X

B

Y

C

X

C

Y



Специальные операции:

Выборка– возвращает кортежи, удовлетворяющие определенному критерию отбора.

σF(R)F– критерий отбора,R– отношения, σ – выборка

Поставщики, живущие в Лондоне σCITY = ‘London(S)

Проекция– возвращает все кортежи исходного отношения, но только с теми атрибутами, на которые выполняется проекция. πS, SNAME, CITY(S)

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

R1

R2

R1 R2

A1

B1

B1

C1

A1

B1

C1

A2

B2

B2

C2

A2

B2

C2

A3

B3

B3

C3

A3

B3

C3

Деление– для двух отношений бинарного и унарного возвращает отношение содержащее значение одного атрибута первого отношения, которое соответствует в другом атрибуте всем значениям второго отношения.

R1

R2

R1 R2

A

X

X

A

A

Y

y

A

Z

B

X

B

Z

Результат каждой операции над отношением также является отношением – свойство замкнутости.

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

Пересечение,соединениеиделениеможно определить через примитивные операции.

10.Язык sql. Определение данных.

SQLне является полноценной реализацией реляционной модели .SQLявляется стандартным реляционным языком и поддерживается всеми продуктами БД.

Все операторы SQLделятся на 3 группы:

DDL (Data Definition Language)– создание и удаление объектов данных (модификация).

CREATE TABLE создать, DROP TABLE удалить, ALTER TABLE изменить

DML (Data Manipulation Language)язык манипулирования (изменения)

SELECT выборка, INSERT добавление, DELETE удаление, UPDATE изменение

DLC (Data Language Control)язык управления данными

Управление правами, операторы работы с транзакциями

Язык SQL является типизированным: данные принадлежат какому-нибудь типу.

Ограничения:

  • PRIMARY KEY

  • UNIQUE

  • NOT NULL

  • FOREIGN KEY

  • DEFAULT

  • CHECK

Определение поля: Имя_поля Тип_ данных [ограничение]

Пример (определение БД поставщиков и деталей из книги Дейта)

CREATE TABLE S (

S CHAR(5),

SNAME CHAR(20),

STATUS NUMERIC(5),

CITY CHAR(15),

PRIMARY KEY(S) );

CREATE TABLE P (

P CHAR(6),

PANME CHAR(20),

COLOR CHAR(6),

WEIGHT(5,1),

CITY CHAR(15),

PRIMARY KEY(P) );

CREATE TABLE SP (

S CHAR(5),

P CHAR(6),

QTY NUMERIC(9),

PRIMARY KEY (S,P),

FOREIGN KEY (S) REFERENCES S,

FOREIGN KEY (P) REFERENCES P ) ;

В SQLтолько встроенные типы, определяемых пользователем нет (кроме доменов):

CHARACTER [] (n), BIT [] (n), NUMERIC (p,q), DECIMAL (p,q), INTEGER, SMALLINT, FLOAT (p), DATE, TIME, TIMESTAMP, INTERVAL

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]