Entītiju veidi datu bāzē. Datu bāzes modeļa izstrāde "entītijas attiecību" izteiksmē. Attiecības starp entītijām

Sadzīves lietas

Entītija ir reāla vai abstrakta vienība, kas ir būtiska domēnam. Entītijai ir jābūt nosaukumam, kas izteikts ar lietvārdu vienskaitlī

Neformāls veids entītiju identificēšanai ir meklēt abstrakcijas, kas apraksta objektus, procesus, lomas un citus jēdzienus. Formāls veids, kā identificēt entītijas, ir analizēt priekšmetu jomas tekstuālos aprakstus, izvilkt lietvārdus un atlasīt tos kā abstrakcijas.

Entītijas gadījums ir šīs entītijas konkrētais gadījums. Piemēram, darbinieks Ivanovs var būt entītijas Darbinieks gadījums.

Katrai entītijai ir jābūt šādām īpašībām:

ir unikāls nosaukums;

ir viens vai vairāki atribūti, kas vai nu pieder entītijai, vai ir mantoti ar attiecību starpniecību;

ir viens vai vairāki atribūti, kas unikāli identificē katru entītijas gadījumu.

Atribūts - entītijas pazīme, kas ir nozīmīga aplūkojamai jomai un ir paredzēta, lai identificētu, klasificētu, kvantitatīvi noteiktu vai izteiktu entītijas stāvokli.

Ir šādi atribūtu veidi:

vienkāršs - sastāv no viena datu elementa;

salikts - sastāv no vairākiem datu elementiem;

nepārprotams - satur vienu vērtību vienai entītijai;

daudzvērtības - satur vairākas vērtības vienai entītijai;

neobligāts - var būt tukša (nenodefinēta) vērtība;

atvasināts - vērtība, kas iegūta no cita atribūta vērtības.

Unikāls identifikators ir atribūtu kopa, kuras vērtības apkopojumā ir unikālas katrai entītijas instancei. Jebkura atribūta noņemšana no identifikatora izjauc tā unikalitāti. Unikālie identifikatori diagrammā ir pasvītroti.

Katrai entītijai var būt neierobežots skaits attiecību ar citām entītijām.

Attiecības starp entītijām

Attiecības ir nosaukta saistība starp entītijām, kas ir nozīmīga attiecīgajam domēnam.

Attiecību pakāpe ir to entītiju skaits, kas piedalās attiecībās.

Saites jauda — saitē iesaistīto entītijas gadījumu skaits.

Atkarībā no jaudas vērtības savienojumam var būt viens no trim veidiem:

viens pret vienu (apzīmēts 1:1).

viens pret daudziem (apzīmēts ar 1:N).

daudzi pret daudziem (apzīmē ar M:N).

Viens pret vienu. Nozīmē, ka šādās attiecībās vienība ar vienu lomu vienmēr atbilst ne vairāk kā vienai entītijai ar citu lomu. Tā kā katras entītijas savienojuma pakāpe ir 1, tās ir savienotas ar vienu līniju.

Viens pret daudziem. Entītiju ar vienu lomu var saskaņot ar neierobežotu skaitu entītiju ar atšķirīgu lomu.

Daudzi pret daudziem. Šajā gadījumā katru no saistītajām entītijām var attēlot ar neierobežotu skaitu gadījumu.

3 . Datu modeļa sastāvdaļas

Entītija, entītijas definīcija, informācijas avoti par entītijām

Datu modelis – priekšmeta jomas konceptuāls apraksts – ir abstraktākais datu bāzes dizaina līmenis. Datu modelis sastāv no entītijām, atribūtiem, domēniem un attiecībām. Tālāk - par katru no elementiem sīkāk.

3.1. Entītijas

Entītija ir kaut kas, par kuru informācija ir jāsaglabā datu bāzē.

Veidojot datu bāzes, pietiek aprakstīt pašreizējo situāciju - un lielākā daļa lietvārdu un daži darbības vārdi būs entītiju kandidāti. Piemēram: "Klienti pērk preces. Darbinieki pārdod preces klientiem. Piegādātāji piegādā preces" - klienti, preces, darbinieki un piegādātāji ir subjekti. Darbības vārdi "pirkt" un "pārdot" arī ir entītijas (lai gan tie var būt viena un tā pati entītija, kas atšķiras no pircēja un pārdevēja viedokļa).

