Relatsioonandmete mudel andmebaasihaldussüsteemis: Concepts & Näide

⚡ Nutikas kokkuvõte

Relatsioonimudel esitab andmebaasi relatsioonide kogumina, kus iga relatsioon on ridade ja veergude tabel. See määratleb põhimõisted, terviklikkuse piirangud ja värskendamistoimingud, mis hoiavad relatsiooniandmed järjepideva ja päringute hõlpsa tegemise võimalusena.

  • 🗃️ Põhiidee: Andmeid salvestatakse relatsioonidena ja iga rida on tuple, mis kirjeldab ühte reaalmaailma üksust või seost.
  • ???? ️ Võtmesõnad: Atribuut, tuuple, aste, kardinaalsus, domeen ja seosevõti kirjeldavad koos tabeli kuju.
  • 🛡️ Kolm piirangut: Domeeni-, võtme- ja viitamistervikluse piirangud hoiavad iga seose kehtivana.
  • 🔑 Võtmete linkide tabelid: Primaarvõti identifitseerib rea unikaalselt ja võõrvõti viitab võtmele teises seoses.
  • 🔄 Neli Operatused: Lisa, uuenda, kustuta ja vali, tegutse seoste alusel ilma määratletud piiranguid rikkumata.
  • Kujundusreeglid: Üks väärtus lahtri kohta, unikaalsed veerunimed, topeltridadeta ja väärtused pärinevad ühest domeenist.
  • 📈 Miks see võidab: Lihtsus, struktuuriline sõltumatus, kõrgetasemeline päringukeel ja andmete sõltumatus.

Relatsiooniandmete mudel DBMS-is

Mis on relatsioonimudel?

Relatsioonimudel (RM) esindab andmebaasi seoste kogumina. Suhe pole midagi muud kui väärtuste tabel. Tabeli iga rida esindab seotud andmeväärtuste kogumit. Need tabeli read tähistavad tegelikku olemit või suhet.

Tabeli nimi ja veerunimed aitavad tõlgendada iga rea ​​väärtuste tähendust. Andmeid esitatakse seoste kogumina. Relatsioonimudelis salvestatakse andmeid tabelitena. Andmete füüsiline salvestamine ei sõltu aga andmete loogilisest korraldusest.

Selle mudeli pakkus välja EF Codd 1970. aastal ja see on siiani peaaegu iga tänapäeval kasutatava peavoolu andmebaasi aluseks. Mõned populaarsed relatsioonandmebaaside haldussüsteemid on:

  • DB2 ja Informix Dynamic Server – IBM
  • Oracle ja RDB - Oracle
  • SQL Server ja juurdepääs – Microsoft

Relatsiooniline mudel Concepts DBMS-is

  1. Atribuut: Iga tabeli veerg. Atribuudid on omadused, mis määratlevad seose, nt Õpilase_registrinumber, NIMI jne.
  2. Tabelid: Relatsioonimudelis salvestatakse relatsioonid tabeli kujul. See salvestatakse koos oma üksustega. Tabelil on kaks omadust: read ja veerud. Read tähistavad kirjeid ja veerud atribuute.
  3. Korda: See pole midagi muud kui üks tabeli rida, mis sisaldab ühte kirjet.
  4. Suhteskeem: Relatsiooniskeem tähistab seose nime koos selle atribuutidega.
  5. Kraad: Suhtes olevate atribuutide koguarvu nimetatakse suhte astmeks.
  6. Kardinaalsus: Tabelis olevate ridade koguarv.
  7. Veerg: Veerg tähistab konkreetse atribuudi väärtuste komplekti.
  8. Seose näide: Relatsiooni eksemplar on lõplik hulk tuupleid RDBMS-süsteemis. Relatsiooni eksemplaridel pole kunagi duplikaate.
  9. Seose võti: Igal real on üks, kaks või mitu atribuuti, mida nimetatakse seosevõtmeks.
  10. Atribuudi domeen: Igal atribuudil on eelnevalt määratletud väärtus ja ulatus, mida nimetatakse atribuudi domeeniks.

Relatsioonimudeli kontseptsioonid tabelis illustreerituna

Kui sõnavara on paigas, on järgmine murekohaks hoidmineping nendes seostes olevad andmed on kehtivad, mis ongi terviklikkuse piirangute ülesanne.

Suhteline Integrity Piirangud

