Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Motivacija normalnog oblika Boyce-Codd. Prijelaz sa ER-modela na relacijski

Motivacija normalnog oblika Boyce-Codd. Prijelaz sa ER-modela na relacijski

Dekompozicija shema odnosa

Jedan od načina da se proizvoljni odnos svede na formu normalnih oblika (osim za 1 NF) je dekompozicija relacija.

Dekompozicija sheme relacija R je njena zamjena skupom shema r=(R 1 , R 2 , ... , RK), gdje su R i Ì R i R i takvi da su R 1 ÈR 2 È... ÈR K = R, ovdje nije potrebno da je R i Ç R j =Æ, iako je to dozvoljeno.

Implementacija dekompozicije dovodi do toga da će novodobijena relacija biti projekcije originalne relacije na nove sheme relacija iz skupa r.

Prije nego što izvršite dekompoziciju, morate biti sigurni da će spajanje novih relacija dati originalnu relaciju.

Dizajn baze podataka uključuje izgradnju konceptualnih i logičkih šema, kao i rješavanje niza problema, od kojih je najvažniji problem prikazivanja i ispravnog održavanja semantičke baze podataka (problem integriteta).

Problem integriteta se odnosi na osiguranje pouzdanosti podataka u odnosu na moguće hitne slučajeve i racionalno korišćenje računarskih resursa za obezbeđivanje visoke efikasnosti interakcije sa bazom podataka.Efikasnost podrazumeva obezbeđivanje potrebne količine skladištenja informacija i vremena interakcije sa bazom podataka.

Integritet u bazi podataka se odražava izgradnjom logičke šeme.

Logički dijagram izraženo terminima objekata ili entiteta i veze između njih. Veze mogu se tumačiti i kao predmeti različite prirode, iu tom pogledu, i suština i povezanost u relacioni modeli izražene na isti način kao i omjeri. U ovom slučaju se govori o objektima – entitetima i objektima – odnosima. Skup relacija koji čine bazu podataka i koji ovise jedan o drugom odražava semantiku (značenje) podataka u predmetna oblast.

Ako stanje baze podataka ne odgovara semantici odnosa između podataka, onda se ovaj fenomen naziva kršenje integriteta podataka ili baze podataka.

Da bi se osigurao integritet podataka, potrebno je osigurati integritet objekata i integritet referenci na te objekte. Osim toga, objekti u bazi podataka moraju biti jedinstveni (neponavljajući) i prepoznatljivi, a reference na objekte ne smiju postojati bez objekata.

Pored prirodnih ograničenja koja ne ovise o određenoj aplikaciji, integritet baze podataka određen je ograničenjima povezanim s specifičnu primjenu. ograničenja ove vrste se nazivaju ograničenja integriteta aplikacije. Oni su izraženi kao skup iskaza koji obuhvataju način na koji se podaci koriste u određenoj predmetnoj oblasti.

Ograničenja aplikacija se dijele na:

Statička ograničenja i prijelazna ograničenja;

Ograničenja za torke i skupove;



Odgođena i neposredna ograničenja integriteta.

· Statičke granice - ona ograničenja koja su zadovoljena bez obzira na stanje baze podataka.

Pozivaju se ograničenja postavljena između stare i nove vrijednosti atributa tranziciona ograničenja.

Primjer : pri ažuriranju vrijednosti atributa “pritisak” nova vrijednost ne bi se trebala razlikovati od stare za više od 20%.

· Ograničenja za tuple- ona ograničenja za koja se provjera njihovog ispunjenja vrši korištenjem samo jedne tuple relacije.

Poseban slučaj takvog ograničenja je ograničenje atributa.

· Ograničenje za setove - ako predstavljaju ograničenje na neku konačnu vrijednost dobivenu kao rezultat korištenja skupa torki.

Primjer : pri mjerenju temperature, sljedeća vrijednost ne bi se trebala razlikovati od pokretnog prosjeka Mx (trenutnog matematičkog očekivanja) za neku vrijednost e. Sve vrijednosti koje nisu uključene u raspon [ M x - e, M x + e] se odbacuju.

· Trenutna ograničenja nazivaju se one koje omogućavaju moguće provjere njihovog izvršenja istovremeno sa promjenom vrijednosti podataka u odnosu.

· Odgođena ograničenja nazivaju se takva ograničenja za koja provjera njihovog ispunjenja ima smisla nakon završetka izvršenja sljedećeg skupa operacija.

Za odloženo ograničenje, relevantan je sljedeći koncept:

· Logički element posao - kontinuirano upravljanje podacima, u kojem se baza podataka prenosi iz jednog konzistentnog stanja u drugo konzistentno stanje. Ova tehnika se naziva i transakcija.

