MW6 BDI

background image

!

"#

$ %& '

()

( *+( ,-

+ . (

/0

( ,*

1

. (

( . 0* 1

( .

2

Zwi zane z aktualizacj ,
Zwi zane z istnieniem,
Zwi zane z wprowadzaniem,
Zwi zane z usuwaniem.

3

Twierdzenie

Je eli w relacji R={X, Y, Z} istniej

zale no ci funkcyjne X

Y, to relacja R jest

relacj rozkładaln , mo emy wi c zapisa :

R=R1[X, Y]*R2[X, Z]

4

ł

redundancj usuwa si przez rozkład relacji,
rozkład odwracalny: mo na odwróci przez

naturalne zł czenie,
rozkład relacji powinien doprowadzi do tzw.

postaci normalnej,
rozkład relacji nie powinien powodowa utraty

zale no ci istniej cych w relacji pierwotnej.

'

!"# $ %& !'&

"% !(' "')

(*

(!+

Posta normalna pozwala minimalizowa koszty

przechowywania i aktualizowania oraz zwi ksza

wiarygodno danych.

Relacja w 1PN – wszystkie atrybuty maj warto ci

proste

Relacja w 2PN – nie ma zale no ci cz ci klucza

Relacja w 3PN – nie ma zale no

tranzytywnych

Relacja w 4PN – wi e si z

zale no ciami wielowarto ciowymi

Wszystkie relacje znormalizowane i nieznormalizowane

background image

5

,-

- .

*0 0

6!

+

7

8

.

*

/ 1

6!0

.

.

* (

*0

(

1

9* 0

9+ /

+

:

;

,

,-

-

Dublowanie si danych prowadzi do
niepotrzebnego zajmowania pami ci i
przedłu ania wykonywania operacji
relacyjnych.
Mo e równie wyst pi niespójno danych
problemy przy aktualizacji.
Usuwaj c informacje mo emy utraci dane.

<

*

-

(

*0 0

0

*

( . ( 0

1 0

00

7 (

*

+*

ł

*+

(*0 (

0

ł( =( *0( ( +

(

+

*

*+

(*0 ( *

+ *+ (8 7

!>0

+

7

ł (

ł8*+(

( *

Pełna zale no funkcjonalna

=(*0

ł

$/

&" &

, 0

+

ł

+

( * =( * 0

( * ?

@AB $

!

CD$#!#

E

F! G+ ./

( 1 ! G

* 1

! + G

* 1

G

* H

#$ C I

!# F ! G *+ *1

! + G*+ *1 C

+ (1

G.

+ ( H

2

@AB $

#F ! G + ./

( 1 ! G

*+ *1 #

H

, 0

W przykładowej BD w relacji DOSTAWCA

NA ZAMÓWIENIU dubluj si dane atrybutu

Nazwa dostawcy i Adres dostawcy, a w relacji

CZ CI W MAGAZYNIE – atrybuty Adres
magazynu.
Wynika to z istnienia tak zwanych

przechodnich zale no ci funkcyjnych mi dzy

atrybutami.

background image

2

2

(1

&

2 3 "

(

/ *

+

(

. ) + /*-

*1

(

( 1

( +

. J#

ABA1

(

.

*+(

3

,

,

4,

#

!

/ (

( 0

*

( 0 + +

( +(

(

*0 A K B

!

#

!

/)(

+

*

*

( *

+ +

( +( (

*0 A K B

L ! M +

0 #

!

(

*+(

H

! 1 HL

! M

9 + 78 N 9 + / (

( 0

*

( 0 + +

( +( (

*0 A K B

F ! 1 FL

!

.( 0+ 78 N.( 0+ / (

( 0

*

( 0 + +

( +( (

*0 A K B

L

KK

/ (

+

*

*

( *

+ +

( +( (

*0 A K B

H

KK1 HL

KK

9 + 78 N 9 + / (

+

.

* .

( .

+ +

( +( (

*0 A K B

F KK1 FL

KK .( 0+ 78 N.( 0+ / (

+

.

* .

( .

+ +

( +( (

*0 A K B

4

-

,

5

,

,

6

A K BC

>O@C A . *

$" O #

#

(

PA

* #

>O@C

+

$" O .

LQ

$

+

Q

R

S

Zapytanie zewn trzne
uruchamiane na ko cu

Zapytanie wewn trzne

uruchamiane na pocz tku

Wielowarto ciowy

operator porównania

'

# ,

,

(

A K BC
>O@C A . *
$" O

( H !

PA K B

(

>O@C A C@ "@ A1

K O

$" O A#

L #

! ! + > . LT

" ( U

R

S

5

# ,

,

%%

A K BC
>O@C A . *
$" O

( F KK

PA K B

(

>O@C A C@ "@ A1

K O

$" O A#

L #

! ! + > . LT

" ( U

R

S

;

# ,

,

%%,

+ 7& 8

SELECT Nazwisko, Count(*) liczba, Stanowisko

FROM Pracownicy p, Umowy U
WHERE P.IDpracownika = U.IDpracownika
GROUP BY Nazwisko, Stanowisko

HAVING Count(*) >= ALL

(SELECT Count(*)

FROM Pracownicy pr,Umowy Um
WHERE Pr.IDpracownika = Um.IDpracownika AND

stanowisko=‘Przedstawiciel handlowy’
GROUP BY Pr.IdPracownika, Nazwisko);

background image

3

<

,

SELECT Nazwisko, Count(*) Ile

FROM Pracownicy P, Umowy U

WHERE P.IDpracownika = U.IDpracownika

GROUP BY P.Idpracownika, Nazwisko

HAVING COUNT(*) >=ALL

(SELECT Count(*)

FROM Umowy

WHERE idPracownika IN

(SELECT IdPracownika

FROM Pracownicy WHERE kraj =‘Francja’)

GROUP BY idpracownika);

-

,

,- 4

SELECT Nazwisko,Imi , Stanowisko,

Wynagrodzenie
FROM Pracownicy

P1

WHERE Wynagrodzenie >=

(SELECT Avg(Wynagrodzenie)

FROM Pracownicy

P2

WHERE

P2.Stanowisko =P1.Stanowisko

)

ORDER BY Stanowisko;

"9&#1#

"9&#1#:

;

<

5 ,

6.

1"9&#1#:

;

,

6.

SELECT NazwaFirmy
FROM Dealerzy D
WHERE EXISTS

(SELECT *
FROM Samochody S
WHERE D.IdDealera =S.IdDealera

AND PojSilnika=2500);

SELECT NazwaFirmy
FROM Dealerzy
WHERE Adres = ‘&AD’ AND Miasto = ‘&&MS’;

&& - przy ponownym uruchomieniu nast puje

podstawienie wcze niejszych warto ci zmiennych

& - nie zapami tuje wcze niej podanych warto ci


Wyszukiwarka

Podobne podstrony:
MW10 BDI id 310918 Nieznany
Aero2 Regulamin BDI 01 09 2011
BDI 34 Hunting Scents
MW5 BDI
Mw6 new
MW13 BDI id 310920 Nieznany
MW12 BDI
MW4 BDI
MW1 BDI id 310917 Nieznany
MW7 BDI
MW2 BDI id 310923 Nieznany
MW5 BDI
MW12 BDI
MW3 BDI id 310925 Nieznany
MW8 BDI
mw6
Inwentarz Depresji Becka, Skala Depresji Becka (BDI) (1961)
MW9 BDI

więcej podobnych podstron