Relaatiotietomalli tietokannan hallintajärjestelmässä: Concepts & Esimerkki

⚡ Älykäs yhteenveto

Relaatiomalli esittää tietokannan relaatioiden kokoelmana, jossa jokainen relaatio on riveistä ja sarakkeista koostuva taulukko. Se määrittelee ydinkäsitteet, eheysrajoitukset ja päivitystoiminnot, jotka pitävät relaatiodatan yhtenäisenä ja helposti kyselykelpoisena.

  • 🗃️ Perusidea: Data tallennetaan relaatioina, ja jokainen rivi on tuple, joka kuvaa yhtä reaalimaailman oliota tai relaatiota.
  • 🏷️ Keskeisiä termejä: Attribuutti, tuple, aste, kardinaliteetti, toimialue ja relaatioavain yhdessä kuvaavat taulukon muodon.
  • 🛡️ Kolme rajoitusta: Verkkotunnus-, avain- ja viittauseheysrajoitteet pitävät jokaisen relaation voimassa.
  • 🔑 Avainten linkkitaulukot: Ensisijainen avain yksilöi rivin, ja viiteavain viittaa avaimeen toisessa relaatiossa.
  • 🔄 Neljä OperaTIONS: Lisää, päivitä, poista ja valitse toimia relaatioiden perusteella rikkomatta määriteltyjä rajoitteita.
  • Suunnittelusäännöt: Yksi arvo solua kohden, yksilölliset sarakenimet, ei päällekkäisiä rivejä ja arvot on otettu yhdestä toimialueesta.
  • 📈 Miksi se voittaa: Yksinkertaisuus, rakenteellinen riippumattomuus, korkean tason kyselykieli ja datariippumattomuus.

Relaatiotietomalli DBMS:ssä

Mikä on relaatiomalli?

Relaatiomalli (RM) edustaa tietokantaa relaatioiden kokoelmana. Relaatio ei ole muuta kuin arvotaulukko. Jokainen taulukon rivi edustaa kokoelmaa toisiinsa liittyviä tietoarvoja. Nämä taulukon rivit tarkoittavat todellista kokonaisuutta tai suhdetta.

Taulukon nimi ja sarakenimet auttavat tulkitsemaan kunkin rivin arvojen merkitystä. Tiedot esitetään relaatiojoukkona. Relaatiomallissa tiedot tallennetaan taulukoina. Tiedon fyysinen tallennus on kuitenkin riippumaton siitä, miten tiedot on loogisesti järjestetty.

Mallin ehdotti EF Codd vuonna 1970, ja se on edelleen lähes kaikkien nykyään käytössä olevien valtavirran tietokantojen perusta. Joitakin suosittuja relaatiotietokantojen hallintajärjestelmiä ovat:

  • DB2 ja Informix Dynamic Server – IBM
  • Oracle ja RDB - Oracle
  • SQL-palvelin ja pääsy - Microsoft

Suhteellinen malli Concepts DBMS:ssä

  1. määrite: Jokainen taulukon sarake. Attribuutit ovat ominaisuuksia, jotka määrittelevät suhteen, esim. Opiskelijan_lupanumero, NIMI jne.
  2. taulukot: Relaatiomallissa relaatiot tallennetaan taulukkomuotoon. Se tallennetaan yhdessä sen entiteettien kanssa. Taulukolla on kaksi ominaisuutta: rivit ja sarakkeet. Rivit edustavat tietueita ja sarakkeet edustavat attribuutteja.
  3. Tupla: Se ei ole muuta kuin yksi rivi taulukossa, joka sisältää yhden tietueen.
  4. Suhdekaavio: Relaatioskeema edustaa suhteen nimeä sen attribuuteineen.
  5. Tutkinto: Suhteen ominaisuuksien kokonaismäärää kutsutaan relaation asteeksi.
  6. Kardinaalisuus: Taulukossa olevien rivien kokonaismäärä.
  7. Sarake: Sarake edustaa tietyn määritteen arvojoukkoa.
  8. Suhde-esimerkki: Relaatioinstanssi on äärellinen joukko tupleja RDBMS-järjestelmässä. Relaatioinstanssit eivät koskaan sisällä kaksoiskappaleita.
  9. Suhdeavain: Jokaisella rivillä on yksi, kaksi tai useampia attribuutteja, joita kutsutaan relaatioavaimeksi.
  10. Attribuuttialue: Jokaisella attribuutilla on jokin ennalta määritelty arvo ja laajuus, jota kutsutaan attribuutin toimialueeksi.

Relaatiomallin käsitteet havainnollistettuna taulukolla

Kun sanasto on kohdallaan, seuraava huolenaihe on pitääping näiden relaatioiden tiedot ovat kelvollisia, mikä on eheysrajoitusten tehtävä.

omainen Integrity rajoitteet

