Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Recenzije
  • Primjer dizajna baze podataka. Dijagrami stabla čvorova

Primjer dizajna baze podataka. Dijagrami stabla čvorova

Prijevod serije od 15 članaka o dizajnu baze podataka.
Informacije su namijenjene početnicima.
Pomogao mi. Možda će to nekome pomoći da popuni praznine.

Vodič za dizajn baze podataka.

1. Uvod.
Ako namjeravate stvoriti vlastite baze podataka, dobra je ideja pridržavati se pravila dizajna baze podataka jer će to osigurati dugoročan integritet i lakoću održavanja vaših podataka. Ovaj vodič će vas provesti kroz što su baze podataka i kako dizajnirati bazu podataka koja poštuje pravila dizajna relacijske baze podataka.

Baze podataka su programi koji vam omogućuju pohranjivanje i primanje velikih količina povezane informacije... Baze podataka se sastoje od tablice, koji sadrže informacija... Kada kreirate bazu podataka, morate razmisliti o kojoj tablice trebaš stvoriti i što veze postoje između informacija u tablicama. Drugim riječima, morate razmišljati o tome projekt svoju bazu podataka. Dobar projekt baze podataka, kao što je ranije spomenuto, osigurat će integritet podataka i lakoću održavanja.
Baza podataka je stvorena za pohranjivanje informacija u nju i dobivanje tih informacija ako je potrebno. To znači da moramo biti u mogućnosti postaviti, umetnuti ( UMETNUTI) informacije u bazu podataka i želimo biti u mogućnosti dohvatiti informacije iz baze podataka ( IZABERI).
Jezik upita baze podataka je izmišljen za tu svrhu i dobio je ime Strukturirani jezik upita ili SQL. Operacije umetanja podataka (INSERT) i njihovog odabira (SELECT) dio su upravo tog jezika. U nastavku je primjer upita za dohvaćanje podataka i njegov rezultat.

SQL je velika tema za pripovijedanje i izvan je opsega ovog vodiča. Ovaj je članak strogo usmjeren na predstavljanje proces dizajna baze podataka... Kasnije, u zasebnom tutorialu, pokriti ću osnove SQL-a.

Relacijski model.
U ovom vodiču pokazat ću vam kako stvoriti relacijski model podataka. Relacijski model je model koji opisuje kako organizirati podatke u tablicama i kako definirati odnose između tih tablica.

Pravila relacijski model diktiraju kako informacije trebaju biti organizirane u tablicama i kako se tablice međusobno odnose. U konačnici, rezultat se može dati u obliku dijagrama baze podataka ili, točnije, dijagrama entitet-odnos, kao na slici (Primjer preuzet iz MySQL Workbench).

Primjeri.
Koristio sam brojne aplikacije kao primjere u tutorialu.

RDBMS.

RDBMS koji sam koristio za kreiranje primjera tablica je MySQL. MySQL je najpopularniji RDBMS i besplatan je.

Uslužni program za administraciju baze podataka.

Nakon MySQL instalacije dobivate samo sučelje naredbeni redak za interakciju s MySQL. Osobno više volim grafičko sučelje za upravljanje svojim bazama podataka. Često koristim SQLyog. Ovaj besplatno korištenje S grafičko sučelje... Slike stolova u ovaj priručnik preuzeto odatle.

Vizualno modeliranje.

Postoji izvrsna besplatna MySQL aplikacija Radni stol. Omogućuje vam grafički dizajn baze podataka. Dijagrami u priručniku prikazani su u ovom programu.

Dizajn neovisan o RDBMS-u.
Važno je znati da iako ovaj vodič pruža primjere za MySQL, dizajn baze podataka je neovisan o RDBMS-u. To znači da se informacije odnose na relacijske baze podataka općenito, a ne samo na MySQL. Znanje iz ovog vodiča možete primijeniti na bilo koju relacijsku bazu podataka kao što su Mysql, Postgresql, Microsoft Access, Microsoft Sql ili Oracle.

U sljedećem dijelu ukratko ću govoriti o evoluciji baza podataka. Naučit ćete odakle potječu baze podataka i relacijski model podataka.

2. Povijest.
U 70-ima i 80-ima, kada su informatičari još uvijek nosili smeđe smokinge i velike naočale četvrtastog okvira, podaci su bili pohranjeni nestrukturirani u datotekama koje su Tekstualni dokument s podacima odvojenim (obično) zarezima ili tabulatorima.

Ovako su izgledali profesionalci na tom polju. informacijske tehnologije u 70-ima. (Bill Gates je dolje lijevo).

Tekstualne datoteke se i danas koriste za pohranjivanje malih količina jednostavnih informacija. Vrijednosti odvojene zarezima (CSV) - vrijednosti odvojene zarezima vrlo su popularne i danas ih široko podržavaju različiti softver i operativnim sustavima. Microsoft Excel Jedan je od primjera programa koji mogu raditi s CSV datotekama. Podatke pohranjene u takvoj datoteci može pročitati računalni program.

Gore je primjer kako bi takva datoteka mogla izgledati. Program za čitanje ove datoteke, mora biti obaviješteno da su podaci odvojeni zarezom. Ako program želi odabrati i prikazati kategoriju u kojoj se lekcija nalazi "Vodič za dizajn baze podataka", tada mora čitati redak po redak dok se ne pronađu riječi "Vodič za dizajn baze podataka" a zatim će morati pročitati sljedeću riječ iza zareza kako bi prikazala kategoriju Softver.

Tablice baze podataka.
Čitanje datoteke red po redak nije vrlo učinkovito. U relacijskoj bazi podataka podaci se pohranjuju u tablice. Tablica u nastavku sadrži iste podatke kao i datoteka. Svaki redak ili "zapis" sadrži jednu lekciju. Svaki stupac sadrži neka svojstva lekcije. V u ovom slučaju ovo je naslov i njegova kategorija.

Računalni program mogao bi pretražiti stupac tutorial_id ove tablice za određeni tutorial_id kako bi brzo pronašao odgovarajući naslov i kategoriju. Ovo je mnogo brže od pretraživanja datoteke red po redak, baš kao što to čini program u tekstualnoj datoteci.

Moderne relacijske baze podataka dizajnirane su tako da mogu vrlo brzo dohvatiti podatke iz određenih redaka, stupaca i više tablica.

Povijest relacijskog modela.
Model relacijske baze podataka izumio je 70-ih Edgar Codd, britanski znanstvenik. Želio je prevladati nedostatke mrežni model baze podataka i hijerarhijski model. I u tome je bio vrlo uspješan. Model relacijske baze podataka danas je široko prihvaćen i smatra se moćnim modelom za učinkovito organiziranje podataka.

Danas je dostupan širok izbor sustava za upravljanje bazama podataka, od malih desktop aplikacija do višenamjenskih poslužiteljskih sustava s vrlo optimiziranim metodama pretraživanja. Neki od poznatijih sustava upravljanja relacijskim bazama podataka (RDBMS) su:

- Oracle- prvenstveno se koristi za profesionalne, velike primjene.
- Microsoft SQL poslužitelju- RDBMS Microsoft... Dostupno samo za operacijski sustav Windows.
- Mysql Vrlo je popularan RDBMS otvorenog koda izvorni kod... Široko ga koriste i profesionalci i početnici. Što još treba?! Slobodno je.
- IBM- ima niz RDBMS-a, najpoznatiji je DB2.
- Microsoft Access- RDBMS, koji se koristi u uredu i kod kuće. Zapravo, to je više od obične baze podataka. MS Access vam omogućuje stvaranje baza podataka s korisničkim sučeljem.
U sljedećem dijelu objasnit ću malo o karakteristikama relacijskih baza podataka.

3. Karakteristike relacijskih baza podataka.
Relacijske baze podataka su dizajnirane za brzo spremanje i primanje velikih količina informacija. Slijede neke od karakteristika relacijskih baza podataka i modela relacijskih podataka.
Korištenje ključeva.
Svaki redak podataka u tablici identificiran je jedinstvenim "ključem" koji se naziva primarni ključ. Često je primarni ključ broj koji se automatski povećava (1,2,3,4, itd.). Podaci u različitim tablicama mogu se međusobno povezati pomoću ključeva. Vrijednosti primarnog ključa iz jedne tablice mogu se dodati u retke (zapise) druge tablice, čime se ti zapisi povezuju zajedno.