Koncept transakcije je usko povezan sa pouzdanošću podataka. Tokom izvršenja transakcije može doći do kvarova hardvera ili softvera. Ako transakcija nije dovršena kao rezultat kvarova, tada je narušen integritet baze podataka. Da biste osigurali integritet baze podataka s odgođenim ograničenjima, koristite metode vraćanja nazad. Njihova suština je da se započeta, ali nedovršena transakcija poništava, dok se baza podataka prenosi u početno stanje Od koje je transakcija započela (dakle, vraćanje unazad).

Razgradnja

Dekompozicija - 1) proces odvajanja složenog objekta, sistema, ekonomski pokazatelj, zadaci na sastavne dijelove, elemente; 2) stanje objekta, sistema, koje karakteriše podela na delove.

Razgradnja − naučna metoda, koji koristi strukturu problema i omogućava vam da zamijenite rješenje jednog velikog problema rješenjem niza manjih problema.

Pristupi metodama dekompozicije
U fazi raspadanja, što obezbeđuje opšta ideja o problemu koji se rješava vrši se: definisanje i dekompozicija opšteg cilja studije; izolovanje problema iz okruženja, određivanje njegovog bližeg i daljeg okruženja; opis uticajnih faktora.
Najčešće se dekompozicija izvodi konstruisanjem stabla ciljeva i stabla funkcija. Glavni problem u ovom slučaju je poštovanje dva kontradiktorna principa: potpunost - problem treba razmotriti što je moguće sveobuhvatnije i detaljnije; jednostavnost - cijelo drvo treba biti što kompaktnije "u širinu" i "u dubinu".
Kompromis je postignut sa četiri fundamentalni koncepti: materijalnost – model uključuje samo komponente koje su značajne u odnosu na ciljeve analize; elementarnost - dovođenje dekompozicije do jednostavnog, razumljivog, ostvarivog rezultata; postepeno detaljiziranje modela; integrativnost - mogućnost uvođenja novih elemenata u osnove i nastavak njihove dekompozicije na različitim granama stabla.
Dubina razlaganja je ograničena. Ako se tokom dekompozicije pokaže da model počinje da opisuje unutrašnji algoritam funkcionisanja elementa umesto zakona njegovog funkcionisanja u obliku „crne kutije“, onda se u ovom slučaju nivo apstrakcije promenio. To znači prevazilaženje cilja proučavanja sistema i, stoga, uzrokuje zaustavljanje razlaganja.
U savremenim metodama tipična je dekompozicija modela na dubinu od 5-6 nivoa. Jedan od podsistema se obično dekomponuje na takvu dubinu. Karakteristike koje zahtijevaju ovaj nivo detalja često su vrlo važne i Detaljan opis daje ključ za osnovni rad cijelog sistema.
U opštoj teoriji sistema je dokazano da se većina sistema može dekomponovati na osnovne reprezentacije podsistema. To uključuje: serijsko (kaskadno) povezivanje elemenata, paralelna veza elementi, povezivanje pomoću povratne sprege.
Problem dekompozicije je u tome što u složenim sistemima ne postoji korespondencija jedan-na-jedan između zakona funkcionisanja podsistema i algoritma koji ga implementira. Stoga se formira nekoliko opcija (ili jedna opcija, ako je sistem prikazan u obrascu hijerarhijska struktura) dekompozicija sistema.

Pristupi razgradnji
Najčešće korištene strategije dekompozicije su:

Funkcionalna dekompozicija.
Na osnovu analize funkcija sistema. Ovo postavlja pitanje šta sistem radi, bez obzira na to kako funkcioniše. Osnova podjele na funkcionalni podsistemi služi kao zajedništvo funkcija koje obavljaju grupe elemenata.

Razgradnja životnog ciklusa
Znak alokacije podsistema je promjena zakona funkcionisanja podsistema u različitim fazama ciklusa postojanja sistema "od rođenja do smrti". Za životni ciklus upravljanja organizacionim i ekonomskim sistemom raspoređuju faze planiranja, pokretanja, koordinacije, kontrole, regulacije. Za informacione sisteme, faze obrade informacija su podeljene: registracija, prikupljanje, prenos, obrada, prikaz, skladištenje, zaštita, uništavanje.

Razgradnja fizičkim procesom
Znak odabira podsistema su koraci algoritma funkcionisanja podsistema, faze promjene stanja. Iako je ova strategija korisna u opisivanju postojećih procesa, često može rezultirati opisom sistema koji je previše koherentan i ne uzima u obzir ograničenja koja funkcije međusobno diktiraju. U ovom slučaju, kontrolni niz može biti skriven. Ovu strategiju treba primijeniti samo ako je svrha modela da opiše fizički proces kao takav.

