Osnove dizajna baza podataka

Osnove dizajna baza podataka

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Ispravno dizajniranim omogućuje pristup ažuran, točne podatke. Budući da je pravilan dizajn ključna postizanja ciljeve u radu s bazom podataka, vremena potrebnog da biste saznali načela učinkovite dizajn smisla. Na kraju vjerojatnije završe s bazom podataka koji ispunjava vaše potrebe i lako prihvaća promjene.

Ovaj članak sadrži upute za planiranje bazu podataka za stolna računala. Ćete saznati kako odlučiti što potrebne informacije, kako informacije podijeliti u odgovarajuće tablice i stupce i kako se te tablice odnose prema drugima. Ovaj članak namijenjen prije stvaranje prve baze podataka radne površine.

Važno : Access nudi sučelja dizajna koje vam omogućuju stvaranje aplikacija za baze podataka za Web. Mnoge dizajn pitanja vezana uz razlikuju se prilikom dizajniranja za Web. U ovom se članku navode ne web-baze podataka aplikacije dizajna. Dodatne informacije potražite u članku Stvaranje baze podataka radi zajedničkog korištenja na webu.

Sadržaj članka

Neki izrazi u bazama podataka informacije

Što je dobar dizajn baze podataka?

Postupka dizajniranja

Određivanje namjene baze podataka

Pronalaženje i organiziranje potrebnih informacija

Dijeljenje informacija u tablice

Stavljanje stavki informacija u stupce

Određivanje primarnih ključeva

Stvaranje odnosa između tablica

Poboljšanje dizajna

Primjena pravila normalizacija


Neki izrazi u bazama podataka informacije

Access organizira informacije u tablicama: popise redaka i stupaca koji podsjećaju na računovodstveni blok ili proračunske tablice. U jednostavnoj bazi podataka, možda ćete imati samo jednu tablicu. Za većinu baza podataka potrebno više od jedne. Na primjer, možda imate tablicu koja pohranjuje informacije o proizvodima, drugu tablicu koja pohranjuje informacije o narudžbama i drugu tablicu s informacijama o korisnicima.

Slika prikazuje tri tablice u podatkovnoj tablici

Svaki redak zove pravilno više zapisa, a svaki stupac polja. Zapis je smislen i konzistentan način kombiniranja informacija o nečemu. Polje je jednu stavku podataka – vrsta stavke koja se pojavljuje u svakom zapisu. U tablici Proizvodi, na primjer, svaki redak ili zapis bi sadržavao informacije o jednom proizvodu. Svaki stupac ili polje sadrži neku vrstu informacija o tom proizvodu, kao što su njegov naziv ili cijena.

Vrh stranice

Što je dobar dizajn baze podataka?

Za određene načela voditi postupka dizajniranja baze podataka. Prvi načelo da je duplicirane podatke (naziva se i suvišnih podataka) loše jer zauzima prostor i povećava vjerojatnost pogrešaka i nedosljednosti. Drugi načelo je ispravnost i dovršenosti podataka je važno. Ako bazu podataka sadrži pogrešne podatke, svih izvješća koja izvlačenje podataka iz baze podataka i sadržavati pogrešne podatke. Zbog toga svih odluka unesete koji se temelje na ta izvješća pa se misinformed.

Na dobar dizajn baze podataka, stoga jedan je koji:

  • Dijeli informacije u tematskih tablica i smanjiti količinu suvišnih podataka.

  • Omogućuje pristup informacijama potrebna je za spajanje podataka u tablicama prema potrebi.

  • Pomaže pri podršci i osigurava točnost i cjelovitost informacija.

  • Prilagođava na obradu podataka i izvješćivanje o potrebama.

Vrh stranice

Postupka dizajniranja

Postupka dizajniranja sastoji se od sljedećih koraka:

  • Određivanje namjene baze podataka   

    Ovo pomaže u pripremi za preostale korake.

  • Pronalaženje i organizacija potrebnih informacija   

    Prikupite sve vrste podataka, možda ćete morati zapisa u bazi podataka, kao što su ime i redoslijed broj proizvoda.

  • Dijeljenje informacija u tablice   

    Podijelite stavki informacija u glavne cjeline ili predmete, kao što su proizvodi ili narudžbe. Svaki predmet zatim postaje tablica.

  • Uključivanje stavki informacija u stupce   

    Odredite koje informacije želite pohraniti u svaku tablicu. Svaka stavka postaje polje i prikazuje se kao stupac u tablici. Na primjer, tablici Zaposlenici mogu sadržavati polja kao što su prezime i datum zaposlenja.

  • Određivanje primarnih ključeva   

    Odaberite primarni ključ za svaku tablicu. Stupac koji se koristi za svaki redak identificirati samo je primarni ključ. Primjer može biti ID proizvoda ili ID narudžbe.

  • Postavljanje odnosa između tablica   

    Pregledajte svaku tablicu i odlučite način podataka u jednoj tablici povezan s podacima iz druge tablice. Dodavanje polja tablice ili stvaranje nove tablice za pojašnjavaju odnose, po potrebi.

  • Poboljšanje dizajna   

    Analiziranje dizajna pogrešaka. Stvaranje tablica i dodavanje nekoliko zapisa ogledne podatke. Potražite u članku dobivate željene rezultate iz tablice. Podesite dizajn, ako je potrebno.

  • Primjena pravila normalizacija   

    Primjena pravila normalizacija podataka da biste vidjeli ako tablica strukturirane su pravilno. Podesite tablice, ako je potrebno.