Korištenje strukturirani jezik upiti (SQL), podaci iz različite tablice koji su povezani ključem mogu se odabrati u jednom potezu. Na primjer, možete kreirati upit koji će odabrati sve narudžbe iz tablice narudžbi koje pripadaju korisniku s ID-om 3 (Mike) iz tablice korisnika. O ključevima ćemo govoriti dalje, u sljedećim dijelovima.


Stupac id u ovoj tablici je primarni ključ. Svaki zapis ima jedinstveni primarni ključ, često broj. Stupac korisničke grupe je strani ključ. Kao što naziv sugerira, očito se odnosi na tablicu koja sadrži grupe korisnika.

Nema redundantnosti podataka.
U dizajnu baze podataka koji je izgrađen korištenjem pravila relacijskog modela podataka, svaka informacija, kao što je korisničko ime, pohranjena je samo na jednom mjestu. To eliminira potrebu za radom s podacima na više lokacija. Dupliciranje podataka naziva se redundantnost podataka i treba ga izbjegavati dobar projekt Baza podataka.
Ograničenje unosa.
Korištenje relacijske baze podataka, možete definirati koje vrste podataka je dopušteno pohranjivati ​​u stupcu. Možete stvoriti polje koje sadrži cijele brojeve, decimalni brojevi, mali dijelovi teksta, veliki dijelovi teksta, datumi itd.


Kada kreirate tablicu baze podataka, dajete tip podataka za svaki stupac. Na primjer, varchar je vrsta podataka za male dijelove teksta s maksimalan broj znakovi jednaki 255, a int su brojevi.

Osim tipova podataka, RDBMS vam omogućuje da dodatno ograničite podatke koje možete unijeti. Na primjer, ograničite duljinu ili nametnite jedinstvenost vrijednosti zapisa u ovu kolumnu... Potonje ograničenje često se koristi za polja koja sadrže korisnička registracijska imena (prijave) ili adrese E-mail.

Ova ograničenja daju vam kontrolu nad integritetom vaših podataka i sprječavaju situacije kao što su sljedeće:

Unos adrese (teksta) u polje gdje očekujete da ćete vidjeti broj
- upisivanje indeksa regije s duljinom tog istog indeksa u stotinu znakova
- stvaranje korisnika s istim imenom
- stvaranje korisnika s istom adresom e-pošte
- unos težine (broja) u polje rođendan (datum).

Održavanje integriteta podataka.
Prilagođavanjem svojstava polja, povezivanjem tablica i postavljanjem ograničenja možete povećati pouzdanost svojih podataka.
Ustupanje prava.
Većina RDBMS-ova nudi postavku dopuštenja koja vam omogućuje dodjeljivanje određena prava određenim korisnicima. Neke radnje koje se mogu dopustiti ili odbiti korisniku: SELECT (dohvaćanje), INSERT (umetanje), DELETE (brisanje), ALTER (izmjena), CREATE (kreiranje) itd. To su operacije koje se mogu izvesti pomoću jezika strukturiranih upita (SQL).
Jezik strukturiranih upita (SQL).
Za obavljanje određenih operacija nad bazom podataka, kao što su spremanje podataka, njihovo dohvaćanje, promjena, koristi se jezik strukturiranih upita (SQL). SQL je relativno jednostavan za razumijevanje i omogućuje uklj. i složene odabire, kao što je dohvaćanje povezanih podataka iz više tablica pomoću SQL naredba PRIDRUŽITI. Kao što je ranije spomenuto, SQL neće biti razmatran u ovom vodiču. Usredotočit ću se na dizajn baze podataka.

Način na koji dizajnirate svoju bazu podataka imat će izravan utjecaj na upite koje trebate izvršiti da biste dobili podatke iz baze podataka. Ovo je još jedan razlog zašto morate razmišljati o tome kakva bi vaša baza trebala biti. Uz dobro osmišljenu bazu podataka, vaši upiti mogu biti čišći i lakši.

Prenosivost.
Relacijski model podataka je standardan. Slijedeći pravila relacijskog modela podataka, možete biti sigurni da se vaši podaci mogu relativno lako premjestiti na drugi RDBMS.

Kao što je ranije rečeno, projektiranje baze podataka je pitanje identificiranja podataka, njihovog povezivanja i postavljanja rezultata rješenja. ovo pitanje na papiru (ili u kompjuterski program). Dizajnirajte bazu podataka neovisno o RDBMS-u koji namjeravate koristiti za stvaranje.

U sljedećem dijelu pobliže ćemo pogledati primarne ključeve.

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Upotrijebite obrazac u nastavku

Dobar posao na stranicu ">

Studenti, diplomski studenti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam jako zahvalni.

Objavljeno na http://www.allbest.ru/

Vvjelo

sučelje program korisnički sustav

Danas u svijetu rade stotine milijuna. osobnih računala... Znanstvenici, ekonomisti, političari vjeruju da do početka trećeg tisućljeća:

broj računala u svijetu bit će jednak broju stanovnika razvijenih zemalja.

većina tih računala bit će uključena u svjetske informacijske mreže.

sve informacije koje je čovječanstvo akumuliralo do početka trećeg tisućljeća pretvorit će se u računalni (binarni) oblik, a sve informacije će se pripremati uz pomoć (ili uz sudjelovanje) računala; sve informacije bit će pohranjene na neodređeno vrijeme u računalnim mrežama;

punopravni član društva trećeg tisućljeća morat će svakodnevno komunicirati s lokalnim, regionalnim ili svjetskim mrežama koristeći računala.

Uz takvu informatizaciju gotovo svih grana ljudskog života, postavlja se pitanje stvaranja programa koji vam omogućuju stvaranje takvih baza podataka. Stoga je razvijen ovaj program koji vam omogućuje stvaranje baze podataka u kojoj se pohranjuju podaci o napretku školaraca.

1. Baza podataka i načini njezina predstavljanja

Baza podataka (DB) je informacija predstavljena u obliku dvodimenzionalnih tablica. Baza podataka sadrži mnogo redaka, od kojih svaki odgovara nekom objektu. Za svaki objekt koriste se određene neovisne pozicije koje se nazivaju polja. Zamislimo takvu bazu podataka koja sadrži retke i stupce ( najjednostavniji slučaj). Svaki redak, koji se naziva i zapisom, odgovara određeni objekt... Svaki stupac sadrži vrijednosti odgovarajućih podataka objekta.

Baza podataka se ne može sastojati od jedne tablice, već od dvije, tri ili više. Dodatne informacije o objektu mogu se pohraniti u dodatne tablice.

Jedan od moćnih alata baze podataka je da se informacije mogu naručiti prema kriterijima koje korisnik odredi. U Pascalu, baza podataka je data kao popis pojmova u obliku: database_predicate_name (record_fields). Nazivi baza podataka opisani su u odjeljku. Zapisima baze podataka pristupa se korištenjem osnovnog predikata. pascal nudi dosta alata za rad s takvim bazama podataka: učitavanje, pisanje, dodavanje itd.

Baza podataka je organizirana struktura za pohranjivanje informacija. Moderne baze podataka pohranjuju ne samo podatke, već i informacije.

Ova se izjava može lako objasniti ako, na primjer, uzmemo u obzir bazu podataka velike banke. Ima svega potrebne informacije o klijentima, o njihovim adresama, kreditna povijest, stanje tekućih računa, financijske transakcije itd. Postoji dovoljan pristup ovoj bazi podataka. veliki broj zaposlenici banke, ali među njima jedva da postoji osoba koja ima pristup cijeloj bazi podataka u cijelosti, a pritom je u stanju samostalno izvršiti proizvoljne promjene. Osim podataka, baza podataka sadrži metode i alate koji svakom od zaposlenika omogućuju rad samo s onim podacima koji su u njegovoj nadležnosti. Kao rezultat interakcije podataka sadržanih u bazi s metodama dostupnim određenim zaposlenicima, nastaju informacije koje oni konzumiraju i na temelju kojih, u okviru vlastite nadležnosti, unose i uređuju podatke. Koncept je usko povezan s konceptom baze podataka sustavi upravljanja bazama podataka. To je kompleks softverski alati dizajniran za stvaranje strukture nova baza, ispunjavajući ga sadržajem, uređujući sadržaj i vizualizirajući informacije. Pod, ispod vizualizacija informacija Pod bazom podataka podrazumijeva se odabir prikazanih podataka prema zadanom kriteriju, njihovo uređenje, dizajn i naknadna dostava do izlaznih uređaja ili prijenos komunikacijskim kanalima. U svijetu postoji mnogo sustava za upravljanje bazama podataka. Unatoč činjenici da mogu drugačije raditi s različitim objektima i pružiti korisniku razne funkcije i znači da se većina DBMS-a oslanja na jedan dobro uspostavljen skup osnovnih koncepata. To nam daje priliku da razmotrimo jedan sustav i generaliziramo njegove koncepte, tehnike i metode za cijelu klasu DBMS-a. Kao takav objekt obuke odabrat ćemo Pascal 7.0 DBMS uključen u Pascal 7.0 paket.

2. Svojstva polja baze podataka
Polja baze podataka ne definiraju samo strukturu baze podataka – ona također definiraju svojstva grupe podataka zapisanih u ćelije koje pripadaju svakom od polja. Dolje su navedena glavna svojstva polja tablice baze podataka koristeći primjer Pascal 7.0 DBMS.
Naziv polja - definira kako treba pristupiti podacima ovog polja tijekom automatskih operacija s bazom (prema zadanim postavkama, nazivi polja koriste se kao zaglavlja stupaca tablice).
Vrsta polja - definira vrstu podataka koji se mogu nalaziti u ovom polju.
Veličina polja - određuje maksimalnu duljinu (u znakovima) podataka koji se mogu smjestiti u ovo polje.
Format polja - definira kako se formatiraju podaci u ćelijama koje pripadaju polju.
Maska unosa - definira oblik u kojem se podaci unose u polje (alat za automatizaciju unosa podataka).
Potpis - definira zaglavlje stupca tablice za ovog polja(ako potpis nije naveden, tada se svojstvo Ime polja koristi kao naslov stupca).
Zadana vrijednost je vrijednost koja se automatski unosi u ćelije polja (alat za automatizaciju unosa podataka).
Uvjet za vrijednost je ograničenje koje se koristi za provjeru ispravnosti unosa podataka (alat za automatizaciju unosa koji se u pravilu koristi za podatke numeričke vrste, vrste valute ili tipa datuma).
Poruka o pogrešci je - tekstualna poruka, koji se automatski izdaje kada pokušate unijeti pogrešne podatke u polje.
Obavezno polje je svojstvo koje određuje mora li se ovo polje popuniti prilikom popunjavanja baze podataka.
Empty strings je svojstvo koje omogućuje unos praznih podataka niza (razlikuje se od svojstva Obavezno polje po tome što se ne odnosi na sve vrste podataka, već samo na neke, na primjer, tekst).

Indeksirano polje - ako polje ima ovo svojstvo, sve operacije povezane s pretraživanjem ili sortiranjem zapisa prema vrijednosti pohranjenoj u ovom polju značajno su ubrzane. Osim toga, za indeksirana polja možete napraviti tako da se vrijednost u zapisima provjerava u odnosu na ovo polje za duplikate, što vam omogućuje da automatski isključite dupliciranje podataka.

Budući da različita polja mogu sadržavati podatke različitih tipova, svojstva polja mogu se razlikovati ovisno o vrsti podataka. Tako se, na primjer, popis gornjih svojstava polja odnosi uglavnom na polja tekstualnog tipa.

Polja drugih tipova mogu ili ne moraju imati ova svojstva, ali im mogu dodati svoja. Na primjer, za predstavljanje podataka realni brojevi, važno svojstvo je broj znamenki nakon decimalne točke. S druge strane, za polja koja se koriste za pohranu slika, zvukova, video isječaka i drugih OLE objekata, većina gore navedenih svojstava je besmislena.

3 . Tseli i zadaci

Prilikom izrade ovog programa postavljeni su sljedeći ciljevi:

· Napišite program koji bi vam omogućio obradu, sortiranje i promjenu informacija o parkiralištu.

Također, prilikom izrade ovog programa postavljeni su sljedeći zadaci:

· Ovaj program trebao imati jednostavan i praktičan korisničko sučelje.

· Ovaj program mora imati nizak intenzitet resursa.

4. Razvoj izbornika sustava
Izbornik sustava ili glavni izbornik trebao bi omogućiti prikladnu interakciju korisnika s programom. Izbornik treba sadržavati stavke za spremanje, pregled, unos novih podataka itd. Korisnik treba samo pritisnuti tipku "enter". U izborniku ovog programa nalazi se šest stavki:
1 - Stvorite datoteku
2 - Dodavanje unosa
3 - Ispravak zapisa
4 - Pregledanje snimke iz datoteke
5 - Izbriši unos
6 - Izlaz
1 - Kreiraj novu datoteku - Stvoreno nova datoteka s imenom koje je dao korisnik programa
2 - Pregled sadržaja datoteke - prethodno kreirani zapisi se prikazuju na ekranu jedan po jedan u obliku:
Prezime domaćina:
Ime domaćina:
Marka automobila:
model stroja:
tip tijela:
broj auta:
regija:
godina izdanja:
boja:
3 - Dodaj unos - Kreiraj novi unos a datoteku dodavanjem na kraj zapisa.
4 - Pretraživanje po broju sobe - Omogućuje vam da pronađete podatke o turistu prema broju sobe u kojoj je turist prijavljen.
5 - Izađi iz programa - izađi iz programa
Zaključak
Obavljeni rad omogućuje svakom korisniku da jednostavno kreira velike količine informacija, obrađuje ih, sortira, odabire prema određenim kriterijima.
Koristeći takav program u moderni svijet uvelike olakšava ljudske aktivnosti.
Objavljeno na Allbest.ru

Slični dokumenti

    Određivanje potrebnih programskih modula, strukture datoteke baze podataka. Opis razvoja programa, otklanjanja pogrešaka i testiranja. Razvoj aplikacije Organizer.exe, izbornik i korisnički priručnik. Algoritam za obradu događaja glavnog izbornika (raspored).

    seminarski rad, dodan 11.02.2014

    Značajke projektiranja programa u C ++ za obradu podataka iz tablica baze podataka. Glavne funkcije programa, stvaranje konceptualni model baze podataka i dijagrame klasa, korisničko sučelje i dizajn upita baze podataka.

    seminarski rad, dodan 08.06.2012

    Odabir sastava hardvera i softvera za razvoj sustava. Opis ulaznih i izlaznih podataka. Odabir modela baze podataka. Razvoj podsustava za popunjavanje baze podataka, generiranje izvješća. Razvoj korisničkog sučelja, testiranje sustava.

    seminarski rad, dodan 04.12.2014

    Faze stvaranja i razvoja baze podataka. Izgradnja modela predmetno područje... Razvoj datalogičkog i fizički modeli podaci, metode obrade podataka o zaposlenicima organizacije. Dizajniranje korisničkih aplikacija. Izrada obrasca gumba.

    seminarski rad, dodan 14.02.2011

    Shema konceptualnog modela podataka. Razvoj strukture relacijske baze podataka i korisničkog sučelja. Značajke glavnih faza dizajna baze podataka. Načini implementacije upita i izvješća. Specifičnost korisničkog priručnika.

    seminarski rad, dodan 18.12.2010

    Proces razvoja baze podataka za pohranu i obradu informacija. Ključevi, indeksi, okidači, pohranjene procedure. Razvoj korisničkog sučelja i baze podataka. Glavni alata za razvoj klijentskih i poslužiteljskih dijelova.

    rad, dodan 18.05.2013

    Faze dizajna baze podataka, definiranje ciljeva i sadržaja tablice. Dodavanje podataka i stvaranje drugih objekata baze podataka. Datalogički model: strukturiranje, normalizacija, sheme podataka. Redoslijed, principi izrade korisničkog sučelja.

    seminarski rad, dodan 26.03.2013

    Tehnologija razvoja korisničkog sučelja u Delphi okruženje... Izrada tablica, izbornika, obrazaca za unos i uređivanje podataka. Principi organiziranja izbornika kao elementa korisničkog sučelja. Provedba sortiranja, filtriranja, izračunavanja u tablici.

    seminarski rad, dodan 13.11.2012

    Osnovna pravila za razvoj korisničkog sučelja. Izrada baze podataka korištenjem razvijenih modela. Moduli za kodiranje softverski sustav kako bi se stvorio prototip. Primarni prozor kada se program pokrene. Zaštita od gubitka informacija.

    laboratorijski rad, dodano 13.06.2014

    Opis predmetnog područja razvoja. Značajke pohranjivanja podataka o automobilima i vlasnicima. Opis strukture baze podataka. Osnovne tablice: automobili, vlasnici, vrste radova, dijelovi, narudžbe, usluge. Upute za programera i korisnika.

Proces dizajna uključuje sljedeće faze.

    Infološki dizajn.

    Određivanje zahtjeva za radnom okolinom u kojoj će informacijski sustav funkcionirati.

    Izbor sustava za upravljanje bazom podataka (DBMS) i drugih softverskih alata.

    Logički dizajn baze podataka.

    Fizički dizajn baze podataka.

1.1. Infološki dizajn.

Proces dizajna informacijski sustavi je prilično težak zadatak. Počinje izgradnjom infološkog modela podataka, odnosno identificiranjem entiteta.

Infološki model predmetnog područja (SO) je opis strukture i dinamike softvera, prirode informacijskih potreba korisnika u terminima koji su razumljivi korisniku i ne ovise o implementaciji baze podataka. Ovaj opis se izražava u terminima ne pojedinačnih softverskih objekata i veza između njih, već njihovih tipova, povezanih ograničenja integriteta i onih procesa koji dovode do prijelaza domene iz jednog stanja u drugo.

Trenutno se koristi projektiranje metodom entitet-odnos (ER-metoda) koja je kombinacija predmetne i primijenjene metode i ima prednosti obje.

Faza infološkog dizajna počinje modeliranjem softvera. Projektant ga dijeli na niz lokalnih područja, od kojih svako (idealno) uključuje informacije koje su dovoljne da se zadovolje zahtjevi posebne grupe budućih korisnika ili da se riješi poseban problem (podzadatak). Svaki lokalni pogled se modelira zasebno, a zatim se kombinira.

Izbor lokalnog predstavljanja ovisi o veličini softvera. Obično se dijeli na lokalna područja na način da svako od njih odgovara zasebnom vanjska primjena i sadržavao je 6-7 entiteta.

Bit Je objekt o kojem će se informacije akumulirati u sustavu. Oba entiteta fizički postoje (npr. ZAPOSLENIK ili AUTOMOBIL ) i apstraktne (npr. ISPIT ili DIJAGNOZA ).

Za entitete se razlikuju klasa, tip entiteta i instanca. Postoje tri glavne klase entiteta: ključan, asocijativna i karakterističan kao i podklasu asocijativnih entiteta - oznake.

Sržna esencija (zrno ) Je samostalna cjelina koja nije niti asocijacija, niti oznaka, niti karakteristika. Takvi entiteti imaju neovisno postojanje, iako mogu označavati druge entitete.

Asocijativni entitet (udruga ) Odnos je više-prema-više između dva ili više entiteta ili instanci entiteta. Udruge smatraju se punopravnim subjektima, mogu: sudjelovati u drugim udrugama i imenovanjima na isti način kao i temeljni subjekti; posjeduju svojstva, tj. imaju ne samo skup ključnih atributa potrebnih za označavanje odnosa, već i bilo koji broj drugih atributa koji karakteriziraju odnos.

Karakteristična suština ( karakterističan ) Je li odnos više na jedan ili jedan na jedan između dva entiteta ( poseban slučaj udruge). Jedini Svrha karakteristike unutar razmatranog predmetnog područja sastoji se u opisu ili specifikaciji nekog drugog entiteta. Potreba za njima nastaje zbog činjenice da entiteti stvarnog svijeta ponekad imaju viševrijedna svojstva.

Na primjer, muž može imati više žena, knjiga može imati nekoliko karakteristika pretiska (prerađeno, dopunjeno,...) itd.

Postojanje karakteristike u potpunosti ovisi o entitetu koji se karakterizira: žene su lišene statusa supruge ako im muž umre.

Subjekt za označavanje ( oznaka ) Je li odnos više-prema-jedan ili jedan-na-jedan između dva entiteta i drugačije je na karakteristike u tome što ne ovisi o naznačenom subjektu. Oznake se koriste za pohranjivanje ponovljenih vrijednosti velikih tekstualnih atributa: "kodifikatora" disciplina koje studiraju studenti, imena organizacija i njihovih odjela, popisa robe itd.

U pravilu, notacija nije razmatrano kao punopravni entiteti, iako to ne bi dovelo do greške. Oznake i karakteristike nisu potpuno samostalne cjeline, jer impliciraju prisutnost nekog drugog entiteta koji će biti "označen" ili "okarakteriziran". Međutim, oni i dalje predstavljaju posebne slučajeve entiteta i mogu, naravno, posjedovati, mogu sudjelovati u udrugama, imenovanjima i imati vlastita (više niska razina) specifikacije. Također naglašavamo da sve instance karakteristike moraju biti nužno povezane s nekom instancom entiteta koji se karakterizira. Međutim, dopušteno je da neke instance karakteriziranog entiteta nemaju veze.

Vrsta entiteta karakteriziran imenom i popisom svojstava, i kopirati- specifične vrijednosti svojstava.

Tipovi entiteta mogu se klasificirati kao jaka i slab . Jaki entiteti postoje sami za sebe, a postojanje slabih ovisi o postojanju jakih.

Na primjer, čitač knjižnice je jak entitet, ali pretplata tog čitatelja je slab entitet, što ovisi o tome da imate odgovarajućeg čitača.

Zovu se slabi entiteti podređeni (djeca) i jaki osnovni (osnovni, roditelj).

Za svaki entitet odabiru se svojstva (atributi).

razlikovati:

    Identificirajući i opisni atributi... Identificirajući atributi imaju jedinstvena vrijednost za subjekte ovog tipa i su potencijalni ključevi. Omogućuju vam jedinstveno prepoznavanje instanci entiteta. Od potencijalnih ključeva odabire se jedan primarni ključ (PC). Kao PC, obično se odabire potencijalni ključ koji se koristi za češći pristup instancama zapisa. Osim toga, PC mora uključivati ​​minimalni broj atributa potrebnih za identifikaciju. Ostali atributi nazivaju se opisni i sadrže svojstva od interesa za entitet.

    Kompozitni i jednostavni atributi... Jednostavan atribut sastoji se od jedne komponente, njegova vrijednost je nedjeljiva. Kompozitni atribut je kombinacija nekoliko komponenti, koje mogu pripadati različiti tipovi podatke (na primjer, ime ili adresu). Odluka da se koristi složeni atribut ili da se razbije na komponente ovisi o tome kako se njime rukuje i formatu prilagođenog prikaza tog atributa.

    Jednoznačni i viševrijedni atributi(može imati jednu ili više vrijednosti za svaku instancu entiteta).

    Osnovni i izvedeni atributi... Vrijednost glavnog atributa neovisna je o drugim atributima. Vrijednost izvedenog atributa izračunava se na temelju vrijednosti drugih atributa (na primjer, dob učenika izračunava se na temelju njegovog datuma rođenja i današnjeg datuma).

Specifikacija atribut sastoji se od njegovih naslovi, upute vrsta podataka i opisi ograničenja integriteta- skup vrijednosti (ili domene) koje ovaj atribut može uzeti.

Nadalje, provodi se specifikacija veza unutar lokalnog predstavništva. Odnosi mogu imati različita smislena značenja (semantika). Razlikovati odnose tipa "entitet-entitet", "entitet-atribut" i "atribut-atribut" za odnose između atributa koji karakteriziraju isti entitet ili isti odnos tipa "entitet-entitet".

Svaki vezu karakteriziran ime, obveza, tip i stupanj... Razlikovati neobavezno i obavezna komunikacija. Ako se pokaže da je novogenerirani objekt jedne vrste nužno povezan s objektom druge vrste, tada između ovih vrsta objekata postoji obavezna poveznica (označena dvostrukom crtom). Inače, poveznica je neobavezno.

Po tip razlikovati više veza jedan prema jedan (1: 1), jedan prema više (1: n) i više prema više (m: n). ER-dijagram koji sadrži različite vrste veza prikazan je na sl. 1. Imajte na umu da su potrebne veze na sl. 1 označene su dvostrukom crtom.

Stupanj odnos je određen brojem entiteta koji su obuhvaćeni ovim odnosom. Primjer binarne veze je veza između odjela i zaposlenika koji u njemu rade. Primjer ternarnog odnosa je odnos kao ispit između entiteta DISCIPLINA , STUDENT , UČITELJ, NASTAVNIK, PROFESOR ... Iz posljednjeg primjera možete vidjeti da odnos također može imati atribute (u ovom slučaju, to jest datum od i Razred ). Primjer ER dijagrama koji prikazuje entitete, njihove atribute i odnose prikazan je na Sl. 2.

Prihvaćeno dizajnerska rješenja može se opisati jezikom infološkog modeliranja (NMM), na temelju SQL jezikšto vam omogućuje da pružite udoban i Potpuni opis bilo kojeg entiteta, a time i cijele baze podataka. Na primjer:

STVORI STOL ZA JELA * (Core Essence)

PRIMARNI KLJUČ (BL)

POLJA (BL cijeli, tekst jela 60, prikaz teksta 7)