Veidojot datubāzi, galvenais informācijas avots par entītijām ir saruna ar klientu, lai izprastu viņa biznesa procesus. Papildus tiek analizēti biznesa procesos izmantotie standarta dokumenti: veidlapas, atskaites, instrukcijas utt. Pēc šāda saraksta saņemšanas ir nepieciešams pārbaudīt tā pilnīgumu un saskaņotību, kā arī identificēt dublikātus - identiskas entītijas, kuras sauc ar dažādiem vārdiem, un entītijas, kas faktiski ir atšķirīgas, bet ir aprakstītas ar vienu un to pašu terminu.

Entītijas var modelēt konkrētus jēdzienus (klienti, preces, zvani) un abstraktus (aģents ir atbildīgs par klientu, students tiek uzņemts kursā).

Atribūts.

Priekšmeta joma.

Datu bāze. Definīcija.

DBVS. Definīcija.

Datu bāze. Definīcija.

Trešā normālā forma. Definīcija. Piemērs.

Relāciju mainīgais R ir trešajā normālā formā tad un tikai tad, ja ir patiesi šādi nosacījumi:

R ir otrajā normālā formā.

· neviens bezatslēgas atribūts R neatrodas pārejošā funkcionālā atkarībā (t.i., atkarība netiek izteikta caur citu atribūtu) no potenciālās atslēgas R.

Relācijas R bezatslēgas atribūts ir atribūts, kas nepieder nevienai no R kandidātatslēgām.

Datu bāze- tas ir viens vai vairāki datu faili, kas paredzēti liela apjoma savstarpēji saistītas informācijas glabāšanai, modificēšanai un apstrādei, kas sistematizēti tā, lai šos materiālus varētu atrast un apstrādāt, izmantojot elektronisko datoru (datoru)

Datu bāzes pārvaldības sistēma (DBVS) ir programmatūra, kas lietotājiem ļauj definēt, izveidot un uzturēt datu bāzi un apstrādā datu bāzes izsaukumus no galalietotāju lietojumprogrammām.

Datu bāze- automatizēta informācijas sistēma datu centralizētai uzglabāšanai un kolektīvai izmantošanai. Datu banka ietver vienu vai vairākas datu bāzes, datu bāzes direktoriju, DBVS, kā arī vaicājumu un lietojumprogrammu bibliotēkas.

Priekšmeta joma ir daļa no reālās pasaules, kas jāpēta, lai izveidotu datu bāzi vadības procesa automatizēšanai.

Atribūts ir mazākā datu struktūras vienība. Katram elementam tiek piešķirts unikāls nosaukums, kad tiek izveidota datu bāze. Apstrādes laikā tas tiek minēts ar šo nosaukumu.

Esence- jebkurš konkrēts vai abstrakts objekts apskatāmajā priekšmeta jomā. Entītijas ir pamata informācijas veidi, kas tiek glabāti datu bāzē (relāciju datu bāzē katrai entītijai tiek piešķirta tabula).

Uzskaitiet DBVS funkcijas

Galvenās DBVS funkcijas:

1) Izveidotās datu bāzes struktūras noteikšana, tās inicializācija un sākotnējā ielāde.

2) Nodrošināt lietotājiem iespēju manipulēt ar datiem (nepieciešamo datu atlase, aprēķinu veikšana, ievades/izvades saskarnes izstrāde, vizualizācija).

3) Datu loģiskās un fiziskās neatkarības nodrošināšana.

4) Datu bāzes loģiskās integritātes aizsardzība - datu ticamība var tikt pārkāpta, tos ievadot datu bāzē vai veicot prettiesiskas datu apstrādes procedūru darbības, kas saņem un ievada datu bāzē nepareizus datus. Lai palielinātu sistēmas datu ticamību, tiek deklarēti tā sauktie integritātes ierobežojumi.



5) Fiziskās integritātes aizsardzība - datu bāzes atkopšanas rīki (transakcijas).

6) Lietotāju atļauju pārvaldība piekļūt datu bāzei.

7) Vairāku lietotāju darba sinhronizācija.

8) Uzglabāšanas vides resursu pārvaldība - DBVS piešķir atmiņas resursus jauniem datiem, pārdala atbrīvoto atmiņu, organizē pieprasījumu rindas uz ārējo atmiņu utt.

9) Atbalsts sistēmas personāla darbībai

Termins "attiecības" nozīmē "uz attiecībām balstīta". Relāciju datu bāze sastāv no entītijām (tabulām), kurām ir kāda saistība viena ar otru. Nosaukums cēlies no angļu vārda relation.
Datu bāzes projektēšana sastāv no divām galvenajām fāzēm: loģiskās un fiziskās modelēšanas.
Loģiskās modelēšanas laikā jūs apkopojat prasības un izstrādājat datu bāzes modeli, kas ir neatkarīgs no konkrētas DBVS (relāciju datu bāzes pārvaldības sistēmas). Tas ir kā jūsu mājas rasējumu veidošana. Varēja pārdomāt un uzzīmēt visu: kur būs virtuve, guļamistabas, viesistaba. Bet tas viss ir uz papīra un izkārtojumos.
Fiziskās modelēšanas laikā jūs izveidojat modeli, kas ir optimizēts konkrētai lietojumprogrammai un DBVS. Tieši šis modelis tiek īstenots praksē. Ja atgriezīsimies pie mājas no iepriekšējās rindkopas, šajā posmā jums būs kaut kur jāceļ māja - jānes baļķi, ķieģeļi ...