Dekompozicija po podsistemima (strukturna dekompozicija)
Znak odabira podsistema je snažna povezanost između elemenata prema jednom od tipova odnosa (veza) koji postoje u sistemu (informacioni, logički, hijerarhijski, energetski itd.). Jačina komunikacije putem informacija može se procijeniti koeficijentom informatičke povezanosti podsistema. Da bi se opisao čitav sistem, mora se izgraditi kompozitni model koji kombinuje sve pojedinačne modele.

Dekompozicija po ulazima
Za organizacione i ekonomske sisteme. Znak alokacije podsistema: izvor uticaja na sistem, može biti viši ili niži sistem, kao i suštinsko okruženje.

Dekompozicija prema vrstama resursa koje sistem troši
Formalna lista tipova resursa sastoji se od energije, materije, vremena i informacija (za društveni sistemi dodaju se osoblje i finansije).

Razgradnja po krajnjim proizvodima sistema
Osnova može biti različite vrste proizvod proizveden u sistemu.

Razgradnja ljudske aktivnosti
Predmet djelatnosti se dodjeljuje; predmet na koji je aktivnost usmjerena; sredstva koja se koriste u procesu aktivnosti; okruženje, sve mogući linkovi između njih.

Obično se dekompozicija vrši prema nekoliko osnova, redosled njihovog odabira zavisi od kvalifikacija i preferencija sistemskog analitičara.

Ključne riječi: baza pristup podacima; db pristup; subd pristup; pristup bazama podataka; primjer pristupa; programiranje pristupa; gotova baza podaci; kreiranje baze podataka; DBMS baza podataka; pristupiti predmetima; primjer baze podataka; pristupni program; opis pristupa; pristup sažetku; zahtjevi za pristup; primjeri pristupa; pristup bazi podataka za preuzimanje; pristupni objekti; db u pristupu; preuzimanje subd pristup, seminarski rad o DBMS; relacijski; sa bazom podataka; kreiranje DBMS-a; preuzimanje baze podataka o pasošu; baza podataka; normalizacija podataka; DBMS primjeri; primjeri baze podataka; seminarski radovi o DBMS; normalizacija; baza podataka; struktura baze podataka; primjer baze podataka; baza upita; baza za obuku podaci; dizajn baze podataka; podaci; opis baze podataka; subd abstract; kreirati bazu podataka; baza podataka za; korištenje baze podataka; baza podataka kurseva; završeno; korištenje DBMS-a; tabela baze podataka; preuzimanje baze podataka 2008; baza

Dekompozicija relacijske sheme R \u003d (A 1, A 2, ..., A n) naziva se njegova zamjena kolekcijom podskupova R, tako da njihova kombinacija daje R. U ovom slučaju, dozvoljeno je da se podskupovi sijeku..

Algoritam dekompozicije je zasnovan na sljedećoj teoremi.

Teorema dekompozicije. Neka R(A, B, C) stav, A, B, C – atributi.

Ako R zadovoljava zavisnosti A->B , onda R jednaka konjunkciji njegovih projekcija A, B i A, C

R(A, B, C) = R(A, B), R(A, C)

Prilikom normalizacije potrebno je odabrati takve dekompozicije koje imaju svojstvo veze bez gubitaka. U ovom slučaju, dekompozicija mora osigurati da upiti (odabir podataka prema uslovu) na originalnoj relaciji i odnosima koji proizlaze iz dekompozicije daju isti rezultat. Odgovarajući uslov će biti zadovoljen ako svaki relacija tuple R se može predstaviti kao prirodna povezanost njegove projekcije na svaki od podskupova. Da bi se provjerilo da li dekompozicija ima ovo svojstvo, koriste se posebni algoritmi, opisani u literaturi (ne razmatraju se u ovoj knjizi).

Druga najvažnija poželjna osobina dekompozicije je svojstvo očuvanja funkcionalnih zavisnosti. Želja da se osigura da dekompozicija sačuva zavisnosti je prirodna. Funkcionalne zavisnosti su neka ograničenja za podatke. Ako dekompozicija nema ovo svojstvo, onda da bi se provjerilo da li su uvjeti integriteta narušeni tokom unosa podataka ( funkcionalne zavisnosti), moramo povezati sve projekcije.

Dakle, za dobro formiran dizajn baze podataka neophodno je da dekompozicije imaju svojstvo veze bez gubitaka, a poželjno je da imaju svojstvo očuvanja funkcionalnih zavisnosti.

8.4 Odabir racionalnog skupa shema odnosa normalizacijom

Drugi normalni oblik (2NF)

Relacija je u 2NF ako je u 1NF i svaki atribut koji nije ključ ovisi o cijelom primarnom ključu (ne ovisi o dijelu ključa).

Da biste konvertovali relaciju u 2NF, trebate koristiti rad projekcije, rastaviti ga u nekoliko omjera kako slijedi:

  1. konstruirati projekciju bez atributa koji se nalaze u djelomična funkcionalna ovisnost iz primarnog ključa;
  2. izgraditi projekcije na dijelovima kompozitni ključ i atributi zavisni od tih dijelova.

Treći normalni oblik (3NF)

Relacija je u 3NF ako je u 2NF i svaki atribut ključa nije tranzitivno ovisan o primarnom ključu..

Relacija je u 3NF ako i samo ako su svi neključni atributi relacije međusobno nezavisni i potpuno zavisni od primarnog ključa..

Ispostavilo se da se bilo koja shema odnosa može svesti na 3NF dekompozicijom koja ima svojstva veze bez gubitaka i čuva zavisnosti.

Motivacija trećeg normalna forma

Treće normalna forma isključuje redundantnost i anomalije uključivanja i uklanjanja.

Nažalost, 3NF ne sprječava sve moguće anomalije.

Boyce-Codd normalna forma (BCNF)

Ako u R za svaku zavisnost X->A , gdje A ne pripadaju X X uključuje neki ključ, onda kažemo da je ova relacija u normalna forma Boysa-Codd.

Determinanta funkcionalne zavisnosti se naziva minimalna grupa atributi, od kojih zavisi neki drugi atribut ili grupa atributa, a ta zavisnost je netrivijalna.

Relacija je u BCNF-u ako i samo ako je svaka od njenih determinanti kandidatski ključ.

BCNF je stroža verzija 3NF. Drugim riječima, svaka relacija koja je u BCNF je u 3NF. Obrnuto nije tačno.

Boyce-Codd normalna motivacija

V normalna forma Boyce-Codd nema suvišnosti i anomalija uključivanja, brisanja i modifikacije. Ispada da se svaka shema odnosa može svesti na normalna forma Boyce-Codd na takav način da dekompozicija ima svojstvo veze bez gubitaka. Međutim, shema relacije može biti nesvodiva u BCNF-u uz očuvane zavisnosti. U ovom slučaju treba se zadovoljiti trećim normalna forma.

8.5. Primjer normalizacije na 3NF

Za poboljšanje strukture relacione baze podataka (eliminisanje mogućih anomalija), potrebno je sve tabele baze podataka dovesti u treći normalna forma ili više visoka forma(ako je moguće). Dakle, zadatak se svodi na provjeru normalizacije svih entiteta mapiranih u tablice baze podataka. Ako tabela koja proizlazi iz nekog entiteta nije tabela u trećem normalna forma, onda ga mora zamijeniti nekoliko tablica koje se nalaze u trećoj normalna forma.

Nastavimo razmatranje primjera sa relacijom ISPITNI REGISTAR

Na početku ovog predavanja dali smo odnos prema prvom normalna forma.

Studentski kod Prezime Šifra ispita Stvar datum Ocjena
1 Sergejev 1 Matematika 5.08.03 4
2 Ivanov 1 Matematika 5.08.03 5
1 Sergejev 2 fizika 9.08.03 5
2 Ivanov 2 fizika 9.08.03 5

ključ dati odnos postojat će skup atributa - Studentska šifra i Šifra ispita.

Za više skraćenica proces normalizacije, uvodimo sljedeću notaciju:

CS - šifra studenta, EK - šifra ispita, F - prezime, P - predmet, D - datum, O - ocjena.

Hajde da napišemo funkcionalne zavisnosti

CS, CE -> F, P, D, O CS, CE -> F CS, CE -> P CS, CE -> D CS, CE -> O CE -> P CE -> D CS -> F

Prema definiciji, relacija je u drugom normalna forma(2NF) ako je u 1NF i svaki atribut koji nije ključ ovisi o primarnom ključu i ne ovisi o dijelu ključa. Ovdje atributi P, D, F zavise od dijela ključa. Da biste se riješili ovih ovisnosti, potrebno je dekomponirati odnos. Da bismo to učinili, koristimo teoremu dekompozicije.

Imamo relaciju R(KS, F, KE, P, D, O) . Uzmimo zavisnost KS -> F u skladu sa formulacijom teoreme, početni odnos je jednak kombinaciji njegovih projekcija R1(KS, F) i R2(KS, KE, P, D, O) .

U odnosu na R1(KS, F) postoji funkcionalna zavisnost KS -> F , ključ KS je kompozitni, neključni atribut F ne ovisi o dijelu ključa. Ova relacija je u 2NF. Budući da u ovoj relaciji nema tranzitivnih zavisnosti, relacija R(KC, F) je u 3NF, prema potrebi.

Razmotrimo relaciju R2(CS, KE, P, D, O) sa kompozitnim ključem CS, KE . Ovde postoji zavisnost EC -> P, EC -> D, EC -> P, D. Atributi P, D ovisi o dijelu ključa, dakle

Jedan od ciljeva dizajn relacione baze podataka je konstrukcija dekompozicije (particije) univerzalni odnos na skupu odnosa koji zadovoljavaju zahtjeve normalnih oblika.

Uvodimo definiciju dekompozicija sheme odnosa.

Definicija 1. Dekompozicija relacijske sheme je njena zamjena skupom podskupova R tako da je

Prije nego što pređete na proučavanje metode dekompozicije relacijskih shema, razmotrite problem veze u odnosima prilikom razdvajanja univerzalni odnos. Kada zamijenimo originalnu relaciju s dvije druge povezane relacije, razumno je pretpostaviti da će ti odnosi biti projekcije originalne relacije na odgovarajuće atribute. Jedini način saznajte da li rezultirajuće projekcije sadrže iste informacije kao originalna relacija - vratite je izvršavanjem prirodna povezanost primljene projekcije. Ako se relacija koja je rezultat izvršenja spajanja ne podudara s originalnom relacijom, tada je nemoguće reći koja je originalna relacija za ovu šemu. Dakle, problem je u tome što je moguće izgubiti postojeće lažne torke ili steći prethodno nepostojeće lažne torke prilikom spajanja. Razmotrimo primjer razlaganje sa gubicima informacije.

Primjer. Razgradnja sa gubitkom informacije

Atributi A i B su funkcionalno nezavisni od atributa C.


Kaže se da dekompozicija šeme relacije r ima svojstvo veze bez gubitaka u odnosu na skup FD-ova D ako se svaka relacija R koja zadovoljava D može predstaviti kao:

Neka Tada sljedeća svojstva vrijede za mapiranja spajanja projekcije:

Ova svojstva proizlaze iz definicije prirodnog spoja. Prvo svojstvo se koristi kada se provjerava da li dekompozicija ima svojstvo veze bez gubitaka u odnosu na neki skup FD-ova.

Razmotrite algoritam za provjeru svojstva veze bez gubitaka.

Algoritam. Provjera dekompozicije na svojstvu veze bez gubitaka

ulaz: shema relacije R(A 1 , A 2 , ..., A k), FZ skup F, dekompozicija d=(R 1 , R 2 , ..., R k ). izlaz: Boolean true ili false.

Algoritam

Gornji algoritam nam omogućava da ispravno utvrdimo da li dekompozicija ima svojstvo veze bez gubitaka.

Razmotrimo primjer primjene algoritma koristeći relaciju NABAVKA (Dobavljač, Adresa, Proizvod, Cijena). Označimo njegove atribute kao: A - dobavljač, B - adresa, C - proizvod, D - cijena, dok postoje savezni zakoni

Primjer. Provjera dekompozicije na svojstvu veze bez gubitaka

shema odnosa

Pošto se odvija i dva niza se poklapaju u A , možemo identifikovati njihove simbole za A: b 22 do a 2 . Kao rezultat, imamo sto

A B C D
a 1 a 2 b 13 b 14
a 1 a 2 a 3 a 4

Zaključak. Dekompozicija d ima svojstvo veze bez gubitaka.

Prilikom dekomponiranja jedne sheme odnosa na dvije druge sheme odnosa, više od jednostavna provjera: dekompozicija ima svojstvo veze bez gubitaka samo ako takav FD mora pripadati F + .

Svojstvo spajanja bez gubitaka osigurava da se svaka relacija može rekonstruirati iz njenih projekcija. Jasno je da se tokom dekompozicije FD-a originalne šeme odnosi raspoređuju između novih relacija. Stoga je važno da se tokom dekompozicije skup FZ F za shemu relacije r može izvesti iz projekcija na šeme R i .

Uvodimo sljedeću definiciju.

Definicija 2. Projekcija skupa FZ F na skup atributa X, označenog skupom FZ u F+, tako da

Kaže se da dekompozicija ima svojstvo očuvanja FD-a ako sve zavisnosti od F logički slijede iz unije svih FD-a koji joj pripadaju.

Razmotrite odnos (Grad, Adresa, Poštanski broj). Označimo njegove atribute kao: A - grad, B - adresa, C - poštanski broj, dok postoje FD Dekompozicija šeme ove relacije ABC na AC i BC ima svojstvo veze bez gubitaka, pošto je FD tačna.Međutim, projekcija na BC daje samo trivijalne zavisnosti, projekcija na AC daje FD i trivijalni FD. Zavisnost ne proizlazi iz FD-a, stoga ova dekompozicija ne čuva FD, iako ima svojstvo veze bez gubitaka.