Andmebaasihaldussüsteemide relatsioonilise terviklikkuse piirangud viitavad tingimustele, mis peavad kehtima seose jaoks olema täidetud. Need relatsioonilised piirangud tuletatakse andmebaasi esindatava minimaailma reeglitest.

On mitut tüüpi terviklikkuse piiranguid. Relatsioonandmebaaside haldussüsteemi piirangud jagunevad enamasti kolme põhikategooriasse:

  1. Domeeni piirangud
  2. Peamised piirangud
  3. Viiteline Integrity Piirangud

Domeeni piirangud

Domeenipiiranguid saab rikkuda, kui atribuudi väärtus ei ilmu vastavas domeenis või kui see ei ole sobivat andmetüüpi.

Domeenipiirangud määravad, et igas tuuplis peab iga atribuudi väärtus olema aatomiline ja võetud õigest domeenist. Domeenid on määratletud andmetüüpidena, mis hõlmavad standardtüüpe, nagu täisarvud, reaalarvud, märgid, Boole'i ​​väärtused ja muutuva pikkusega stringid.

Näide:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Näidatud näide demonstreerib domeenipiirangu loomist nii, et kliendinimi (CustomerName) ei oleks NULL.

Peamised piirangud

Atribuuti, mis suudab kordumatult identifitseerida relatsioonis korteeži, nimetatakse tabeli võtmeks. Atribuudi väärtus relatsiooni erinevate korterite jaoks peab olema kordumatu.

Näide:

Antud tabelis on KliendiID Kliendi tabeli võtmeatribuut. Tõenäoliselt on sellel ühe kliendi jaoks üks võti; KliendiID = 1 kehtib ainult KliendiNimi jaoks.Google". Erinevate võtmetüüpide täielik käsitlus on esitatud juhendis DBMS-võtmed.

Kliendi ID Kliendi nimi olek
1 Google aktiivne
2 Amazon aktiivne
3 õun Passiivne

Viiteline Integrity Piirangud

Andmebaasihaldussüsteemide (DBMS) referentsiaalse terviklikkuse piirangud põhinevad võõrvõtmete kontseptsioonil. Võõrvõti on seose oluline atribuut, millele tuleks viidata teistes seostes. Referentsiaalse terviklikkuse piirang tekib siis, kui seos viitab sama või erineva seose võtmeatribuudile. See võtmeelement peab viidatud tabelis eksisteerima.

Näide:

Kliendi ja tema vaheline viiteterviklikkus Billsuhted

Ülaltoodud näites on meil kaks suhet, Klient ja Billing.

KliendiID = 1 tuuplit viidatakse seoses kaks korda. BillSeega me teame KliendiNimi „Google„Arveldussumma on 300 dollarit.“

Operarelatsioonimudelis

Relatsioonandmebaasi mudelis teostatakse neli peamist uuendamistoimingut: sisestamine, uuendamine, kustutamine ja valimine.

  • Lisamist kasutatakse andmete lisamiseks seosesse.
  • Kustutamist kasutatakse tabelist korteeži kustutamiseks.
  • Muuda võimaldab muuta mõne atribuudi väärtusi olemasolevates korteežides.
  • Vali võimaldab valida kindla andmevahemiku.

Kui ühte neist toimingutest rakendatakse, ei tohi kunagi rikkuda relatsioonandmebaasi skeemil määratud terviklikkuse piiranguid.

Sisesta Operamine

Lisamisoperatsioon annab uue tuple'i atribuutide väärtused, mis tuleks relatsiooni lisada.

Lisamisoperatsioon uue tuubi lisamiseks relatsioonile

Värskendused Operamine

Allolevas seoste tabelis on näha, et kliendinimi „Apple” on uuendatud olekust „Inactive” olekuks „Active”.

Värskendusoperatsioon, mis muudab oleku väärtust tuuplis

kustutama Operamine

Kustutamise määramiseks valib seose atribuutide tingimus kustutatava korteeži.

Kustutusoperatsioon, mis eemaldab seosest paarilise

Ülaltoodud näites on kliendinimi „Apple” tabelist kustutatud.

Kustutamisoperatsioon võib rikkuda viiteterviklikkust, kui kustutatavale tuuplile viitavad sama tuubi teiste tuuplite võõrvõtmed. andmebaas.

valima Operamine

Valige toiming, mis valib konkreetse dupleksi

Ülaltoodud näites on KliendiNimi „Amazon”On valitud.

Relatsioonimudel vs hierarhiline ja võrgumudel

Relatsioonimudel asendas kaks varasemat lähenemisviisi ja see kontrast selgitab, miks see domineerivaks sai. Allolev tabel seab need kolm kõrvuti.

Aspekt Relatsiooniline mudel Hierarhiline mudel Võrgu mudel
struktuur Tabelid (seosed) Puu, vanemalt lapsele Graafik, paljudest paljudele
Juurdepääs andmetele Deklaratiivne, väärtuse järgi Navigeerimine, tee järgi Navigeerimine, kursori abil
Suhted Välisvõtmed Vanema-lapse sidemed Hulgad ja pointerid
Päringu keel SQL Menetluskood Menetluskood
Paindlikkus Kõrge Madal Keskmine

Kuna relatsioonimudel käsitleb andmeid väärtuse, mitte füüsiliste linkide navigeerimise kaudu, on kõrgetasemeline keel, näiteks SQL saab päringu esitada teadmata, kuidas andmeid salvestatakse.

Relatsioonimudeli loomise parimad tavad

  • Andmeid tuleb esitada seoste kogumina.
  • Iga seos peaks tabelis olema selgelt kujutatud.
  • Read peaksid sisaldama andmeid üksuse eksemplaride kohta.
  • Veerud peavad sisaldama andmeid üksuse atribuutide kohta.
  • Tabeli lahtrid peaksid sisaldama ühte väärtust.
  • Igale veerule tuleks anda unikaalne nimi.
  • Kaks rida ei saa olla identsed.
  • Atribuudi väärtused peaksid pärinema samast domeenist.

Relatsioonandmebaasi mudeli eelised

  • Lihtsus: DBMS-i relatsioonandmemudel on lihtsam kui hierarhilised ja võrgumudelid.
  • Struktuuriline iseseisvus: Relatsioonandmebaas tegeleb ainult andmetega, mitte struktuuriga, mis võib parandada mudeli jõudlust.
  • Lihtne kasutada: Relatsioonimudelit on lihtne kasutada, kuna ridadest ja veergudest koosnevad tabelid on loomulikud ja kergesti mõistetavad.
  • Päringuvõimalus: See võimaldab kõrgetasemelisel päringukeelel, näiteks SQL-il, vältida keerukat andmebaasi navigeerimist.
  • Andmete sõltumatus: Relatsioonandmebaasi struktuuri saab muuta ilma ühtegi rakendust muutmata.
  • Skaleeritav: Andmebaasi saab kasutatavuse parandamiseks laiendada kirjete või ridade arvu ja väljade arvu osas.

Relatsioonimudeli puudused

  • Vähestel relatsioonandmebaasidel on väljade pikkuse piirangud, mida ei saa ületada.
  • Relatsioonandmebaasid võivad mõnikord muutuda keerukaks, kuna andmete hulk kasvab ja andmekildude vahelised seosed muutuvad keerukamaks.
  • Keerulised relatsioonandmebaaside süsteemid võivad viia isoleeritud andmebaasideni, kus teavet ei saa ühest süsteemist teise jagada.

KKK

Aste on atribuutide ehk veergude arv relatsioonis. Kardinaalsus on tuuplite ehk ridade arv. Aste kirjeldab tabeli laiust ja kardinaalsus selle kõrgust.

Relatsioon on matemaatiline hulk ja hulk ei sisalda topeltliikmeid. Primaarvõti tagab selle, nii et iga tuple on unikaalselt identifitseeritud ja ükski rida ei ole identne.

Tehisintellekti mudeleid treenitakse sageli relatsioonitabelitest SQL-liitmiste ja -agregatsioonide kaudu saadud tunnuste põhjal. Tehisintellekt suudab ka lihtsa ingliskeelse küsimuse SQL-keelde tõlkida, nii et mitte-tehnilised kasutajad saavad otse relatsiooni kohta päringuid teha.

Jah. Näidisandmete või nõuete korral saab tehisintellekt soovitada tabeleid, primaar- ja võõrvõtmeid ning normaalvormi. Väljund vajab siiski ülevaatamist, sest normaliseerimine sõltub ärireeglitest, mida tehisintellekt ei pruugi tunda.

Praktikas kasutatakse neid vaheldumisi. Formaalselt on seos järjestuseta ja duplikaatideta paaride hulk, samas kui tabel on selle füüsiline pilt, mis võib kuvada ridu salvestatud järjekorras.

Võta see postitus kokku järgmiselt: