E.F. Coddas pasiūlė reliacinį modelį duomenims modeliuoti ryšių arba lentelių pavidalu. Sukūrus koncepcinį Duomenų bazės modelį naudojant ER diagrama , turime koncepcinį modelį paversti reliaciniu modeliu, kurį galima įgyvendinti naudojant bet kurį RDBMS tokiomis kalbomis kaip Oracle SQL, MySQL ir kt. Taigi pamatysime, kas yra Reliacinis modelis.
Reliacinis modelis naudoja lentelių rinkinį duomenims ir tų duomenų ryšiams pavaizduoti. Kiekvienoje lentelėje yra keli stulpeliai ir kiekvienas stulpelis turi unikalų pavadinimą. Lentelės taip pat žinomos kaip santykiai. Reliacinis modelis yra įrašais pagrįsto modelio pavyzdys. Įrašais pagrįsti modeliai taip pavadinti, nes duomenų bazė yra struktūrizuota kelių tipų fiksuoto formato įrašuose. Kiekvienoje lentelėje yra tam tikro tipo įrašai. Kiekvienas įrašo tipas apibrėžia fiksuotą skaičių laukų arba atributų. Lentelės stulpeliai atitinka įrašo tipo atributus. Reliacinių duomenų modelis yra plačiausiai naudojamas duomenų modelis, o didžioji dauguma dabartinių duomenų bazių sistemų yra pagrįstos reliaciniu modeliu.
Kas yra santykių modelis?
Reliacinis modelis parodo, kaip duomenys saugomi reliacinėse duomenų bazėse. Reliacinė duomenų bazė susideda iš lentelių, kurių kiekvienai priskirtas unikalus pavadinimas, rinkinys. Apsvarstykite ryšį STUDENT su atributais ROLL_NO, NAME, ADDRESS, PHONE ir AGE, parodytais lentelėje.
Stalo mokinys
| ROLL_NO | VARDAS | ADRESAS | TELEFONAS | AMŽIAUS |
|---|---|---|---|---|
| 1 | RAM | DELIS | 9455123451 | 18 |
| 2 | RAMESH | GURGAONAS | 9652431543 | 18 |
| 3 | SUJIT | ROHTAK | 9156253131 | dvidešimt |
| 4 | SURESH | DELIS | 18 |
Java operatoriaus pirmenybė
Svarbios terminijos
- Atributas: Atributai yra ypatybės, apibrėžiančios objektą. pvz.; ROLL_NO , VARDAS, ADRESAS
- Santykių schema: Ryšio schema apibrėžia santykio struktūrą ir nurodo santykio pavadinimą su jo atributais. pvz.; STUDENT (ROLL_NR, VARDAS, ADRESAS, TELEFONAS ir AMŽIAUS) yra MOKINIO ryšio schema. Jei schema turi daugiau nei 1 ryšį, ji vadinama Reliacinė schema.
- Korpusas: Kiekviena santykio eilutė yra žinoma kaip eilutė. Aukščiau pateiktame santykyje yra 4 eilutės, iš kurių viena parodyta taip:
| 1 | RAM | DELIS | 9455123451 | 18 |
- Santykių pavyzdys: Santykio eilučių rinkinys tam tikru laiko egzemplioriumi vadinamas santykio egzemplioriumi. 1 lentelėje parodytas STUDENT santykio pavyzdys tam tikru metu. Jis gali pasikeisti, kai į duomenų bazę įterpiama, ištrinama ar atnaujinama.
- Laipsnis: Atributų skaičius sąryšyje yra žinomas kaip ryšio laipsnis. The STUDENTAS aukščiau apibrėžtas ryšys turi 5 laipsnį.
- Kardinalumas: Kortelių skaičius santykyje yra žinomas kaip kardinalumas . The STUDENTAS aukščiau apibrėžtas santykis turi kardinalumą 4.
- Stulpelis: Stulpelis rodo konkretaus atributo reikšmių rinkinį. Stulpelis ROLL_NO išgaunamas iš santykio STUDENTAS.
| ROLL_NO |
|---|
| 1 |
| 2 |
| 3 |
| 4 centos vs redhat |
- NULL reikšmės: Reikšmė, kuri nežinoma arba nepasiekiama, vadinama NULL reikšme. Jis pavaizduotas tuščia vieta. pvz.; MOKINIO TELEFONAS, turintis ROLL_NO 4, yra NULL.
- Ryšio raktas: Iš esmės tai yra raktai, kurie naudojami unikaliai identifikuoti eilutes arba padeda identifikuoti lenteles. Tai yra šių tipų.
- Pirminis raktas
- Kandidato raktas
- Super raktas
- Svetimas raktas
- Alternatyvus raktas
- Sudėtinis raktas
Reliacinio modelio apribojimai
Kurdami reliacinį modelį, apibrėžiame kai kurias sąlygas, kurios turi atitikti duomenų bazėje esančius duomenis, vadinamus apribojimais. Šie apribojimai tikrinami prieš atliekant bet kokią operaciją (įterpimą, ištrynimą ir atnaujinimą) duomenų bazėje. Jei pažeidžiamas bet kuris iš apribojimų, operacija nepavyks.
Domeno apribojimai
Tai yra atributo lygio apribojimai. Atributas gali turėti tik tas vertes, kurios yra domeno diapazone. pvz.; Jei MOKINIO ryšiui taikomas apribojimas AMŽIAUS>0, įterpus neigiamą AMŽIAUS reikšmę, nepavyks.
Raktų vientisumas
Kiekvienas duomenų bazės ryšys turi turėti bent vieną atributų rinkinį, kuris unikaliai apibrėžia seką. Tas atributų rinkinys vadinamas raktais. pvz.; ROLL_NO mokiniui STUDENT yra svarbiausia. Du mokiniai negali turėti vienodo sąrašo numerio. Taigi raktas turi dvi savybes:
- Jis turėtų būti unikalus visoms kortelėms.
- Jis negali turėti NULL verčių.
Referencinis vientisumas
Kai vienas santykio atributas gali gauti reikšmes tik iš kito to paties santykio atributo ar bet kurio kito santykio, jis vadinamas referentinis vientisumas . Tarkime, kad turime 2 santykius
lygiagretus apdorojimas
Stalo mokinys
| ROLL_NO | VARDAS | ADRESAS | TELEFONAS | AMŽIAUS | BRANCH_CODE |
|---|---|---|---|---|---|
| 1 | RAM | DELIS | 9455123451 | 18 | CS |
| 2 | RAMESH | GURGAONAS | 9652431543 | 18 | CS |
| 3 | SUJIT | ROHTAK | 9156253131 | dvidešimt | ECE |
| 4 | SURESH | DELIS | 18 | IT |
Stalo šaka
| BRANCH_CODE | BRANCH_NAME |
|---|---|
| CS | KOMPIUTERIJOS MOKSLAS |
| IT | INFORMACINĖS TECHNOLOGIJOS |
| ECE | ELEKTRONIKA IR RYŠIŲ INŽINERIJA |
| CV | CIVILINĖ INŽINERIJA |
STUDENT BRANCH_CODE gali priimti tik tas vertes, kurios yra BRANCH BRANCH_CODE, kuris vadinamas nuorodos vientisumo apribojimu. Ryšys, nurodantis kitą ryšį, vadinamas REFERENCINIU RYŠIU (šiuo atveju STUDENTAS), o santykis, į kurį nurodo kiti ryšiai, vadinamas REFERENCINIU RYŠIU (šiuo atveju ŠAKA).
Reliacinio modelio anomalijos
An anomalija yra pažeidimas arba kažkas, kas nukrypsta nuo laukiamos ar normalios būsenos. Kurdami duomenų bazes nustatome trijų tipų anomalijas: Įterpti, Atnaujinti ir Naikinti.
Įterpimo anomalija nuorodų ryšyje
Negalime įterpti eilutės į REFERENCING RELATION, jei nuorodos atributo vertės nėra nurodytoje atributo vertėje. pvz.; Įterpus mokinį su BRANCH_CODE „ME“ į STUDENT santykį, bus padaryta klaida, nes „ME“ nėra BRANCH BRANCH_CODE.
Nurodyto ryšio ištrynimo / atnaujinimo anomalija:
Negalime ištrinti arba atnaujinti eilutės iš REFERENCED RELATION, jei REFERENCED ATTRIBUTE reikšmė naudojama REFERENCING ATTRIBUTE reikšmėje. pvz.; jei bandysime ištrinti eilutę iš BRANCH su BRANCH_CODE 'CS', bus klaida, nes 'CS' nurodo BRANCH_CODE iš STUDENT, bet jei bandysime ištrinti eilutę iš BRANCH su BRANCH_CODE CV, ji bus ištrinta. nes reikšmė nėra naudojama nuorodai į santykį. Jis gali būti tvarkomas tokiu būdu:
Ištrinkite kaskadą
Jis ištrins eilutes iš REFERENCING RELATION, jei REFERENCING ATTRIBUTE naudojama reikšmė bus ištrinta iš REFERENCED RELATION. pvz.; Nes jei ištrinsime eilutę iš BRANCH su BRANCH_CODE „CS“, bus ištrintos eilutės STUDENT ryšiui su BRANCH_CODE CS (šiuo atveju ROLL_NO 1 ir 2).
Atnaujinimo kaskadoje
Jis atnaujins REFERENCING ATTRIBUTE, esantį REFERENCING RELATION, jei atributo reikšmė, kurią naudoja REFERENCING ATTRIBUTE, bus atnaujinta skiltyje REFERENCED RELATION. Pvz., jei atnaujinsime eilutę iš BRANCH su BRANCH_CODE „CS“ į „TPV“, santykio STUDENT eilutės su BRANCH_CODE CS (šiuo atveju ROLL_NO 1 ir 2) bus atnaujintos su BRANCH_CODE „TPV“.
Super raktai
Bet koks atributų rinkinys, leidžiantis identifikuoti unikalias tam tikro ryšio eilutes (eilutes), vadinamas super raktais. Iš šių super raktų visada galime pasirinkti tinkamą poaibį, kuris gali būti naudojamas kaip pagrindinis raktas. Tokie raktai yra žinomi kaip kandidato raktai. Jei yra dviejų ar daugiau atributų, kurie naudojami kaip pirminis raktas, derinys, tai vadiname sudėtiniu raktu.
Coddo taisyklės reliaciniame modelyje
Edgaras F Coddas pasiūlė reliacinės duomenų bazės modelį, kuriame išdėstė taisykles. Dabar tai žinomos kaip Coddo taisyklės. Kad bet kuri duomenų bazė būtų tobula, ji turi atitikti taisykles.
java elseif
Norėdami sužinoti daugiau, žr Coddo taisyklės reliaciniame modelyje .
Reliacinio modelio privalumai
- Paprastas modelis: Reliacinis modelis yra paprastas ir paprastas naudoti, palyginti su kitomis kalbomis.
- Lankstus: Reliacinis modelis yra lankstesnis nei bet kuris kitas esamas reliacinis modelis.
- Saugus: Reliacinis modelis yra saugesnis nei bet kuris kitas reliacinis modelis.
- Duomenų tikslumas: Reliaciniame duomenų modelyje duomenys yra tikslesni.
- Duomenų vientisumas: Duomenų vientisumas išlaikomas reliaciniame modelyje.
- Operacijas galima lengvai pritaikyti: Geriau operacijas atlikti reliaciniame modelyje.
Reliacinio modelio trūkumai
- Reliacinės duomenų bazės modelis nėra labai geras didelėms duomenų bazėms.
- Kartais tampa sunku rasti ryšį tarp lentelių.
- Dėl sudėtingos struktūros atsako į užklausas laikas yra ilgas.
Reliacinio modelio charakteristikos
- Duomenys pateikiami eilutėmis ir stulpeliais, vadinamais santykiais.
- Duomenys saugomi lentelėse, turinčiose ryšius tarp jų, vadinamų reliaciniu modeliu.
- Reliacinis modelis palaiko tokias operacijas kaip duomenų apibrėžimas, duomenų apdorojimas ir operacijų valdymas.
- Kiekvienas stulpelis turi skirtingą pavadinimą ir atspindi atributus.
- Kiekviena eilutė žymi vieną objektą.