Vrh stranice

Određivanje namjene baze podataka

Preporučuje se u napisati svrhu baze podataka na papiru – njezinu svrhu, kako namjeravate koristiti i tko će koristiti. Za male baze podataka za kućne na temelju tvrtke, na primjer, možete napisati neku jednostavnu akciju kao "Korisnička baza podataka sadrži popis korisničkih informacija za upotrebu proizvodnje skupna pisma i izvješća." Ako baza podataka je složenije ili koristi više osoba, što se često događa u korporacijskom okruženju namjenu lako može odlomka ili više njih i mora sadržavati kada i kako se svaki korisnik će koristiti bazu podataka. Ideja je da bi naredba dobro razvijen izvještaj zadataka koji se može uputiti tijekom postupka dizajniranja. Imate takvog izvještaja olakšava vam usredotočite se na ciljeve kada donošenje odluka.

Vrh stranice

Pronalaženje i organiziranje potrebnih informacija

Pronalaženje i organizacija potrebnih informacija, započnite s postojećim informacijama. Na primjer, mogu bilježiti narudžbenice u glavne ili možete zadržati korisničke informacije u papirnate obrasce kabinetska datoteka. Prikupite te dokumente i popisu svaku vrstu informacija (na primjer, svaki okvir koji ispunite na obrascu). Ako još nemate nijedan postojeći obrazac, umjesto toga zamislite da ćete morati Dizajniranje obrasca za zapisivanje korisničkih informacija. Koje informacije želite staviti na obrascu? Koje okvire za popunjavanje ćete stvoriti? Prepoznajte i navedite svaku od tih stavki. Ako, na primjer, pretpostavimo da trenutno zadržati na popisu kupaca na karticama indeksa. Provjera predstavili može prikazati svakoj kartici nalaze na kupci ime, adresu, Grad, stanje, poštanski broj i telefonski broj. Svaki od tih stavki predstavlja potencijalni stupac u tablici.

Dok pripremate ovaj popis, ne brinite o tome kako izvući je savršen. Umjesto toga, navedite sve stavke koje se sjetite. Ako netko drugi koristit će bazu podataka, zatražite ideje prevelik. Kasnije možete dotjerati popis.

Nakon toga razmotrite vrste izvještaja ili skupnih pisama koje možete proizvesti iz baze podataka. Na primjer, možda ćete izvješće Prodaja proizvoda da biste prikazali prodaje po regijama ili izvještaj sažetka zaliha koji prikazuje razine zaliha proizvoda. Možda želite proizvesti pisma obrazaca za slanje korisnicima koji najavljuje događaje ili nudi na premium. Dizajn izvješća u mišljenje i zamislite što će izgledati. Koje informacije želite staviti na izvještaj? Navedite svaku stavku. Isto učinite i za pisma obrasca i drugo izvješće koje namjeravate stvoriti.

osobno zamišljanje izvješća o zalihama proizvoda

Održavanje mislili izvješća i skupna želite stvoriti pomaže vam prepoznavanje stavki koje su vam u bazi podataka. Na primjer, pretpostavimo dajete priliku za uključivanje u (ili Odsutan) ažuriranja periodičku e-pošte, a želite ispisati popis osobama koje su pristupile programu. Da biste snimili te podatke, dodajte stupac "Slanje e-pošte" u tablicu korisnika. Za svakog korisnika polje možete postaviti na da ili ne.

Zahtjev za slanje poruke e-pošte kupcima predlaže drugu stavku za zapisivanje. Kada znate da klijent želi poruka e-pošte, i morat ćete znati adresu e-pošte na koju se šalju ih. Stoga ćete morati snimanje adresu e-pošte za svakog korisnika.

Smisla dobro sastavljanje predložak svaki izvješća ili i razmotriti stavke koje vam daju izvješća. Ako, primjerice, kada pregledate pisma obrasca, na umu padaju možda nekoliko stvari. Želite li uključiti odgovarajući Pozdravni – na primjer, "G.", "Gđa" ili "Ms." niz koji započinje pozdrav, morat ćete stvoriti stavku pozdrava. Osim toga, možete obično započeti slovo s "Poštovani g. kovač" umjesto "Dragi. Prezimena odvojeno od imena". Predlaže bi obično želite pohraniti ime i prezime u ime.