Datu bāzes projektēšanas process sastāv no šādām darbībām:

  • informācijas vākšana;
  • entītiju definīcija;
  • atribūtu noteikšana katrai entītijai;
  • attiecību noteikšana starp entītijām;
  • normalizācija;
  • transformācija uz fizisko modeli;
  • datu bāzes izveide.

Pirmie 5 posmi veido loģiskās projektēšanas fāzi, bet atlikušie divi veido fiziskās modelēšanas fāzi.

Loģiskā fāze

Loģiskā fāze sastāv no vairākiem posmiem. Tie visi ir apspriesti tālāk.

Savākšanas prasības

Šajā posmā jums precīzi jānosaka, kā datu bāze tiks izmantota un kāda informācija tajā tiks glabāta. Apkopojiet pēc iespējas vairāk informācijas par to, ko sistēmai vajadzētu un ko nevajadzētu darīt.

Entītijas definīcija

Šajā posmā jums ir jādefinē entītijas, no kurām sastāvēs datu bāze.

Entītija ir objekts datu bāzē, kas glabā datus. Vienība var būt kaut kas reāls (māja, cilvēks, objekts, vieta) vai abstrakta lieta (bankas darījums, uzņēmuma nodaļa, autobusa maršruts). Fiziskajā modelī entītiju sauc par tabulu.

Entītijas veido atribūti (tabulas kolonnas) un ieraksti (rindas tabulā).

Parasti datu bāzes sastāv no vairākām primārajām entītijām, kas saistītas ar lielu skaitu pakārtotu entītiju. Galvenās entītijas sauc par neatkarīgām: tās nav atkarīgas no nevienas citas entītijas. Pakārtotās entītijas sauc par atkarīgām: lai viena no tām pastāvētu, ir jāpastāv ar to saistītajai galvenajai tabulai.
Diagrammās entītijas parasti tiek attēlotas kā taisnstūri. Entītijas nosaukums ir norādīts taisnstūra iekšpusē:

Jebkurai tabulai ir šādas īpašības:

  • tajā nav identisku līniju;
  • visām tabulas kolonnām (atribūtiem) jābūt ar dažādiem nosaukumiem;
  • elementiem vienā kolonnā ir vienāds veids (virkne, numurs, datums);
  • tabulas rindu secība var būt patvaļīga.

Šajā posmā jums ir jāidentificē visas informācijas kategorijas (entītijas), kas tiks saglabātas datu bāzē.

Atribūtu definīcija

Atribūts apzīmē rekvizītu, kas apraksta entītiju. Atribūti bieži ir cipars, datums vai teksts. Visiem atribūtā saglabātajiem datiem ir jābūt viena veida un vienādiem rekvizītiem.
Fiziskajā modelī atribūtus sauc par kolonnām.
Pēc entītiju definēšanas ir jādefinē visi šo entītiju atribūti.
Diagrammās atribūti parasti tiek uzskaitīti entītijas taisnstūrī. Attēlā jūs atradīsiet datu bāzes "Mājas" piemēru, tikai tagad šīs datu bāzes entītijām ir definēti daži atribūti.


Katrs atribūts nosaka datu veidu, lielumu, atļautās vērtības un citus noteikumus. Tie ietver obligātos, mainīgos un unikalitātes noteikumus.
Obligātais noteikums nosaka, vai atribūts ir obligāta entītijas daļa. Ja atribūts ir neobligāta entītijas daļa, tas var būt NULL, pretējā gadījumā nē.
Jums arī jānosaka, vai atribūts ir mainīgs. Dažas atribūtu vērtības nevar mainīties pēc ieraksta izveides.
Visbeidzot, jums ir jānosaka, vai atribūts ir unikāls. Ja tā, tad atribūtu vērtības nevar atkārtot.

Atslēgas

Atslēga ir atribūtu kopa, kas unikāli identificē ierakstu. Taustiņi ir sadalīti divās klasēs: vienkāršas un saliktas.
Vienkārša atslēga sastāv tikai no viena atribūta. Piemēram, datubāzē "Valsts pilsoņu pases" pases numurs būs vienkārša atslēga: galu galā nav divu pasu ar vienādu numuru.
Saliktā atslēga sastāv no vairākiem atribūtiem. Tajā pašā datubāzē "Valsts pilsoņu pases" var būt salikta atslēga ar šādiem atribūtiem:
uzvārds, vārds, uzvārds, dzimšanas datums. Šis ir tikai piemērs, jo šī saliktā atslēga teorētiski nenodrošina garantētu ieraksta unikalitāti.
Ir arī vairāki atslēgu veidi, kas ir aprakstīti tālāk.

Iespējamā atslēga

Kandidāta atslēga ir jebkura atribūtu kopa, kas unikāli identificē ierakstu tabulā. Kandidāta atslēga var būt vienkārša vai salikta.
Katrai entītijai ir jābūt vismaz vienai iespējamai atslēgai, lai gan var būt vairākas iespējamās atslēgas. Nevienam no primārās atslēgas atribūtiem nevar būt NULL vērtība.
Kandidāta atslēgu sauc arī par aizstājējatslēgu.

Primārās atslēgas

Primārā atslēga ir atribūtu kopa, kas unikāli identificē ierakstu tabulā (entītijā). Viena no iespējamajām atslēgām kļūst par primāro atslēgu. Diagrammās primārās atslēgas bieži tiek parādītas virs galvenā atribūtu saraksta vai izceltas ar speciālajām rakstzīmēm. Attēlā redzamajai entītijai ir gan galvenie, gan regulārie atribūti.

Alternatīvās atslēgas

Jebkuru iespējamo atslēgu, kas nav primārā atslēga, sauc par alternatīvo atslēgu. Entītijai var būt vairākas alternatīvas atslēgas.

Ārējās atslēgas

Ārējā atslēga ir atribūtu kopums, kas attiecas uz citas entītijas primāro vai alternatīvo atslēgu. Ja ārējā atslēga nav saistīta ar primāro entītiju, tajā var būt tikai nulles vērtības. Ja atslēga ir arī salikta, tad visiem ārējās atslēgas atribūtiem jābūt nedefinētiem.
Diagrammās atribūti, kas apvienoti ārējās atslēgās, tiek apzīmēti ar īpašiem simboliem. Attēlā redzamas divas saistītas entītijas (Mājas un to īpašnieki) un to veidotās ārējās atslēgas (galu galā vienai personai var piederēt vairākas mājas).

Taustiņi ir loģiskas konstrukcijas, nevis fiziski objekti. Relāciju datu bāzēm ir mehānismi atslēgu glabāšanai.

Attiecību definēšana starp entītijām

Relāciju datu bāzes ļauj apvienot informāciju, kas pieder dažādām entītijām.
Attiecības ir situācija, kurā viena entītija atsaucas uz otras entītijas primāro atslēgu. Tāpat kā, piemēram, entītijas Māja un Meistars iepriekšējā attēlā.
Attiecības tiek definētas bāzes projektēšanas procesā. Lai to izdarītu, jums jāanalizē entītijas un jāidentificē starp tām pastāvošās loģiskās attiecības.
Attiecību veids nosaka ar citu entītijas ierakstu saistīto entītijas ierakstu skaitu. Attiecības ir sadalītas trīs galvenajos veidos, kas ir aprakstīti tālāk.

Viens pret vienu

Katrs pirmās entītijas ieraksts atbilst tikai vienam ierakstam no otrās entītijas. Un katrs otrās entītijas ieraksts atbilst tikai vienam ierakstam no pirmās entītijas. Piemēram, ir divas entītijas: cilvēki un dzimšanas apliecības. Un vienai personai var būt tikai viena dzimšanas apliecība.

Viens pret daudziem

Katrs pirmās entītijas ieraksts var atbilst vairākiem otrās entītijas ierakstiem. Tomēr katrs otrās entītijas ieraksts atbilst tikai vienam ierakstam no pirmās entītijas. Piemēram, ir divas entītijas: pasūtījums un pasūtījuma vienums. Un vienā pasūtījumā var būt daudz preču.

daudzi pret daudziem

Katrs pirmās entītijas ieraksts var atbilst vairākiem otrās entītijas ierakstiem. Tomēr katrs otrās entītijas ieraksts var atbilst vairākiem pirmās entītijas ierakstiem. Piemēram, ir divas entītijas: Autors un Grāmata. Viens autors var uzrakstīt daudzas grāmatas. Taču grāmatai var būt vairāki autori.
Saskaņā ar obligāto attiecību kritēriju tiek iedalītas obligātās un neobligātās.

  • Obligāta saistība nozīmē, ka katram ierakstam no pirmās entītijas ir jābūt saistītiem ierakstiem otrajā entītijā.
  • Neobligāta relācija nozīmē, ka ierakstam no pirmās entītijas var nebūt ieraksta otrajā entītijā.

