Suhteellinen malli

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 .

Lyhyt kuvaus

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”.

Suhteelliset operaattorit

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 .

Relaatiotietokantajärjestelmän hallinnan säännöt

Sääntö 1 Ainutlaatuisuus  : Kaikki tietokannan tiedot on esitetty yhdellä ja ainoalla tavalla, nimittäin arvoina taulukoiden sarakekentissä. Sääntö 2 Pääsyn takuu  : Kaikkien tietojen on oltava helposti saatavilla. Tämä sääntö on lähinnä ensisijaisten avainten perusedellytyksen säätö. Se osoittaa, että kunkin tietokannan yksittäisen skalaariarvon tulisi olla loogisesti käytettävissä määrittämällä sisältävän taulukon nimi, sisältävän sarakkeen nimi ja sisältävän rivin ensisijainen pääarvo. Sääntö 3 Nolla-arvojen käsittely  : Tietokannan hallintajärjestelmän on annettava jokaisen kentän olla tyhjä (tai tyhjä). Erityisesti sen on tuettava "puuttuvien tietojen ja toteuttamiskelvottomien tietojen" esitystä, joka on systemaattinen, erillinen kaikista säännöllisistä arvoista (esim. "Erillinen nollasta tai muista numeroista", jos kyseessä on numeerinen arvo), ja tämän riippumatta tietojen tyypistä. Se tarkoittaa myös, että tietokannan hallintajärjestelmän on hallinnoitava tällaisia ​​esityksiä järjestelmällisesti. Sääntö 4 Luettelo itse suhteellinen  : Järjestelmän on tuettava online-integroitua relaatioluetteloa, johon valtuutetut käyttäjät pääsevät säännöllisen kyselykielensä avulla. Käyttäjien on sen vuoksi pystyttävä käyttämään tietokannan (luettelon) rakennetta samalla kyselykielellä, jota he käyttävät tietokannan tietojen käyttämiseen. Sääntö 5 Tietojen alikieli  : Järjestelmän on tuettava vähintään yhtä relaatiokieliä, joka:
  1. on lineaarinen syntaksin
  2. voidaan käyttää vuorovaikutteisesti ja sovellusohjelmissa,
  3. tukee lisätietojen määrittelyä (mukaan lukien näkymämääritykset), tietojen manipulointia (päivitys ja haku), tietoturva- ja eheysrajoituksia sekä tapahtumien hallintatoimia (transaktion aloitus, vahvistus ja peruutus).
Sääntö 6 Näkymien päivittäminen  : Järjestelmän on voitava päivittää kaikki teoriassa päivitettävät näkymät. Sääntö 7 Korkean tason lisäys, päivitys ja poisto  : Järjestelmän on tuettava komentojonon lisäys-, päivitys- ja poistotoimenpiteitä. Tämä tarkoittaa, että tietoja voidaan noutaa relaatiotietokannasta joukkoina, jotka koostuvat useista joukkoista ja / tai useista taulukoista. Tämä sääntö selittää, että lisäys-, päivitys- ja poistotoimintoja tulisi tukea sekä useista taulukoista koostuvien sarjaryhmien että vain yhden taulukon yksittäisten ryhmien osalta. Sääntö 8 Fyysinen riippumattomuus  : Fyysisen tason muutokset (miten tiedot tallennetaan, joko riveihin tai linkitettyihin luetteloihin jne.) Eivät vaadi muutoksia rakenteisiin perustuvassa sovelluksessa. Sääntö 9 Looginen riippumattomuus  : Loogisen tason muutokset (taulukot, sarakkeet, rivit jne.) Eivät saisi edellyttää muutoksia rakennepohjaiseen sovellukseen. Loogisen datan riippumattomuutta on vaikeampaa saavuttaa kuin fyysistä dataa. Sääntö 10 Rehellisyysriippumattomuus  : Eheysrajoitukset on määriteltävä erillään sovellusohjelmista ja tallennettava luetteloon. Tällaisia ​​rajoituksia olisi voitava muuttaa ajan myötä vaikuttamatta tarpeettomasti olemassa oleviin sovelluksiin. Sääntö 11 Jakelun riippumattomuus  : Tietokannan osien jakamisen eri sijainteihin tulisi olla näkymättömiä tietokannan käyttäjille. Olemassa olevien sovellusten tulisi edelleen toimia menestyksekkäästi:
  1. kun hajautettu versio tietokannan hallintajärjestelmästä esitetään ensimmäisen kerran; ja
  2. kun olemassa olevat tiedot jaetaan järjestelmässä uudelleen.
Sääntö 12 Kumoamattomuuden sääntö  : Jos järjestelmä tarjoaa käyttöliittymän, jolla on matalan tason kieli, tämä käyttöliittymä ei saa sallia järjestelmän ohittamista (esimerkiksi lisätä relaatiorajoitusta turvallisuudesta tai eheydestä): nämä rajoitukset on ilmaistava korkean tason relaatiokielellä.

Relaatiomallin periaate

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 .

Relaatiomallinnus ja sen transkriptio tietokantaan

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.

Rakenneterminologia

Suhteellisessa mallinnuksessa usein viitatut perusobjektit ovat toimialueet, suhteet, attribuutit, tutkinnot ja joukot. Seuraava kuva kuvaa näitä käsitteitä hyvin:

Rakenneterminologiaa kuvaava kuva

Ala

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ää.

Uplet

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.

Määritteet

Attribuutti on yksinkertaisesti arvo, joka liittyy yhteen kolmikon kolmiosista.

Ehdokasavain

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

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

Tutkinto on parisuhteen attribuuttien määrä.

Suhteen kardinaali

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.

1: 1 suhde

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.

Suhde 1: N

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.

N: N suhde

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.

Huomautuksia ja viitteitä

  1. Luku 1 relaatiomalli , Inrets
  2. Codd, EF Suurten jaettujen tietopankkien tietojen relaatiomalli. New York: ACM, 1970. ( ISSN  0001-0782 ) .
  3. Kurssi 9 Siirtyminen MCD: stä MPD: hen Relaatiomalli , Delisle, Pierre
  4. Todellinen malli , miten se toimii
  5. (in) Chris J. päivämäärä, Database perusteellisesti: Relaatioteorian lääkäreille , O'Reilly,2005, 208  Sivumäärä ( ISBN  0596100124 )

Katso myös

Ulkoiset linkit