Najvažnije Imajte na umu je treba podijeliti svaki dio informacije u njihovim najmanjim korisnim dijelovima. Ako naziv, da bi prezime postalo brzo dostupno, će podijelite naziv u dva dijela – ime i prezime. Da biste sortirali izvješća po prezimenu, na primjer, korisno je spremljene zasebno kupca prezime. Općenito govoreći, ako želite sortirati, pretražiti, izračunati ili izvješća na temelju stavke informacija, trebali biste postavite tu stavku u vlastitom polje.

Razmislite o pitanjima možda ćete baze podataka koju želite odgovoriti. Ako, primjerice, koliko Prodaja istaknuti proizvod jeste li zatvorite prošli mjesec? Gdje se Najbolji klijenti učinite live? Tko je dobavljač za Najprodavaniji proizvod? Predviđanje ovih pitanja pomaže pri dodatnih stavki za snimanje.

Nakon dobivanja tih informacija, spremni ste za sljedeći korak.

Vrh stranice

Dijeljenje informacija u tablice

Da biste dijelili podatke u tablice, odaberite glavne cjeline ili predmete. Preliminarni popis nakon traženja i organiziranje informacija za bazu podataka prodaje proizvoda, na primjer, može izgledati ovako:

ručno pisane stavke informacija grupirane u predmete

Glavne cjeline ovdje prikazane su proizvodi, dobavljači, klijenti i narudžbe. Stoga je logično započeti s ove četiri tablice: jedna s podacima o proizvodima, jedna s podacima o dobavljačima, jedna s podacima o klijentima i podacima o narudžbama. Iako ovaj popis nije gotov, je dobru početnu točku. Možete i dalje da biste suzili popis dok ne dobijete dizajna koje dobro funkcionira.

Kad pregledate preliminarni popis stavki, možda nećete moći staviti ih sve u jednu tablicu, umjesto u četiri kako je prikazano na prethodnoj slici. Time ćete naučiti zašto to nije dobra ideja. Imajte na umu ukratko tablici prikazan ovdje:

Slika prikazuje tablicu koja sadrži proizvode i dobavljače

U ovom slučaju, svaki redak sadrži informacije o proizvodu i njegov dobavljača. Budući da možete imati više proizvoda od istog dobavljača, informacije o ime i adresu dobavljača mora se ponavljaju više puta. Time se zauzima prostor na disku. Snimanje informacija o dobavljaču samo jednom u zasebnu dobavljače tablicu, a zatim povezivanje te tablice u tablicu Proizvodi je puno bolje rješenje.

Drugi problem s ovim dizajnom dolazi kada je potrebno da biste izmijenili informacije o dobavljača. Na primjer, pretpostavimo da morate promijeniti adresu dobavljača. Budući da se nalazi na mnogim mjestima, možete slučajno promijeniti adresu na jednom mjestu, no zaboraviti da biste promijenili na druge. Snimanje adrese dobavljača na samo jednom mjestu će riješiti problem.

Prilikom dizajniranja baze podataka, uvijek pokušajte zapisati svaki podatak samo jednom. Ako pronađete sami ponavljajuće iste podatke na više od jedne mjestu, kao što je adresa pojedinog dobavljača, tu informaciju smjestite u zasebnu tablicu.

Na kraju, pretpostavimo da postoji samo jedan proizvod koji vam je dao Vinarija Coho, a želite izbrisati proizvoda, ali zadržavaju informacije o ime i adresu dobavljača. Kako izbrisati zapis o proizvodu bez gubitka podataka dobavljača? Ne možeš. Budući da svaki zapis sadrži činjenice o proizvodu, kao i činjenice o dobavljača, nećete moći izbrisati neku drugu. Da biste odvojiti ove činjenice jedne tablice morate podijeliti u dvije: jednu tablicu za informacije o proizvodu i informacije o dobavljaču u drugoj tablici. Brisanje zapisa proizvod je potrebno izbrisati samo činjenice o proizvodu, ne činjenice o dobavljača.

Nakon što ste odabrali predmet koji predstavlja tablice, stupce u toj tablici će pohranjivati podatke samo o predmetu. Na primjer, tablica proizvoda će pohranjivati podatke samo o proizvodima. Budući da je adresa dobavljača podataka o dobavljaču, a ne o proizvodu, on pripada u tablicu dobavljača.

Vrh stranice

Stavljanje stavki informacija u stupce

Da biste utvrdili stupaca u tablici, odredite koje informacije koje morate pratiti o toj temi naveden u tablici. Na primjer, tablicu Kupci u ime, adresu, State – poštanski broj grada, slanje e-pošte, adresa pozdrav i e-pošte sastoji dobar početni popis stupaca. Svaki zapis u tablici sadrži isti skup stupaca, tako da se mogu pohraniti ime, adresu, State – poštanski broj grada, slanje e-pošte, pozdrav i e-pošte adresa informacija za svaki zapis. Na primjer, stupac adresa sadrži adrese kupaca. Svaki zapis sadrži podatke o jednog klijenta i polja adresa sadrži adresu za kupca.

Nakon što ste zaključili početni skup stupaca za svaku tablicu, možete dodatno suzili stupce. Na primjer, je li bolje pohraniti ime klijenta kao dva zasebna stupca: ime i prezime, tako da možete sortirati, pretraživanje i indeks samo onih stupaca. Isto tako, adresa se zapravo sastoji od pet odvojene komponente, adresa, Grad, stanje, poštanski te države/regije i i smisla pohranili ih u zasebnom stupcu. Ako želite provesti pretraživanje, operacije filtriranja i sortiranja prema županiji, na primjer, morat ćete informacije o stanju pohranjene u zasebnom stupcu.

Trebali biste razmotriti li baze podataka držite informacije domaće polazište samo ili međunarodne, kao i. Ako, primjerice, ako planirate pohraniti međunarodne adrese, bolje je imati stupac područje umjesto Država, jer takav stupac može sadržavati domaće Državama i regijama druge države/regije. Isto tako, poštanski više smisla nego poštanski broj prilikom prelaska pohranjivati međunarodne adrese.

Na sljedećem popisu navedene nekoliko savjeta za utvrđivanje stupaca.

  • Nemoj uvrštavati izračunatih podataka   

    U većini slučajeva, nećete pohranjivati rezultat izračuna u tablicama. Već imate pristup izračunavati kada želite da biste vidjeli rezultat. Na primjer, pretpostavimo da postoji izvještaj Proizvodi za narudžbu koji prikazuje podzbroj jedinica za narudžbu, za svaku kategoriju proizvoda u bazi podataka. No postoji nijedan stupac podzbroja jedinice za narudžbu u svakoj tablici. Umjesto toga, tablici Proizvodi uključuje stupac jedinice za narudžbu koji pohranjuje jedinice za narudžbu za svaki proizvod. Pomoću tih podataka, Access izračunava podzbroj svaki put ispis izvješća. Sam podzbroj neće biti pohranjen u tablici.

  • Pohrane podataka u njihovim najmanjim logičkim dijelovima   

    Možda ćete poželjeti imati jedno polje za puna imena ili za nazive proizvoda zajedno s opisima proizvoda. Ako se kombinirati više od jedne vrste informacija u polju, teško je kasnije dohvaćanje pojedinačne činjenice. Pokušajte raščlanjuju informacije u logičke dijelove; Ako, na primjer, stvorite zaseban polja za ime i prezime ili za naziv proizvoda, kategorija i opis.

slika prikazuje stavke informacija tijekom postupka dizajniranja

Nakon što ste poboljšali stupce podataka u svakoj tablici, spremni ste za odabir primarnog ključa za svaku tablicu.

Vrh stranice

Određivanje primarnih ključeva

Svaka tablica će uključivati stupac ili skup stupaca koji jedinstveno označava svaki redak pohranjuju u tablicu. To je često jedinstveni identifikacijski broj, kao što je ID broj zaposlenika ili serijski broj. U terminologija baze podataka, ti podaci se zove primarni ključ tablice. Access koristi polja primarnih ključeva za brzo povezivanje podataka iz više tablica i objediniti podatke umjesto vas.

Ako već imate Jedinstveni identifikator za tablicu, kao što je broj proizvoda koji jedinstveno označava svaki proizvod u katalogu, identifikator možete koristiti kao primarni ključ tablice, ali samo ako su vrijednosti u tom stupcu uvijek biti različiti za svaki zapis. Ne možete imati dvostruke vrijednosti u primarni ključ. Na primjer, nemojte koristiti imena kao primarni ključ jer imena nisu jedinstvena. Jednostavno može imati dvije osobe s istim nazivom u istoj tablici.

Primarni ključ uvijek mora imati vrijednost. Ako je vrijednost u stupcu može postati Nedodijeljeni "ili" Nepoznato (nedostaje vrijednost) u nekom trenutku se ne može koristiti kao komponenta primarnog ključa.

Uvijek trebali biste odabrati primarni ključ čija se vrijednost neće se promijeniti. Primarni ključ tablice u bazi podataka koja koristi više od jedne tablice, može se koristiti kao referenca u drugim tablicama. Ako se primarni ključ promijeni, promjena se mora primijeniti svugdje gdje se upućuje na tipku. Korištenje primarni ključ koji se neće se promijeniti smanjuju izgledi primarni ključ može postati sinkroniziran s ostalim tablicama koje se odnosi.

Često proizvoljni jedinstveni broj koristi se kao primarni ključ. Na primjer, možete dodijeliti svakom nalogu jedinstveni broj narudžbe. Broj narudžbe jedina svrha je prepoznavanje reda. Kada dodijelite, više se ne mijenja.

Ako još nemate na umu stupac ili skup stupaca koji bi se mogla dobar primarni ključ, razmislite o korištenju stupca koji sadrži vrstu podataka Samonumeriranje. Kada koristite vrstu podataka Samonumeriranje, Access automatski dodjeljuje vrijednost. Ovakav identifikator je činjenice; sadrži činjenične informacije koje opisuju redak koji predstavlja. Činjenice idealne su za korištenje kao primarni ključ jer se ne mijenjaju. Primarni ključ koji sadrži činjenice o retku – telefonski broj ili naziv kupca, na primjer – veća je vjerojatnost da biste promijenili, jer se može promijeniti same činjenične informacije.

Slika prikazuje tablicu Proizvodi s poljem primarnog ključa.

1. stupac postavljen na vrstu podataka Samonumeriranje često čini dobar primarni ključ. Nema ID-a za dva proizvoda su uvijek jednake.

U nekim slučajevima, trebali biste koristiti dva ili više polja koja zajednički daju primarni ključ tablice. Primjerice, tablici Detalji narudžbe koji se pohranjuju stavke za narudžbe koristit ćete dva stupca svoj primarni ključ: ID narudžbe i ID proizvoda. Kada je primarni ključ koristi više od jednog stupca, on se zove složeni ključ.

Za u bazi podataka prodaje proizvoda, možete stvoriti stupac Samonumeriranje za svaku od tablica da bi služio kao primarni ključ: ID proizvoda za tablicu Proizvodi, IDNarudžbe za narudžbe tablice, IdKlijenta za tablicu Kupci i ID oznaka za tablicu Dobavljači.

slika prikazuje stavke informacija tijekom postupka dizajniranja


Vrh stranice

Stvaranje odnosa između tablica

Sad kad ste podijeljen informacije u tablice, potrebno je način objediniti podatke ponovno smisleni načine. Ako, na primjer, sljedeći obrazac sadrži podatke iz više tablica.

Obrazac narudžbe

1. Podaci u ovom obrascu dolaze iz tablice Kupci...

2... tablica Zaposlenici .the...

3... tablicu Narudžbe .the...

4... tablice Proizvodi .the...

5... .i tablici Detalji narudžbe.

Pristup je sustav za upravljanje relacijske baze podataka. Relacijske baze podataka, dijelite informacije u zasebne, predmet tablice. Zatim pomoću odnosa između tablica da biste objediniti podatke prema potrebi.

Vrh stranice

Stvaranje odnosa jedan-prema-više

Razmotrite ovaj primjer: tablice dobavljači i proizvodi u proizvodu narudžbe baze podataka. Dobavljača možete navesti bilo koji broj proizvoda. Slijedi da za sve prikazane u tablici Dobavljači dobavljača, može biti mnogi proizvodi predstavljeni u tablici Proizvodi. Odnos između tablice dobavljači i tablice Proizvodi je zato odnos jedan-prema-više.

koncept jedan prema više

Da biste odnos jedan-prema-više u dizajnu baze podataka, uzmite primarni ključ na strani "jedan" u odnosu i dodajte ga kao dodatni stupac ili stupci u tablici na strani "više" u odnosu. U ovom slučaju, na primjer, dodajte stupac ID dobavljača iz tablice dobavljači u tablicu Proizvodi. Access može koristiti ID broj dobavljača u tablici proizvoda da biste pronašli pravog dobavljača za svaki proizvod.

Stupac ID dobavljača u tablici Proizvodi se naziva vanjski ključ. Vanjski ključ je primarni ključ u drugu tablicu. Stupac ID dobavljača u tablici Proizvodi je vanjski ključ jer je primarni ključ u tablici Dobavljači.

slika prikazuje stavke informacija tijekom postupka dizajniranja

Pruža temelj za uključivanje povezanih tablica uspostavljanjem uparivanja primarnih ključeva i vanjskih ključeva. Ako niste sigurni koje tablice trebaju dijeliti uobičajene stupce, prepoznavanje odnosa jedan-prema-više osigurava da dvije tablice koje su, koje je potrebno zajednički stupac.

Vrh stranice

Stvaranje odnosa više-prema-više

Razmislite o odnos između tablice Proizvodi i tablice Narudžbe.