Normalizācija

Normalizācija ir lieko datu noņemšanas process no datu bāzes. Katrs datu elements ir jāglabā datu bāzē vienā un tikai vienā eksemplārā. Pastāv piecas izplatītas normalizācijas formas. Parasti datu bāze tiek samazināta līdz trešajai parastajai formai.
Normalizācijas procesā tiek veiktas noteiktas darbības, lai noņemtu liekos datus. Normalizācija uzlabo veiktspēju, paātrina kārtošanu un indeksu veidošanu, samazina indeksu skaitu uz vienu entītiju un paātrina ievietošanas un atjaunināšanas darbības.
Normalizēta datu bāze parasti ir elastīgāka. Pārveidojot vaicājumus vai saglabātos datus, normalizētā datu bāzē parasti ir nepieciešams mazāk izmaiņu, un izmaiņām ir mazāk seku.

Pirmā normālā forma

Lai pārveidotu entītiju pirmajā parastajā formā, jums ir jānovērš vērtību grupu dublikāti un jānodrošina, lai katrs atribūts satur tikai vienu vērtību, vērtību saraksti nav atļauti.
Citiem vārdiem sakot, katrs entītijas atribūts ir jāsaglabā tikai vienā instancē.
Piemēram, attēlā Mājas entītija nav normalizēta. Tajā ir vairāki atribūti datu glabāšanai par mājas īpašniekiem (Mājas vienība neatbilst pirmajai parastajai formai).

Lai Mājas entītiju izveidotu pirmajā normālā formā, ir jānoņem atkārtotās vērtību grupas, tas ir, jānoņem atribūti Īpašnieks 1-3, ievietojot tos atsevišķā entītijā. Rezultāts (Entity House samazināts uz pirmo parasto formu):

Otrā normālā forma

Tabula otrajā normālā formā satur tikai datus, kas uz to attiecas. Neatslēgas entītiju atribūtu vērtības ir atkarīgas no primārās atslēgas. Precīzāk, atribūti ir atkarīgi no primārās atslēgas, no visas primārās atslēgas un tikai no primārās atslēgas.
Vienībām jābūt pirmajā parastajā formā, lai tās atbilstu otrajai parastajai formai.
Piemēram, vienībai Māja attēlā ir atribūts Cena par litru benzīna, kam nav nekāda sakara ar mājām. Šis atribūts ir noņemts (vai arī varat to pārvietot uz citu entītiju). Un arī mēs pārvietojam atribūtu Mayor uz atsevišķu vienību - šis atribūts ir atkarīgs no pilsētas, kurā māja atrodas, nevis no mājas.
Attēlā parādīta būtības Māja otrajā normālā formā (būtības māja reducēta uz otro normālo formu).

trešā normālā forma

Trešā parastā forma izslēdz atribūtus, kas nav atkarīgi no visas atslēgas. Jebkura entītija, kas atrodas trešajā normālā formā, ir arī otrajā normālā formā. Šī ir visizplatītākā datu bāzes forma.
Trešajā parastajā formā katrs atribūts ir atkarīgs no atslēgas, no visas atslēgas un tikai no atslēgas.
Piemēram, attēlā redzamajai vienībai Mājas īpašnieks ir Zodiaka zīmes atribūts, kas ir atkarīgs no mājas īpašnieka dzimšanas datuma, nevis no īpašnieka vārda (kas ir atslēga).
Lai nodotu entītiju Mājas īpašnieks, jums ir jāizveido entītija Zodiaka zīmes un jāpārnes uz turieni atribūts Zodiaka zīme (Mājas entītija, samazināta uz trešo parasto formu):

Ierobežojumi

Ierobežojumi ir noteikumi, ko nodrošina datu bāzes pārvaldības sistēma. Ierobežojumi nosaka vērtību kopu, ko var ievadīt kolonnā vai kolonnās.
Piemēram, jūs nevēlaties, lai pasūtījuma summa jūsu ļoti foršajā veikalā būtu mazāka par 500 rubļiem. Jūs vienkārši iestatāt ierobežojumu kolonnā Pasūtījuma summa.

Uzglabātās procedūras

