Secțiunile următoare arată modul în care au fost proiectate relațiile între tabelele bazei de date. Numele obiectelor sunt furnizate, astfel încât să le puteți examina cu ușurință în baza de date Northwind 2.0 Starter Edition.
Pentru a deschide diagrama relație care afișează cele șase tabele și relațiile dintre ele, selectați Instrumente bază de date > Relații.
Această diagramă afișează toate cele șase tabele. În diagramă, liniile dintre tabele identifică relațiile dintre ele. Simbolul 1 și simbolul infinit (∞) de la capetele liniilor reprezintă partea unică a unei relații (de exemplu, un client) și partea mai mulți a unei relații. De exemplu, un client remite mai multe comenzi. Pentru mai multe informații, consultați Ghid pentru relațiile între tabele.
Următoarele principii se aplică tabelelor din Northwind 2.0 Starter Edition, precum și tabelelor în general.
Chei primare Identificați în mod unic fiecare înregistrare dintr-un tabel. Toate tabelele au o cheie primară. În diagrama relație, simbolurile cheie identifică acele chei primare. Convențiile de numire a cheii primare sunt denumite după tabelul în care se află, de exemplu, "IDNumeServer".
Adăugarea unui câmp Numerotare automată drept cheie primară.
Eficienţă Pentru o performanță mai bună și o stocare mai eficientă, cheile primare trebuie să fie numerice. În plus, este mai convenabil ca Access să genereze automat valoarea unică nouă pentru fiecare cheie primară a înregistrării noi. Tipul de date Numerotare automată are ambele caracteristici. În caz contrar, numerotările automate sunt numere non-semnificative și nu servesc niciun alt scop. Pentru mai multe informații, consultațiChei străine De asemenea, un tabel poate avea una sau mai multe chei străine, în funcție de legarea sa cu alte tabele din baza de date. O cheie străină conține valori care corespund valorilor din cheia primară a tabelului asociat.
Indexuri unice Alte câmpuri din tabele pot avea, de asemenea, propriile indexuri unice, de exemplu, OrderStatus.StatusCode. Este ilogic să aveți două Stări comandă în tabelul OrderStatus cu același cod, chiar dacă StatusCode în sine nu este cheia primară. Un index unic spune programului Access să împiedice valorile dublate din acel câmp.
Indexuri non-unice Tabelele pot avea, de asemenea, indexuri pentru a accelera căutările și sortările după acele câmpuri, de exemplu, Orders.OrderDate. Multe comenzi pot fi plasate în aceeași zi și adesea doriți să căutați și să sortați după Datele comenzilor. Există un index non-unic în acel câmp pentru a accelera căutarea și sortarea.
Numele tabelelor și câmpurilor Puteți denumi lucrurile așa cum doriți, dar consistența este importantă. Vă recomandăm ca numele de tabel și de câmp să fie unul sau mai multe cuvinte fără spații între ele și niciun caracter special, cum ar fi o bară oblică (/), semnul diez (#) sau procentul (%). De exemplu, utilizați OrderDate, dar nu Order Date; utilizați OrderNumber sau OrderNo, dar nu Order#.
Literă cămilă Scrieți cu majusculă cuvintele pentru a evidenția părțile individuale ale numelui, de exemplu, OrderDate, dar nu Orderdate sau orderDate.
Valoare necesară Acest principiu scoate în evidență importanța regulilor de afaceri pentru o aplicație. Unele situații necesită valori sau chiar anumite valori în unele câmpuri. De exemplu, la ce bun este o Comandă fără a ști clientul care a plasat-o? Aceasta înseamnă că CustomerID este un câmp obligatoriu pentru tabelul Comenzi.
Câmpuri calculate Access acceptă câmpuri calculate în tabele, de exemplu, câmpul Employees.FullName. Este posibil să preferați să creați câmpuri calculate într-o interogare, nu într-un tabel.
Câmpuri atașare Access acceptă câmpuri atașare, de exemplu Employees.Picture, care conține o imagine a angajatului. Atașările pot stoca imagini, documente, mesaje de e-mail și alte informații binare. Atașările ocupă mult spațiu în baza de date. este mai eficient să stocați atașări pe un server de fișiere.
Câmpuri multi-valoare După cum sugerează și numele, câmpurile multi-valoare stochează una sau mai multe valori într-un singur câmp, de exemplu, Employees.Title. Vă sugerăm să le utilizați mai rar, mai ales dacă doriți să vă măriți baza de date. Majoritatea celorlalte sisteme de baze de date nu le au, astfel că ar fi nevoie de multă muncă din nou.
Pentru mai multe informații despre tipurile de date, consultați Introducere în tipurile de date și proprietățile câmpurilor.
Această secțiune prezintă cele mai importante caracteristici ale fiecărui tabel. Pentru a examina proiectarea unui tabel, selectați-l în Panoul de navigare, faceți clic dreapta pe acesta, alegeți Vizualizare proiect sau selectați Instrumente bază de date > Relații, apoi faceți clic dreapta pe un obiect de tabel. Pentru mai multe informații, consultați Introducere în tabele.
Important: Evitați utilizarea cuvintelor rezervate care pot provoca conflicte de nume. Pentru mai multe informații, consultați Aflați despre cuvintele și simbolurile rezervate în Access.
Tabelul Angajați
Acest tabel stochează informații despre angajații Northwind.
Câmpuri |
Descriere |
Prenume, Nume |
Ambele nume sunt obligatorii și, în Northwind, împreună, trebuie să fie o combinație unică. În proiectarea tabelului, atunci când deschideți caseta de dialog Indexuri , puteți vedea că Prenume + Nume au un index unic. Deoarece Prenume și Nume sunt indexate unic, tabelul Northwind nu poate stoca doi angajați cu același nume. În alte situații, puteți utiliza o altă regulă de afaceri. |
NumeCompletFNLN, FullNameLNFN |
Uitați-vă la proprietatea expresie a câmpurilor calculate pentru a vedea cum combină Access valorile în câmpuri calculate. Pentru a include o inițială de mijloc, adăugați-o la expresia existentă cu spațierea corespunzătoare între componente. |
Câmpuri telefon |
Regula de afaceri pentru telefoane este că preferința angajaților este mai relevantă decât tipul de serviciu. Prin urmare, numerele de telefon principale și secundare sunt utilizate mai degrabă decât celule, de la birou, de acasă și așa mai departe. |
Salut |
Formula de salut este un câmp Text scurt. Pentru a ilustra caracteristica de câmp multi-valoare din Access, aceasta este o casetă combo cu o listă editabilă de valori predefinite. Liste scurte, statice ca aceasta, sunt adesea candidați pentru câmpuri multi-valoare, deoarece acestea nu se modifică prea mult, dacă vreodată. |
Titlu De locuri de muncă |
JobTitle este un alt câmp obligatoriu. |
Tabelul Clienți
Acest tabel stochează informații despre clienții Northwind.
Câmpuri |
Descriere |
NumeClidenți |
Clienții Northwind sunt firme și este necesar un nume de client. Totuși, spre deosebire de numele angajaților, acesta nu este indexat unic, permițând ca doi sau mai mulți clienți să aibă același nume. |
PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle |
Prenumele și numele persoanei de contact principale și funcția nu sunt obligatorii, deoarece este posibil ca clienții să nu aibă o persoană ca persoană de contact principală. Este posibil ca persoanele de contact să nu-și dea funcția pentru o comandă. |
BusinessPhone |
Northwind necesită un singur număr de telefon pentru fiecare client, deși acest lucru elimină capacitatea de a captura mai multe numere de telefon pentru clienți sau pentru persoanele de contact de la clienți. În situații reale, regulile de afaceri mai complexe se aplică în mod normal informațiilor de contact. |
Adresă, Localitate Județ, ZIP |
Northwind are nevoie de o adresă pentru a livra comenzi clienților. Există o singură adresă generică pentru un client. În situații reale, clienții au adesea adrese separate de facturare, livrare sau alte adrese. O altă regulă de afaceri pentru organizația dvs. necesită câmpuri suplimentare. |
Note |
Câmpul Note este un tip de date Text lung, care stochează până la 1 GB de text. Acest lucru vă permite să introduceți comentarii detaliate despre clienți pentru utilizare în situațiile următoare de ordonare. |
Tabelul Comenzi
Acest tabel stochează informații despre comenzile Northwind.
Câmpuri |
Descriere |
OrderDate, ShippedDate, PaidDate |
Comenzile necesită trei date. Toate sunt de tip dată/oră, dar cu două formate. OrderDate are atât o dată, cât și o oră, deoarece este posibil să vă intereseze analizarea volumului comenzilor pentru diferite părți ale zilei. Pentru celelalte două date, este necesară doar data. O regulă de validare a tabelului pentru ShippedDate (DatăExpediere) și PaidDate (DatăExpediere) asigură faptul că acele date nu sunt înainte de DataComandă. |
OrderStatusID |
Starea comenzii indică unde se află comanda în fluxul de lucru Northwind. Comenzile se deplasează prin patru faze: Nou - > facturat - > Livrate - > Închis.Cheia străină pentru OrderStatus curent utilizează OrderStatusID din tabelul de căutare OrderStatus. Utilizarea unui tabel de căutare Stare asigură faptul că numai cele patru stări predefinite pot fi atribuite unei comenzi. |
Order details table
Acest tabel stochează informații despre detaliile comenzii Northwind.
Câmpuri |
Descriere |
Idcomandă |
Fiecare element de linie din tabelul DetaliiComandă trebuie să aparțină unei comenzi din tabelul Comenzi. OrderID este o cheie străină care identifică acea ordine. După cum s-a menționat anterior, o ordine care conține unul sau mai multe elemente de linie ilustrează o relație unu-la-mai-mulți. |
Productid |
Fiecare înregistrare din tabelul DetaliiComandă include IDProdus pentru produsul comandat. ProductID este o cheie străină din tabelul OrderDetails( DetaliiComandă), identificând produsul respectiv în această ordine. Aceasta este, de asemenea, o relație unu-la-mai-mulți. |
OrderID+ ProductID |
După cum ați văzut în tabelul Angajați, mai multe câmpuri pot avea un index unic. Indexul unic peste OrderID+ProductID din tabelul OrderDetails asigură că fiecare comandă conține un produs o singură dată. Când deschideți foaia de proprietăți Indexuri din panglică, puteți vedea acest index unic. |
Tabel Produse
Acest tabel stochează informații despre produsele Northwind.
Câmpuri |
Descriere |
Cod produs |
În plus față de cheia primară, ProductID, produsele Northwind au un cod de produs prietenos cu oamenii, indexat unic. Angajații se referă în mod normal la coduri de produs care nu sunt valori cheie primară. Codul produsului este o valoare compusă constând dintr-o denumire de categorie și un număr, de exemplu, B-1 pentru "Băutură", produs 1. |
Nume produs, Descriere produs |
În plus față de numele de produse cu text scurt, la produse se aplică o descriere lungă a textului. Această valoare poate fi utilizată într-o descriere de catalog sau pentru a răspunde la întrebările clienților. |
Preţunitar |
Toate produsele sunt vândute cu un preț unitar pentru fiecare articol, ceea ce simplifică baza de date ca prezentare de caracteristici. În cele mai multe situații din lumea reală, prețurile sunt adesea mult mai complexe. |
Consultați și