Tietokannan hallintajärjestelmien relaatioeheysrajoitukset viittaavat ehtoihin, jotka on täytettävä kelvollisen relaation kannalta. Nämä relaatiorajoitteet johdetaan tietokannan edustaman minimaailman säännöistä.

Eheysrajoituksia on monenlaisia. Relaatiotietokannan hallintajärjestelmän rajoitukset jaetaan enimmäkseen kolmeen pääluokkaan:

  1. Verkkotunnuksen rajoitukset
  2. Keskeiset rajoitukset
  3. Viitteellinen Integrity rajoitteet

Verkkotunnuksen rajoitukset

Verkkotunnusrajoituksia voidaan rikkoa, jos attribuutin arvoa ei esiinny vastaavassa verkkotunnuksessa tai jos se ei ole oikeaa tietotyyppiä.

Verkkotunnusrajoitteet määrittävät, että kussakin tuplessa kunkin attribuutin arvon on oltava atomi ja se on otettava oikeasta verkkotunnuksesta. Verkkotunnukset määritetään tietotyyppeinä, joihin kuuluvat standardityypit, kuten kokonaisluvut, reaaliluvut, merkit, totuusarvot ja muuttuvan pituiset merkkijonot.

Esimerkiksi:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Näytetty esimerkki havainnollistaa verkkotunnusrajoitteen luomista siten, että CustomerName ei ole NULL.

Keskeiset rajoitukset

Attribuuttia, joka voi yksilöidä relaatiossa olevan monikon, kutsutaan taulukon avaimeksi. Attribuutin arvon eri monikoille relaatiossa on oltava yksilöllinen.

Esimerkiksi:

Annetussa taulukossa Asiakastunnus on Asiakas-taulukon avainattribuutti. Todennäköisimmin sillä on yksi avain yhdelle asiakkaalle; Asiakastunnus = 1 on vain AsiakasNimi-attribuutille.Google". Eri avaintyyppejä käsitellään kattavasti oppaassa, joka käsittelee DBMS-avaimet.

Asiakas ID Asiakkaan nimi Tila
1 Google Aktiiviset
2 Amazon Aktiiviset
3 omena Epäaktiivinen

Viitteellinen Integrity rajoitteet

Tietokannan hallintajärjestelmien viittaus-eheysrajoitukset perustuvat viiteavainten käsitteeseen. Viittausavain on relaation tärkeä attribuutti, johon tulisi viitata muissa relaatioissa. Viittaus-eheysrajoite syntyy, kun relaatio viittaa saman tai eri relaation avainattribuuttiin. Tämän avainelementin on oltava viitatussa taulukossa.

Esimerkiksi:

Asiakkaan ja Billsuhteita

Yllä olevassa esimerkissä meillä on kaksi relaatiota, Asiakas ja Billden.

Asiakastunnusta 1 vastaavaan tupleen viitataan relaatiossa kahdesti. BillJoten tiedämme AsiakkaanNimenGoogle”laskutussumma on 300 dollaria.

Operarelaatiomallin mukaiset

Relaatiotietokantamallissa suoritetaan neljä peruspäivitystoimintoa: lisääminen, päivittäminen, poistaminen ja valitseminen.

  • Insert-funktiota käytetään tietojen lisäämiseen relaatioon.
  • Delete-toimintoa käytetään poistamaan monikot taulukosta.
  • Muokkaa antaa sinun muuttaa joidenkin attribuuttien arvoja olemassa olevissa monikoissa.
  • Valitse-toiminnolla voit valita tietyn tietoalueen.

Aina kun jotakin näistä toiminnoista sovelletaan, relaatiotietokannan kaavassa määritettyjä eheysrajoituksia ei saa koskaan rikkoa.

liite OperaTUKSEN

Lisäysoperaatio antaa uuden tuplen attribuuttien arvot, jotka tulisi lisätä relaatioon.

Lisäysoperaatio, joka lisää uuden tuplan relaatioon

Päivitykset OperaTUKSEN

Alla olevasta relaatiotaulukosta näet, että CustomerName 'Apple' päivittyy tilasta Ei-aktiivinen tilaksi Aktiivi.

Päivitysoperaatio, joka muuttaa tuplen tila-arvoa

Poista OperaTUKSEN

Poiston määrittämiseksi relaatiomääritteiden ehto valitsee poistettavan monikon.

Poisto-operaatio, joka poistaa tuplen relaatiosta

Yllä olevassa esimerkissä CustomerName ”Apple” on poistettu taulukosta.

Poistotoiminto voi rikkoa viite-eheyden, jos poistettavaan tupleen viittaavat saman tuplen muiden tuplejen viiteavaimet. tietokanta.

valita OperaTUKSEN

Valitse operaatio valitsemalla tietyn tuplen

Yllä olevassa esimerkissä AsiakkaanNimi “Amazon”On valittu.