Dekompozicija odnosa

Konstrukcija SADT modela počinje predstavljanjem čitavog sistema u obliku jednostavne komponente – jednog bloka i lukova koji prikazuju interfejse sa funkcijama izvan sistema. Pošto jedan blok odražava sistem kao celinu, ime dato u bloku je generičko. Ovo važi i za lukove interfejsa - oni takođe odgovaraju celom setu eksterni interfejsi sistema u celini. Zatim je blok koji predstavlja sistem kao jedan modul detaljno prikazan u drugom dijagramu koristeći nekoliko blokova povezanih lukovima interfejsa. Ovi blokovi definiraju glavne podfunkcije originalne funkcije. Ova dekompozicija otkriva full set podfunkcije, od kojih je svaka prikazana kao blok, čije su granice definirane lukovima interfejsa. Svaka od ovih podfunkcija se može razložiti Na sličan način za više detalja.

U svim slučajevima, svaka podfunkcija može sadržavati samo one elemente koji su uključeni u originalna funkcija. Također, model ne može izostaviti nijedan element, tj. roditeljski blok i njegova sučelja pružaju kontekst. Ništa mu se ne može dodati, ništa se iz njega ne može ukloniti.

SADT model je niz dijagrama sa pratećom dokumentacijom koji su raščlanjeni složeni objekat na sastavne dijelove, koji su prikazani u obliku blokova. Detalji svakog od glavnih blokova prikazani su kao blokovi u drugim dijagramima. Svaki detaljni dijagram je blok dekompozicija dijagrama prethodnog nivoa. U svakom koraku dekompozicije poziva se dijagram prethodnog nivoa roditeljski za detaljniji grafikon.

Lukovi koji ulaze i izlaze iz bloka u dijagramu vrhunski nivo, isto kao i lukovi uključeni u dijagram niži nivo i izlazi iz njega, jer blok i dijagram prikazuju isti dio sistema. Primjer funkcionalni model(3 nivoa) prikazano je na slikama 13-15.

Slika 13 - Funkcionalni model predmetne oblasti "Salon namještaja". Dijagram nivoa 0

Slika 14 - Funkcionalni model predmetne oblasti "Salon namještaja". Dijagram nivoa 1

Slika 15 - Funkcionalni model predmetne oblasti "Salon namještaja". Dijagram nivoa 2

7.2.2 Dizajn odnosa entiteta

Na pozornici idejno rješenje na osnovu razvijenog funkcionalnog modela gradi se infološki model baze podataka. Svrha infološkog modeliranja je da se kreatoru ekonomskih informacionih sistema pruži konceptualna šema baze podataka u obliku jednog ili više modela. lokalni modeli, što se relativno lako može reflektovati u bilo kom sistemu baze podataka.

Svaki informacioni sistem, u zavisnosti od svoje namene, bavi se delom stvarnog sveta, koji se obično naziva predmetno područje (softver) sistema. Softver se može odnositi na bilo koju vrstu organizacije: banku, univerzitet, fabriku, radnju, itd.

Osnovni koncepti dizajn koristeći metodu "entitet-odnos" su: entitet, odnos, atribut.

Entitet- stvarni ili imaginarni objekat koji je bitan za predmetnu oblast koja se razmatra. Neophodno je razlikovati koncepte kao što su tip entiteta i instanca entiteta. Koncept "tip entiteta" odnosi se na skup homogenih osoba, objekata, događaja ili ideja, koji djeluju kao cjelina. Instanca entiteta se odnosi na određenu stvar u skupu. Na primjer, tip entiteta može biti GRAD, a instanca može biti Moskva, Kijev itd. Predmetna oblast informacioni sistem je kolekcija stvarnih objekata (entiteta) koji su od interesa za korisnike.

Svaki entitet mora imati jedinstveni identifikator. Svaka instanca entiteta mora biti jedinstveno prepoznatljiva i različita od svih ostalih instanci. ovog tipa entiteta. Svaki entitet mora imati neka svojstva:

imaju jedinstveno ime; isto tumačenje mora važiti za isto ime; isto tumačenje se ne može primijeniti na razna imena, osim ako nisu pseudonim;

imaju jedan ili više atributa koji ili pripadaju entitetu ili su naslijeđeni kroz odnos;

· imaju jedan ili više atributa koji jedinstveno identificiraju svaku instancu entiteta.

Svaki entitet može imati bilo koji broj relacija s drugim entitetima modela.

Veza– imenovana povezanost između dva entiteta koja je značajna za predmetnu oblast koja se razmatra. Odnos je asocijacija između entiteta, u kojoj je svaka instanca ovog entiteta povezana sa proizvoljnim (uključujući nula) brojem instanci drugog entiteta, i obrnuto.

