Ang relational data model ay isang natatanging diskarte sa pamamahala ng mga parameter gamit ang istraktura at wika ayon sa single order predicate logic. Una itong inilarawan noong 1969 ng English scientist na si Codd. Sa proyektong ito, ipinapakita ang lahat ng parameter bilang mga tuple na nakapangkat sa ilang partikular na relasyon.
Ang layunin ng relational data model…
Ang
…ay magbigay ng paraan ng pagpapahayag para sa pagtukoy ng mga modelo at query.
Direktang tinatandaan ng mga user kung anong impormasyon ang nilalaman ng database at kung anong teorya ang gusto nila mula rito. At hayaan din ang database management software na mag-asikaso sa paglalarawan ng mga istrukturang mag-iimbak nito. Mahalaga rin ang pamamaraan sa pagkuha ng impormasyon para sa pagtugon sa mga kahilingan.
Karamihan sa mga RDB ay gumagamit ng mga kahulugan ng data ng SQL at isang wika sa paghahanap. Ang mga system na ito ay nagpapatupad ng kung ano ang maaaring makita bilang isang engineering approximation sarelational model.
Ang isang talahanayan sa isang SQL database schema ay tumutugma sa isang predicate variable. Ang mga pangunahing hadlang at SQL query ay tumutugma sa mga predicate.
Gayunpaman, ang mga naturang database ay lumihis mula sa relational na modelo sa maraming detalye, at mahigpit na tinutulan ni Codd ang mga pagbabagong nagkokompromiso sa orihinal na mga prinsipyo.
Pangkalahatang-ideya
Ang pangunahing ideya ng modelo ng relational data ay ang paglalarawan ng buong database bilang isang hanay ng mga predicate para sa panghuling bahagi ng mga variable, na naglalarawan sa mga paghihigpit sa mga posibleng halaga at kanilang mga kumbinasyon. Ang nilalaman sa anumang naibigay na oras ay ang panghuling (lohikal) na modelo. Iyon ay, isang set ng mga relasyon, isa sa bawat predicate variable, upang ang lahat ng mga bahagi ay nasiyahan. Ito ang modelo ng relational data.
Mga Alternatibo
Ang iba pang mga modelo ay hierarchical at network system. Ang ilan sa kanila, gamit ang mga mas lumang arkitektura, ay sikat pa rin sa mga high capacity na data center. O sa mga kaso kung saan ang mga umiiral na sistema ay napakakumplikado at abstract na ang paglipat sa kanila gamit ang relational na modelo ay magiging napakamahal. At kapansin-pansin din ang mga bagong object-oriented database.
Pagpapatupad
Nagkaroon ng ilang mga pagtatangka upang makuha ang tunay na materyalisasyon ng RMD, na orihinal na tinukoy ni Codd at ipinaliwanag ng ibamga siyentipiko.
Ang modelo ng representasyon ng relational data ay ang pangunahing isa sa uri nito, na inilarawan sa mga pormal na termino sa matematika. Ang mga hierarchical at network base ay umiral bago ang relational system, ngunit ang kanilang mga pagtutukoy ay medyo impormal. Kapag natukoy na ang RMD, maraming mga pagtatangka ang ginawa upang ihambing at ihambing ang iba't ibang mga modelo - at ito ay humantong sa mas mahigpit na paglalarawan ng mga naunang sistema. Bagama't ang pamamaraang katangian ng mga interface ng pagmamanipula ng data para sa hierarchical at network database ay nilimitahan ang mga posibilidad para sa pormalisasyon.
Mga Tema
Ang pangunahing palagay tungkol sa konsepto ng relational data model ay ang lahat ng ito ay kinakatawan bilang isang mathematical na "p" - mga tipikal na relasyon, "Cn" - isang pairwise na relasyon, na isang subset sa produkto ng Cartesian ng ilang mga domain. Sa modelong matematikal, ang pangangatwiran tungkol sa naturang data ay isinasagawa sa isang two-valued predicate logic, na nangangahulugan na para sa bawat pangungusap ay mayroong dalawang posibleng pagsusuri: alinman sa totoo o mali (at walang pangatlong halaga, tulad ng hindi alam o hindi naaangkop., na ang bawat isa ay madalas na nauugnay sa konsepto ng 0). Pinoproseso ang data gamit ang calculus o algebra, na katumbas ng expressive power.
Mga uri ng data model, relational data model
Binibigyang-daan ng
RMD ang developer na lumikha ng pare-pareho, lohikal na pagtingin sa impormasyon. Ang lahat ng ito ay nakakamit sa pamamagitan ng pagsasama ng mga nakasaad na mga hadlang sa disenyo ng database, na karaniwang tinutukoy bilang ang lohikal na schema. Ang teorya ay upang bumuo ng isang prosesonormalisasyon ng modelo, kung saan ang isang disenyo na may ilang gustong katangian ay maaaring mapili mula sa isang hanay ng mga lohikal na katumbas na alternatibo. Sa mga plano sa pag-access at iba pang mga pagpapatupad at pagpapatakbo, ang mga detalye ay pinangangasiwaan ng DBMS engine at hindi makikita sa lohikal na modelo. Kabaligtaran ito sa karaniwang kasanayan kung saan ang pag-tune ng pagganap ay madalas na nangangailangan ng mga pagbabago sa logic function.
Ang pangunahing modelo ng relational data ay kumakatawan sa isang bloke ng gusali - ito ay isang domain o uri ng impormasyon, kadalasang binabawasan sa pinakamababa. Ang tuple ay isang nakaayos na hanay ng mga value ng attribute. At sila naman, ay magkapares ng pangalan at uri. Maaari itong maging scalar value o mas kumplikado.
Ang isang kaugnayan ay binubuo ng isang header at isang katawan
Ang una ay isang set ng mga attribute.
Ang katawan (na may ika-n na kaugnayan) ay isang set ng tuple.
Ang tangency header din ang paksa ng bawat istraktura.
Ang relational data model ay tinukoy bilang isang hanay ng mga n-tuple. Sa parehong matematika at MRD, ang isang set ay isang hindi nakaayos na koleksyon ng mga natatanging hindi nadobleng elemento, bagama't ang ilang DBMS ay nagpapataw ng pagkakasunod-sunod sa kanilang data. Sa matematika, ang isang tuple ay may isang order at nagbibigay-daan para sa pagdoble. E. F. Codd ang orihinal na nag-set up ng mga tuple gamit ang mathematical definition na ito.
Mamaya isa sa mga mahuhusay na ideya ni E. F. Codd ay ang paggamit ng mga pangalan ng katangian sa halip na mag-order ay magiging mas maginhawa (sa pangkalahatankaso) sa isang wika ng computer na nakabatay sa relasyon. Ang pahayag na ito ay kapaki-pakinabang pa rin ngayon. Bagaman nagbago ang konsepto, ang pangalang "tuple" ay hindi nabago. Ang isang agaran at mahalagang bunga ng pagkakaibang ito ay na sa relational na modelo ang produkto ng Cartesian ay nagiging commutative.
Ang talahanayan ay isang karaniwang visual na representasyon ng mga relasyon. Ang tuple ay katulad ng konsepto ng isang string.
Ang
Relvar ay isang pinangalanang variable ng ilang partikular na uri ng tangent kung saan sa lahat ng oras ay itinatalaga ang ilang kaugnayan ng ganoong uri, bagama't ang titig ay maaaring naglalaman ng mga null tuple.
Mga pangunahing kaalaman ng modelo ng relational data: ang lahat ng impormasyon ay kinakatawan ng mga halaga ng impormasyon sa mga relasyon. Alinsunod sa prinsipyong ito, ang relational base ay isang hanay ng mga relvar, at ang resulta ng bawat query ay kinakatawan bilang isang tangency.
Ang pagkakapare-pareho ng isang relational database ay hindi ipinapatupad ng mga panuntunang nakapaloob sa mga application na gumagamit nito, ngunit sa halip ay sa pamamagitan ng mga hadlang na idineklara bilang bahagi ng lohikal na schema at ipinapatupad ng DBMS para sa lahat ng mga application. Ang mga paghihigpit ay ipinahayag sa paggamit ng mga operator ng paghahambing na may kaugnayan, kung saan isa lamang ang subset (⊆), ayon sa teorya ay sapat. Sa pagsasagawa, maraming mga kapaki-pakinabang na shortcut ang inaasahang magagamit, kung saan ang mga susi ng kandidato at mga hadlang sa panlabas na mapagkukunan ang pinakamahalaga. Ito ang ibig sabihin ng relational data model.
Interpretasyon
Upang lubos na pahalagahan ang RMD, kailangang maunawaan ang nilalayong interpretasyonbilang isang relasyon.
Ang katawan ng isang pagpindot ay kung minsan ay tinatawag na extension nito. Ito ay dahil dapat itong bigyang-kahulugan bilang kumakatawan sa pagtaas ng ilang panaguri. Ito ang hanay ng mga totoong pangungusap na maaaring mabuo sa pamamagitan ng pagpapalit sa bawat libreng variable ng isang pangalan.
May isa-sa-isang sulat sa pagitan ng object-relational na mga modelo ng data. Ang bawat tuple ng katawan ng kaugnayan ay nagbibigay ng mga halaga ng katangian upang maipakita ang panaguri sa pamamagitan ng pagpapalit sa bawat isa sa mga libreng variable nito. Ang resulta ay isang pahayag na itinuturing na totoo dahil sa paglitaw ng isang tuple sa katawan ng kaugnayan. Sa kabaligtaran, ang bawat proseso na ang pamagat ay tumutugma sa pangalan ng relasyon ngunit hindi lumalabas sa katawan ay itinuturing na mali.
Ang pagpapalagay na ito ay kilala bilang closed world hypothesis. Madalas itong nilalabag sa mga praktikal na database, kung saan ang kawalan ng tuple ay maaaring mangahulugan na ang katotohanan ng kaukulang pangungusap ay hindi alam. Halimbawa, ang kawalan ng ilang partikular na termino ("John", "Spanish") sa Language Skills Chart ay maaaring hindi nangangahulugang isang patunay na ang isang batang lalaki na nagngangalang John ay hindi nagsasalita ng Espanyol.
Aplikasyon sa mga database, teorya ng normalisasyon
Ang paksa ng impormasyon na ginagamit sa isang tipikal na relational na RDM ay maaaring isang set ng mga integer, isang set ng mga string ng character na bumubuo sa mga petsa, o dalawang boolean na true at false, at iba pa. Ang kaukulang mga pangalan ng paksa para sa mga figure na ito ay maaaring mga string na may mga pangalan na "Index", "Gawin ang kinakailangang gawain","Oras", "Boolean" at iba pa at iba pa.
Gayunpaman, mahalagang maunawaan na hindi tinukoy ng relational theory kung aling mga uri ang dapat suportahan. At totoo nga, kasalukuyang inaasahan na ang mga probisyon ay magiging available sa mga custom na entity bilang karagdagan sa mga built-in na ibinigay ng system.
Attribute
Ito ang terminong ginamit sa teorya para sa karaniwang tinatawag na column. Katulad nito, ang talahanayan ay karaniwang ginagamit bilang kapalit ng teoretikal na terminong tangency (bagaman hindi ito magkasingkahulugan ng kaugnayan sa SQL). Ang istraktura ng data ng isang talahanayan ay tinukoy bilang isang listahan ng mga kahulugan ng column, bawat isa ay may natatanging pangalan ng column at ang uri ng mga value na pinapayagan para dito.
Ang halaga ng katangian ay isang entry sa isang partikular na lokasyon, gaya ng John Doe at 35.
Ang isang tuple ay karaniwang kapareho ng isang row, maliban sa SQL RDBMS, kung saan ang mga kahulugan ng mga column sa isang row ay inayos, ang mga tuple ay hindi pinaghihiwalay. Sa halip, ang bawat halaga ng kahulugan ay kinikilala lamang sa pamamagitan ng pangalan nito, hindi sa ordinal na posisyon nito sa tuple. Ang pangalan ng katangian ay maaaring Pangalan o Edad.
Attitude
Ito ay isang talahanayan ng kahulugan ng istraktura kasama ang hitsura ng data sa istrukturang iyon. Ang kahulugan ay ang header, at ang data sa loob nito ay ang katawan, isang hanay ng mga hilera. Ang variable ng relasyon ay karaniwang tinatawag na pangunahing talahanayan. Ang pamagat ng halagang itinalaga dito saanumang oras ay tumutugma sa tinukoy sa ibinigay na cell, at tumutugma ang katawan nito sa huling itinalaga dito, na humihiling ng ilang pahayag sa pag-update (karaniwang INSERT, UPDATE, o DELETE).
Set-theoretic formulation
Ang mga pangunahing konsepto sa relational na modelo ng mga relasyon ay ang mga pangalan at pangalan ng mga katangian. Kailangang irepresenta ang mga ito bilang mga string gaya ng "Tao" at "Pangalan" at kadalasang kakailanganing gumamit ng mga variable upang maabot ang mga ito. Ang isa pang pangunahing konsepto ay isang hanay ng mga atomic value na naglalaman ng kailangan at mahahalagang kahulugan gaya ng mga numero at string.