Relaatiomalli vs. hierarkkinen ja verkostomalli

Relaatiomalli korvasi kaksi aiempaa lähestymistapaa, ja eroavaisuudet selittävät, miksi siitä tuli hallitseva. Alla olevassa taulukossa kolme lähestymistapaa rinnakkain.

Aspect Suhteellinen malli Hierarkkinen malli Verkkomalli
Tuote mallit Taulukot (relaatiot) Puu, vanhemmasta lapseen Graafi, monesta moneen
Tietojen käyttö Deklaratiivi, arvon mukaan Navigointi, polun mukaan Navigointi, osoittimella
Ihmissuhteet Ulkomaiset avaimet Vanhemman ja lapsen väliset linkit Joukot ja osoittimet
Kyselyn kieli SQL Menettelykoodi Menettelykoodi
Joustavuus Korkea Matala Keskikova

Koska relaatiomalli käsittelee dataa arvon perusteella eikä fyysisten linkkien kautta navigoimalla, korkean tason kieli, kuten SQL voi esittää kyselyn tietämättä, miten tiedot on tallennettu.

Relaatiomallin luomisen parhaat käytännöt

  • Data on esitettävä relaatioiden kokoelmana.
  • Jokainen suhde tulee esittää selkeästi taulukossa.
  • Rivien tulisi sisältää tietoja entiteetin esiintymistä.
  • Sarakkeiden on sisällettävä tietoja entiteetin ominaisuuksista.
  • Taulukon solujen tulisi sisältää yksi arvo.
  • Jokaiselle sarakkeelle tulisi antaa yksilöllinen nimi.
  • Kaksi riviä ei voi olla täysin samanlaisia.
  • Attribuutin arvojen tulee olla samasta verkkotunnuksesta.

Relaatiotietokantamallin edut

  • Yksinkertaisuus: Tietokannan hallinnan relaatiotietomalli on yksinkertaisempi kuin hierarkkinen ja verkostomalli.
  • Rakenteellinen riippumattomuus: Relaatiotietokanta käsittelee vain dataa eikä sen rakennetta, mikä voi parantaa mallin suorituskykyä.
  • Helppo käyttää: Relaatiomallia on helppo käyttää, koska riveistä ja sarakkeista koostuvat taulukot ovat luonnollisia ja helppoja ymmärtää.
  • Kyselyominaisuus: Se mahdollistaa korkean tason kyselykielen, kuten SQL:n, monimutkaisen tietokannan navigoinnin välttämisen.
  • Tietojen riippumattomuus: Relaatiotietokannan rakennetta voidaan muuttaa ilman, että tarvitsee vaihtaa sovellusta.
  • skaalautuva: Tietokantaa voidaan suurentaa sen käytettävyyden parantamiseksi tietueiden tai rivien ja kenttien määrän suhteen.

Relaatiomallin haitat

  • Harvoissa relaatiotietokannoissa on kenttien pituusrajoituksia, joita ei voida ylittää.
  • Relaatiotietokannat voivat joskus monimutkaistua, kun datan määrä kasvaa ja datayksiköiden väliset suhteet monimutkaistuvat.
  • Monimutkaiset relaatiotietokantajärjestelmät voivat johtaa erillisiin tietokantoihin, joissa tietoa ei voida jakaa järjestelmien välillä.

UKK

Aste on relaation attribuuttien eli sarakkeiden lukumäärä. Kardinaliteetti on tuplejen eli rivien lukumäärä. Aste kuvaa taulukon leveyttä ja kardinaliteetti sen korkeutta.

Relaatio on matemaattinen joukko, eikä joukossa ole kaksoiskappaleita. Ensisijainen avain varmistaa tämän, joten jokainen tuple on yksilöllisesti tunnistettu eikä kahta identtistä riviä ole.

Tekoälymalleja koulutetaan usein relaatiotaulukoista SQL-liitosten ja -aggregaatioiden avulla haettujen ominaisuuksien avulla. Tekoäly voi myös kääntää tavallisen englanninkielisen kysymyksen SQL-kielelle, joten ei-tekniset käyttäjät voivat kysellä relaatioita suoraan.

Kyllä. Esimerkkidatan tai vaatimusten perusteella tekoäly voi ehdottaa taulukoita, ensisijaisia ​​ja viiteavaimia sekä normaalimuotoa. Tulostetta on silti tarkistettava, koska normalisointi riippuu liiketoimintasäännöistä, joita tekoäly ei välttämättä tunne.

Käytännössä niitä käytetään keskenään vaihdellen. Muodollisesti relaatio on joukko tupleja, joilla ei ole järjestystä eikä duplikaatteja, kun taas taulukko on sen fyysinen kuva, joka voi näyttää rivejä tallennetussa järjestyksessä.

Tiivistä tämä viesti seuraavasti: