Kako podesiti pametne telefone i računare. 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 je. Možda će to pomoći nekom drugom da popuni praznine.

Vodič za dizajn baze podataka.

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

Baze podataka su programi koji vam omogućavaju pohranjivanje i primanje velikih količina povezane informacije... Baze podataka se sastoje od stolovi, koji sadrže informacije... Kada kreirate bazu podataka, morate razmisliti o kojoj stolovi treba da kreirate i šta veze postoje između informacija u tabelama. Drugim riječima, morate razmisliti projekat vašu bazu podataka. Dobar projekat baze podataka, kao što je ranije spomenuto, osigurat će integritet podataka i lakoću održavanja.
Baza podataka je kreirana za pohranjivanje informacija u nju i dobivanje tih informacija ako je potrebno. To znači da moramo biti u mogućnosti postaviti, umetnuti ( INSERT) informacije u bazu podataka i želimo da budemo u mogućnosti da preuzmemo informacije iz baze podataka ( SELECT).
Jezik upita baze podataka je izmišljen za ovu svrhu i dobio je ime Strukturirani jezik upita ili SQL. Operacije umetanja podataka (INSERT) i njihovog odabira (SELECT) dio su upravo ovog jezika. Ispod je primjer upita za dohvaćanje podataka i njegov rezultat.

SQL je velika tema za pripovijedanje i izvan je okvira ovog tutorijala. Ovaj članak je striktno fokusiran na predstavljanje proces dizajniranja baze podataka... Kasnije, u posebnom tutorijalu, pokriti ću osnove SQL-a.

Relacioni model.
U ovom tutorijalu pokazat ću vam kako da kreirate relacijski model podataka. Relacijski model je model koji opisuje kako organizirati podatke u tablicama i kako definirati odnose između tih tabela.

Pravila relacioni model diktiraju kako informacije treba da budu organizovane u tabelama i kako se tabele međusobno odnose. Na kraju, rezultat se može dati u obliku dijagrama baze podataka ili, preciznije, dijagrama entitet-odnos, kao na slici (Primjer preuzet iz MySQL Workbench).

Primjeri.
Koristio sam brojne aplikacije kao primjere u tutorijalu.

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.

Poslije MySQL instalacije dobijate samo interfejs komandna linija za interakciju sa MySQL. Lično, više volim grafički interfejs za upravljanje svojim bazama podataka. Često koristim SQLyog. Ovo besplatni uslužni program With grafički interfejs... Slike stolova u ovaj priručnik preuzeto odatle.

Vizuelno modeliranje.

Postoji odličan besplatni MySQL aplikacija Workbench. Omogućava vam da grafički dizajnirate svoju bazu podataka. Dijagrami u priručniku prikazani su u ovom programu.

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

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

2. Istorija.
U 70-im i 80-im godinama, kada su kompjuterski naučnici još uvijek nosili smeđe smokinge i velike naočale četvrtastog okvira, podaci su bili pohranjeni nestrukturirani u fajlovima koji su bili Tekstualni dokument sa podacima odvojenim (obično) zarezima ili tabulatorima.

Ovako su izgledali profesionalci u ovoj oblasti. informacione tehnologije 70-ih godina. (Bill Gates je dolje lijevo).

Tekstualne datoteke se i danas koriste za pohranjivanje malih količina jednostavnih informacija. Vrijednosti razdvojene zarezima (CSV) - vrijednosti razdvojene zarezima su vrlo popularne i danas široko podržane od strane raznih softvera i operativnim sistemima. Microsoft Excel Jedan je od primjera programa koji mogu raditi sa CSV datotekama. Podatke pohranjene u takvoj datoteci može pročitati kompjuterski program.

Iznad je primjer kako bi takav fajl mogao izgledati. Program za čitanje ovog fajla, 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", onda mora čitati red po red 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.

Tabele baze podataka.
Čitanje fajla red po red nije baš efikasno. U relacijskoj bazi podataka podaci se pohranjuju u tablice. Tabela ispod sadrži iste podatke kao i datoteka. Svaki red ili „zapis“ sadrži jednu lekciju. Svaka kolona sadrži neke osobine lekcije. V u ovom slučaju ovo je naslov i njegova kategorija.

Računarski program bi mogao pretražiti tutorial_id kolonu ove tabele za specifičnim tutorial_id da brzo pronađe odgovarajući naslov i kategoriju. Ovo je mnogo brže od pretraživanja datoteke red po red, baš kao što program radi u tekstualnoj datoteci.

Moderne relacijske baze podataka dizajnirane su tako da mogu da dohvate podatke iz određenih redova, kolona i više tabela, u isto vrijeme, vrlo brzo.

Istorija relacionog modela.
Model relacijske baze podataka izumio je 70-ih Edgar Codd, britanski naučnik. Želeo je da prevaziđe nedostatke mrežni model baze podataka i hijerarhijski model. I u tome je bio veoma uspješan. Model relacione baze podataka je danas široko prihvaćen i smatra se moćnim modelom za efikasno organizovanje podataka.

Danas je dostupan širok izbor sistema za upravljanje bazama podataka, od malih desktop aplikacija do multifunkcionalnih serverskih sistema sa visoko optimizovanim metodama pretraživanja. Neki od poznatijih sistema upravljanja relacionim bazama podataka (RDBMS) su:

- Oracle- prvenstveno se koristi za profesionalne, velike aplikacije.
- Microsoft SQL server- RDBMS Microsoft... Dostupno samo za operativni sistem Windows.
- Mysql Veoma je popularan RDBMS otvorenog koda izvorni kod... Široko ga koriste i profesionalci i početnici. Šta još treba?! Slobodno je.
- IBM- ima niz RDBMS-a, najpoznatiji je DB2.
- Microsoft Access- RDBMS, koji se koristi u kancelariji i kod kuće. U stvari, to je više od obične baze podataka. MS Access vam omogućava da kreirate baze podataka sa korisničkim interfejsom.
U sljedećem dijelu ću malo objasniti karakteristike relacijskih baza podataka.

3. Karakteristike relacionih baza podataka.
Relacijske baze podataka su dizajnirane za brzo spremanje i primanje velike količine informacija. Slijede neke od karakteristika relacionih baza podataka i modela relacionih podataka.
Korištenje ključeva.
Svaki red podataka u tabeli je identifikovan 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 tabelama mogu se međusobno povezati pomoću ključeva. Vrijednosti primarnog ključa iz jedne tabele mogu se dodati u redove (zapise) druge tabele, čime se ti zapisi povezuju zajedno.

Koristeći strukturirani jezik upiti (SQL), podaci iz različiti stolovi 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 narednim dijelovima.


Kolona id u ovoj tabeli je primarni ključ. Svaki zapis ima jedinstveni primarni ključ, često broj. Kolona korisničke grupe je strani ključ. Kao što ime sugeriše, očigledno se odnosi na tabelu koja sadrži grupe korisnika.

Nema redundantnosti podataka.
U dizajnu baze podataka koji je izgrađen korištenjem pravila relacionog modela podataka, svaka informacija, kao što je korisničko ime, pohranjena je na samo jednom mjestu. Ovo eliminira potrebu za radom s podacima na više lokacija. Dupliranje podataka naziva se redundantnost podataka i treba ga izbjegavati dobar projekat Baza podataka.
Ograničenje unosa.
Koristeći relaciona baza podataka, možete definirati koje vrste podataka je dozvoljeno pohranjivati ​​u koloni. Možete kreirati polje koje sadrži cijele brojeve, decimalni brojevi, mali dijelovi teksta, veliki dijelovi teksta, datumi, itd.


Kada kreirate tabelu baze podataka, dajete tip podataka za svaku kolonu. Na primjer, varchar je tip podataka za male komade teksta sa maksimalan broj znakovi jednaki 255, a int su brojevi.

Pored tipova podataka, RDBMS vam omogućava da dodatno ograničite podatke koje možete unijeti. Na primjer, ograničite dužinu ili nametnite jedinstvenost vrijednosti zapisa u ovu kolonu... Potonje ograničenje se često koristi za polja koja sadrže imena registracije korisnika (logine) ili adrese Email.

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

Unošenje adrese (teksta) u polje na kojem očekujete da vidite broj
- unošenje indeksa regije sa dužinom ovog istog indeksa u stotinu znakova
- kreiranje korisnika sa istim imenom
- kreiranje korisnika sa istom email adresom
- unošenje težine (broja) u polje rođendan (datum).

Održavanje integriteta podataka.
Prilagođavanjem svojstava polja, povezivanjem tabela i postavljanjem ograničenja, možete povećati pouzdanost svojih podataka.
Ustupanje prava.
Većina RDBMS-ova nudi postavku dozvola koja vam omogućava da dodijelite određena prava određenim korisnicima. Neke radnje koje se mogu dozvoliti ili odbiti korisniku su SELECT, INSERT, DELETE, ALTER, CREATE, itd. Ovo 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 je spremanje podataka, njihovo preuzimanje, promjena, koristi se jezik strukturiranih upita (SQL). SQL je relativno lak za razumijevanje i omogućava uklj. i naslagane selekcije, kao što je dohvaćanje povezanih podataka iz više tabela koristeći SQL izraz PRIDRUŽITE SE. Kao što je ranije spomenuto, SQL neće biti razmatran u ovom vodiču. Fokusiraću se na dizajn baze podataka.

Način na koji dizajnirate svoju bazu podataka imat će direktan 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 dizajniranu bazu podataka, vaši upiti mogu biti čišći i lakši.

Prenosivost.
Relacioni model podataka je standardan. Prateći pravila relacionog modela podataka, možete biti sigurni da se vaši podaci mogu relativno lako prenijeti na drugi RDBMS.

Kao što je ranije rečeno, dizajniranje baze podataka je pitanje identifikacije podataka, njihovog povezivanja i postavljanja rezultata rješenja. ovaj problem na papiru (ili u kompjuterski program). Dizajnirajte bazu podataka nezavisno od RDBMS-a koji nameravate da koristite da biste je kreirali.

U sljedećem dijelu ćemo detaljnije pogledati primarne ključeve.

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Koristite obrazac ispod

Dobar posao na stranicu ">

Studenti, postdiplomci, mladi naučnici koji koriste bazu znanja u svom studiranju i radu biće vam veoma zahvalni.

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

Vvjedenje

korisnički sistem interfejs programa

Danas stotine miliona radi u svijetu. personalni računari... Naučnici, ekonomisti, političari smatraju da su do početka trećeg milenijuma:

broj kompjutera u svetu biće jednak broju stanovnika razvijenih zemalja.

većina ovih računara biće uključena u svetske informacione mreže.

sve informacije koje je čovečanstvo akumuliralo do početka trećeg milenijuma biće pretvorene u kompjuterski (binarni) oblik, a sve informacije će se pripremati uz pomoć (ili uz učešće) kompjutera; sve informacije će biti pohranjene na neodređeno vrijeme u kompjuterskim mrežama;

punopravni član društva trećeg milenijuma moraće svakodnevno da komunicira sa lokalnim, regionalnim ili svetskim mrežama koristeći kompjutere.

Sa takvom kompjuterizacijom gotovo svih grana ljudskog života, postavlja se pitanje kreiranja programa koji vam omogućavaju stvaranje takvih baza podataka. Stoga je razvijen ovaj program koji vam omogućava da kreirate bazu podataka koja pohranjuje informacije o napretku učenika.

1. Baza podataka i načini njenog predstavljanja

Baza podataka (DB) je informacija predstavljena u obliku dvodimenzionalnih tabela. Baza podataka sadrži mnogo linija, od kojih svaka odgovara nekom objektu. Za svaki objekat se koriste određene nezavisne pozicije koje se nazivaju polja. Zamislimo takvu bazu podataka koja sadrži redove i stupce ( najjednostavniji slučaj). Svaki red, koji se naziva i zapisom, odgovara određeni objekat... Svaka kolona sadrži vrijednosti odgovarajućih podataka objekta.

Baza podataka se ne može sastojati od jedne tabele, već od dve, 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 Pascal-u, baza podataka je data kao lista pojmova u obliku: database_predicate_name (record_fields). Imena baza podataka opisana su u odjeljku. Zapisima baze podataka se pristupa korištenjem osnovnog predikata. pascal pruža dosta alata za rad sa takvim bazama podataka: učitavanje, pisanje, dodavanje itd.

Baza podataka je organizovana struktura za skladištenje informacija. Moderne baze podataka pohranjuju ne samo podatke, već i informacije.

Ova izjava se može lako objasniti ako, na primjer, uzmemo u obzir bazu podataka velike banke. Ima sve potrebne informacije o klijentima, o njihovim adresama, kreditna istorija, stanje tekućih računa, finansijske transakcije itd. Postoji dovoljan pristup ovoj bazi podataka. veliki broj zaposleni u banci, 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 izmjene. Pored podataka, baza podataka sadrži metode i alate koji omogućavaju svakom od zaposlenih da radi samo sa onim podacima koji su u njegovoj nadležnosti. Kao rezultat interakcije podataka sadržanih u bazi podataka sa metodama dostupnim određenim zaposlenima, formiraju se informacije koje oni konzumiraju i na osnovu kojih, u okviru vlastite nadležnosti, unose i uređuju podatke. Koncept je blisko povezan sa konceptom baze podataka sistemi za upravljanje bazama podataka. To je kompleks softverski alati dizajniran za stvaranje strukture nova baza, popunjavanje sadržajem, uređivanje sadržaja i vizualizacija informacija. Ispod vizualizacija informacija Baza podataka podrazumeva odabir prikazanih podataka u skladu sa zadatim kriterijumom, njihovo uređenje, projektovanje i naknadnu isporuku do izlaznih uređaja ili prenos putem komunikacionih kanala. U svijetu postoji mnogo sistema za upravljanje bazama podataka. Unatoč činjenici da mogu različito raditi s različitim objektima i pružiti korisniku razne funkcije i znači da se većina DBMS oslanja na jedan dobro uspostavljen skup osnovnih koncepata. Ovo nam daje priliku da razmotrimo jedan sistem i generalizujemo njegove koncepte, tehnike i metode za čitavu klasu DBMS-a. Kao takav objekat obuke izabrać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 upisanih u ćelije koje pripadaju svakom od polja. Ispod su navedena glavna svojstva polja tabele baze podataka koristeći primjer Pascal 7.0 DBMS.
Ime polja - definiše kako treba pristupiti podacima ovog polja tokom automatskih operacija sa bazom (podrazumevano, imena polja se koriste kao zaglavlja kolona tabele).
Vrsta polja - definira tip podataka koji se mogu nalaziti u ovom polju.
Veličina polja - određuje maksimalnu dužinu (u znakovima) podataka koji se mogu staviti u ovo polje.
Format polja - definira kako se formatiraju podaci u ćelijama koje pripadaju polju.
Maska unosa - definira formu u kojoj se podaci unose u polje (alat za automatizaciju unosa podataka).
Potpis - definira zaglavlje stupca tablice za ove oblasti(ako potpis nije naveden, tada se svojstvo Ime polja koristi kao naslov kolone).
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 (alatka za automatizaciju unosa koja se po pravilu koristi za podatke numeričkog tipa, tipa valute ili tipa datuma).
Poruka o grešci je - tekstualna poruka, koji se automatski izdaje kada pokušate da unesete pogrešne podatke u polje.
Obavezno polje je svojstvo koje određuje da li se ovo polje mora popuniti prilikom popunjavanja baze podataka.
Empty strings je svojstvo koje omogućava unos praznih podataka niza (razlikuje se od svojstva Obavezno polje po tome što se ne primjenjuje na sve tipove 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 su značajno 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ćava 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 tipu podataka. Tako se, na primjer, lista 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 cifara iza decimalnog zareza. S druge strane, za polja koja se koriste za pohranjivanje slika, zvukova, video klipova i drugih OLE objekata, većina gore navedenih svojstava je besmislena.

3 . Tseda li i zadaci

Prilikom kreiranja ovog programa postavljeni su sljedeći ciljevi:

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

Takođe, prilikom kreiranja ovog programa postavljeni su sledeći zadaci:

· Ovaj program treba imati jednostavan i praktičan korisnički interfejs.

· Ovaj program mora imati nizak intenzitet resursa.

4. Razvoj sistemskog menija
Sistemski meni ili glavni meni treba da obezbedi zgodnu interakciju korisnika sa programom. Meni treba da sadrži stavke za čuvanje, pregled, unos novih podataka itd. Korisnik samo treba da pritisne dugme "enter". U meniju ovog programa postoji šest stavki:
1 - Kreirajte datoteku
2 - Dodavanje unosa
3 - Ispravka zapisa
4 - Pregledanje snimka iz datoteke
5 - Izbrišite unos
6 - Izlaz
1 - Kreiraj novi fajl - Kreirao novi fajl sa 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 mašine:
tip tijela:
broj automobila:
regija:
godina izdanja:
boja:
3 - Dodaj unos - Kreiraj novi ulaz i datoteku dodavanjem na kraj zapisa.
4 - Pretraga po broju sobe - Omogućava 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ćava svakom korisniku da lako kreira velike količine informacija, obradi ih, sortira, izvrši selekciju prema određenim kriterijumima.
Koristeći takav program u savremeni svet 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 grešaka i testiranja. Razvoj aplikacije Organizer.exe, meni i korisnički priručnik. Algoritam za obradu događaja glavnog menija (raspored).

    seminarski rad, dodan 11.02.2014

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

    seminarski rad, dodan 08.06.2012

    Izbor sastava hardvera i softvera za razvoj sistema. Opis ulaznih i izlaznih podataka. Odabir modela baze podataka. Razvoj podsistema za popunjavanje baze podataka, generisanje izveštaja. Razvoj korisničkog interfejsa, testiranje sistema.

    seminarski rad, dodan 04.12.2014

    Faze kreiranja i razvoja baze podataka. Izgradnja modela predmetna oblast... Razvoj datalogičkog i fizički modeli podaci, metode obrade podataka o zaposlenima u organizaciji. Dizajniranje korisničkih aplikacija. Kreiranje obrasca dugmeta.

    seminarski rad, dodan 14.02.2011

    Shema konceptualnog modela podataka. Razvoj strukture relacione baze podataka i korisničkog interfejsa. Karakteristike glavnih faza dizajna baze podataka. Načini implementacije upita i izvještaja. Specifičnost korisničkog priručnika.

    seminarski rad, dodan 18.12.2010

    Proces razvoja baze podataka za skladištenje i obradu informacija. Ključevi, indeksi, okidači, pohranjene procedure. Razvoj korisničkog interfejsa i baze podataka. Glavni alata za razvoj klijentskih i serverskih dijelova.

    disertacije, dodato 18.05.2013

    Faze dizajna baze podataka, definisanje ciljeva i sadržaja tabele. Dodavanje podataka i kreiranje drugih objekata baze podataka. Datalogički model: strukturiranje, normalizacija, šeme podataka. Redosled, principi kreiranja korisničkog interfejsa.

    seminarski rad, dodan 26.03.2013

    Tehnologija razvoja korisničkog interfejsa u Delphi okruženje... Izrada tabela, menija, obrazaca za unos i uređivanje podataka. Principi organizacije menija kao elementa korisničkog interfejsa. Implementacija sortiranja, filtriranja, proračuna u tabeli.

    seminarski rad, dodan 13.11.2012

    Osnovna pravila za razvoj korisničkog interfejsa. Kreiranje baze podataka koristeći razvijene modele. Moduli za kodiranje softverski sistem kako bi se napravio prototip. Primarni prozor kada se program pokrene. Zaštita od gubitka informacija.

    laboratorijski rad, dodano 13.06.2014

    Opis predmetne oblasti izrade. Značajke pohranjivanja podataka o automobilima i vlasnicima. Opis strukture baze podataka. Osnovne tabele: 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 radno okruženje u kojem će informacioni sistem funkcionisati.

    Izbor sistema 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 informacioni sistemi je prilično težak zadatak. Počinje izgradnjom infološkog modela podataka, odnosno identifikacijom entiteta.

Infološki model predmetne oblasti (SO) je opis strukture i dinamike softvera, prirode informacijskih potreba korisnika u terminima koji su razumljivi korisniku i ne zavise od implementacije 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 tranzicije predmetnog područja iz jednog stanja u drugo.

Trenutno se koristi projektovanje korišćenjem metode entitet-relacija (ER-metoda), koja predstavlja kombinaciju predmetne i primenjene metode i ima prednosti obe.

Faza infološkog dizajna počinje modeliranjem softvera. Dizajner ga dijeli na više lokalnih područja, od kojih svaka (idealno) uključuje informacije 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 kombinuju.

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 eksterna aplikacija i sadržavao je 6-7 entiteta.

Suština Je objekt o kojem će se informacije akumulirati u sistemu. Oba entiteta fizički postoje (npr. ZAPOSLENI ili AUTOMOBILE ) i apstraktne (npr. ISPIT ili DIJAGNOZA ).

Za entitete se razlikuju klasa, tip entiteta i instanca. Postoje tri glavne klase entiteta: ključni, asocijativni i karakteristika kao i podklasu asocijativnih entiteta - oznake.

Core essence (kernel ) Je nezavisna cjelina koja nije ni asocijacija, ni oznaka, ni karakteristika. Takvi entiteti imaju samostalnu egzistenciju, iako mogu označavati druge entitete.

Asocijativni entitet (udruženje ) Je odnos više-prema-više između dva ili više entiteta ili instanci entiteta. Udruženja smatraju se punopravnim subjektima, mogu: učestvovati u drugim udruženjima i imenovanjima na isti način kao i osnovni 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 ( karakteristika ) Je li odnos više na jedan ili jedan na jedan između dva entiteta ( poseban slučaj udruženja). Jedini svrha karakteristike u okviru razmatrane predmetne oblasti 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 reprinta (prerađeno, dopunjeno,...) itd.

Postojanje karakteristike u potpunosti zavisi od entiteta koji se karakteriše: žene su lišene statusa supruge ako im muž umre.

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

Po pravilu, notacija nije razmatrano kao punopravni entiteti, iako to ne bi dovelo do greške. Oznake i karakteristike nisu potpuno samostalni entiteti, jer impliciraju prisustvo nekog drugog entiteta koji će biti „označen“ ili „okarakterisan“. Međutim, oni i dalje predstavljaju posebne slučajeve entiteta i mogu, naravno, posjedovati imovinu, mogu sudjelovati u udruženjima, imenovanjima i imati svoje (više nizak nivo) specifikacije. Također naglašavamo da sve instance karakteristike moraju nužno biti povezane s nekom instancom entiteta koji se karakterizira. Međutim, dozvoljeno je da neke instance karakteriziranog entiteta nemaju veze.

Tip entiteta karakteriziran imenom i listom svojstava, i kopija- specifične vrijednosti svojstava.

Tipovi entiteta se mogu klasificirati kao jaka i slab . Jaki entiteti postoje sami, a postojanje slabih zavisi od postojanja jakih.

Na primjer, bibliotečki čitač je jak entitet, ali pretplata tog čitaoca je slab entitet, što zavisi od odgovarajućeg čitača.

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

Za svaki entitet se biraju svojstva (atributi).

razlikovati:

    Identifikacijski i deskriptivni atributi... Identificirajući atributi imaju jedinstvena vrijednost za subjekte ovog tipa i su potencijalni ključevi. Oni vam omogućavaju da jedinstveno prepoznate instance entiteta. Jedan primarni ključ (PC) se bira od potencijalnih ključeva. Kao PC, obično se bira potencijalni ključ koji se koristi za češći pristup instancama zapisa. Osim toga, PC mora uključiti minimalni broj atributa potrebnih za identifikaciju. Ostali atributi se zovu deskriptivni i sadrže svojstva od interesa za entitet.

    Kompozitni i jednostavni atributi... Jednostavan atribut se sastoji od jedne komponente, njegova vrijednost je nedjeljiva. Kompozitni atribut je kombinacija nekoliko komponenti, koje možda pripadaju različite vrste podatke (na primjer, ime ili adresu). Odluka da se koristi kompozitni atribut ili da se razbije na komponente ovisi o tome kako se njime rukuje i formatu prilagođenog predstavljanja tog atributa.

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

    Osnovni i izvedeni atributi... Vrijednost glavnog atributa je nezavisna od drugih atributa. Vrijednost izvedenog atributa se izračunava na osnovu vrijednosti drugih atributa (na primjer, starost učenika se izračunava na osnovu njegovog datuma rođenja i današnjeg datuma).

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

Nadalje, vrši se specifikacija veza unutar lokalnog predstavništva. Odnosi mogu imati različita smislena značenja (semantika). Razlikujte 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 veza karakteriše ime, obaveza, tip i stepen... Razlikovati opciono i obavezan komunikacija. Ako se pokaže da je novogenerirani objekt jednog tipa nužno povezan s objektom drugog tipa, tada između ovih tipova objekata postoji obavezan link (označen dvostrukom linijom). Inače, veza je opciono.

By tip razlikovati višestruke veze 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 su označene dvostrukom linijom.

Stepen odnos je određen brojem entiteta koji su obuhvaćeni ovim odnosom. Primjer binarne veze je veza između odjela i zaposlenih koji u njemu rade. Primjer ternarnog odnosa je odnos kao ispit između entiteta DISCIPLINA , STUDENT , UČITELJ ... Iz posljednjeg primjera možete vidjeti da odnos također može imati atribute (u ovom slučaju, jeste datuma i Ocjena ). 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 osnovu SQL jezik koji vam omogućava da pružite udoban i Puni opis bilo koji entitet, a time i cijela baza podataka. Na primjer:

CREATE TABLICA JELA * (Core Essence)

PRIMARNI KLJUČ (BL)

POLJA (BL cijeli, tekst jela 60, pogledajte tekst 7)

OGRANIČENJA (1. Vrijednosti polja Dish moraju biti

jedinstveno; kada se prekrši, izlaz

poruka "Već postoji takvo jelo."

2. Vrijednosti polja View moraju pripadati

set: Predjelo, Supa, Ljuto, Desert,

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

"Možete samo užinu, supu, vruće,

Desert, piće");

CREATE TABLE Sastojci * (Povezuje jela i proizvode)

PRIMARNI KLJUČ (BL, OL)

VANJSKI KLJUČ (BL FROM Dish

NULL vrijednosti se NE PRIHVAĆAJU

UKLANJANJE KASKADA SA DISH

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 BL i PR polja moraju pripadati

skup vrijednosti iz odgovarajućih polja tabela

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š deskriptivan. Da bi se postigla veća ilustrativnost, preporučljivo je dopuniti projekat jezicima infološkog modeliranja "Entitet-odnos" ili "Tabela-odnos

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

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

(jezgro)

(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 kombinovanje se obično izvodi u nekoliko faza.

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

    ujedinjenje u jedinstvenu cjelinu fragmentarnih ideja o različita svojstva isti objekat;

    uvođenje apstraktnih koncepata koji su pogodni za rešavanje sistemskih problema, uspostavljanje njihove veze sa specifičnim konceptima koji se koriste u modelu;

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

U fazi ujedinjenja potrebno je identifikovati i eliminisati sve kontradikcije. 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 reprezentacija 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 eksterni infološki modeli.

      UTVRĐIVANJE ZAHTJEVA ZA OPERATIVNU SOLU

SITUACIJA.

U ovoj fazi se procjenjuju zahtjevi za računarskim resursima neophodnim za funkcionisanje sistema, utvrđuje se tip i konfiguracija određenog računara, te biraju tip i verzija operativnog sistema. Količina računarskih resursa zavisi od procenjenog obima projektovane baze podataka i od intenziteta njihovog korišćenja. Ako će baza podataka raditi u višekorisničkom režimu, tada mora biti povezana na mrežu i prisustvo odgovarajućeg multitasking operativnog sistema.

Teme: faze projektovanja baze podataka, projektovanje baze podataka na osnovu modela tipa objektno-relacija.

Prije kreiranja baze podataka, programer mora odrediti od kojih tabela treba da se sastoji baza podataka, koje podatke treba smjestiti u svaku tablicu i kako povezati tabele. Ova pitanja se rješavaju u fazi dizajna baze podataka.

Kao rezultat projektovanja treba odrediti logičku strukturu baze podataka, odnosno sastav relacionih tabela, njihovu strukturu i međutabelske veze.

Prije kreiranja baze podataka potrebno je imati opis odabrane predmetne oblasti, koji treba da obuhvati stvarne objekte i procese, utvrdi sve potrebne izvore informacija za zadovoljavanje očekivanih potreba korisnika i utvrdi potrebe za obradom podataka.

Na osnovu takvog opisa, u fazi projektovanja baze podataka, utvrđuje se sastav i struktura podataka predmetne oblasti, koja mora biti u bazi i obezbediti ispunjenje potrebnih upita i zadataka korisnika. Struktura podataka predmetne oblasti može se prikazati informaciono-logičkim modelom. Relaciona baza podataka može se lako kreirati na osnovu ovog modela.

Faze dizajniranja i kreiranja baze podataka određene su sljedećim redoslijedom:

Izgradnja informaciono-logičkog modela podataka predmetne oblasti;

Određivanje logičke strukture relacione baze podataka;

Dizajn tablice baze podataka;

Kreiranje šeme podataka;

Unošenje podataka u tabele (izrada zapisa);

Izrada potrebnih obrazaca, zahtjeva, makroa, modula, izvještaja;

Razvoj korisničkog interfejsa.

U procesu razvoja modela podataka potrebno je odabrati informacijske objekte koji zadovoljavaju zahtjeve normalizacije podataka i odrediti međusobne odnose. Ovaj model vam omogućava da kreirate relacionu bazu podataka bez dupliciranja, koja omogućava jednokratni unos podataka tokom početnog učitavanja i prilagođavanja, kao i integritet podataka kada se izvrše promene.

Prilikom razvoja modela podataka mogu se uzeti dva pristupa. U prvom pristupu prvo se određuju glavni zadaci za čije se rješavanje gradi baza, identifikuju se potrebe zadataka u podacima i shodno tome utvrđuje sastav i struktura informacionih objekata. Sa drugim pristupom tipični objekti predmetne oblasti se odmah instaliraju. Najracionalnija kombinacija oba pristupa. To je zbog činjenice da na početna faza po pravilu ne postoje sveobuhvatne informacije o svim zadacima. Upotreba ove tehnologije je utoliko opravdanija jer fleksibilna sredstva za kreiranje relacionih baza podataka omogućavaju u bilo kojoj fazi razvoja da se izvrši promena u bazi podataka i modifikacija njene strukture bez prejudiciranja prethodno unesenih podataka.


Proces identifikacije informacionih objekata predmetne oblasti koji ispunjavaju uslove normalizacije može se sprovesti na osnovu intuitivnog ili formalnog pristupa. Teorijske osnove formalnog pristupa razvijene su i u potpunosti opisane u monografijama o organizaciji baza podataka poznatog američkog naučnika J. Martina.

Uz intuitivni pristup, informacioni objekti koji odgovaraju stvarnim objektima mogu se lako identifikovati. Međutim, rezultirajući informacijsko-logički model, po pravilu, zahtijeva daljnje transformacije, posebno transformaciju viševrijednih veza između objekata. Ovakvim pristupom moguće su značajne greške ako nema dovoljno iskustva. Naknadna provjera ispunjenosti zahtjeva normalizacije obično ukazuje na potrebu preciziranja informacionih objekata.

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

Na osnovu opisa predmetne oblasti, identifikovati dokumente i njihove atribute koji će se čuvati u bazi podataka;

Definiraj funkcionalne zavisnosti između atributa;

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

Grupirajte atribute koji su podjednako ovisni o ključnim atributima. Rezultirajuće zavisne grupe atributa zajedno sa njihovim ključni atributi formiraju informacione objekte.

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

U procesu kreiranja, tabele baze podataka se prvo konstruišu u skladu sa informacionih objekata konstruisani model podataka. Nadalje, može se kreirati šema podataka u kojoj se fiksiraju postojeći logički odnosi između tabela. Ove veze odgovaraju vezama informacionih objekata. Šema podataka može se konfigurirati da održi integritet 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 tabela prilikom učitavanja, dodavanja i brisanja zapisa u povezanim tabelama, kao i prilikom promene vrednosti ključnih polja.

Nakon formiranja šeme podataka, vrši se unos konzistentnih podataka iz dokumenata predmetne oblasti.

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

Uz pomoć ugrađenih alata i alata baze podataka kreiran je korisnički interfejs koji vam omogućava da upravljate procesima unosa, skladištenja, obrade, ažuriranja i prezentovanja informacija baze podataka.

Dizajniranje baze podataka zasnovano na modelu objektno-relacije

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

Razmotrite terminologiju i notaciju koja se koristi.

Entitet- stvarni ili imaginarni objekat koji je bitan za predmetnu oblast, o kojoj će se pohraniti podaci.

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

Svaki entitet mora imati neka svojstva:

Imati jedinstveno ime; štaviše, ista interpretacija (definicija entiteta) mora se uvek primeniti na ovaj naziv. Obrnuto: isto tumačenje se ne može primijeniti na različita imena osim ako nisu pseudonim;

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

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

Entitet može biti nezavisan ili zavisan. Znak zavisnog entiteta je prisustvo atributa naslijeđenih kroz odnos (slika 1).

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

Veza- imenovana asocijacija između dva entiteta koja je značajna za domen koji se razmatra. Jedan od entiteta koji učestvuje u vezi je nezavisan, naziva se roditeljski entitet, drugi je zavisan, naziva se podređeni ili potomak entitet. Po pravilu, svaka instanca nadređenog entiteta je povezana sa proizvoljnim (uključujući nula) brojem instanci podređenog entiteta. Svaka instanca entiteta potomka je povezana sa tačno jednom instancom nadređenog entiteta. Dakle, instanca entiteta potomka može postojati samo ako postoji roditeljski entitet.

Vezi je dato ime izraženo gramatičkim okretom glagola i postavljeno blizu veze.

Ime svakog odnosa između ova dva entiteta mora biti jedinstveno, ali nazivi odnosa u modelu ne moraju biti jedinstveni. Svaka obveznica ima definiciju. Definicija odnosa se formira kombinovanjem imena roditeljskog entiteta, imena veze, izraza stepena odnosa i imena entiteta potomka.

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

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

Ugovor mora inicirati tačno jedan Prodavac.

Na dijagramu, veza je predstavljena linijskim segmentom (isprekidana linija). Linija se završava sa posebne oznake(Sl. 2) ukazuju na stepen komunikacije. Osim toga, priroda linije - isprekidana ili puna, ukazuje na obaveznu vezu.

Atribut- svaka karakteristika entiteta koja je značajna za predmetnu oblast. Namijenjen je da kvalifikuje, identifikuje, klasifikuje, kvantifikuje ili izrazi stanje entiteta. Atribut predstavlja vrstu karakteristika (osobina) povezanih sa skupom stvarnih ili apstraktnih objekata (ljudi, mjesta, događaji, stanja, ideje, parovi objekata, itd.) (Slika 3).

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

Atribut može biti bilo koji obavezna ili opciono... Obavezno 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, u suprotnom su atributi drugog entiteta - roditelja - također uključeni u identifikaciju.

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

Svaki atribut je identificiran jedinstvenom imeničkom frazom koja opisuje karakteristiku predstavljenu atributom. Atributi se prikazuju kao lista imena unutar pridruženog bloka entiteta, sa svakim atributom u zasebnom redu. Atributi koji definiraju primarni ključ nalaze se na vrhu liste 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 je, na osnovu Chenovog pristupa, razvijena IDEF1X metodologija, koja je razvijena uzimajući u obzir zahtjeve kao što su lakoća učenja i mogućnost automatizacije. IDEFlX dijagrame koriste brojni uobičajeni CASE alati (posebno ERwin, Design / IDEF).

Entitet u IDEF1X metodologiji naziva se nezavisnim od identifikatora, ili jednostavno nezavisnim, ako se svaka instanca entiteta može jedinstveno identificirati bez definiranja njegovih odnosa s drugim entitetima. Entitet se naziva zavisnim od identifikatora ili jednostavno zavisnim ako jedinstvena identifikacija instance entiteta zavisi od njenog odnosa sa 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 njegovim odnosom sa roditeljskim entitetom, tada se odnos naziva identifikujućim, inače je neidentifikujući.

Prikazan je identifikacijski odnos između roditeljskog entiteta i entiteta potomka puna linija... Na sl. 5: # 2 je zavisni entitet, Link 1 je identifikacioni odnos. Entitet potomak u identifikacionom odnosu je entitet ovisan o identifikatoru. Matični entitet u identifikacionom odnosu može biti nezavisan ili entitet ovisan o identifikatoru (ovo je određeno njegovim odnosima sa drugim entitetima).

Isprekidana linija predstavlja neidentifikujuću vezu. Na sl. 5: # 4 je nezavisni entitet, Link 2 je neidentifikujuća veza. Entitet potomak u neidentificirajućem odnosu bit će nezavisan od identifikatora ako nije također entitet potomak u bilo kojem identifikacijskom odnosu.

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

Sljedeći kardinali se mogu izraziti u IDEF1X:

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

Svaka instanca roditeljskog entiteta mora imati najmanje 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 (podrazumevana snaga - N).


Atributi se prikazuju kao lista imena unutar bloka entiteta. Atributi koji definišu primarni ključ nalaze se na vrhu liste i odvajaju ih od ostalih atributa horizontalnom trakom (slika 7).

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

Entiteti mogu imati i strani ključ. Sa identifikacijskim odnosom, oni se koriste kao dio ili cijeli primarni ključ, sa neidentifikacijskim odnosom služe kao atributi koji nisu ključ. U listi 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 je. Možda će to pomoći nekom drugom da popuni praznine.

Vodič za dizajn baze podataka.

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

Baze podataka su programi koji vam omogućavaju pohranjivanje i preuzimanje velikih količina povezanih informacija. Baze podataka se sastoje od stolovi, koji sadrže informacije... Kada kreirate bazu podataka, morate razmisliti o kojoj stolovi treba da kreirate i šta veze postoje između informacija u tabelama. Drugim riječima, morate razmisliti projekat vašu bazu podataka. Dobar projekat baze podataka, kao što je ranije spomenuto, osigurat će integritet podataka i lakoću održavanja.
Baza podataka je kreirana za pohranjivanje informacija u nju i dobivanje tih informacija ako je potrebno. To znači da moramo biti u mogućnosti postaviti, umetnuti ( INSERT) informacije u bazu podataka i želimo da budemo u mogućnosti da preuzmemo informacije iz baze podataka ( SELECT).
Jezik upita baze podataka je izmišljen za ovu svrhu i dobio je ime Strukturirani jezik upita ili SQL. Operacije umetanja podataka (INSERT) i njihovog odabira (SELECT) dio su upravo ovog jezika. Ispod je primjer upita za dohvaćanje podataka i njegov rezultat.

SQL je velika tema za pripovijedanje i izvan je okvira ovog tutorijala. Ovaj članak je striktno fokusiran na predstavljanje proces dizajniranja baze podataka... Kasnije, u posebnom tutorijalu, pokriti ću osnove SQL-a.

Relacioni model.
U ovom tutorijalu pokazat ću vam kako da kreirate relacijski model podataka. Relacijski model je model koji opisuje kako organizirati podatke u tablicama i kako definirati odnose između tih tabela.

Pravila relacionog modela diktiraju kako informacije treba da budu organizovane u tabelama i kako se tabele međusobno odnose. Na kraju, rezultat se može predstaviti u obliku dijagrama baze podataka ili, preciznije, dijagrama entitet-relacija, kao na slici (primjer preuzet iz MySQL Workbench-a).

Primjeri.
Koristio sam brojne aplikacije kao primjere u tutorijalu.

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 instaliranja MySQL-a, dobijate samo interfejs komandne linije za interakciju sa MySQL-om. Lično, više volim grafički interfejs za upravljanje svojim bazama podataka. Često koristim SQLyog. To je besplatni GUI uslužni program. Slike tabele u ovom priručniku su preuzete odatle.

Vizuelno modeliranje.

Postoji odličan besplatna aplikacija MySQL Workbench. Omogućava vam da grafički dizajnirate svoju bazu podataka. Dijagrami u priručniku prikazani su u ovom programu.

Dizajn nezavisno od RDBMS-a.
Važno je znati da iako ovaj vodič pruža primjere za MySQL, dizajn baze podataka je nezavisan od RDBMS-a. 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 narednom dijelu ću ukratko govoriti o evoluciji baza podataka. Naučit ćete odakle dolaze baze podataka i relacijski model podataka.

2. Istorija.
U 70-im i 80-im godinama, kada su kompjuterski naučnici još uvijek nosili smeđe smokinge i velike naočale četvrtastog okvira, podaci su bili pohranjeni nestrukturirani u fajlovima koji su bili 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 razdvojene zarezima su vrlo popularne i danas ih široko podržavaju različiti softveri i operativni sistemi. Microsoft Excel je jedan primjer programa koji mogu raditi sa CSV datotekama. Podatke pohranjene u takvoj datoteci može pročitati kompjuterski program.

Iznad je primjer kako bi takav fajl mogao 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", onda mora čitati red po red 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.

Tabele baze podataka.
Čitanje fajla red po red nije baš efikasno. U relacijskoj bazi podataka podaci se pohranjuju u tablice. Tabela ispod sadrži iste podatke kao i datoteka. Svaki red ili „zapis“ sadrži jednu lekciju. Svaka kolona sadrži neke osobine lekcije. U ovom slučaju to je naslov (titula) i njegova kategorija (kategorija).

Računarski program bi mogao pretražiti tutorial_id kolonu ove tabele za specifičnim tutorial_id da brzo pronađe odgovarajući naslov i kategoriju. Ovo je mnogo brže od pretraživanja datoteke red po red, baš kao što program radi u tekstualnoj datoteci.

Moderne relacijske baze podataka dizajnirane su tako da mogu da dohvate podatke iz određenih redova, kolona i više tabela, u isto vrijeme, vrlo brzo.

Istorija relacionog modela.
Model relacijske baze podataka izumio je 70-ih Edgar Codd, britanski naučnik. Želio je da prevaziđe nedostatke modela umrežene baze podataka i hijerarhijskog modela. I u tome je bio veoma uspješan. Model relacione baze podataka je danas široko prihvaćen i smatra se moćnim modelom za efikasno organizovanje podataka.

Danas je dostupan širok izbor sistema za upravljanje bazama podataka, od malih desktop aplikacija do multifunkcionalnih serverskih sistema sa visoko optimizovanim metodama pretraživanja. Neki od poznatijih sistema upravljanja relacionim bazama podataka (RDBMS) su:

- Oracle- prvenstveno se koristi za profesionalne, velike aplikacije.
- Microsoft SQL server - Microsoft RDBMS. Dostupno samo za Windows operativni sistem.
- Mysql Veoma je popularan RDBMS otvorenog koda. Široko ga koriste i profesionalci i početnici. Šta još treba?! Slobodno je.
- IBM- ima niz RDBMS-a, najpoznatiji je DB2.
- Microsoft Access- RDBMS, koji se koristi u kancelariji i kod kuće. U stvari, to je više od obične baze podataka. MS Access vam omogućava da kreirate baze podataka sa korisničkim interfejsom.
U sljedećem dijelu ću malo objasniti karakteristike relacijskih baza podataka.

3. Karakteristike relacionih baza podataka.
Relacijske baze podataka dizajnirane su za brzo pohranjivanje i preuzimanje velikih količina informacija. Slijede neke od karakteristika relacionih baza podataka i modela relacionih podataka.
Korištenje ključeva.
Svaki red podataka u tabeli je identifikovan 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 tabelama mogu se međusobno povezati pomoću ključeva. Vrijednosti primarnog ključa iz jedne tabele mogu se dodati u redove (zapise) druge tabele, čime se ti zapisi povezuju zajedno.

Koristeći jezik strukturiranih upita (SQL), podaci iz različitih tabela sa 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 narednim dijelovima.


Kolona id u ovoj tabeli je primarni ključ. Svaki zapis ima jedinstveni primarni ključ, često broj. Kolona korisničke grupe je strani ključ. Kao što ime sugeriše, očigledno se odnosi na tabelu koja sadrži grupe korisnika.

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


Kada kreirate tabelu baze podataka, dajete tip podataka za svaku kolonu. Na primjer, varchar je tip podataka za male komade teksta sa najviše 255 znakova, a int su brojevi.

Pored tipova podataka, RDBMS vam omogućava da dodatno ograničite podatke koje možete unijeti. Na primjer, ograničite dužinu ili nametnite jedinstvenost vrijednosti zapisa u datoj koloni. Potonje ograničenje se često koristi za polja koja sadrže imena za registraciju korisnika (logine) ili adrese e-pošte.

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

Unošenje adrese (teksta) u polje na kojem očekujete da vidite broj
- unošenje indeksa regije sa dužinom ovog istog indeksa u stotinu znakova
- kreiranje korisnika sa istim imenom
- kreiranje korisnika sa istom email adresom
- unošenje težine (broja) u polje rođendan (datum).

Održavanje integriteta podataka.
Prilagođavanjem svojstava polja, povezivanjem tabela i postavljanjem ograničenja, možete povećati pouzdanost svojih podataka.
Ustupanje prava.
Većina RDBMS-ova nudi postavku dozvole koja vam omogućava da dodijelite određena prava određenim korisnicima. Neke radnje koje se mogu dozvoliti ili odbiti korisniku su SELECT, INSERT, DELETE, ALTER, CREATE, itd. Ovo 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 je spremanje podataka, njihovo preuzimanje, promjena, koristi se jezik strukturiranih upita (SQL). SQL je relativno lak za razumijevanje i omogućava uklj. i ugniježđene selekcije, 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. Fokusiraću se na dizajn baze podataka.

Način na koji dizajnirate svoju bazu podataka imat će direktan 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 dizajniranu bazu podataka, vaši upiti mogu biti čišći i lakši.

Prenosivost.
Relacioni model podataka je standardan. Prateći pravila relacionog modela podataka, možete biti sigurni da se vaši podaci mogu relativno lako prenijeti na drugi RDBMS.

Kao što je ranije spomenuto, dizajniranje baze podataka je pitanje identifikacije podataka, njihovog povezivanja i stavljanja rezultata rješavanja ovog problema na papir (ili u kompjuterski program). Dizajnirajte bazu podataka nezavisno od RDBMS-a koji nameravate da koristite da biste je kreirali.

U sljedećem dijelu ćemo detaljnije pogledati primarne ključeve.

Top srodni članci