OGRANIČENJA (1. Vrijednosti polja Dish moraju biti

jedinstven; kada se prekrši, izlaz

poruka "Već postoji takvo jelo."

2. Vrijednosti polja View moraju pripadati

set: predjelo, juha, vruće, desert,

Piće; u slučaju kršenja, prikazati poruku

"Možete samo grickalica, juha, vruće,

Desert, piće");

CREATE TABLE Sastojci * (povezuje jela i proizvode)

PRIMARNI KLJUČ (BL, OL)

VANJSKI KLJUČ (BL IZ Dish

NULL vrijednosti se NE PRIHVAĆAJU

UKLANJANJE IZ POSUDE KASKADE

DISH UPDATE.BL CASCADES)

VANJSKI KLJUČ (OL IZ proizvoda

NULL vrijednosti se NE PRIHVAĆAJU

UKLANJANJE IZ PROIZVODA JE OGRANIČENO

UPDATE Products.PR CASCADES)

POLJA (BL cijeli, OL cijeli, težina cijelog)

OGRANIČENJA (1. Vrijednosti polja BL i PR moraju pripadati

skup vrijednosti iz odgovarajućih polja tablica

Posuđe i proizvodi; u slučaju kršenja, prikazati poruku

"Ne postoji takvo jelo" ili "Ne postoji takav proizvod."

2. Vrijednost polja Težina mora biti u rasponu od 0,1 do 500 g);

Međutim, ovaj opis nije baš opisan. Kako bi se postigla veća ilustrativnost, preporučljivo je dopuniti projekt jezicima infološkog modeliranja "Entitet-odnos" ili "Tablica-odnos

U dijagramima ER "Entitet-odnos" entiteta prikazano (sl. 2) označena pravokutnicima, udrugamaoznačena rombovima ili šesterokuta, atributimaoznačene ovalima, a veze između njih - neusmjerena rebra(linije koje povezuju geometrijske likove), iznad kojih se može staviti stupanj povezanosti (1 ili slovo koje zamjenjuje riječ "mnogo") i potrebno objašnjenje.

Jezikom infološkog modeliranja "Tablica-odnos" (slika 3.) prikazani su svi entiteti tablice s jednim stupcem sa zaglavljima sastavljeno od Ime i tip entiteta... Redovi tablice su popis atributa entiteta, a nalaze se oni koji čine primarni ključ blizu a okruženi su okvirom. Odnosi između entiteta označeni su strelicama koje pokazuju daleko od primarnih ključeva ili njihovih sastavnih dijelova.

(zrno)

(udruga)

(karakteristika)

Nakon što se kreiraju lokalni pogledi, oni se spajaju. Uz mali broj lokalnih područja (ne više od pet), oni se kombiniraju u jednom koraku. Inače, binarno kombiniranje obično se izvodi u nekoliko faza.

Kada se kombinira, dizajner može oblikovati konstrukcije koje su izvedene iz onih koje se koriste u lokalnim pogledima. Ovaj pristup može poslužiti u sljedeće svrhe:

    sjedinjenje u jedinstvenu cjelinu fragmentarnih ideja o različita svojstva isti predmet;

    uvođenje apstraktnih pojmova koji su prikladni za rješavanje problema sustava, uspostavljanje njihove povezanosti sa specifičnim konceptima korištenim u modelu;

    formiranje klasa i podklasa sličnih objekata (na primjer, klasa "proizvod" i podklase vrsta proizvoda proizvedenih u poduzeću).

U fazi ujedinjenja potrebno je identificirati i otkloniti sve proturječnosti. Na primjer, ista imena semantički različitih objekata ili odnosa, ili nedosljedna ograničenja integriteta na istim atributima u različitim aplikacijama. Otklanjanje kontradikcija čini nužnim povratak na fazu modeliranja lokalnih predstava kako bi se izvršile odgovarajuće promjene u njima.

Po završetku spajanja, rezultati dizajna su konceptualni infološki model domene. Lokalni modeli pogleda su vanjski infološki modeli.

      UTVRĐIVANJE ZAHTJEVA ZA OPERATIVNU SOLU

SITUACIJA.

U ovoj fazi se procjenjuju zahtjevi za računalnim resursima potrebnim za funkcioniranje sustava, utvrđuje se vrsta i konfiguracija pojedinog računala te odabire vrsta i verzija operacijskog sustava. Količina računalnih resursa ovisi o procijenjenom volumenu projektirane baze podataka i o intenzitetu njihovog korištenja. Ako će baza podataka raditi u višekorisničkom načinu rada, tada mora biti spojena na mrežu i prisutnost odgovarajućeg operativnog sustava za više zadataka.

Teme: faze projektiranja baze podataka, projektiranje baze podataka na temelju modela tipa objekt-odnos.

Prije kreiranja baze podataka, programer mora odrediti od kojih se tablica baza podataka treba sastojati, koje podatke treba staviti u svaku tablicu i kako povezati tablice. Ova pitanja se rješavaju u fazi dizajna baze podataka.

Kao rezultat projektiranja treba odrediti logičku strukturu baze podataka, odnosno sastav relacijskih tablica, njihovu strukturu i međutablicne veze.

Prije izrade baze podataka potrebno je imati opis odabranog predmetnog područja koji treba obuhvatiti stvarne objekte i procese, odrediti sve potrebne izvore informacija za zadovoljavanje očekivanih potreba korisnika te utvrditi potrebe za obradom podataka.

Na temelju takvog opisa u fazi projektiranja baze podataka utvrđuje se sastav i struktura podataka predmetnog područja koji mora biti u bazi i osiguravati ispunjenje potrebnih upita i korisničkih zadataka. Struktura podataka predmetnog područja može se prikazati informacijsko-logičkim modelom. Relacijska baza podataka može se jednostavno izraditi na temelju ovog modela.

Faze projektiranja i izrade baze podataka određene su sljedećim redoslijedom:

Izgradnja informacijsko-logičkog modela podataka predmetnog područja;

Određivanje logičke strukture relacijske baze podataka;

Dizajn tablice baze podataka;

Izrada sheme podataka;

Unošenje podataka u tablice (izrada zapisa);

Izrada potrebnih obrazaca, zahtjeva, makronaredbi, modula, izvješća;

Razvoj korisničkog sučelja.

U procesu razvoja modela podataka potrebno je odabrati informacijske objekte koji zadovoljavaju zahtjeve normalizacije podataka i odrediti međusobne odnose. Ovaj model vam omogućuje stvaranje relacijske baze podataka bez dupliciranja, što omogućuje jednokratni unos podataka tijekom početnog učitavanja i prilagodbe, kao i integritet podataka kada se učine promjene.

Prilikom razvoja modela podataka mogu se primijeniti dva pristupa. U prvom pristupu najprije se određuju glavni zadaci za čije se rješavanje gradi baza, identificiraju se potrebe zadataka u podacima i sukladno tome utvrđuje sastav i struktura informacijski objekti. S drugim pristupom odmah se instaliraju tipični objekti predmetnog područja. Najracionalnija kombinacija oba pristupa. To je zbog činjenice da na početno stanje u pravilu nema sveobuhvatnih informacija o svim zadacima. Korištenje ove tehnologije je utoliko opravdanije jer fleksibilni načini stvaranja relacijskih baza podataka omogućuju u bilo kojoj fazi razvoja unošenje promjena u bazu podataka i modificiranje njezine strukture ne dovodeći u pitanje prethodno unesene podatke.


Proces identifikacije informacijskih objekata predmetnog područja koji zadovoljavaju zahtjeve normalizacije može se provesti na temelju intuitivnog ili formalnog pristupa. Teorijske osnove formalnog pristupa razvijene su i u potpunosti opisane u monografijama o organizaciji baza podataka poznatog američkog znanstvenika J. Martina.

Intuitivnim pristupom mogu se lako identificirati informacijski objekti koji odgovaraju stvarnim objektima. Međutim, dobiveni informacijsko-logički model, u pravilu, zahtijeva daljnje transformacije, posebice transformaciju viševrijednih veza između objekata. S ovim pristupom moguće su značajne pogreške ako nema dovoljno iskustva. Naknadna provjera ispunjenja zahtjeva normalizacije obično ukazuje na potrebu dorade informacijskih objekata.

Razmotrite formalna pravila koja se mogu koristiti za isticanje informacijskih objekata:

Na temelju opisa predmetnog područja identificirati dokumente i njihove atribute koji će se pohraniti u bazu podataka;

Definirati funkcionalne ovisnosti između atributa;

Odaberite sve zavisne atribute i za svaki navedite sve njegove ključne atribute, odnosno one o kojima ovisi;

Grupirajte atribute koji su jednako ovisni o ključnim atributima. Rezultirajuće ovisne skupine atributa zajedno s njihovim ključni atributi formiraju informacijske objekte.

Prilikom definiranja logičke strukture relacijske baze podataka temeljene na modelu, svaki informacijski objekt je adekvatno predstavljen relacijskom tablicom, a odnosi između tablica odgovaraju odnosima između informacijskih objekata.

U procesu kreiranja najprije se konstruiraju tablice baze podataka koje odgovaraju informacijski objekti konstruirani model podataka. Nadalje, može se kreirati podatkovna shema u kojoj se fiksiraju postojeći logički odnosi između tablica. Ove veze odgovaraju poveznicama informacijskih objekata. Shema podataka može se konfigurirati za održavanje integriteta baze podataka ako je model podataka dizajniran da zadovolji zahtjeve normalizacije. Integritet podataka znači da je baza podataka uspostavila i ispravno održavala odnose između zapisa različitih tablica prilikom učitavanja, dodavanja i brisanja zapisa u povezanim tablicama, kao i pri promjeni vrijednosti ključnih polja.

Nakon formiranja sheme podataka, vrši se unos konzistentnih podataka iz dokumenata predmetnog područja.

Na temelju kreirane baze podataka formiraju se potrebni upiti, obrasci, makronaredbe, moduli, izvještaji koji proizvode potrebnu obradu podataka baze podataka i njihovu prezentaciju.

Uz pomoć ugrađenih alata i alata baze podataka kreira se korisničko sučelje koje omogućuje upravljanje procesima unosa, pohranjivanja, obrade, ažuriranja i prezentiranja informacija baze podataka.

Dizajniranje baze podataka na temelju modela objektno-relacije

Postoji niz tehnika za stvaranje informacijsko-logičkih modela. Jedna od trenutno najpopularnijih tehnika modeliranja koristi ERD (Entity-Relationship Diagrams). U literaturi na ruskom jeziku ti se dijagrami nazivaju "objekt - odnos" ili "entitet - odnos". Model ERD predložio je Peter Ping Sheng Chen 1976. Do danas je razvijeno nekoliko verzija, ali sve se temelje na grafički dijagrami predložio Chen. Dijagrami se izrađuju iz nekoliko komponente. Zbog svoje jasnoće prezentacije, naširoko se koriste u CASE alatima (Computer Aided Software Engineering).

Razmotrite korištenu terminologiju i oznake.

Entitet- stvarni ili imaginarni objekt koji je bitan za razmatrano predmetno područje, o kojem se podaci trebaju pohraniti.

Svaki entitet mora imati jedinstveni identifikator. Svaka instanca entiteta mora biti jedinstveno identificirana i različita od svih ostalih instanci danog tipa (entiteta).

Svaki entitet mora imati neka svojstva:

Imati jedinstveno ime; štoviše, isto tumačenje (definicija entiteta) mora se uvijek primjenjivati ​​na ovaj naziv. Obrnuto: isto tumačenje se ne može primijeniti na različita imena osim ako su pseudonima;

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

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

Entitet može biti neovisan ili ovisan. Znak ovisnog entiteta je prisutnost atributa naslijeđenih kroz odnos (slika 1).

Svaki entitet može imati bilo koji broj odnosa s drugim entitetima u modelu.

Odnos- imenovana povezanost između dva entiteta koja je značajna za domenu koja se razmatra. Jedan od entiteta koji sudjeluju u odnosu je neovisan, naziva se roditeljski entitet, drugi je ovisan, naziva se podređeni entitet ili entitet potomak. U pravilu, svaka instanca roditeljskog entiteta povezana je s proizvoljnim (uključujući nula) brojem instanci podređenog entiteta. Svaka instanca entiteta potomka pridružena je točno jednoj instanci nadređenog entiteta. Dakle, instanca entiteta potomka može postojati samo ako postoji roditeljski entitet.

Poveznici se daje ime izraženo gramatičkim okretom glagola i postavljeno blizu veze.

Naziv svakog odnosa između ova dva entiteta mora biti jedinstven, ali nazivi odnosa u modelu ne moraju biti jedinstveni. Svaka veza ima definiciju. Definicija odnosa se formira kombiniranjem naziva matičnog entiteta, naziva odnosa, izraza stupnja odnosa i naziva entiteta potomka.

Na primjer, odnos prodavatelja prema ugovoru može se definirati na sljedeći način:

Prodavatelj može primiti naknadu za jedan ili više Ugovora;

Ugovor mora pokrenuti točno jedan Prodavatelj.

Na dijagramu je veza prikazana linijskim segmentom (izlomljena linija). Linija završava sa posebne oznake(slika 2) označavaju stupanj komunikacije. Osim toga, priroda linije - isprekidana ili čvrsta, ukazuje na obveznu vezu.

Atribut- svaka karakteristika subjekta koja je značajna za predmetno područje. Namijenjen je kvalificirati, identificirati, klasificirati, kvantificirati ili izraziti stanje entiteta. Atribut predstavlja vrstu karakteristika (svojstava) povezanih sa skupom stvarnih ili apstraktnih objekata (ljudi, mjesta, događaji, stanja, ideje, parovi objekata, itd.) (slika 3.).

Instanca atributa Je određena karakteristika konkretan primjer entiteta. Instanca atributa određena je vrstom karakteristike (na primjer, "Boja") i njezinom vrijednošću (na primjer, "ljubičasta"), koja se naziva vrijednost atributa. U modelu ER, atributi su povezani s određenim entitetima. Svaka instanca entiteta mora imati jednu specifičnu vrijednost za svaki od svojih atributa.

Atribut može biti bilo koji obveznim ili neobavezno... Obvezno znači da atribut ne može imati nulte vrijednosti. Atribut može biti ili deskriptivan (tj. običan deskriptor entiteta) ili dio jedinstvenog identifikatora (primarni ključ).

Jedinstveni identifikator Je atribut ili skup atributa i/ili odnosa koji jedinstveno karakteriziraju svaku instancu danog tipa entiteta. U slučaju potpune identifikacije, instanca ovog tipa entiteta je u potpunosti identificirana svojim vlastitim ključnim atributima, inače su atributi drugog entiteta - roditelja - također uključeni u identifikaciju.

Priroda identifikacije prikazana je u dijagramu na komunikacijskoj liniji (slika 4).

Svaki atribut je identificiran jedinstvenom imenskom frazom koja opisuje karakteristiku predstavljenu atributom. Atributi se prikazuju kao popis imena unutar pridruženog bloka entiteta, sa svakim atributom u zasebnom retku. Atributi koji definiraju primarni ključ nalaze se na vrhu popisa i označeni su znakom "#".

Svaki entitet mora imati barem jedan mogući ključ. Mogući ključ entiteta je jedan ili više atributa čije vrijednosti jedinstveno identificiraju svaku instancu entiteta. Ako ih ima nekoliko mogući ključevi jedan od njih je određen kao primarni ključ, a drugi su označeni kao alternativni ključevi.

Trenutno, na temelju Chenovog pristupa, razvijena je metodologija IDEF1X, koja je razvijena uzimajući u obzir zahtjeve kao što su jednostavnost učenja i mogućnost automatizacije. IDEFlX dijagrame koriste brojni uobičajeni CASE alati (posebno ERwin, Design / IDEF).

Entitet u IDEF1X metodologiji naziva se neovisnim o identifikatorima, ili jednostavno neovisnim, ako se svaka instanca entiteta može jedinstveno identificirati bez definiranja njegovih odnosa s drugim entitetima. Entitet se naziva ovisan o identifikatoru ili jednostavno ovisan ako jedinstvena identifikacija instance entiteta ovisi o njegovom odnosu s drugim entitetom (slika 5).

Svakom entitetu je dodijeljen jedinstveni naziv i broj, odvojeni kosom crtom "/" i postavljeni iznad bloka.

Ako je instanca entiteta potomka jednoznačno određena svojim odnosom s roditeljskim entitetom, tada se odnos naziva identifikacijskim, inače je neidentificirajući.

Prikazan je identifikacijski odnos između roditeljskog entiteta i entiteta potomka puna linija... Na sl. 5: # 2 je ovisni entitet, Veza 1 je identifikacijski odnos. Entitet potomak u identifikacijskom odnosu je entitet ovisan o identifikatoru. Matični entitet u identifikacijskom odnosu može biti neovisni ili entitet ovisan o identifikatoru (to je određeno njegovim odnosima s drugim entitetima).

Isprekidana linija predstavlja neidentifikacijski odnos. Na sl. 5: # 4 je neovisni entitet, Link 2 je neidentificirajuća veza. Entitet potomak u neidentificirajućem odnosu bit će neovisan o identifikatoru ako također nije entitet potomak u bilo kojem identifikacijskom odnosu.

Odnos se može dalje definirati specificiranjem stupnja ili kardinalnosti (broj instanci entiteta potomka koji može postojati za svaku instancu roditeljskog entiteta).

Sljedeće kardinalnosti mogu se izraziti u IDEF1X:

Svaka instanca roditeljskog entiteta može imati nula, jednu ili više instanci entiteta potomaka povezanih s njim;

Svaka instanca roditeljskog entiteta mora imati barem jednu pridruženu instancu entiteta potomka;

Svaka instanca roditeljskog entiteta mora imati najviše jednu pridruženu instancu entiteta potomka;

Svaka instanca roditeljskog entiteta povezana je s nekim fiksnim brojem instanci entiteta potomaka.

Snaga komunikacije je prikazana kao što je prikazano na sl. 6 (zadana snaga - N).


Atributi se prikazuju kao popis imena unutar bloka entiteta. Atributi koji definiraju primarni ključ postavljeni su na vrh popisa i odvojeni od ostalih atributa vodoravnom trakom (slika 7).

Rezultat je informacijsko-logički model koji koristi niz uobičajenih CASE-alata, kao što su ERwin, Design / IDEF. Zauzvrat, CASE tehnologije imaju veliki potencijal u razvoju baza podataka i informacijskih sustava, odnosno povećanje produktivnosti rada, poboljšanje kvalitete softverskih proizvoda, podrška za jedinstven i dosljedan stil rada.

Entiteti također mogu imati vanjski ključ. S identifikacijskim odnosom, oni se koriste kao dio ili cijeli primarni ključ, s neidentifikacijskim odnosom služe kao atributi koji nisu ključ. U popisu atributa strani ključ je označen slovima FK u zagradama.

Prijevod serije od 15 članaka o dizajnu baze podataka.
Informacije su namijenjene početnicima.
Pomogao mi. Možda će to nekome pomoći da popuni praznine.

Vodič za dizajn baze podataka.

1. Uvod.
Ako namjeravate stvoriti vlastite baze podataka, dobra je ideja pridržavati se pravila dizajna baze podataka jer će to osigurati dugoročan integritet i lakoću održavanja vaših podataka. Ovaj vodič će vas provesti kroz što su baze podataka i kako dizajnirati bazu podataka koja poštuje pravila dizajna relacijske baze podataka.

Baze podataka su programi koji vam omogućuju pohranjivanje i dohvaćanje velikih količina povezanih informacija. Baze podataka se sastoje od tablice, koji sadrže informacija... Kada kreirate bazu podataka, morate razmisliti o kojoj tablice trebaš stvoriti i što veze postoje između informacija u tablicama. Drugim riječima, morate razmišljati o tome projekt svoju bazu podataka. Dobar projekt baze podataka, kao što je ranije spomenuto, osigurat će integritet podataka i lakoću održavanja.
Baza podataka je stvorena za pohranjivanje informacija u nju i dobivanje tih informacija ako je potrebno. To znači da moramo biti u mogućnosti postaviti, umetnuti ( UMETNUTI) informacije u bazu podataka i želimo biti u mogućnosti dohvatiti informacije iz baze podataka ( IZABERI).
Jezik upita baze podataka je izmišljen za tu svrhu i dobio je ime Strukturirani jezik upita ili SQL. Operacije umetanja podataka (INSERT) i njihovog odabira (SELECT) dio su upravo tog jezika. U nastavku je primjer upita za dohvaćanje podataka i njegov rezultat.

SQL je velika tema za pripovijedanje i izvan je opsega ovog vodiča. Ovaj je članak strogo usmjeren na predstavljanje proces dizajna baze podataka... Kasnije, u zasebnom tutorialu, pokriti ću osnove SQL-a.

Relacijski model.
U ovom vodiču pokazat ću vam kako stvoriti relacijski model podataka. Relacijski model je model koji opisuje kako organizirati podatke u tablicama i kako definirati odnose između tih tablica.

Pravila relacijskog modela diktiraju kako informacije trebaju biti organizirane u tablicama i kako se tablice međusobno odnose. U konačnici, rezultat se može predstaviti u obliku dijagrama baze podataka ili, točnije, dijagrama entitet-odnos, kao na slici (primjer preuzet iz MySQL Workbench-a).

Primjeri.
Koristio sam brojne aplikacije kao primjere u tutorialu.

RDBMS.

RDBMS koji sam koristio za kreiranje primjera tablica je MySQL. MySQL je najpopularniji RDBMS i besplatan je.

Uslužni program za administraciju baze podataka.

Nakon instalacije MySQL-a, dobivate samo sučelje naredbenog retka za interakciju s MySQL-om. Osobno više volim grafičko sučelje za upravljanje svojim bazama podataka. Često koristim SQLyog. To je besplatni GUI uslužni program. Slike tablice u ovom priručniku preuzete su odatle.

Vizualno modeliranje.

Postoji izvrsna besplatna aplikacija MySQL Workbench. Omogućuje vam grafički dizajn baze podataka. Dijagrami u priručniku prikazani su u ovom programu.

Dizajn neovisan o RDBMS-u.
Važno je znati da iako ovaj vodič pruža primjere za MySQL, dizajn baze podataka je neovisan o RDBMS-u. To znači da se informacije odnose na relacijske baze podataka općenito, a ne samo na MySQL. Znanje iz ovog vodiča možete primijeniti na bilo koju relacijsku bazu podataka poput Mysql, Postgresql, Microsoft Access, Microsoft Sql ili Oracle.

U sljedećem dijelu ukratko ću govoriti o evoluciji baza podataka. Naučit ćete odakle potječu baze podataka i relacijski model podataka.

2. Povijest.
U 70-ima i 80-ima, kada su računalni znanstvenici još uvijek nosili smeđe smokinge i velike naočale četvrtastog okvira, podaci su bili pohranjeni nestrukturirani u datotekama koje su bile tekstualni dokumenti s podacima odvojenim (obično) zarezima ili tabulatorima.

Ovako su izgledali IT profesionalci 70-ih godina. (Bill Gates je dolje lijevo).

Tekstualne datoteke se i danas koriste za pohranjivanje malih količina jednostavnih informacija. Vrijednosti odvojene zarezima (CSV) - vrijednosti odvojene zarezima su vrlo popularne i danas ih široko podržavaju različiti softveri i operativni sustavi. Microsoft Excel je jedan primjer programa koji mogu raditi s CSV datotekama. Podatke pohranjene u takvoj datoteci može pročitati računalni program.

Gore je primjer kako bi takva datoteka mogla izgledati. Program koji čita ovu datoteku mora biti obaviješten da su podaci odvojeni zarezima. Ako program želi odabrati i prikazati kategoriju u kojoj se lekcija nalazi "Vodič za dizajn baze podataka", tada mora čitati redak po redak dok se ne pronađu riječi "Vodič za dizajn baze podataka" a zatim će morati pročitati sljedeću riječ iza zareza kako bi prikazala kategoriju Softver.

Tablice baze podataka.
Čitanje datoteke red po redak nije vrlo učinkovito. U relacijskoj bazi podataka podaci se pohranjuju u tablice. Tablica u nastavku sadrži iste podatke kao i datoteka. Svaki redak ili "zapis" sadrži jednu lekciju. Svaki stupac sadrži neka svojstva lekcije. U ovom slučaju to je naslov (title) i njegova kategorija (kategorija).

Računalni program mogao bi pretražiti stupac tutorial_id ove tablice za određeni tutorial_id kako bi brzo pronašao odgovarajući naslov i kategoriju. Ovo je mnogo brže od pretraživanja datoteke red po redak, baš kao što to čini program u tekstualnoj datoteci.

Moderne relacijske baze podataka dizajnirane su tako da mogu vrlo brzo dohvatiti podatke iz određenih redaka, stupaca i više tablica.

Povijest relacijskog modela.
Model relacijske baze podataka izumio je 70-ih Edgar Codd, britanski znanstvenik. Želio je prevladati nedostatke modela umrežene baze podataka i hijerarhijskog modela. I u tome je bio vrlo uspješan. Model relacijske baze podataka danas je široko prihvaćen i smatra se moćnim modelom za učinkovito organiziranje podataka.

Danas je dostupan širok izbor sustava za upravljanje bazama podataka, od malih desktop aplikacija do višenamjenskih poslužiteljskih sustava s vrlo optimiziranim metodama pretraživanja. Neki od poznatijih sustava upravljanja relacijskim bazama podataka (RDBMS) su:

- Oracle- prvenstveno se koristi za profesionalne, velike primjene.
- Microsoft SQL poslužitelj - Microsoft RDBMS. Dostupno samo za operacijski sustav Windows.
- Mysql Vrlo je popularan RDBMS otvorenog koda. Široko ga koriste i profesionalci i početnici. Što još treba?! Slobodno je.
- IBM- ima niz RDBMS-a, najpoznatiji je DB2.
- Microsoft Access- RDBMS, koji se koristi u uredu i kod kuće. Zapravo, to je više od obične baze podataka. MS Access vam omogućuje stvaranje baza podataka s korisničkim sučeljem.
U sljedećem dijelu objasnit ću malo o karakteristikama relacijskih baza podataka.

3. Karakteristike relacijskih baza podataka.
Relacijske baze podataka dizajnirane su za brzo pohranjivanje i dohvaćanje velikih količina informacija. Slijede neke od karakteristika relacijskih baza podataka i modela relacijskih podataka.
Korištenje ključeva.
Svaki redak podataka u tablici identificiran je jedinstvenim "ključem" koji se naziva primarni ključ. Često je primarni ključ broj koji se automatski povećava (1,2,3,4, itd.). Podaci u različitim tablicama mogu se međusobno povezati pomoću ključeva. Vrijednosti primarnog ključa iz jedne tablice mogu se dodati u retke (zapise) druge tablice, čime se ti zapisi povezuju zajedno.

Koristeći jezik strukturiranih upita (SQL), podaci iz različitih tablica s ključem mogu se dohvatiti u jednom potezu. Na primjer, možete kreirati upit koji će odabrati sve narudžbe iz tablice narudžbi koje pripadaju korisniku s ID-om 3 (Mike) iz tablice korisnika. O ključevima ćemo govoriti dalje, u sljedećim dijelovima.


Stupac id u ovoj tablici je primarni ključ. Svaki zapis ima jedinstveni primarni ključ, često broj. Stupac korisničke grupe je strani ključ. Kao što naziv sugerira, očito se odnosi na tablicu koja sadrži grupe korisnika.

Nema redundantnosti podataka.
U dizajnu baze podataka koji je izgrađen korištenjem pravila relacijskog modela podataka, svaka informacija, kao što je korisničko ime, pohranjena je samo na jednom mjestu. To eliminira potrebu za radom s podacima na više lokacija. Dupliciranje podataka naziva se redundantnost podataka i treba ga izbjegavati u dobrom dizajnu baze podataka.
Ograničenje unosa.
Pomoću relacijske baze podataka možete definirati koje vrste podataka je dopušteno pohranjivati ​​u stupcu. Možete stvoriti polje koje sadrži cijele brojeve, decimale, male dijelove teksta, velike dijelove teksta, datume itd.


Kada kreirate tablicu baze podataka, dajete tip podataka za svaki stupac. Na primjer, varchar je vrsta podataka za male dijelove teksta s najviše 255 znakova, a int su brojevi.

Osim tipova podataka, RDBMS vam omogućuje da dodatno ograničite podatke koje možete unijeti. Na primjer, ograničite duljinu ili nametnite jedinstvenost vrijednosti zapisa u danom stupcu. Potonje ograničenje često se koristi za polja koja sadrže korisnička registracijska imena (prijave) ili adrese e-pošte.

Ova ograničenja daju vam kontrolu nad integritetom vaših podataka i sprječavaju situacije kao što su sljedeće:

Unos adrese (teksta) u polje gdje očekujete da ćete vidjeti broj
- upisivanje indeksa regije s duljinom tog istog indeksa u stotinu znakova
- stvaranje korisnika s istim imenom
- stvaranje korisnika s istom adresom e-pošte
- unos težine (broja) u polje rođendan (datum).

Održavanje integriteta podataka.
Prilagođavanjem svojstava polja, povezivanjem tablica i postavljanjem ograničenja možete povećati pouzdanost svojih podataka.
Ustupanje prava.
Većina RDBMS-ova nudi postavku dopuštenja koja vam omogućuje da dodijelite određena prava određenim korisnicima. Neke radnje koje se mogu dopustiti ili odbiti korisniku: SELECT (dohvaćanje), INSERT (umetanje), DELETE (brisanje), ALTER (izmjena), CREATE (kreiranje) itd. To su operacije koje se mogu izvesti pomoću jezika strukturiranih upita (SQL).
Jezik strukturiranih upita (SQL).
Za obavljanje određenih operacija nad bazom podataka, kao što su spremanje podataka, njihovo dohvaćanje, promjena, koristi se jezik strukturiranih upita (SQL). SQL je relativno jednostavan za razumijevanje i omogućuje uklj. i ugniježđeni odabiri, kao što je dohvaćanje povezanih podataka iz više tablica korištenjem SQL JOIN izraza. Kao što je ranije spomenuto, SQL neće biti razmatran u ovom vodiču. Usredotočit ću se na dizajn baze podataka.

Način na koji dizajnirate svoju bazu podataka imat će izravan utjecaj na upite koje trebate izvršiti da biste dobili podatke iz baze podataka. Ovo je još jedan razlog zašto morate razmišljati o tome kakva bi vaša baza trebala biti. Uz dobro osmišljenu bazu podataka, vaši upiti mogu biti čišći i lakši.

Prenosivost.
Relacijski model podataka je standardan. Slijedeći pravila relacijskog modela podataka, možete biti sigurni da se vaši podaci mogu relativno lako premjestiti na drugi RDBMS.

Kao što je ranije spomenuto, projektiranje baze podataka je pitanje identificiranja podataka, njihovog povezivanja i stavljanja rezultata rješavanja ovog problema na papir (ili u računalni program). Dizajnirajte bazu podataka neovisno o RDBMS-u koji namjeravate koristiti za stvaranje.

U sljedećem dijelu pobliže ćemo pogledati primarne ključeve.

Vrhunski povezani članci