Вы находитесь на странице: 1из 18

Dorian.saranciuc@ati.utm.

md

Множество:
1. совокупность элементов A={1,2,4}
2. не упорядоченность A = {4,2,1}
3. уникальность элементов ∀ x ∈ A , x ∈ℕ
4. однотипность элементов A
5. множество имеет имя B = {}, A -конечное множество конечное множество
6. множество может быть пустым {}
7. может быть конечным C={2 x∣x ∈ℕ}
8. может быть бесконечным card A = 3, |A| = 3 — арность
Операции:
A = {0,3,7,4,5}
B = {1,8,7,9,5}
C = {2,6}
1. Объединение A∪B={0,3,7,4,5,1,8,9}
2. Пересечение A∩B={7,5}
3. Разность A ∖ B={0,3,4 }, B∖ A={1,8,9}
A (10) ={1,2,6,8,9}, B(10 )={0,2,3,4,6}
4. Отрицание/ Дополнение
6 (9−6)=3, 5=4 , 5(8 )=2
Применительно к бд операция активного дополнения (исключает бесконечные множества)
5. Декартово произведение
A×C={(0,2) ,(0,6)(3,2) ,(3,6) ,(7,2) ,(7,6),(4,2) ,( 4,6),(5,2) ,(5,6)}

База данных — совокупность взаимосвязанных хранящиеся вместе данных при такой


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