Jedna narudžba može sadržavati više od jednog proizvoda. S druge strane, pojedinačni proizvod se mogu pojaviti na više narudžbi. Dakle, za svaki zapis u tablici Narudžbe može biti više zapisa u tablici Proizvodi. A za svaki zapis u tablici Proizvodi može postojati više zapisa u tablici Narudžbe. Ova vrsta odnosa se naziva odnos više-prema-više jer za svaki proizvod može imati više narudžbi; i za svaku narudžbu može biti više proizvoda. Imajte na umu da da biste otkrili više-prema-više odnosa između tablica, to je važno razmotriti obje strane odnosa.

Predmeti dviju tablica – Narudžbe i Proizvodi – imaju odnos više-prema-više. To predstavlja problem. Da biste shvatili problem, zamislite što će se dogoditi ako ste pokušali stvoriti odnos između dviju tablica dodavanjem polja ID proizvoda u tablici Narudžbe. Da biste imali više od jednog proizvoda po narudžbi, potrebno vam je više zapisa u tablici Narudžbe po narudžbi. Želite ponavljajuće informacije o narudžbi za svaki redak koji se odnosi na jednu redoslijed – rezultira Neučinkovit dizajna koje može dovesti do netočnih podataka. Pokretanje isti problem se pojavljuje ako polje ID narudžbe stavite u tablici Proizvodi – potrebno više zapisa u tablici Proizvodi za svaki proizvod. Kako riješiti problem

Da biste stvorili treću tablicu, često se nazivaju tablice grananja koji raščlanjuje odnos više-prema-više u dva odnosa jedan-prema-više je odgovor. Umetnite primarni ključ iz svake od dviju tablica u treću tablicu. Zbog toga treća tablica zapisuje svaku pojavu ili instancu odnosa.

odnos više-prema-više

Svaki zapis u tablici Detalji narudžbe predstavlja jedan stavku na reda. Primarni ključ u tablici Detalji narudžbe sastoji se od dva polja – vanjski ključevi iz tablice Proizvodi i narudžbe. Korištenje samo polja ID narudžbe ne može funkcionirati kao primarni ključ za tu tablicu, jer narudžba može imati više stavki. ID narudžbe se ponavlja za svaku stavku na narudžbu, tako da polje ne smije sadržavati jedinstvene vrijednosti. Korištenje samo polja ID proizvoda ne funkcionira, jer jedan proizvod pojavljuje na više različitih narudžbi. No zajedno, dva polja uvijek proizvode jedinstvenu vrijednost za svaki zapis.

U u bazi podataka prodaje proizvoda, tablicu Narudžbe i tablica proizvodi nisu povezani međusobno izravno. Umjesto toga, povezane su neizravno putem tablice Detalji narudžbe. Odnos više-prema-više između narudžbe i proizvodi predstavlja u bazi podataka pomoću dvije odnosa jedan-prema-više:

  • Tablicu Narudžbe i tablica Detalji narudžbe imaju odnos jedan-prema-više. Svaka narudžba može imati više od jedne stavke retka, ali svaku stavku povezano s samo jednu narudžbu.

  • Tablice Proizvodi i tablica Detalji narudžbe imaju odnos jedan-prema-više. Svaki proizvod može imati više stavki pridružena, ali svaku stavku redak odnosi se samo jednog proizvoda.

U tablici Detalji narudžbe možete utvrditi sve proizvode na određenom redoslijedu. Također možete utvrditi sve narudžbe za pojedinačni proizvod.

Nakon ugradnje tablice Detalji narudžbe, popis tablica i polja će izgledati ovako:

slika prikazuje stavke informacija tijekom postupka dizajniranja


Vrh stranice

Snimka zaslona s prikazom dostupnih emotikona i kontrole za uključivanje i isključivanje

Druge vrste odnosa je s odnosom. Na primjer, pretpostavimo da trebate zapisati neke posebne dodatne informacije o proizvodu koje ćete rijetko ili koji se odnosi samo na nekoliko proizvoda. Budući da ne morate često podatke, i spremanje podataka u tablici Proizvodi za posljedicu prazan prostor za svaki proizvod na koji ne odnosi, postavite ga u zasebnu tablicu. Kao što su tablice Proizvodi pomoću ID kao primarni ključ. Odnos između dodatne tablice i tablice proizvod je odnosom. Za svaki zapis u tablici proizvod postoji podudarni zapis u tablici dodatni. Kada odredite takvog odnosa, obje tablice moraju dijeliti uobičajenih polja.

Kad utvrdite potrebe za odnosom u bazi podataka, razmotrite hoće li se može smjestiti informacije iz dviju tablica zajedno u jednu tablicu. Ako ne želite da biste to učinili zbog nekog razloga, možda zbog u većem broju prazan prostor na sljedećem popisu navedene kako vam odnos predstaviti u dizajnu:

  • Ako dvije tablice imaju isti predmet, vjerojatno postavljate odnosa pomoću istog primarnog ključa u obje tablice.

  • Ako dvije tablice imaju različite predmete s različitim primarnim ključevima, odaberite jednu od tablica (ili neku) i umetnite njezin primarni ključ u tablici kao vanjski ključ.

Utvrđivanje odnosa između tablica pomaže vam bili sigurni da imate pravim tablicama i stupcima. Kada postoji jedan ili jedan-prema-više odnos, tablice uvrštene morati Najčešći stupac ili stupci za zajedničko korištenje. Kada postoji odnos više-prema-više, za predstavljanje odnosa potreban je treće tablice.

Vrh stranice

Poboljšanje dizajna

Nakon što dodate tablica, polja i odnose koje trebate, trebali biste stvoriti i popunjavanje tablice s oglednim podacima i pokušajte raditi s informacijama: Stvaranje upita, a zatim dodavanje novih zapisa i tako dalje. Time potencijalne probleme – na primjer, možda ćete morati dodati stupac koji ste zaboravili umetnuti tijekom dizajniranja ili imate tablicu koja se treba podijeliti u dvije tablice radi uklanjanja dupliciranja.

Potražite u članku ako bazu podataka možete koristiti da biste dobili odgovore želite. Stvorite grubu obrazaca i izvješća i pogledajte prikazuju li oni podaci koje ste očekivali. Pronađite nepotrebne dupliciranje podataka i kada pronađete, mijenjati dizajn da biste je uklonili.

Kao što je isprobate početnu bazu podataka, vjerojatno ćete otkriti mjesta za poboljšanja. Evo nekoliko savjeta koje možete potražiti:

  • Jeste li zaboravili bilo koji stupac? Ako je tako, pripadaju li informacije u postojeće tablice? Ako se informacije o nešto drugo, možda ćete morati stvoriti još jednu tablicu. Stvaranje stupca za svaku stavku informacije morate pratiti. Ako se podaci ne može biti izračunat iz drugih stupaca, vjerojatno je potrebno novog stupca za njega.

  • Su sve stupce nepotrebne jer se može biti izračunat iz postojećih polja? Ako se stavka informacija može biti izračunat iz drugih, postojećih stupaca – cijenu za eskontiranu izračunava od maloprodajne cijene, na primjer – obično je bolje upravo to učiniti, a izbjeći stvaranje novog stupca.

  • Jeste li uzastopno unosili dvostruke informacije u jednu od tablica? Ako je tako, vjerojatno ćete morati tablicu podijeliti u dvije tablice koje imaju odnos jedan-prema-više.

  • Imate li tablice s mnogo polja, ograničeni broj zapisa i mnogo praznih polja u pojedinačnim zapisima? Ako je tako, razmislite o ponovno dizajniranje tablice pa ima manje polja i više zapisa.

  • Sadrži li je svaka stavka informacije podijeljene u njihovim najmanjim korisnim dijelovima? Ako je potrebno prijaviti, sortiranje, pretraživanje ili izračun na stavci podataka postavite tu stavku u zasebnom stupcu.

  • Sadrži li svaki stupac podatak o predmetu tablice? Ako stupac ne sadrži informacije o predmetu tablice, on pripada u drugu tablicu.

  • Jesu li svi odnosi između tablica predstavlja uobičajenih polja ili treće tablice? Jedan i jedan-prema-više zahtijevaju uobičajene stupce. Odnos više-prema-više zahtijeva treću tablicu.

Poboljšanje tablice Proizvodi

Pretpostavimo da svaki proizvod u bazi podataka prodaje proizvoda spada u kategoriju Općenito, kao što je pića, Mliječni ili plodovi mora. Tablice Proizvodi može obuhvaćati polja koje prikazuje kategoriju svakog proizvoda.

Pretpostavimo da nakon proučavanja i poboljšanja dizajna baze podataka, odlučite pohraniti opis kategorije uz njezin naziv. Ako dodate polje Opis kategorije u tablicu Proizvodi, morate ponoviti opis svake kategorije za svaki proizvod koji pripada kategoriji – to nije dobro rješenje.

Bolje rješenje je kategorije novu temu za bazu podataka za praćenje, s vlastitom tablicom i vlastitu primarni ključ. Možete zatim dodati primarni ključ iz tablice kategorije u tablicu Proizvodi kao vanjski ključ.

Tablice kategorije i Proizvodi imaju odnos jedan-prema-više: kategorije mogu sadržavati više od jednog proizvoda, ali proizvod može pripadati samo jednoj kategoriji.

Prilikom pregleda tablične strukture se obratite pozornost na ponavljajuće grupe. Na primjer, razmotrite tablicu koja sadrži sljedeće stupce:

  • ID proizvoda

  • Naziv

  • Proizvoda1

  • Name1

  • Proizvoda2

  • Name2

  • Proizvoda3

  • Name3

Ovdje je svaki proizvod Ponavljajuća grupa stupaca koji se razlikuje od ostalih dodavanjem broja na kraj naziv stupca. Kada se prikaže stupaca numerirani na taj način, trebali biste ponovo posjetite dizajna.

Ovakav dizajn ima mnogo propusta. Dodatak je navodi da biste postavili gornju granicu na broj proizvoda. Čim premašite to ograničenje, morate dodati novu grupu stupaca strukturu tablice koja je važan Administrativni zadatak.

Neki drugi problem je da će oni dobavljači koji imaju manje od maksimalni broj proizvoda zauzimati prostor, jer dodatnim stupcima bit će prazan. Najozbiljniji takve u dizajnu je da će se mnoge zadatke teško provesti, kao što su sortiranje ili Indeksiranje tablice prema ID proizvoda ili ime.

Kad god primijetite ponavljajuće grupe Pregledajte dizajn pažljivo o podjeli tablice u dvije. U gornjem primjeru je bolje koristiti dvije tablice, jednu za dobavljače i jednu za proizvode, povezanih dobavljača ID-a.

Vrh stranice

Primjena pravila normalizacija

Možete primijeniti pravila normalizacija podataka (ponekad se nazivaju samo pravila normalizacija) kao sljedeći korak u dizajnu. Da biste vidjeli ako tablica se strukturiranja koju koristite se ovim pravilima. Postupak primjene pravila dizajna baze podataka se naziva normalizacija baze podataka ili samo normalizacija.

Normalizacija je nakon sve stavke informacija i stigla pri početnog dizajna. Ideja je kako bi vam biti sigurni da su podijeljene stavki informacija u odgovarajuće tablice. Ne možete koje normalizacija je bili sigurni da imate sve stavke točne podatke počinje sa.

Primjena pravila u nizu, u svakom koraku sigurni koje ste dizajnirali stigne na jedan od što je poznato kao "normalni Obrasci". Široko prihvaćaju pet normalni obrasci – prvog normalnog obrasca do petog normalnog obrasca. U ovom se članku detaljno prva tri jer su sve što je potrebno za većinu dizajna baze podataka.

Prvi normalni obrazac

Prvi normalni obrazac utvrđuje da na svaku sjecištu redaka ili stupaca u tablici, postoji jednu vrijednost, a nikada popis vrijednosti. Na primjer, ne možete imati polje naziva cijena postavite više od jedne cijene. Ako mislite da je svaki presjeku redaka i stupaca kao ćeliju, svaka ćelija može sadržavati samo jednu vrijednost.

Drugi normalni obrazac

Drugi normalni obrazac zahtijeva da svaki stupac bez ključa bude potpuno ovisan na cijelu primarni ključ, a ne samo dio ključa. To pravilo primjenjuje kad imate primarni ključ koji se sastoji od više od jednog stupca. Na primjer, pretpostavimo da imate tablicu koja sadrži sljedeće stupce, gdje ID narudžbe i ID proizvoda čine primarni ključ:

  • ID narudžbe (primarni ključ)

  • ID proizvoda (primarni ključ)

  • Naziv proizvoda

Ovaj dizajn krši drugi normalni obrazac jer je naziv proizvoda ovisi o ID proizvoda, ali ne u ID narudžbe, tako da nije ovisan o cijelom primarnom ključu. Naziv proizvoda morate ukloniti iz tablice. Pripada u drugu tablicu (proizvodi).

Treći normalni obrazac

Treći normalni obrazac zahtijeva koje ne samo za svaki stupac bez ključa bude ovisan o cijelom primarnom ključu, ali da se međusobno nezavisni ti stupci bez ključa.

Drugi način reći jest da svaki stupac bez ključa mora biti zavisne na primarni ključ i ništa ne ali primarni ključ. Na primjer, pretpostavimo da imate tablicu koja sadrži sljedeće stupce:

  • ID proizvoda (primarni ključ)

  • Naziv

  • SRP

  • Popust

Pretpostavimo da popust ovisi o predložene maloprodajnu cijenu (SRP). U ovoj su tablici krši Treći normalni obrazac jer stupac bez ključa, popust, ovisi o drugom stupcu bez ključa, SRP. Stupac nezavisnosti znači trebali biste moći promijeniti bilo koji stupac bez ključa bez utjecaja na bilo koji stupac. Ako promijenite vrijednost u polju SRP, popust promijenit će se sukladno tome, time se narušava pravilo. U ovom slučaju popust želite premjestiti u drugu tablicu koja se odnose na SRP.

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×