Relaatiomalliin on tapa mallintaa nykyisiä suhteita useita tietoja, ja tilaamalla ne keskenään. Tämä mallinnus, joka perustuu matemaattisia periaatteita esittämiä EF Coddin, usein fyysisesti transkriboidaan ( ” toteutettu ”) on tietokannassa .
Kutsumme "suhde" joukoksi ominaisuuksia, jotka luonnehtivat ehdotusta tai yhdistelmää ehdotuksia, kuten "työntekijällä on numero, hänellä on nimi, hänellä on työnantaja". Tässä esimerkissä työntekijän määritteet ovat: numero, nimi ja työnantaja. Kutakin näin muodostunutta propositioiden yhdistelmää kutsutaan kaksinkertaiseksi tai järjestetyksi esineiden kokoelmaksi. Esimerkiksi sarja ("1245", "Jean Dupond", "Compagnie des belles lettres") muodostaa "työntekijäsuhteen". Suhteet esitetään yleensä taulukoina. Edellisessä esimerkissä taulukon otsikko olisi "työntekijä". Yleensä harjoittajat antavat saman merkityksen käsitteille "suhde" ja "taulukko". Samoin ne omaksuvat toisaalta "taulukon rivi" ja sekvenssin, ja toisaalta "taulukon sarakeotsikko" ja määritteen. Määritelmän mukaan kukin relaation dupleksi on ainutlaatuinen. Se tunnistetaan attribuutilla (yksilöllinen tunniste, jota kutsutaan "ensisijaiseksi avaimeksi") tai useiden attribuuttien yhdistelmällä, joka muodostaa avaimen. Tuplien järjestys ei ole merkittävä.
Codd on määritellyt relaatioalgebran ja operaattorit, jotka mahdollistavat uusien suhteiden rakentamisen yhdistämällä aiemmin määriteltyjä suhteita. Coddin ideat toteutettiin - enemmän tai vähemmän uskollisesti - relaatiotietokantojen hallintajärjestelmissä tai RDBMS: issä , kuten IBM System R -kokeiluprojektissa , sitten kaupallisissa tuotteissa, kuten Oracle , DB2 tai MySQL , ja SQL- tietojen käsittelykielellä .
Relaatiomalli on nykyään yksi käytetyimmistä malleista. "Ensimmäiset tähän malliin rakennetut tietokannan hallintajärjestelmät ( DBMS tai DBMS English) olivat SQL / DS ja DB2 for IBM , joka syntyi relaatiotietokantojen käsittelykielenä SQL (Structured Query Language). Suhdemalli perustuu kahteen voimakkaaseen instrumenttiin: relaatioalgebraan (ts. Matemaattiseen relaatiokäsitteeseen joukko-teoriassa) ja suorakulmion tulokseen . Tämä malli määrittelee tiedon esittämistavan, suoritettavat toiminnot sekä mekanismit tietojen yhtenäisyyden säilyttämiseksi . EF Codd kuvaili relaatiomallin periaatteita ja suunnittelua kirjassaan ”Suurten jaettujen tietopankkien relaatiomalli”.
EF Coddin mukaan relaatiomallin mukaan määriteltyä tietokantaa manipuloidaan muodollisten suhteoperaatioiden avulla. Relaatiooperaatioiden avulla voidaan esimerkiksi luoda uusi relaatio, jota tässä mallissa edustaa, kaksiulotteinen taulukko.
Relaatiomalli määrittelee 5 perusoperaattoria, jotka ovat unioni, ero, valinta (tai rajoitus), projektio ja suorakulmainen tuote. Näillä operaattoreilla on se etu, että he ovat suljettuja (ne toimivat suhteissa ja palautussuhteissa, jotka voidaan jälleen yhdistää operaattoreiden ansiosta).
Unioni operaattori sallii yhdistää kaksi suhteita (tai "taulukot") samaa kaavaa (eli kaksi suhteita samoja ominaisuuksia) ja palauttaa suhde samaa kaavaa kuin alkuperäinen suhteissa ja jonka joukko tuplat (joka on sanoa sarakkeita tai "matriisin rivejä") on yhdistettyjen relaatioiden joukkojoukko (joukko tarkoittaa, että taulukon rivien esityksessä ei ole järjestystä ja että kaksoiskappaleita ei voi olla) .
Ero operaattori on samanlainen (mutta ei symmetrinen) ja palaa monikon, jotka näkyvät ensimmäiseen nähden, mutta ei toisessa.
Valintaoperaattori (unary) palauttaa alkusuhteen joukon osajoukon. Heidän on todennettava kriteeri, joka on muodostettu konjunktion (ja), disjunktion (tai), kolmoisten negaation (attribuutti, vertailija, arvo) perusteella. Vertailija voi olla>, <, =, <>, ... Arvon käsite voi olla joko tyypin numeerisen arvon vakio, merkkijono ... tai attribuutti (mutta sitten vertailu tapahtuu samassa dupleksissä ). Rivien lukumäärä pienenee, mutta sarakkeiden määrä pysyy samana.
Projektio-operaattoria (unary) käytetään vähentämään valinnassa pidettyjen attribuuttien määrää. Sitten sarakkeiden määrää pienennetään. Tämä toiminto voi johtaa rivien määrän vähenemiseen (jos avainlinjan tunnusta ei ole). "Työntekijä" -taulukon esimerkissä projektio voidaan suorittaa säilyttämällä vain "nimi" - ja "henkilöstön numero" -attribuutit, toisin sanoen tuloksena oleva taulukko, joka on vähennetty kahteen sarakkeeseen.
Karteesista tuoteoperaattoria (binääriä) käytetään sellaisen relaation rakentamiseen, jonka kaavio koostuu kahden relaation attribuuteista (taulukon sarakkeiden tunnisteet). Annetut sarakkeet on rakennettu suorakulmion tulokseen (kaikki mahdolliset yhdistelmät ensimmäisen relaation jokaisen rivin ja toisen relaation kunkin rivin välillä).
Näistä viidestä perusoperaattorista voidaan määritellä johdannaisoperaattorit (älä anna mitään ylimääräistä kyselyvaltaa, mutta helpottavat manipulointia). Risteysoperaattori (binaarinen) tarjoaa molemmissa suhteissa olevat joukot, liitosoperaattori sallii rakentaa sarjaa sarjaa, joka käsittää yhteisen tunnuksen suorakulmion tuotteesta, jako antaa mahdollisuuden ilmaista helpommin universaalin kvantifikaattorin (yhdistelmä suorakulmaisten tuotteiden ja risteysten avulla saavutetut suhteet).
Relaatiomalliin perustuvan tietokannan hallintajärjestelmän käyttöä tukeva kieli on SQL .
Relaatiomallin keskeisenä ajatuksena on kuvata tietojoukko predikaattien kokoelmana rajalliseen taustamuuttujien joukkoon, kuvaamalla arvojen rajoituksia ja mahdollisia arvoyhdistelmiä. Tuloksena olevan tietojoukon sisältö t, käsitteellinen tietomalli , voidaan transkriptoida tietokantaan fyysisen tietomallin kautta . Se on tietokannan rajallinen (looginen) malli, nimittäin relaatiojoukko, yksi relatiivimuuttujaa kohti, jotta kaikki predikaatit täyttyvät. Tietopyyntö tietokannasta (tietokantakysely) on myös predikaatti. Tästä relaatiomallista rakennetun datan suuri etu on, että käyttäjä voi fyysisenä transkriptiona tietokantaan käyttää sitä tietämättä missä data on fyysisesti tai miten se on tallennettu. Tämä on suuri etu verrattuna hierarkkisiin tietokantoihin toteutettuun hierarkkiseen malliin tai verkkomalliin .
Kun relaatiomallinnus on valmis, se voi toteuttaa suhteet kaksiulotteisten taulukoiden muodossa. Jokaisessa sarakkeessa on tunniste, joka edustaa verkkotunnusta. Kutsumme tupleksi tai dupleksi joukoksi arvoja koordinoimattomille määritteille, toisin sanoen taulukkoriville. Suhde voidaan siis määritellä joukkoilla. "Jokainen taulukon relaatiooperaatio luo uuden relaation, ja relaatiooperaattorit - SQL-kielen operaattorit - antavat mahdollisuuden kuvata tulos, jonka haluamme saavuttaa ilman, että tarvitsee kuvata tuloksen saavuttamiseksi tarvittavaa menettelyä: sanomme suhteellinen kieli on ”ei-menettelyllinen”.
Niiden välisten suhteiden linkittämiseen käytetään ensisijaisen avaimen ja vieraan avaimen käsitettä . Suhteen ensisijainen avain on attribuutti tai joukko määritteitä, joiden avulla voidaan yksilöidä dupleksi (esimerkiksi Customer Reference -attribuutin avulla voidaan yksilöidä asiakassuhteen dupleksi). Ainoa tieto ensisijaisesta avaimesta mahdollistaa minkä tahansa taulukon rivin tunnistamisen. Lisäksi vieras avain on tunniste, joka viittaa ainutlaatuiseen avaimeen toisessa taulukossa. Esimerkiksi Lasku-suhteessa Asiakas-attribuutti sisältää asiakkaan viitteen ja mahdollistaa siten kaikkien asianomaisen asiakkaan tietojen löytämisen asiakassuhteesta.
Matemaattisessa mielessä suhde on tiettyjen alueiden suorakulmion tulon osajoukko . Verkkotunnus esitetään arvojoukkona: R = (A1 X A2 X A3).
Tätä suhdetta R edustaa 3 sarakkeen taulukko (kolme määritettä) A1, A2, A3, joiden jokaiselle riville on ominaista erilaiset arvot kentissä A1, A2, A3. Todellisen maailman kokonaisuuden "auto" mallintamiseksi ainesosina otetaan merkki, väri, rekisterikilpi ja valmistuspäivä: auto (merkki, väri, rekisterikilpi, luomispäivä). Saraketunnisteita vastaavat toimialueet voidaan määrittää seuraavilla arvojoukoilla:
tuotemerkki : 1-50 aakkosmerkin merkkijono.
väri : 1-30 aakkosmerkin merkkijono.
rekisterikilpi : 1-10 aakkosmerkin merkkijono.
päivämäärän luominen : päivämäärät siitä lähtien1. st tammikuu 1800 tähän päivään asti.
Suhteellisessa mallinnuksessa usein viitatut perusobjektit ovat toimialueet, suhteet, attribuutit, tutkinnot ja joukot. Seuraava kuva kuvaa näitä käsitteitä hyvin:
Verkkotunnus edustaa rajallista joukkoa mahdollisia arvoja tietylle attribuutille, jolle määritämme myös joukon operaattoreita, joita voidaan käyttää toimialueen arvoihin. On kuitenkin tarpeen tehdä ero toimialueiden ja niiden fyysisten esitysten välillä järjestelmässä, koska toimialue voidaan edustaa perustyypissä, jolla on toimintoja, jotka eivät edusta aluetta.
Esimerkiksi yllä olevassa kuvassa määritellään D4 kaikille maan maille. Joten koska Country-attribuutti kuuluu D4: ään, attribuutin mahdolliset arvot rajoitetaan D4: ssä määriteltyihin arvoihin (ci: kaikki maan maat). Oletetaan myös, että toimialue D4 määrittelee vain yhden operaation, isojen kirjainten käytön. Tässä tapauksessa, vaikka maata edustaisikin fyysisesti merkkijono, muita toimintoja kuin isoja kirjaimia ei voida käyttää.
Pohjimmiltaan sekvenssi on tietueessa oleva tietue (yksi rivi).
Muodollisemmin sekoitus on atomielementti, joka käsittää otsikon ja rungon. Otsikko on joukko attribuuttien nimiä ja niiden toimialueita, ja runko on joukko <Verkkotunnus, Attribuutin nimi, Arvo> kolminkertaisia.
Attribuutti on yksinkertaisesti arvo, joka liittyy yhteen kolmikon kolmiosista.
Ehdokas avain on joukko tietoja, joita voidaan indeksoida kunkin rivin tietyn pöydän eriytetty tavalla. Ehdokasavaimista yksi on määritetty taulukon ensisijaiseksi avaimeksi .
Suhde (tai taulukko) on elementti, joka koostuu otsikosta ja rungosta. Otsikko on joukko attribuuttien nimiä ja niiden toimialueita, ja runko on joukko joukkoja, joiden otsikko on sama kuin relaatio.
Varo sekoittamasta taulukoiden välisen suhteen käsitteeseen.
Tutkinto on parisuhteen attribuuttien määrä.
Relaatiomalli ennakoi kolmen tyyppisiä suhteita taulukoiden välillä: 1: 1, 1: N ja N: N. Taulukoiden väliset suhteet määritellään jaetussa sarakkeessa. Tämä malli ei tue suoraan N: N-suhteita, jotka itse asiassa muunnetaan kahdeksi 1: N-suhteeksi.
Suhteen 1: 1 kahdessa taulukossa A ja B taulukon A sekoitus koskee vain taulukon B duplettia.
Esimerkiksi ministeri on ministerin päällikkö ja ministeriöllä on vain yksi ministeri: "Ministerit" -taulukolla on 1: 1-suhde "Ministerit" -taulukkoon.
Suhteen 1: N kahdessa taulukossa A ja B taulukon A joukko voi viitata useaan taulukon B sarjaan ja taulukon B sekvenssi vain taulukon A sarjaan.
Esimerkiksi yksi sisäoppilaitostaulukon jäsen voi olla yhteydessä useaan opiskelijataulukon jäseneen.
Suhteen N: N kahdessa taulukossa A ja B taulukon A joukko voi viitata useaan taulukon B sarjaan ja taulukon B sarja voi viitata useaan taulukon A kerrokseen. Suhde N: N voidaan siten hajottaa kaksi 1: N suhdetta.
Esimerkiksi lukiossa luokalla on useita opettajia ja opettaja on vastuussa useista luokista: Taulukot "Luokat" ja "Opettajat" ovat N: N-suhteessa.