article03.pdf

(2732 KB) Pobierz
59038545 UNPDF
Wst¦pdorelacyjnychbazdanych
Cz¦±¢I
Relacyjnymodeldanych
Konradak <konrad@uni.wroc.pl> $Id:article03.tex,v1.22001/09/1901:43:10konradExp$
Spistre±ci
1Wst¦p
2
2Strukturydanych
2
3J¦zykimanipulowaniadanymi
5
3.1Algebrarelacyjna............................................ 5
3.1.1Operacjał¡czenia....................................... 5
3.1.2Operacjaprzeci¦cia....................................... 6
3.1.3Operacjaró»nicy........................................ 6
3.1.4Operacjailoczynukartezja«skiego.............................. 7
3.1.5Operacjaograniczenia..................................... 7
3.1.6Operacjaprojektu....................................... 8
3.1.7Operacjazł¡czenia....................................... 9
3.1.8Operacjapodziału....................................... 10
3.1.9Operacjeporównania...................................... 10
3.2Rachunekrelacyjny........................................... 11
3.3Operacjewspólnealgebryirachunkurelacyjnego.......................... 11
3.3.1Wstawianiedanych....................................... 11
3.3.2Usuwaniedanych........................................ 12
3.3.3Poprawianiedanych...................................... 12
4Integralno±¢
13
4.1Integralno±¢encji............................................ 13
4.2Integralno±¢referencyjna........................................ 13
4.3Integralno±¢semantyczna....................................... 14
 
