Sledeći odeljci pokazuju kako su dizajnirane relacije među tabelama baze podataka. Imena objekata su obezbeđena tako da možete lako da ih pregledate u Northwind 2.0 Starter Edition bazi podataka.
Da biste otvorili dijagram relacija koji prikazuje šest tabela i relacija između njih, izaberite stavku Alatke baze podataka > relacije.
Ovaj dijagram prikazuje svih šest tabela. U dijagramu, linije između tabela identifikuju relacije između njih. Simbol 1 i beskonačnost (∞) na krajnjim redovima predstavljaju jednostranu stranu relacije (na primer, jedan klijent) i višestranu relaciju. Na primer, jedan klijent prosleđujete više porudžbina. Više informacija potražite u članku Vodič za relacije među tabelama.
Sledeći principi primenjuju se na tabele u programu Northwind 2.0 Starter Edition, kao i uopšteno.
Primarni ključevi Jedinstveno identifikujte svaki zapis u tabeli. Sve tabele imaju primarni ključ. U dijagramu relacija simboli ključa identifikuju te primarne ključeve. Konvencije imenovanja primarnog ključa su imenovane za tabelu u okviru koje se nalaze, na primer "TableNameID".
članku Dodavanje polja tipa "Automatsko numerisanje" kao primarnog ključa.
Efikasnost Za bolje performanse i efikasnije skladištenje, primarni ključevi bi trebalo da budu numerički. Pored toga, praktičnije je da Access automatski generiše novu, jedinstvenu vrednost za primarni ključ svakog novog zapisa. Tip podataka "Automatsko numerisanje" ima obe karakteristike. Automatsko numerisanje su inače brojevi koji nisu smisleni i ne služe nijednoj drugoj nameni. Više informacija potražite uSporedni ključevi Tabela može da ima i neke sporedne ključeve, u zavisnosti od toga da li je povezana sa drugim tabelama u bazi podataka. Sporedni ključ sadrži vrednosti koje odgovaraju vrednostima u primarnom ključu srodne tabele.
Jedinstveni indeksi Druga polja u tabelama takođe mogu da imaju sopstvene jedinstvene indekse, na primer OrderStatus.StatusCode. Nelogično je imati dva statusa porudžbine u tabeli "OrderStatus" sa istim kodom, iako statusni Kôd sam po sebi nije primarni ključ. Jedinstveni indeks govori programu Access da spreči duplirane vrednosti u tom polju.
Indeksi koji nisu jedinstveni Tabele takođe mogu da imaju indekse za ubrzavanje pretraga i sortiranja po tim poljima, na primer Porudžbine.DatumPorudžbine. Veliki broj porudžbina može da se pošalje istog dana, a vi često želite da pretražite i sortirate po datumima porudžbine. U tom polju postoji indeks koji nije jedinstven da bi se ubrzalo pretraživanje i sortiranje.
Imena tabela i polja Možete da imenujete stvari kako želite, ali doslednost je važna. Preporučujemo da imena tabela i polja budu jedna ili više reči bez razmaka između njih i da ne postoje specijalni znakovi kao što su kosa crta (/), znak funte (#) ili procenat (%). Na primer, koristite DatumPorudžbine, ali ne i datum porudžbine; koristite OrderNumber ili OrderNo, ali ne i Order#.
Kamila Pišite velikim slovom reči da biste istakli pojedinačne delove imena, na primer DatumPorudžbine, ali ne i DatumPorudžbine ili Datumporudžbine.
Obavezna vrednost Ovaj princip otvara važnost poslovnih pravila za aplikaciju. Neke situacije zahtevaju vrednosti ili čak određene vrednosti u nekim poljima. Na primer, koja je svrha porudžbine a da ne znate klijenta koji je postavio? To znači da je CustomerID obavezno polje za tabelu "Porudžbine".
Izračunata polja Access podržava izračunata polja u tabelama, na primer polje Employees.FullName. Možda ćete želeti da kreirate izračunata polja u upitu, a ne u tabeli.
Polja priloga Access podržava polja priloga, na primer Employees.Picture, koja sadrži sliku zaposlenog. Prilozi mogu da skladište slike, dokumente, e-poruke i druge binarne informacije. Prilozi zauzimaju mnogo prostora u bazi podataka. efikasnije je uskladištiti priloge na serveru datoteka umesto toga.
Polja sa više vrednosti Kao što ime podrazumeva, polja sa više vrednosti skladište jednu ili više vrednosti u jednom polju, na primer "Zaposleni.Naslov". Predlažemo da ih koristite umerajno, naročito ako želite da povećate bazu podataka. Većina drugih sistema baza podataka ih nema, tako da bi to zahtevalo mnogo ponovnog rada.
Više informacija o tipovima podataka potražite u članku Uvod u tipove podataka i svojstva polja.
Ovaj odeljak govori o najvažnijim funkcijama svake tabele. Da biste pregledali dizajn tabele, izaberite je u oknu za navigaciju, kliknite desnim tasterom miša na nju, odaberite prikaz dizajna ili izaberite alatke baze podataka > Relacije, a zatim kliknite desnim tasterom miša na objekat tabele. Više informacija potražite u članku Uvod u tabele.
Važno: Izbegavajte upotrebu rezervisanih reči koje mogu dovesti do neusaglašenosti u imenima. Više informacija potražite u članku Saznajte više o rezervisanim rečima i simbolima u programu Access.
Tabela "Zaposleni"
Ova tabela skladišti informacije o zaposlenima u preduzeću Northwind.
Polja |
Opis |
Ime, prezime |
Oba imena su obavezna i zajedno moraju da budu jedinstvena kombinacija. U dizajnu tabele, kada otvorite dijalog Indeksi , možete da vidite da Ime + Prezime imaju jedinstveni indeks. Pošto su Ime i Prezime jedinstveno indeksirani, Northwind tabela ne može da uskladišti dva zaposlena sa istim imenom. U drugim situacijama možete da koristite drugo poslovno pravilo. |
FullNameFNLN, FullNameLNFN |
Pogledajte svojstvo izraza izračunatih polja da biste videli kako Access kombinuje vrednosti u izračunatim poljima. Da biste uključili srednji inicijali, dodajte ga postojećem izrazu sa odgovarajućim razmakom između komponenti. |
Polja telefona |
Poslovno pravilo za telefone je da je željena postavka za zaposlene relevantnija od tipa usluge. Zbog toga se koriste primarni i sekundarni brojevi telefona umesto brojeva ćelija, kancelarije, kuće i tako dalje. |
Oslovljavanje |
Oslovljavanje je polje "Kratak tekst". Da biste ilustrovali funkciju polja sa više vrednosti u programu Access, to je kombinovani okvir sa listom unapred definisanih vrednosti koja se može uređivati. Kratke, statične liste kao što je ova često su kandidati za polja sa više vrednosti jer se ne menjaju mnogo, ako ikada. |
Ime zadatka |
Polje "Radno mesto" je još jedno obavezno polje. |
Tabela "Klijenti"
Ova tabela skladišti informacije o Northwind klijentima.
Polja |
Opis |
Ime klijenta |
Northwind klijenti su preduzeća i potrebno je ime klijenta. Za razliku od imena zaposlenih, ona nisu jedinstveno indeksirana, što omogućava dva ili više klijenata da imaju isto ime. |
PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle |
Ime i prezime i radno mesto primarnog kontakta nisu neophodni zato što klijenti možda ne imaju jednu osobu kao primarni kontakt. Kontakti možda neće dati radno mesto za porudžbinu. |
Poslovni telefon |
Northwind zahteva samo jedan broj telefona za svakog klijenta, iako to eliminiše mogućnost hvatanja više brojeva telefona za klijente ili za kontakte od klijenata. U situacijama u realnom svetu, složenija poslovna pravila se obično primenjuju na kontakt informacije. |
Adresa, grad Država, poštanski broj |
Northwindu je potrebna adresa za isporuku porudžbina kupcima. Postoji samo jedna generička adresa za klijenta. U situacijama u realnom svetu klijenti često imaju zasebnu naplatu, isporuku ili druge adrese. Drugo poslovno pravilo za vašu organizaciju bi zahtevalo dodatna polja. |
Beleške |
Polje Beleške je tip podataka Dugačak tekst koji skladišti do 1 GB teksta. To vam omogućava da unesete detaljne komentare o klijentima za korišćenje u narednim situacijama sa porudžbinama. |
Tabela "Porudžbine"
Ova tabela skladišti informacije o Northwind porudžbinama.
Polja |
Opis |
DatumPorudžbine, DatumIsporuke, DatumIsporuke |
Porudžbine zahtevaju tri datuma. Svi su tip podataka "Datum/vreme", ali sa dva formata. DatumPorudžbine ima datum i vreme zato što ćete možda biti zainteresovani za analizu jačine zvuka porudžbine za različite delove dana. Za druga dva datuma potreban je samo datum. Pravilo za validaciju tabele za DatumIsporuke i DatumIsporuke osigurava da ti datumi nisu pre datumaPorudžbine. |
OrderStatusID |
Status porudžbine ukazuje na to gde se porudžbina nalazi u Northwind toku posla. Porudžbine se krećite kroz četiri faze : Novo – > fakturisano – > – > Zatvoreno.Sporedni ključ za trenutni OrderStatus koristi OrderStatusID iz tabele za pronalaženje orderStatus. Korišćenje tabele za pronalaženje statusa obezbeđuje da samo četiri unapred definisana statusa mogu biti dodeljena porudžbini. |
Tabela sa detaljima porudžbine
Ova tabela skladišti informacije o detaljima Northwind porudžbine.
Polja |
Opis |
ID porudžbine |
Svaka stavka reda u tabeli "Porudžbine" mora da pripada jednoj porudžbini u tabeli "Porudžbine". OrderID je sporedni ključ koji identifikuje tu porudžbinu. Kao što je ranije navedeno, jedna porudžbina koja sadrži neke stavke reda ilustruje relaciju jedan-prema-više. |
ID proizvoda |
Svaki zapis u tabeli "Porudžbine" sadrži ID proizvoda za poručeni proizvod. ID proizvoda je sporedna šifra u tabeli "Detalji Porudžbina", koja identifikuje taj proizvod tim redosledom. Ovo je takođe relacija jedan-prema-više. |
IDporudžbine+ ID proizvoda |
Kao što ste videli u tabeli "Zaposleni", više polja može da ima jedinstveni indeks. Jedinstveni indeks preko ID-aPorudžbine+ID proizvoda u tabeli "DetaljiPorudžbine" obezbeđuje da svaka porudžbina sadrži proizvod samo jednom. Kada otvorite list sa svojstvima Indeksi sa trake, možete da vidite ovaj jedinstveni indeks. |
Tabela "Proizvodi"
Ova tabela skladišti informacije o Northwind proizvodima.
Polja |
Opis |
Kôd proizvoda |
Pored primarnog ključa, ProductID, Northwind proizvodi imaju jedinstveno indeksiranu šifru proizvoda prilagođenu za ljudske korisnike. Zaposleni obično upućuju na šifre proizvoda koje nisu vrednosti primarnog ključa. Kôd proizvoda je složena vrednost koja se sastoji od oznake kategorije i broja, na primer, B-1 za "Pića", proizvoda 1. |
Ime proizvoda, Opis proizvoda |
Pored kratkog tekstualnog imena proizvoda, dugačak tekstualni opis se odnosi na proizvode. Ova vrednost može da se koristi u opisu kataloga ili za odgovaranje na pitanja klijenata. |
Cena po jedinici |
Svi proizvodi se prodaju po jedinici za svaku stavku koja pojednostavljuje bazu podataka kao ispostavu funkcija. U većini situacija u realnom svetu cene su često znatno složenije. |
Takođe pogledajte