Saglabātās procedūras ir iepriekš kompilētas procedūras, kas tiek glabātas datu bāzē. Saglabātās procedūras var izmantot, lai definētu uzņēmējdarbības noteikumus, un tās var izmantot, lai veiktu sarežģītākus aprēķinus, nevis tikai ierobežojumus.
Saglabātās procedūras var saturēt programmu plūsmas loģiku, kā arī datu bāzes vaicājumus. Viņi var ņemt parametrus un atgriezt rezultātus kā tabulas vai atsevišķas vērtības.
Saglabātās procedūras ir tāpat kā parastās procedūras vai funkcijas jebkurā programmā.

PIEZĪME
Saglabātās procedūras atrodas datu bāzē un darbojas datu bāzes serverī. Tie parasti ir ātrāki nekā SQL priekšraksti, jo tie tiek glabāti kompilētā veidā.

Datu ticamība

Sakārtojot datus tabulās un definējot attiecības starp tām, varam pieņemt, ka ir izveidots modelis, kas pareizi atspoguļo biznesa vidi. Tagad mums ir jānodrošina, lai datubāzē ievadītie dati sniegtu pareizu priekšstatu par lietas stāvokli. Citiem vārdiem sakot, jums ir jāievieš uzņēmējdarbības noteikumi un jāuztur datu bāzes integritāte.
Piemēram, jūsu uzņēmums nodarbojas ar grāmatu piegādi. Maz ticams, ka jūs pieņemsit pasūtījumu no nezināma klienta, jo tad jūs pat nevarēsit piegādāt pasūtījumu. Līdz ar to biznesa noteikums: pasūtījumi tiek pieņemti tikai no klientiem, kuru informācija ir datu bāzē.
Datu pareizību relāciju datu bāzēs nodrošina noteikumu kopums. Datu integritātes noteikumi iedalās četrās kategorijās.

  • Vienības integritāte- katram entītijas ierakstam ir jābūt unikālam identifikatoram un jāietver dati. Galu galā jums ir kaut kā jānošķir visi šie ieraksti datu bāzē.
  • Atribūtu integritāte- katrs atribūts pieņem tikai derīgas vērtības. Piemēram, pirkuma summa noteikti nevar būt mazāka par nulli.
  • Atsauces integritāte- noteikumu kopums, kas nodrošina primāro un ārējo atslēgu loģisko konsekvenci ierakstu ievietošanas, atjaunināšanas un dzēšanas laikā. Atsauces integritāte nodrošina, ka katrai ārējai atslēgai ir atbilstoša primārā atslēga. Ņemsim iepriekšējo piemēru ar entītijām Mājas īpašnieks un māja. Pieņemsim, ka jūs esat Vasja Ivanovs un jums pieder māja. Jūs nomainījāt savu uzvārdu uz Sidorovs un veicāt attiecīgās izmaiņas mājas īpašnieka entītijā. Noteikti jūs vēlētos, lai jūsu māja arī turpmāk būtu jūsu ar jauno vārdu, nevis piederētu kādam Vasjam Ivanovam, kura vairs nav.
  • Pielāgoti integritātes noteikumi- jebkuri integritātes noteikumi, kas nepieder nevienai no uzskaitītajām kategorijām.

trigeri

Sprūda ir saglabātas procedūras analogs, kas tiek izsaukts automātiski, kad mainās tabulas dati.
Trigeri ir spēcīgs mehānisms datu bāzes integritātes uzturēšanai. Trigeri tiek izsaukti pirms vai pēc datu izmaiņām tabulā.
Ar trigeru palīdzību jūs varat ne tikai atsaukt šīs izmaiņas, bet arī mainīt datus jebkurā citā tabulā.
Piemēram, pieņemsim, ka veidojat interneta forumu un vēlaties pārliecināties, ka foruma sarakstā tiek rādīta jaunākā foruma ziņa. Protams, jūs varat saņemt ziņojumu no entītijas Forum Posts, taču tas palielinās jūsu pieprasījuma sarežģītību un tā izpildes laiku. Vieglāk ir pievienot trigeri entītijai Foruma ziņas, kas ieraksta pēdējo entītijai Forums pievienoto ziņu atribūtā Pēdējā ziņa. Tas ievērojami vienkāršos vaicājumu.

Biznesa noteikumi