1.Wst¦p
2
1Wst¦p
Relacyjnymodeldanychzawdzi¦czaswojepowstanieE.F.Coddowi,któregoopublikowanawroku1970praca
poło»yłafundamentpodtennajbardziejpopularnyzewspółczesnychmodelidanych.Odroku1968do1988E.
F.Coddopublikowałponad30pracnatematrelacyjnegomodeludanych,onsampracewydaneprzedrokiem
1979traktujejakodokumentacj¦pierwszejwersjirelacyjnegomodeludanych.
Wroku1979,nakonferencjiAustralianComputerSocietywmiejscowo±ciHorbertwTasmaniiE.F.Codd
przedstawiłprac¦,wktórejsformułowałrozszerzon¡wersj¦relacyjnegomodeludanych,nazwałj¡RM/T.
Wroku1990E.F.Coddopublikowałksi¡»k¦,wktórejopisałwersj¦drug¡relacyjnegomodeludanych,
twierdz¡cprzytym,»ewi¦kszo±¢producentówsystemówzarz¡dzaniarelacyjnymibazamidanychnierozumie
implikacjizawartychwwersjipierwszejiwersjiRM/Trelacyjnegomodeludanych.
Relacyjnymodeldanychwyró»niasi¦spo±ródinnychmodelijednolitymipodstawamiteoretycznymi.E.F.
Coddopracował±cisłemetodyposługiwaniasi¦danymiwykorzystuj¡cdotegomatematyk¦,wszczególno±ci
teori¦zbiorów.
Opisrelacyjnegomodeludanychmo»napodzieli¢natrzycz¦±ci:
strukturydanych,
j¦zykimanipulowaniadanymi,
integralno±¢danych.
2Strukturydanych
Danewbaziedefiniowanes¡woparciuostrukturydanychzapewnianeprzezmodeldanych.Wrelacyjnymmo-
deludanychistniejetylkojednastrukturadanych,nazywanarelacj¡.Relacjajesttabel¡,dlaktórejprawdziwe
s¡poni»szezasady:
1.Ka»databelawbaziedanychmajednoznaczn¡nazw¦.
2.Ka»dakolumnatabelimajednoznaczn¡nazw¦wobr¦bietejtabeli.
3.Wszystkiewarto±ciwkolumnies¡tegosamegotypu,wka»dejtabelijestprzynajmniejjednakolumna.
4.Nies¡dozwolonepowtórzeniawierszywtabeli,ka»dywierszjestró»ny,tabelamo»eistnie¢bezwierszy.
5.Niejestdozwoloneprzechowywaniezbioruwarto±cinaprzeci¦ciukolumnyiwierszatabeli-ka»dyelement
danychjesttraktowanyjakonierozkładalnadanaelementarna.
6.Niejestistotnyporz¡dekwierszytabeli,dorozró»nieniawierszysłu»¡kluczegłówne,anieichkolejno±¢.
7.Niejestistotnyporz¡dekkolumntabeli.
Zamieszczonenarysunkach1,2i3tabeleauthors,titleauthorititlesstanowi¡przykładyrelacjispełniaj¡c
wszystkiewymienionezasady.
E.F.Coddu»yłterminologiimatematycznejdlaokre±leniaelementówrelacyjnegomodeludanych,kolumny
nazwałatrybutami,wierszekrotkami.Liczb¦kolumntabelinazwałjejstopniem,aliczb¦wierszyliczebno±ci¡.
Wtymopracowaniuterminyteu»ywaneb¦d¡wymiennie.
Terminyrekordipoles¡nadalfunkcjonuj¡cymiokre±leniamiwierszaikolumny,u»ywanieichniejestjednak
zalecane.Pochodz¡onezestarszychsystemówzarz¡dzaniabazamidanychiodnosz¡si¦dosposobuorganizacji
2.Strukturydanych
3
Rysunek1:Tabelaauthors.
Rysunek2:Tabelatitleauthor.
Rysunek3:Tabelatitles.
59038545.007.png 59038545.008.png
2.Strukturydanych
4
danychnadysku,podczaskiedyjedn¡zwa»nychzaletrelacyjnegomodeludanychjestuniezale»nieniesi¦od
fizycznejstrukturybazydanych.U»ytkownikrelacyjnejbazydanychniemapotrzebypoznawaniaszczegółów
fizycznejreprezentacjidanychwbazie.
Dziedzina
Podstawow¡jednostk¡danychprzechowywanychwtabelijestnierozkładalnyelementdanych,warto±¢prze-
chowywananaprzeci¦ciukolumnyiwierszarelacji.Zbiórelementówdanychtegosamegotypunazywanyjest
dziedzin¡.Inaczejmówi¡cdziedzinajestzbioremwarto±ci,zktóregopochodz¡elementydanychpojawiaj¡ce
si¦wkolumnietabeli.
Dlaprzykładu,dziedzina,doktórejnale»ykolumnaaufnamewtabeliauthors(rysunek1),tozbiórwszystkich
mo»liwychimion.
Kluczgłówny
Ka»darelacjaposiadaprzynajmniejjedenklucz,dzi¦kiktóremuwierszewrelacjiniepowtarzaj¡si¦imo»liwe
jestpowi¡zaniezesob¡danychprzechowywanychwró»nychrelacjach,naprzykładautorówzichpublikacjami.
Kluczemmo»eby¢jednalubwielekolumn,którychwarto±cijednoznacznieokre±laj¡wiersztabeli.Wka»dej
relacjimo»eistnie¢wielekluczy,którejednoznacznieidentyfikuj¡jejwiersze.Nazywanes¡onekluczami
kandyduj¡cymi.Ka»dykluczkandyduj¡cymusiby¢jednoznacznieokre±lonyiniemo»emie¢warto±cinull
(punkt2).Zezbiorukluczykandyduj¡cychwybieranyjestkluczgłówny.
Dlaprzykładu,wtabeliauthors(rysunek1),kluczamikandyduj¡cymis¡kolumnyauidiaufname,zczegoza
kluczgłównyprzyj¦tazostałakolumnaauid.Jestto“sztucznie”dodanadoprzechowywanychwrelacjidanych
natematautorówinformacja-indywidualny,unikatowywobr¦bierelacjinumernadawanyka»demuautorowi
wmomencierejestrowaniagowbazie.Bierzesi¦tost¡d,i»rzadkozdarzasi¦,bydokluczykandyduj¡cych
mo»nabyłozaliczy¢pojedy«cz¡kolumn¦relacji.Tymczasemdlapowi¡zaniazesob¡danychprzechowywanych
wró»nychtabelach(punkt2)najwygodniejszyjestkluczgłównyzło»onyzjednejkolumny.Pomimo,»ew
przykładowejtabeliauthors,bior¡cpoduwag¦aktualnystandanych,kluczemkandyduj¡cymjestkolumna
aufnameprzechowuj¡caimi¦autora,tooczywistymjest,»eprzydodawaniudanychdobazyzajdziepotrzeba
dopisaniadanychautoraoju»istniej¡cymimieniu.Tymsamympomysłuznaniakolumnyaufnamezaklucz
głównytabeliauthorsupada.Mo»narównie»napierwszyrzutokauzna¢zakluczkandyduj¡cykolumn¦
phone,jednakju»przyobecnymstaniedanychmo»emyzauwa»y¢powtarzaj¡cesi¦numerytelefonów,wtabeli
s¡przechowywanedaneparywspólniemieszkaj¡cychludzi.Dlategowł¡czaniedorelacji“sztucznej”kolumny
wcharakterzekluczagłównegojestbardzopowszechn¡iwygodn¡praktyk¡.
Dobrymprzykłademkluczagłównegozło»onegozdwóchkolumnjesttabelatitleauthor(rysunek2).Tabela
taprzechowujetylkoiwył¡czniewarto±cikluczygłównychztabelauthorsititles.Słu»ytopowi¡zaniutych
tabel,zliczebno±ci¡tegozwi¡zkuokre±lon¡jako“wieledowielu”,pozwalaj¡cnawi¡zaniedowolnejliczby
autorówzdowoln¡liczb¡ksi¡»ek.Nakluczgłównytabelititleauthorskładaj¡si¦obydwiejejkolumny.Niema
jednakpotrzebydodawaniadotabelititleauthorkluczagłównegozło»onegozjednejkolumny,»adnaztabel
niezawierakluczaobcegoopartegonakluczugłównymtejtabeli.
Kluczobcy
Kluczeobcewi¡»¡zesob¡daneprzechowywanewró»nychtabelach.Kluczobcytokolumnawtabeli,która
przyjmujewarto±ciztejsamejdziedziny,cokluczgłównypowi¡zanejtabeli.
Przykłademmo»eby¢tabelatitleauthor(rysunek2),którejkolumnyauidititleids¡kluczamiobcymii
czerpi¡swojewarto±ciodpowiedniozkolumnauidwtabeliauthors(rysunek1)oraztitleidwtabelititles
59038545.009.png 59038545.001.png 59038545.002.png 59038545.003.png 59038545.004.png 59038545.005.png 59038545.006.png
3.J¦zykimanipulowaniadanymi
5
(rysunek3).
Warto±¢null
Wceluwskazania,»einformacjazawartawelemenciedanychjestniepełnalubnieznana,stosowanajest
warto±¢null.Jesttowarto±¢ró»naodzerainiejesttotak»epustyła«cuchznaków.Poj¦ciewarto±cinulljest
szczególnieu»yteczneprzywykonywaniutakichoperacjinadanych,jakzł¡czeniazewn¦trzne(punkt3.1.7).
3J¦zykimanipulowaniadanymi
Relacyjnymodeldanychokre±ladwaj¦zykimanipulowaniadanymi:algebr¦relacyjn¡irachunekrelacyjny.
Algebrarelacyjnaoperujenarelacjach,jestj¦zykiemproceduralnymialgorytmicznym.Oznaczato,»edla
uzyskaniaspecyficznejinformacjimo»liwejestokre±lenieci¡guoperacji,któreprzekazuj¡csobiekolejnowynik
swojegodziałania-relacj¦,jakoargumentkolejnejoperacji,doprowadzaj¡dopo»¡danegowynikuko«cowego.
Zkoleirachunekrelacyjnyjestj¦zykiemdeklaracyjnym,nieproceduralnym.Oznaczato,»eokre±laonraczej
comazosta¢wyszukaneni»jaktozrobi¢.
E.F.Coddproponuj¡crelacyjnymodeldanychnajwi¦cejuwagipo±wi¦ciłwyszukiwaniudanych,którejest
jednymzpi¦ciuaspektówoperowaniadanymi-pozostałeczterytoporównywanie,wstawianie,usuwaniei
poprawianiedanych.
DlacelówporównywaniadanychE.F.Coddzaproponowałdodatkowyzbióroperacjialgebryrelacyjnej.Ope-
racjetenazywanes¡niekiedyoperacjamiteta.Nazwatapochodziodoznaczenianadanegogrupieoperatorów
porównaniawnotatkachautora.
Wspólnedlaobuj¦zykóws¡operacjewstawiania,usuwaniaipoprawianiadanych.
3.1Algebrarelacyjna
Przypomocyzbioruo±miuoperacjialgebryrelacyjnej,zktórychka»dabierzejakoargumentjedn¡lubdwie
relacje,zwracaj¡cjakowynikjedn¡relacj¦,realizowanejestwyszukiwaniedanych.Operacjetetokolejno:
operacjał¡czenia,przeci¦cia,ró»nicy,iloczynukartezja«skiego,ograniczenia,projektu,scalaniaipodziału.
Pierwszeczterys¡wzorowanenatradycyjnychoperatorachteoriizbiorów,nast¦pneczteryza±zostałyzapro-
jektowanenapotrzebymanipulacjirelacjami.Składniazapisupodstawowychoperatorówalgebryrelacyjnejnie
zostałauzgodniona.Prezentowanatutajnotacjauwzgl¦dniaumown¡składni¦najpowszechniejspotykan¡w
opracowaniachdotycz¡cychrelacyjnegomodeludanych.Składniaoperacjiporównaniazaproponowanazostała
przezE.F.Codda.
3.1.1Operacjał¡czenia
Operacjał¡czenia(ang.unionoperation),nazywanatak»eoperacj¡sumy,bierzejakodwieargumentdwie
relacje.Relacjawynikowazawierawszystkiewierszezrelacjiwej±ciowychbezpowtórze«-zwracanarelacja
musispełnia¢zasadyopisanew2.Abyprzeprowadzenietejoperacjibyłomo»liwerelacjewej±ciowemusz¡
mie¢identyczn¡struktur¦.Odpowiadaj¡cesobiekolumnymog¡si¦odsiebieró»ni¢nazwami,musz¡natomiast
nale»e¢dotychsamychdziedzin.Notacjatejoperacjito:
<relacja1>UNION<relacja2>-><tabela_wynikowa>
Przykładowerelacjewej±cioweprzedstawiaj¡rysunki4i5.Wynikwykonanejnanichoperacjił¡czeniaprzed-
stawiarysunek6.
Zgłoś jeśli naruszono regulamin