Isprobajte!
Baze podataka i web-aplikacije mogu donijeti velike poslovne prednosti. Dizajn baze podataka ključan je za postizanje vaših ciljeva, bilo da želite upravljati podacima o zaposlenicima, pružati tjedna izvješća u odnosu na podatke ili pratiti narudžbe klijenata. Ulaganjem vremena za razumijevanje dizajna baze podataka lakše ćete izgraditi baze podataka koje po prvi put funkcioniraju kako treba i koje će udovoljiti potrebama koje se mijenjaju.
Važno: Web-aplikacije programa Access razlikuju se od baza podataka za stolna računala. U ovom se članku ne raspravlja o dizajnu web-aplikacije.
Koncepti i pojmovi
Počnimo učenjem nekih osnovnih pojmova i koncepata. Da biste dizajnirali korisnu bazu podataka, stvorite tablice koje su usmjerene na jedan predmet. U tablicama bilježite sve podatke potrebne za taj predmet u poljima koja sadrže najmanju moguću jedinicu podataka.
Relacijske baze podataka |
Baza podataka u kojoj su podaci podijeljeni u tablice, kao što su proračunske tablice. Svaka tablica ima samo jedan predmet, kao što su kupci (jedna tablica) ili proizvodi (druga tablica). |
Zapisi i polja |
Pohrana samostalnih podataka u tablici. Reci (ili zapisi) pohranjuju svaku jedinstvenu točku podataka, kao što je ime klijenta. Stupci (ili polja) izdvajaju podatke koji se za svaku točku podataka u najmanju moguću jedinicu – ime može biti jedan stupac, a prezime može biti drugo. |
Primarni ključ |
Vrijednost koja osigurava da je svaki zapis jedinstven. Na primjer, možda postoje dva korisnika s istim imenom, Elizabeth Andersen. Ali jedan od zapisa Elizabeth Andersen ima broj 12 kao svoj primarni ključ, a drugi ima primarni ključ od 58. |
Nadređeno-podređeni odnosi |
Uobičajeni odnosi između tablica. Jedan korisnik, primjerice, može imati više narudžbi. Nadređene tablice imaju primarne ključeve. Podređene tablice imaju vanjske ključeve, vrijednosti iz primarnog ključa koje pokazuju kako su zapisi podređene tablice povezani s nadređenom tablicom. Ti su ključevi povezani odnosom. |
Što je dobar dizajn baze podataka?
Dva su načela temeljna za dobar dizajn baze podataka:
-
Izbjegavajte duplicirane informacije (nazivaju se i suvišni podaci). Troši prostor i povećava vjerojatnost pogrešaka.
-
Provjerite jesu li podaci točni i potpuni. Nepotpune ili pogrešne informacije teče kroz upite i izvješća te u konačnici mogu dovesti do pogrešno oblikovanih odluka.
Pomoć za ove probleme:
-
Podijelite informacije o bazi podataka u tablice utemeljene na predmetu s uskim fokusom. Izbjegavajte dupliciranje informacija u više tablica. (Imena korisnika, primjerice, moraju biti u samo jednoj tablici.)
-
Spajajte tablice pomoću tipki umjesto dupliciranja podataka.
-
Uključite procese koji podržavaju i jamče točnost i integritet informacija o bazi podataka.
-
Dizajnirajte bazu podataka uz na umu svoje potrebe za obradom podataka i izvješćivanjem.
Da biste poboljšali dugoročnu korisnost baza podataka, slijedite ovih pet koraka dizajna:
Prvi korak: određivanje svrhe baze podataka
Prije početka imate cilj za bazu podataka.
Da biste dizajn održavali usredotočenim, sažmite svrhu baze podataka i često se referirajte na sažetak. Ako želite malu bazu podataka za kućnu tvrtku, primjerice, možete napisati nešto jednostavno, npr. "Baza podataka klijenata čuva popis informacija o klijentima radi izrade poruka e-pošte i izvješća". Za poslovnu bazu podataka možda će vam biti potrebno više odlomaka da biste opisali kada i kako će osobe s različitim ulogama koristiti bazu podataka i njezine podatke. Create konkretnu i detaljnu izjavu o misiji na koju se treba odnositi tijekom postupka dizajniranja.
Drugi korak: traženje i organiziranje obaveznih informacija
Prikupite sve vrste podataka koje želite zabilježiti, kao što su nazivi proizvoda i brojevi narudžbi.
Počnite s postojećim informacijama i metodama praćenja. Možda, primjerice, trenutno bilježite narudžbenice u glavnu knjigu ili zadržite podatke o klijentu na papirnatim obrascima. Pomoću tih izvora napišite podatke koje trenutno snimate (na primjer, sve okvire u obrascima). Ako trenutno ne bilježite važne informacije, razmislite o tome koje su vam samostalne informacije potrebne. Svaka pojedinačna vrsta podataka postaje polje u bazi podataka.
Ne brinite se da ćete prvi popis učiniti savršenim – možete ga precizno podesiti s vremenom. No razmotrite sve osobe koje koriste te podatke i zatražite njihove ideje.
Zatim razmislite o tome što želite iz baze podataka i vrste izvješća ili poruka e-pošte koje želite stvoriti. Zatim provjerite primate li informacije potrebne za ostvarivanje tih ciljeva. Ako, primjerice, želite izvješće koje prikazuje prodaju po regiji, morate zabilježiti podatke o prodaji na regionalnoj razini. Pokušajte skicirati izvješće stvarnim informacijama koje želite vidjeti. Zatim napišite podatke koji su vam potrebni za stvaranje izvješća. Isto učinite za slanje poruka e-pošte ili druge željene izlaze iz baze podataka.
Primjer
Pretpostavimo da korisnicima date priliku da se prijave na (ili od) povremenih ažuriranja e-pošte i želite ispisati popis onih koji su se odlučili za to. U tablici Kupac potreban vam je stupac Slanje e-pošte s dopuštenim vrijednostima Da i Ne.
Za one koji žele primati poruke e-pošte potrebna vam je adresa e-pošte, koja zahtijeva i polje. Ako želite uvrstiti pravi pozdrav (npr. g., g., ili ms.), uvrstite polje Pozdrav. Ako klijentima želite u porukama e-pošte e-pošte e-poštom unesite ime, dodajte polje Ime.
Savjet: Ne zaboravite razlomiti svaki podatak u najmanji korisni dio, kao što su ime i prezime tablice kupca. Općenito, ako želite sortirati, pretraživati, izračunavati ili izvješća na temelju stavke informacija (npr. prezimena kupca), trebali biste tu stavku staviti u vlastito polje.
Treći korak: dijeljenje informacija u tablice
Podijelite stavke s informacijama na glavne subjekte ili subjekte, kao što su proizvodi, kupci i narudžbe. Svaki predmet postaje tablica.
Kada imate popis obaveznih podataka, odredite glavne entitete (ili subjekte) koje morate organizirati. Izbjegavajte dupliciranje podataka u svim entitetima. Na primjer, preliminarni popis za bazu podataka o prodaji proizvoda može izgledati ovako:
Glavni subjekti su: kupci, dobavljači, proizvodi i narudžbe. Dakle, počnite s tim četiri tablice: jedan za činjenice o kupcima, jedan za činjenice o dobavljačima, i tako dalje. To možda nije vaš konačni dizajn, ali je dobra početna točka.
Napomena: Najbolje baze podataka sadrže više tablica. Izbjegavajte iskušenje da sve svoje podatke smjestite u jednu tablicu. To rezultira dupliciranim informacijama, većom veličinom baze podataka i povećanim pogreškama. Dizajniranje za snimanje svake činjenice samo jednom. Ako pronađete ponavljajuće podatke, kao što je adresa dobavljača, restrukturiranje baze podataka radi smještaja tih podataka u zasebnu tablicu.
Da biste razumjeli zašto je više tablica bolje od manje, razmotrite tablicu prikazanu ovdje:
Svaki redak sadrži informacije o proizvodu i njegovu dobavljaču. Budući da možda imate mnogo proizvoda istog dobavljača, naziv i adresa dobavljača moraju se ponoviti više puta. Time se troši prostor na disku. Umjesto toga podatke o dobavljaču zabilježite samo jedanput u zasebnu tablicu Dobavljači, a zatim tu tablicu povežite s tablicom Proizvodi.
Drugi problem s ovim dizajnom očit je kada trebate izmijeniti informacije o dobavljaču. Pretpostavimo da morate promijeniti adresu dobavljača. Budući da se prikazuje na mnogim mjestima, adresu možete slučajno promijeniti na jednom mjestu, ali je zaboravite promijeniti na drugim mjestima. Snimanje adrese dobavljača na samo jednom mjestu rješava taj problem.
Naposljetku, pretpostavimo da postoji samo jedan proizvod koji isporučuje vinarija Coho i želite izbrisati proizvod, ali zadržati naziv dobavljača i podatke o adresi. Uz ovaj dizajn, kako biste izbrisali zapis o proizvodu, a da pritom ne izgubite podatke o dobavljaču? Ne možeš. Budući da svaki zapis sadrži činjenice o proizvodu uz činjenice o dobavljaču, nije ga moguće izbrisati bez brisanja drugog. Da biste te činjenice razdvojili, podijelite ovu tablicu na dvije: prvu za informacije o proizvodu, a drugu za informacije o dobavljaču. Zatim, kada izbrišete zapis o proizvodu, brišete samo činjenice o proizvodu, a ne i činjenice o dobavljaču.
Četvrti korak: pretvaranje stavki informacija u stupce
Odlučite koje ćete podatke morati pohraniti u svaku tablicu. Ti samostalni dijelovi podataka postaju polja u tablici. Tablica Zaposlenici, primjerice, može sadržavati polja kao što su Prezime, Ime i Datum zaposlenika.
Nakon što odaberete predmet za tablicu baze podataka, stupci u toj tablici trebali bi pohraniti samo činjenice o tom jednom predmetu. Tablica proizvoda, primjerice, trebala bi pohraniti činjenice samo o proizvodima, a ne o njihovim dobavljačima.
Da biste odlučili koje ćete podatke pratiti u tablici, koristite popis koji ste prethodno stvorili. Tablica Kupci, primjerice, može obuhvaćati sljedeće: Ime, Prezime, Adresa, Slanje e-pošte, Pozdrav i Adresa e-pošte. Svaki zapis (kupac) u tablici sadrži isti skup stupaca, pa pohranjujete potpuno iste podatke za svakog klijenta.
Create popis, a zatim ga pregledajte i suzite. Ne zaboravite razlomiti informacije na najmanja moguća polja. Ako, primjerice, vaš početni popis sadrži adresu kao polje, podijelite ga na Adresu, Grad, Državu i Poštanski broj ili, ako su vaši klijenti globalni, u još više polja. Na taj način, primjerice, možete poslati poruke e-pošte u odgovarajućem obliku ili izvješće o narudžbama po stanju.
Nakon sužavanja stupaca podataka u svakoj tablici spremni ste za odabir primarnog ključa svake tablice.
Peti korak: određivanje primarnih ključeva
Odaberite primarni ključ svake tablice. Primarni ključ, kao što je ID proizvoda ili ID narudžbe, jedinstveno identificira svaki zapis. Ako nemate očiti jedinstveni identifikator, upotrijebite Access da biste ga stvorili umjesto vas.
Potreban vam je način jedinstvene identifikacije svakog retka u svakoj tablici. Sjećate se ranijeg primjera u kojem dva korisnika imaju isto ime? Budući da imaju zajedničko ime, potreban vam je način zasebnog prepoznavanja imena.
Svaka tablica mora sadržavati stupac (ili skup stupaca) koji jedinstveno identificira svaki redak. To se naziva primarni ključ i često je jedinstveni broj, kao što je ID broj zaposlenika ili serijski broj. Access koristi primarne ključeve za brzo povezivanje podataka iz više tablica i objedujte podatke umjesto vas.
Ponekad se primarni ključ sastoji od dva ili više polja. Primjerice, tablica Pojedinosti narudžbe u kojoj se pohranjuju stavke retka za narudžbe mogu koristiti dva stupca u primarnom ključu: ID narudžbe i ID proizvoda. Kada primarni ključ koristi više stupaca, naziva se i složeni ključ.
Ako već imate jedinstveni identifikator za informacije u tablici, kao što su brojevi proizvoda koji jedinstveno identificiraju svaki proizvod u katalogu, koristite ga, ali samo ako vrijednosti zadovoljavaju ova pravila za primarne ključeve:
-
Identifikator će se uvijek razlikovati za svaki zapis. Duplicirane vrijednosti nisu dopuštene u primarnom ključu.
-
Uvijek postoji vrijednost za stavku. Svaki zapis u tablici mora imati primarni ključ. Ako koristite više stupaca za stvaranje ključa (kao što su Dio obitelji i Broj dijela), obje vrijednosti moraju uvijek biti prisutne.
-
Primarni ključ vrijednost je koja se ne mijenja. Budući da se na ključeve pozivaju druge tablice, svaka promjena primarnog ključa u jednoj tablici znači promjenu u njemu gdje god se referencira. Česte promjene povećavaju rizik od pogrešaka.
Ako nemate očiti identifikator, kao primarni ključ koristite proizvoljni, jedinstveni broj. Na primjer, svakoj narudžbi možete dodijeliti jedinstveni broj narudžbe isključivo u svrhu prepoznavanja narudžbe.
Savjet: Da biste stvorili jedinstveni broj kao primarni ključ, dodajte stupac pomoću vrste podataka Automatsko numeriranje. Vrsta podataka Automatsko numeriranje automatski dodjeljuje jedinstvenu brojčanu vrijednost svakom zapisu. Ova vrsta identifikatora ne sadrži informacije koje opisuju redak koji predstavlja. Idealan je za korištenje kao primarni ključ jer se brojevi ne mijenjaju, za razliku od primarnog ključa koji sadrži činjenice o retku, kao što su telefonski broj ili ime klijenta.