Uzņēmējdarbības noteikumi nosaka ierobežojumus, kas tiek uzlikti datiem atbilstoši uzņēmuma prasībām (tiem, kuriem veidojat bāzi). Uzņēmējdarbības noteikumi var sastāvēt no darbību kopas, kas nepieciešamas konkrēta uzdevuma izpildei, vai arī tās var būt vienkārši pārbaudes, kas pārbauda ievadīto datu pareizību. Uzņēmējdarbības noteikumi var ietvert datu integritātes noteikumus. Atšķirībā no citiem noteikumiem, to galvenais mērķis ir nodrošināt, ka biznesa darījumi tiek veikti pareizi.
Piemēram, uzņēmumā Very Tough Guys var būt ierasts, ka dienesta lietošanai tiek iegādātas tikai baltas, zilas un melnas automašīnas.
Uzņēmuma transportlīdzekļu entītijas atribūta Transportlīdzekļa krāsa biznesa noteikums būtu tāds, ka transportlīdzeklis var būt tikai balts, zils vai melns.
Lielākā daļa DBVS nodrošina līdzekļus, lai:

  • norādīt noklusējuma vērtības;
  • pārbaudīt datus pirms to ievadīšanas datu bāzē;
  • uzturēt attiecības starp tabulām;
  • nodrošināt vērtību unikalitāti;
  • saglabāto procedūru glabāšanai tieši datu bāzē.

Visas šīs funkcijas var izmantot, lai ieviestu biznesa noteikumus datu bāzē.

Fiziskais modelis

Nākamais solis pēc loģiskā modeļa izveides ir fiziskā modeļa izveide. Fiziskais modelis ir datu bāzes praktiskā īstenošana. Fiziskais modelis nosaka visus objektus, kas jums ir jāīsteno.
Pārejot no loģiskā modeļa uz fizisku entītiju, tie tiek pārvērsti tabulās, bet atribūti — kolonnās.
Attiecības starp entītijām var pārveidot par tabulām vai atstāt kā ārējās atslēgas.
Primārās atslēgas tiek pārveidotas par primārās atslēgas ierobežojumiem. Iespējamās atslēgas ir saistītas ar unikalitātes ierobežojumiem.

Denormalizācija

Denormalizācija- tā ir apzināta bāzes struktūras maiņa, kas pārkāpj parasto formu noteikumus. Parasti tas tiek darīts, lai uzlabotu datu bāzes veiktspēju.
Teorētiski vienmēr jātiecas uz pilnībā normalizētu bāzi, taču praksē pilnībā normalizēta bāze gandrīz vienmēr nozīmē veiktspējas kritumu. Pārmērīga datu bāzes normalizēšana var izraisīt to, ka katru reizi, kad tiek izgūti dati, var piekļūt vairākām tabulām. Parasti vaicājumā ir jāpiedalās četrām vai mazāk tabulām.
Standarta denormalizācijas metodes ir: vairāku tabulu apvienošana vienā, to pašu atribūtu saglabāšana vairākās tabulās un kopsavilkuma vai aprēķināto datu glabāšana tabulā.

Pirms pāris gadiem starp manām citām aktivitātēm bija tiešsaistes nodarbības par loģiskās datu bāzes struktūras un SQL valodas veidošanas pamatiem. Šobrīd nodarbības nevadu, bet paši ieraksti palika, tāpēc nolēmu tos ievietot, kāpēc lai tas labais būtu jātērē? 🙂

Šodien mēs runāsim par entītiju attiecību modeli jeb entītiju attiecību modeli.

Teorija

Entity-relationship modelis jeb ER modelis ir augsta līmeņa konceptuāls datu modelis, kas tika izstrādāts, lai vienkāršotu datu bāzes struktūru projektēšanas uzdevumu.

Šis modelis ir jēdzienu kopums, kas apraksta datu bāzes struktūru kā entītiju, atribūtu un attiecību kopu. Šāda datu modeļa izstrādes galvenais mērķis ir radīt lietotāja priekšstatu par datiem un vienoties par lielu skaitu tehnisko aspektu, kas saistīti ar datu bāzes dizainu. Īpaši jāatzīmē, ka konceptuālais datu modelis nav atkarīgs no konkrētās DBVS vai aparatūras platformas, kas tiek izmantota datu bāzes ieviešanai.

"Entītijas attiecību" diagrammu mērķis ir izveidot precīzu un pilnīgu reālās mācību jomas (SbD) attēlojumu, kas vēlāk tiek izmantots kā informācijas avots automatizēto informācijas apstrādes sistēmu (DB ASOI) datu bāzes veidošanai.

Šai ObD diagrammai vai konceptuālajam modelim jāatbilst šādām prasībām:

  • Nodrošiniet atbilstošu SbA displeju;
  • Prezentēt valodā, kas ir saprotama gan nākamajiem ASOI lietotājiem, gan datu bāzes izstrādātājiem;
  • Satur informāciju par ObD, kas ir pietiekama turpmākai datu bāzes projektēšanai (loģisko un fizisko modeļu izstrādei);
  • Garantēt nepārprotamu ObA modeļa interpretāciju vai interpretāciju.

Šī modeļa galvenie jēdzieni ir jēdzieni entītija, atribūts un attiecības.