Entiteti obuhvaćeni nekim odnosom nazivaju se članovima ovog odnosa. Broj učesnika u komunikaciji određuje obim tipa komunikacije. Vrste komunikacije prema stepenu se dijele na:

dvosmjerni - odnos u kojem učestvuju dva entiteta;

tripartitni - odnose se na složene odnose, u njemu učestvuju tri entiteta;

četvorostrani - odnose se na složene odnose, u njemu učestvuju četiri entiteta;

rekurzivni - odnos u kojem isti entiteti učestvuju nekoliko puta u različitim ulogama. U ovim slučajevima, odnosima se mogu dati imena uloga.

Najčešća komunikacija je dvosmjerna. Dvosmjerni odnosi se obično nazivaju jedan-prema-jedan (1:1), jedan-prema-više (1:M) i više-prema-više (M:M).

1:1 - odnos jedan na jedan, tj. postoji samo jedan unos sa obe strane veze za bilo koju vrednost u argumentu veze. Na primjer: jedan predstavnik uprave upravlja jednom filijalom.

1:M - s jedne strane odnosa, za neke vrijednosti u pridruženom polju može biti nekoliko zapisa, s druge - samo jedan. Primjer: studentska grupa na univerzitetu uključuje nekoliko predstavnika studenata.

M:M - vrijednosti u poljima veze se više puta nalaze u zapisima jednog ili drugog povezanog entiteta. Primjer: nastavnici podučavaju učenike.

Odnos se može dalje definirati specificiranjem stepen ili moć komunikacije(broj instanci podređenog entiteta koje mogu postojati za svaku instancu nadređenog entiteta). Prilikom projektovanja metodom "entitet-odnos" mogu se izraziti sljedeće kardinalnosti odnosa:

Svaka instanca roditeljskog entiteta može imati nula, jednu ili više od jedne instance podređenog entiteta pridružene njoj;



Svaka instanca nadređenog entiteta mora imati najmanje jednu podređenu instancu entiteta pridruženu s njom;

Svaka instanca nadređenog entiteta ne smije imati više od jedne podređene instance entiteta pridružene njoj;

Svaka instanca roditeljskog entiteta povezana je s nekim fiksnim brojem instanci podređenog entiteta.

Atribut- svaka karakteristika entiteta koja je značajna za predmetnu oblast koja se razmatra i koja je namenjena za kvalifikaciju, identifikaciju, klasifikaciju, kvantitativne karakteristike ili izražavanje stanja entiteta. Atribut predstavlja vrstu karakteristike ili svojstva povezana sa skupom stvarnih ili apstraktnih objekata (ljudi, mjesta, događaji, stanja, ideje, objekti, itd.). Instanca atributa je specifična karakteristika pojedinačni element setovi. Instanca atributa je definirana tipom karakteristike i njenom vrijednošću, koja se naziva vrijednost atributa. U dijagramu entitet-odnos, atributi su povezani sa određenim entitetima. Dakle, instanca entiteta mora imati jednu definiranu vrijednost za pridruženi atribut.

Atributska domena- komplet dozvoljene vrijednosti jedan ili više atributa. Na primjer: adresa domene može se koristiti za određivanje adrese zaposlenika, dobavljača, potrošača proizvoda.

Atributi se mogu podijeliti na:

jednostavno - atribut koji se sastoji od jedne komponente sa nezavisnim postojanjem. Jednostavni ili elementarni atributi ne mogu se raščlaniti na manje komponente. Na primjer: plata, prezime, pozicija;

kompozit - atribut koji se sastoji od nekoliko komponenti, od kojih se svaka odlikuje neovisnim postojanjem. Na primjer: adresa;

nedvosmislen - atribut koji sadrži jednu vrijednost za svaku instancu entiteta određeni tip. Na primjer: datum rođenja;

· multi-valued - atribut koji sadrži nekoliko vrijednosti za svaku instancu entiteta određenog tipa. Na primjer: brojevi telefona na koje možete kontaktirati zaposlenog;

Izvedeno – atribut koji predstavlja vrijednost izvedenu iz vrijednosti nekog atributa koji je s njim povezan ili nekog skupa atributa koji pripadaju nekom (ne nužno datom) tipu entiteta. Na primjer: obračun po mjesecu otplate kredita.

Svaki entitet mora imati jedinstveni identifikator ili ključ, koji je karakteristika ili atribut entiteta. Ključevi se mogu podijeliti na:

potencijalni ključ - atribut ili minimalni set atribute koji jedinstveno identificiraju svaku instancu entiteta. Ključ kandidata mora sadržavati vrijednosti koje su jedinstvene za svaku pojedinačnu instancu entiteta datog tipa i ne može sadržavati NULL. Na primjer: Šifra pozicije u entitetu Položaj;

primarni ključ - potencijalni ključ koji se bira da jedinstveno identifikuje svaku instancu entiteta određenog tipa. Na primjer: svaki zaposleni ima jedinstveni broj osoblja, kao i jedinstveni broj kartice državnog osiguranja (TIN). Bilo koji od ovih atributa se može odabrati kao primarni ključ, ostatak se može smatrati alternativnim ključem;

Kompozitni ključ - potencijalni ključ koji se sastoji od jednog ili više atributa. Na primjer: entitet prispeća robe može se identificirati po šifri robe i atributu Datum dolaska.

Essence jak tip, ili nezavisno od identifikatora, se poziva ako se svaka instanca entiteta može jedinstveno identificirati bez definiranja njenog odnosa s drugim entitetima. Essence slab tip ili zavisi od identifikatora se poziva ako jedinstvena identifikacija instance entiteta zavisi od njenog odnosa prema drugom entitetu.

Entiteti slabog tipa nazivaju se entiteti zavisni od djeteta ili podređeni, a entiteti jakog tipa nazivaju se roditeljski, vlasnički ili dominantni entiteti.

7.2.3 Prijelaz sa ER-modela na relacijski

Trenutno postoje dva posljednja faza dizajn su značajno smanjeni upotrebom automatizovana sredstva dizajn. Prelazak na infološki model baze podataka, a zatim na fizičku šemu baze podataka omogućava vam da implementirate različite softvera: IDEF0, ERWin, UML.

Pravila konverzije modela:

1. Svaki jednostavan entitet pretvara se u tabelu. Jednostavan entitet je entitet koji nije podtip i nema podtipove. Ime entiteta postaje ime tabele.

2. Svaki atribut postaje moguća kolona sa istim imenom; može se odabrati precizniji format. Kolone koje odgovaraju ne potrebnih atributa, može sadržavati null vrijednosti; kolone koje odgovaraju traženim atributima ne mogu.

3. Komponente jedinstvenog identifikatora entiteta pretvaraju se u primarni ključ tabele. Ako postoji više mogućih jedinstvenih identifikatora, odabire se najčešće korišteni. Ako jedinstveni identifikator uključuje odnose, kopija jedinstvenog identifikatora entiteta na daljem kraju veze dodaje se broju kolona u primarnom ključu (ovaj proces se može nastaviti rekurzivno). Za imenovanje ovih kolona koriste se nazivi krajeva veze i/ili imena entiteta.

4. Relacije mnogo-na-jedan (i jedan-na-jedan) postaju strani ključevi, odnosno pravi se kopija jedinstvenog identifikatora s kraja "jedan" odnosa, a odgovarajuće kolone čine strani ključ. Opcijski odnosi odgovaraju stupcima koji dozvoljavaju nulte vrijednosti; obavezni odnosi - kolone koje ne dozvoljavaju null vrijednosti.

5. Indeksi se kreiraju za primarni ključ ( jedinstveni indeks), strani ključevi i oni atributi na kojima bi upiti trebali biti zasnovani.

6. Ako su podtipovi bili prisutni u konceptualnoj šemi, tada postoje dva načina da se model pretvori u fizičku tablicu: svi podtipovi u jednoj tabeli(a) ili za svaki podtip - posebna tabela(b). U metodi (a) kreira se tabela za najudaljeniji supertip, a pogledi se mogu kreirati za podtipove. Dodano u tabelu od strane najmanje jedna kolona koja sadrži šifru tipa; postaje dio primarnog ključa. Kada se koristi metoda (b), za svaki podtip prvog nivoa (za niže - reprezentacije), supertip se rekreira pomoću UNION reprezentacije (iz svih tabela podtipova, zajedničke kolone su kolone supertipa).

7. Postoje dva načina rada sa ekskluzivnim vezama: zajednički domen (a) i eksplicitni strani ključevi(b). Ako su svi preostali strani ključevi u istom domenu, tj. imaju opći format (a), kreiraju se dvije kolone: ​​ID odnosa i ID entiteta. Kolona ID veze se koristi za razlikovanje veza obuhvaćenih lukom isključenja. Kolona ID entiteta se koristi za pohranjivanje vrijednosti jedinstvenog identifikatora entiteta na krajnjem kraju pridruženog odnosa. Ako rezultirajući strani ključevi ne pripadaju istoj domeni, tada se za svaki odnos pokriven lukom generiraju izuzeci. eksplicitne kolone strani ključevi; sve ove kolone mogu sadržavati null vrijednosti.

Top Related Articles