Избыточность — хранение дубликатов данных в бд приводит к избыточности (больше чем


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

Аномалии введения данных, удаления данных, противоречивость.

Избыточность закладывается при проектировании.


Независимость данных.
Одно из основных свойств бд которая предполагает независимость данных и использующих
их приложений друг от друга.
Независимость бывает 2 типов: физическая и логическая.
Физическая — независимость логической структуры от физического размещение данных.
Логическая — независимость приложений от изменения логической структуры бд.
Понятие независимости реализуется в бд на уровне самой субд, для этого существует
стандартизованная 3 уровненная архитектура ANSI-конечное множество SPARC.

Цель создания бд -конечное множество данные сохраняются в целостности , коренными , чтобы была
возможность многопользовательского доступа, возможность использования данных путем их
автоматического нахождения по разным критериям.
При создании бд решаются следующие задачи:
1. сокращаются объем памяти сохраняемыми данными (не избыточность )
2. Ускоряется доступ к данным (индексация)
3. Обеспечивается уникальность данных
4.точные отражение в бд всех связей между объектами финономами объектами процесса
реального времени
5. обеспечение возможности изменять структуру данных без изменение приложений

много уровненная бд:


концептуальный уровень
логический уровень
физический уровень

обеспечивается физическая и логическая независимость


Этапы проектирования бд:
1. Концептуальное проектирование — на этом этапе реализируется предметная область
которая будет отраженна в бд.
1.1 Анализ потребности информационных систем
1.2 Моделирование представление конечных пользователей (требует наличие эксперта)
1.3 Объединение представлений пользователей с представлением администратора
1.4 Создание концептуальной схемы бд — используя какую либо концептуальной модель
данных (семантические сети , модель сущность связь , сети петри ) . Цель концептуального
проектирования состоит в том чтобы бд наилучшим образом представляла предметную
область в бд.
2. Логическое проектирование -конечное множество проектирование логической схемы бд с использование
модели данных (сетевая, иерархическая)
Цель — чтобы данные в бд сохранялись в целостности с минимальной избыточности и
обеспечив независимость данных, а также отсутствие аномалий (противоречивость данных ,
потери данных, аномалии ввода ). На этапе логического проектирования используется
нормализации бд небыли противоречивости не было потерь данных, на донном этапе
исполняется нормализация бд существует 6 нормальных форм.
3. Физическое проектирования -конечное множество состоит в проектирование физической структуры файлов в
бд, субд поваляет полностью исключить необходимость физического проектирование со
стороны пользователя.
Физическая структура играет важную роль в обеспечение быстродействия и
производительность бд (время выдачи на запрос). Администратор может влиять на
физическую структуру путем введение дополнительных методов поиска введения
индексации.

Реляционная модель данных


Эдгард Кодд Bell Laboratoy San Jose Colifronia IBM

Крисс Дэйте

Согласно теории Кодда:


1. структурная часть
2. манипуляционная часть
3. ограничение целостности

Единственной структуры для хранения данных это отношения.


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

dom(A) = {1,2,3}

Атрибут — название одного поля в таблицы бд.

студенты Фамилия Имя № Ср.бал Группа


Дога Иван 131575 9,3 ti-конечное множество 165
Агаки Татьяна 131573 9,2 ti-конечное множество 165
Черней Ирина 131785 9,5 ti-конечное множество 164

dom(Фамилия) = {Дога,Агаки,Черней}
dom(Группа) = {ti-конечное множество 165,ti-конечное множество 164}

Схема отношения — множество всех атрибутов.

Студенты = {Фамилия,Имя,№,Ср.бал,Группа}

r A B C
a1 b1 c1
a2 b2 c2

c A B C
t1 a1 b1 c1
t2 a2 b2 c2

r — отношение r
R — сехма таблица r

r (R) -конечное множество отношение r на схеме R


s(S)
S = ABC = R

Арность — количество атрибутов в схеме.


|Студенты| = 5
|R| = 3
|S| = 3

Кортеж — tuple это одна запись в бд.


Сокращенный форма:
t2 = < Агаки, Татьяна, 131573, 9.2, ti-конечное множество 165 >

Кортеж — множество пар вида имя атрибута:значение атрибута, которое содержит одно
вхождение каждого имени атрибута.
Полная форма:
t2 = < (Фамилия:Агаки), (Имя:Татьяна),(№:131573),(ср.бал:9,2),(группа:ti-конечное множество 165)>

t1(S) = <a2, b2,c2>


t2(S) = <(A:a3),(C:c3),(B:b3)>

Отношение обязательно имеет схему. Схема может содержать от 1 до n.


Количество кортежей может изменяться от 0 до m
Домен от 1 до k
k — ограничение типов данных
tinyint — 0-конечное множество 255
smallint — -конечное множество 32268 — 32267

s A атрибут B C D
T1 кортеж a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3 d3

dom(A) = {a1,a2,a3}
S={A,B,C,D}
|S| = 4

t1 = <a1,b1,c1,d1>
t1 = <(A:a1),(B:b1),(C:c1),(D:d1)>

|s| = 3 — мощность отношения

Активный домен = те значения которые в данный момент существуют в отношениях

adom(C) = {c1,c2,c3}
dom(C) = {c1,c2,c3,ci…,cn}
n = 1..1000

r D первичный ключ E F
d1 e1 f1
d2 e2 f2
d3 e3 f3
d4 e2 f1

K = {D,EF}
SK = {DE,DF,DEF}

Множество которое имеет свойство уникальности называются супер ключ


Составной ключ множество атрибутов которое обладает свойством уникальности
PK = {D}

Типы Связи
Связь 1 ко многом сама часто используемая связь в бд он получается естественным способом
при декомпозиции отношений в процессе (нормализации) в бд.
Связь 1 к 1 создается искусственно пользователями в любое время ее можно убрать соединив
вместе связующие отношения, эта связь не может получиться в процессе проектирования.
Связь многие ко многим существует теоретически в своем непосредственном виде однако на
практике она создается с помощью 2 связей 1 ко многим в этом случае появляется 3
связующее отношение.
Связь многие ко многим может получиться в результате проектировании (нормализации).

1 к 1 в эту связь могут вступать либо одноименные либо разноименные атрибуты из


связуемых отношений обязательное условие — совместимые домены данных атрибутов. В
этом типе связей оба связующих атрибута обладают свойством ключа. Ключи могут быть
первичными или вторичными, простыми или составными при этом одному значению
связующего атрибута из первого отношения соответствует одно и только одно связанного
атрибута из второго отношения и наоборот.
Не один их этих атрибутов не может принимать null значения.

Один ко многим в этой связи обычно связующие атрибуты являются одноименными если
связь получена в результате проектирование однако возможна ситуация когда связующие
атрибуты разноименные такую связь может создать пользователь однако она не появляется
естественным образом.
Участвуя в связи 1 ко многим можно соединить однако при этом может появится
избыточность и как следствие аномалии в работе в бд.
При связи 1 ко многим оному значению связующего атрибута со стороны 1 могут
соответствовать: дно, несколько или не одно значение связующего атрибута со стороны
многие.

Одному значению связанного атрибута со стороны многие может соответствовать одно и


только одно значение атрибута со стороны 1. Данное требование по сути представляет собой
ограничение ссылочной целостности. За соблюдением этого свойства следит субд.

Реально в субд существует несколько вариантов выбираемых пользователем для соблюдения


ссылочной целостности.

1. enforced refence integrity


2. cascade update related fields каскадное обновление ссылаемых полей
3. cascade delete related records каскадное удаление ссылаемых записей

Определенные ссылочной целостности если атрибут Ai каково то ключа ri в определенном


первичном домене тогда должен существовать первичный атрибут b в базовом отношении
таким образом чтобы A-конечное множество B при этом связь 1 ко многим со стороны B 1 со стороны A многим.

При обеспечение ссылочной целостности в следующих ситуаций:


1. Запрещается удалять кортеж со стороны 1 на которое ведет ссылка со стороны многие.
Для удаления скачало нужно либо удалить ссылающие отношения либо изменить
соответствующим образом значение из внешнего ключа.
2. При удаление кортежа на которой имеются ссылки во всех ссылающих кортежей значение
внешнего ключа становиться NULL.
3. При удалении кортежа на который ведет ссылка удаляется автоматически все ссылающие
кортежи со стороны многие.

Отсутствие значения для каково то атрибута в кортеже называется NULL значением которое
посуте означает не нулевое, а отсутствие значения.
По умолчанию атрибуты могут принимать NULL значение.
При создании таблиц и определение атрибутов можно принудительно запретить атрибутом
принимать NULL значение, при этом прописывается NOT NULL. Ключевые атрибуты по
умолчанию не могут принимать NULL значения иначе они не могли бы выступать в
качествен уникального идентификатора.
Данное ограничение недопустимости NULL значение для ключей называется ограничение
сущности.

Реляционная модель: монопуляционная часть


языки и операциями над данными
Все операции в бд делятся на категории операции вода-конечное множество вывода — изменение, запросы в бд

add(r,a1,b1,c1,A,B,C)
change(r,a1,b1,c1,a11,b11,c11,A,B,C)
del(r,a1,b1,c1,A,B,C)
Причины неудач при выполнение операций для операции ввода
1. несоответствие домена
2. нарушение ограничений целостности для данного атрибута null,check, нарушение
ссылочный целостности, нарушение целостности сущности

Реляционная алгебра — является языком манипулирования реляционными данными на


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

Реляционная алгебра замкнута относительно понятия отношения. Все операции делятся на 2


категории теоретико множественные и специальные.
теоретико множественные:
объединение
специальные:
деление

Операции бывают бинарные и унарные.


Некоторые операции РА требуется совместимости схем. Совместимы схемы имеют
одинаковое количество атрибутов и соответствующие атрибуты определены на
соответственном домене.

Активное дополнение

Значение атрибута присутствующие в таблице образуют активный домен(все допустимые


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

r A B C
a1 b1 c1
a2 b2 c2
a3 b2 c3

adom(A) = {a1,a2}
adom(B) = {b1,b2}
adom(C) = {c1,c2}

atup(r) A B C
a1 b1 c1
a1 b1 c2
a1 b2 c1
a1 b2 c2
a2 b2 c1
a2 b1 c2
a2 b2 c1
a2 b2 c2

~r A B C
a1 b2 c2
a1 b2 c1
a1 b2 c2
a2 b1 c2
a2 b2 c1

Эта операция реально может быть выполнена, для данной операции нет своего оператора.

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

В эту группу входят и унарные и бинарные операции.

Операция проекция — является унарной операцией, проекция отношения r на множетсво


атрибутов X обозначенное Пx(r) являться отношения со схемой X состоящие из все X
значений кортежей отношения r
Пx(r)={t[x]|t}

X = AB
tr[AB] = <a2,b1>

ПAB(r) A B
a1 b1
a2 b1
a2 b2

В результате проекции отдельные кортежи могут принимать одинаковые значения, в этом


случае дубликаты удаляются из результата
ПBC(~r) B C
b1 c2
b2 c1
b2 c2

Если множество X равно r


ПR=
X=R
ПABC ( r )=r
X =∅
П ∅ ( r)
Количесво аттрибутов

также называется вертикальная выборка

Операция селекция
горизонтальная выборка или ограничение

Является унарной операцией.


Сути операции выбрать кортежи удовлетворяющие некоторому заданному условию
условие представляется виде формулы.
Формула определятся рекурсивно следующим образом
1. A⊖B
2. A⊖a
' ⊖❑∈¿ ,❑≠❑ ,>,≥,<,≤¿¿
3. H∧∂ , H ∨∂ ,¬h
Формула f обозначает должна быть применимой к отношению r таким образом чтоб любая
константа

Отношение r удовлетворят формуле f


Схема отношения всегда равна схеме исходного отношения.
Селекция не коммутирует с операцией дополнения.
Селекция только уменьшает количество кортежей

Операция Тета соединение или тета жоин


Пусть r(R) и s(S) отношения с дензюнкными схемами (не имеют общих атрибутов) , пусть
множество операция сравнения дано.
Атрибуты A и B должны быть совместимы по типу
Тета соединения r и s обозначенное есть множество кортежей вида tr, ts образованных
сцеплением кортежей из соответствующих кортежей ts, ts

r(ABC)
Пa ( r ) -конечное множество проекция

ϭA=a1 ( r ) -конечное множество селекция

dom(A) ={a1,a2,a3...an}
adom(A)={a1,a2,a3}

Пa ( r ) A
a1
a2
a3
ПA ( ϭA=a1 ( r ) )

ПA ( ϭA=a1 ( r ) ) A
a1

adom(B)={b1,b2}

ПB ( r )

ПB ( r ) B
b1
b1

ϭB=b2 ( r )

1<= |ϭB=b2 ( r )| <= 2

r A B C
a1 b1
a2 b2
a3 b2

П ∅ ( r)−?

r D E F
d1 e1 f1
d2 e1 f2
d2 e2 f3
d3 e3 f3

ϭF ( r )

1. G=D⊖E
2. H=G⊖d
3. N = G ɣ H

ɣ = {˅ или ,˄ и ,˥}}

?⊖?=¿ ,≠,<,>,≤,≥¿ ¿

ϭE<>F

D E F
d1 e1 f1
d2 e2 f2
d3 e3 f3

Ϭ(r)=r

ϭ D≠d (∅)
ϭ ( r )
D = d2 ˅ E <> e1

D E F
d2 1 1

Объединение

r A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a1 b2 c3

s A B C
a1 b1 c1
a3 b3 c3
a4 b4 c4
a1 b1 c3

Объединение удаляются
1. r∪s

A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a1 b2 c3
a4 b4 c4
a1 b1 c3

2. r∩s

A B C
a1 b1 c1
a3 b3 c2
r\s

A B C
a2 b2 c2
a1 b2 c3

s\r

A B C
a4 b4 c4
a1 b1 c3

Естественное соединение
►◄

Если в тета нет дубликатов то в естественном есть

Естественным соединением r►◄s является отношение со схемой RS кортеж t принадлежит


результирующим отношению если существует отношения tr, ts и выполняется условие

t[R] = tr
t[S] = ts

r►◄s = {t|t[R] = tr & t[S] =ts & tr принадлежит r & ts принад s }

Таким образом каждый кортеж из результата имеющие равные r∩s значения.


Повторяющие атрибуты из схемы результат исключаются.

r A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b5 c5

s C D
c1 d1
c2 d2
c3 d3
c4 d4

r►◄s

A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a2 b2 c2 d3
a3 b3 c3 d3

Если кортежи ts и tr имеют равные значения для R∩S они называются соединяемые в
противном не соединяемые

Соединение без потерь

Если исходное отношение разбить на 2 с помощью операции проекция а зачем полученные 2


отношения соединить естественным соединением и получить при этом исходное отношение
до декомпозиции тогда данная декомпозиция будет называться декомпозиция без потерь.

При эксплуатации и проектирования бд нас обрисуются именно такой тип декомпозиции в


противном случае данные выдаваемые могут быть некорректными.

Операции:
Полу соединение — она похоже на естественное соединение в результат входят кортежи
только из первого отношения.
|><
Внешнее соединение — суть операции соединить естественным соединением и не терять не
соединяемые отношения
r o|><| s left
r |><|o s right
r |>o<| s full

r o|><| s A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a2 b2 c2 d3
a3 b3 c3 d3
a4 b5 c6 null

r |><|o s A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a2 b2 c2 d3
a3 b3 c3 d3
null null c4 d4

r |>o<| s A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a2 b2 c2 d3
a3 b3 c3 d3
a4 b5 c6 null
null null c4 d4

Атест
выражение реляционной алгебры
ограничение,(связи ключи)
реляционная структура

Выражение реляционной алгебры


Реляционная алгебра замкнута относительно понятия отношения:
она использует в качестве операндов отношение и возвращает отношение, данный факт
позволяет использовать одну операцию ра в качестве аргумента для другой операции таким
образом образуя выражения из множества операций ра , некоторые операции требуют
специальный условий:
1. совместимость схем -конечное множество объединение, пересечение, разность
2. дизъюнктность схем (нет общих атрибутов) — декартово произведение, тета соединение
Условие для выполнения операции деления
Домены должны быть простого типа, кортежи в таблице не повторяются, атрибуты в схеме не
повторяются

Операции ра бывают унарные и бинарные


Среди операции ра есть примитивные (невозможно передать через другие ):
объединение, вычитание, декартово произведение, проекция, селекция
Другие операции можно выразить через эти примитивы
В выражениях ра могут применяться скобки и могут использоваться логические операторы
and, or, not.
Некоторые операции обладают свойством коммутативности, ассоциативности,
дистрибутивности

Бинарные операции ра не имею преимущества за исключением приоритета пересечения


относительно объединения.

Последовательность одинаковых операций модно представить выведя оператор за скобки.


r1 |><| r2 |><| r3 = |><|(r1,r2,r3)
Любое выражение ра определенно на какой то схеме, схема результирующего отношения
зависит от схем исходного отношения операнда.

sch(E)
E-конечное множество const
sch(E) = sch( r ) = R
Если E является каким то выражением то

E 1∪E 2
E 1∩E 2
E 1∖E 2
S A B C
a1 b1 c1
a2 b2 c2
a2 b1 c2

~s = atup(S) \ S

atup(S) -конечное множество вспомогательное отношение относительно чего-конечное множество то


adom(A) = {a1,a2}
adom(B)={b1,b2}
adom(C)={c1,c2}

удаляем те которые есть в S


atup(S) A B C
a1 b1 c1
a1 b1 c2
a1 b2 c1
a1 b2 c2
a2 b1 c1
a2 b2 c1
a2 b2 c2

~s A B C
a1 b1 c2
a1 b2 c1
a1 b2 c2
a2 b2 c1

Вычеркиваем те которые есть в atup(S)


r A B C
a2 b2 c1
a1 b2 c2
a1 b1 c1

r\~s A B C
a1 b1 c1

П(AB)(r \ ~s) A B
a1 b1
r∪s A B C
! a1 b1 c1
a2 b2 c2
! a2 b1 c2
a2 b2 c1
! a1 b2 c2

Ϭ (A =a 1∨B≠b 2 (r ∪s))

ϭ A B C
a1 b1 c1
a2 b1 c2
a1 b2 c2

SQL
SEQUEL
STRUCTURED
ENGLISH
QUERY
LANGUAGE

S STRUCTURED
Q QUERY
L Language

DDL — data definition language


create table , create view, alter, drop
DML — data manipualtion language
insert,update,delete
DQL — data query language
select
DCL
grand
revoke
TCL transact control language
commit
rollback
safepoint
set transaction

SELECT — выполнение любой операции выборки


ПX ( r ) = select distinct x from r
ПR ( r ) = r — select distinct * from r

Вам также может понравиться