BŪTĪBA ir reālās pasaules objektu kopums ar vienādām īpašībām. Entītiju raksturo neatkarīga esamība, un tā var būt objekts ar fizisku (vai reālu) eksistenci vai objekts ar konceptuālu (vai abstraktu) esamību.

Entītija ir parādības vai procesa (darījuma vai pieprasījuma) galvenais saturs, par kuru ir jāievāc informācija, un tas ir informācijas vākšanas mezglpunkts. Vienība attiecas uz viendabīgu objektu vai lietu kopumu. Katru entītiju identificē pēc nosaukuma un rekvizītu (atribūtu) saraksta. Entītija var būt persona, vieta, lieta utt., par kuru informācija ir jāglabā datu bāzē.

Prakse

PIEMĒRS. Tēmas apgabals " Biļešu rezervēšana kinoteātrī". Kinoteātrī tiek demonstrētas filmas, uz kurām biļetes var iegādāties izrādes dienā vai rezervēt iepriekš. Datu bāzē ir informācija par visiem kino seansiem konkrētajā kinoteātrī, ieskaitot vecos. Katrai filmas seansam ir sava maksa, t.i. biļetes uz vienu un to pašu filmu, bet dažādos laikos var atšķirties pēc cenas. Filmas seanss sastāv no Filmas, par kuru informācija arī tiek glabāta datubāzē.

Profesionāļiem Biļešu rezervēšana kinoteātrī” entītijas būs šādi jēdzieni:

Filmu demonstrēšana

Filmas

Skatītājs

Biļete

Rezervēšana

Cena

Grafiski entītiju attiecību diagrammās entītijas tiek attēlotas kā taisnstūri:

ATTRIBŪTS tas ir līdzeklis, ar kuru tiek definētas entītijas vai attiecības īpašības. Atribūts ir entītijas nosaukta īpašība. Atribūta nosaukumam ir jābūt unikālam konkrētai entītijai, taču tas var būt vienāds dažādām entītijām.

Konkrēto entītijas atribūtu kopu nosaka uzdevumi, kuros tie tiek izmantoti. Piemēram, ObA entītijas “Biļešu pasūtīšana kinoteātrī” var aprakstīt, izmantojot šādu atribūtu kopu:

Filmu demonstrēšana(Filmas seansa numurs, filmas numurs, izrādīšanas datums, izmaksu numurs);

Filma(Filmas numurs, nosaukums, ilgums, īss apraksts);

Skatītājs(skatītāja numurs, pilns vārds, dzimšanas datums);

Biļete(Skatītāju skaits, Filmas seansa numurs, Biļešu cena);

Rezervēšana(auditora numurs, pārbaudes numurs, rezervācijas datums);

Cena(Izmaksu numurs, Skrīninga numurs, izmaksas).

Grafiski entītijas atribūti tiek attēloti kā norādes, kurās ir norādīts atribūtu nosaukumu saraksts. Piemēram:

Trekns slīpraksts un pasvītrojums apzīmē primārās atslēgas — entītijas atribūtu, kas to unikāli raksturo. Pasvītrojums apzīmē ārējās atslēgas – atribūtus, kas unikāli raksturo entītijas, uz kurām tās attiecas.

SAVIENOJUMS ir attiecības starp divu (vai vairāku) dažādu entītiju gadījumiem. Attiecību mehānisms tiek izmantots, lai definētu attiecības starp entītijām ObA. Turklāt pastāv attiecības starp atsevišķas entītijas atribūtiem (kas jāņem vērā, veidojot loģiskos modeļus).

Katrai saitei tiek piešķirts nosaukums, kas raksturo tās funkciju. Attiecībām ir tādas pazīmes kā savienojuma nosaukums, kardinalitātes indekss, līdzdalības pakāpe, savienojuma pakāpe, savienojuma pastāvēšanas laiks un citi.

Attiecību nosaukumam ir jābūt noteiktai nozīmei, lai būtu vieglāk saprast, kā entītijas ir saistītas. Piemēram, attiecības starp entītijām Skatītājs un Biļete var definēt kā "Pirkt".

Rombu izmanto, lai grafiski attēlotu attiecības entītiju attiecību diagrammās. Romba iekšpusē ir definēts savienojuma nosaukums, un entītijas, kas piedalās šajā savienojumā, ir savienotas, izmantojot līnijas.

Attiecību kardinalitātes rādītājs (viennozīmības raksturlielums) norāda attiecību pakāpi starp entītijām un apraksta iespējamo attiecību skaitu katrai no iesaistītajām entītijām:

  • viens pret vienu (1:1);
  • viens pret daudziem (1:N);
  • daudzi pret daudziem (N:M).