W poniższych sekcjach pokazano, jak zaprojektowano relacje między tabelami baz danych. Nazwy obiektów są dostępne, więc można je łatwo sprawdzić w bazie danych Northwind 2.0 Starter Edition.
Aby otworzyć diagram relacji przedstawiający sześć tabel i relacje między nimi, wybierz pozycję Narzędzia bazy danych > Relacje.
Na tym diagramie przedstawiono wszystkie sześć tabel. Na diagramie linie między tabelami identyfikują relacje między nimi. Symbol 1 i nieskończoność (∞) na końcach linii reprezentują jedną stronę relacji (na przykład jeden klient) i wiele stron relacji. Na przykład jeden klient przesyła wiele zamówień. Aby uzyskać więcej informacji, zobacz Przewodnik po relacjach między tabelami.
Poniższe zasady dotyczą tabel w wersji Northwind 2.0 Starter Edition, a także tabel w ogóle.
Klucze podstawowe Unikatowe identyfikowanie każdego rekordu w tabeli. Wszystkie tabele mają klucz podstawowy. Na diagramie relacji symbole klawiszy identyfikują te klucze podstawowe. Konwencje nazewnictwa kluczy podstawowych są nazywane tabelą, w których się znajdują, na przykład "TableNameID".
Dodawanie pola typu Autonumerowanie jako klucza podstawowego.
Wydajność Aby poprawić wydajność i wydajniejszą przestrzeń dyskową, klucze podstawowe powinny być liczbowe. Ponadto wygodniej jest, aby program Access automatycznie wygenerował nową, unikatową wartość dla klucza podstawowego każdego nowego rekordu. Typ danych Autonumerowanie ma obie cechy. W przeciwnym razie autonumerowanie nie ma znaczenia i nie ma żadnego innego celu. Aby uzyskać więcej informacji, zobaczKlucze obce Tabela może mieć co najmniej jeden klucz obcy w zależności od tego, czy jest powiązana z innymi tabelami w bazie danych. Klucz obcy zawiera wartości odpowiadające wartościom w kluczu podstawowym powiązanej tabeli.
Indeksy unikatowe Inne pola w tabelach mogą mieć własne unikatowe indeksy, na przykład OrderStatus.StatusCode. Nielogiczne jest, aby w tabeli OrderStatus (Stan Zamówienia) były wyświetlane dwa stany zamówień z tym samym kodem, mimo że kod StatusCode sam w sobie nie jest kluczem podstawowym. Indeks unikatowy uniemożliwia programowi Access zapobieganie duplikowaniu wartości w tym polu.
Indeksy nieu unikatowe Tabele mogą także mieć indeksy przyspieszające wyszukiwanie i sortować je według tych pól, na przykład Orders.OrderDate. Wiele zamówień można złożyć tego samego dnia i często chcesz wyszukiwać i sortować według daty zamówień. W tym polu istnieje nieu unikatowy indeks, aby przyspieszyć wyszukiwanie i sortowanie.
Nazwy tabel i pól Możesz nazwać elementy w dowolny sposób, ale spójność jest ważna. Zalecamy, aby nazwy tabel i pól były jednym lub większą liczbą wyrazów bez spacji między nimi i bez znaków specjalnych, takich jak ukośnik (/), znak numeru (#) lub procent (%). Na przykład użyj wartości DataZamówienia, ale nie Daty zamówienia. użyj wartości OrderNumber lub OrderNo, ale nie Order#.
Wielbłąd Aby wyróżnić poszczególne części nazwy, na przykład OrderDate, ale nie Orderdate lub OrderDate, możesz zmienić nazwę na wielką literę.
Wartość wymagana Zasada ta zwiększa znaczenie reguł biznesowych dla danego zastosowania. Niektóre sytuacje wymagają wartości, a nawet określonych wartości w niektórych polach. Na przykład jakie dobre jest zamówienie, nie znając klienta, który je złożył? Oznacza to, że pole CustomerID jest wymagane dla tabeli Zamówienia.
Pola obliczeniowe Program Access obsługuje pola obliczeniowe w tabelach, na przykład pole Employees.FullName. Być może wolisz tworzyć pola obliczeniowe w zapytaniu, a nie w tabeli.
Pola załączników Program Access obsługuje pola załączników, na przykład Employees.Picture, w którym jest wyświetlany obraz pracownika. Załączniki mogą zawierać obrazy, dokumenty, wiadomości e-mail i inne informacje binarne. Załączniki zajmują dużo miejsca w bazie danych. Zamiast tego przechowywanie załączników na serwerze plików jest bardziej efektywne.
Pola wielowartościowe Jak wskazuje nazwa, pola wielowartościowe przechowują jedną lub więcej wartości w jednym polu, na przykład Employees.Title. Zalecamy, aby używać ich oszczędnie, szczególnie jeśli chcesz zmienić rozmiar bazy danych. Większość innych systemów baz danych ich nie ma, więc wymagałoby to dużo ponownej pracy.
Aby uzyskać więcej informacji na temat typów danych, zobacz Wprowadzenie do typów danych i właściwości pól.
W tej sekcji omówiono najważniejsze funkcje każdej tabeli. Aby przejrzeć projekt tabeli, zaznacz ją w okienku nawigacji, kliknij ją prawym przyciskiem myszy, wybierz polecenie Widok projektu lub wybierz pozycję Narzędzia bazy danych > Relacje, a następnie kliknij prawym przyciskiem myszy obiekt tabeli. Aby uzyskać więcej informacji, zobacz Wprowadzenie do tabel.
Ważne: Unikaj stosowania słów zastrzeżonych, które mogą powodować konflikty nazewnictwa. Aby uzyskać więcej informacji, zobacz Informacje o słowach zastrzeżonych i symbolach programu Access.
Tabela Pracownicy
W poniższej tabeli są przechowywane informacje o pracownikach firmy Northwind.
Pola |
Opis |
Imię, Nazwisko |
Obie nazwy są wymagane, a w northwind razem muszą być unikatową kombinacją. W projekcie tabeli po otwarciu okna dialogowego Indeksy widać, że pole Imię + Nazwisko ma unikatowy indeks. Ponieważ pola Imię i Nazwisko są indeksowane unikatowo, tabela Northwind nie może przechowywać dwóch pracowników o tym samym imieniu i nazwisku. W innych sytuacjach możesz użyć innej reguły biznesowej. |
FullNameFNLN, FullNameLNFN |
Przyjrzyj się właściwości wyrażenia pól obliczeniowych, aby zobaczyć, jak program Access łączy wartości w polach obliczeniowych. Aby dołączyć inicjał środkowy, dodaj go do istniejącego wyrażenia z odpowiednimi odstępami między składnikami. |
Pola telefonu |
Regułą biznesową dla telefonów jest to, że preferencje pracowników są bardziej odpowiednie niż rodzaj usługi. W związku z tym używane są podstawowe i pomocnicze numery telefonów zamiast komórek, biur, domów itd. |
Zwrot grzecznościowy |
Zwrot grzecznościowy to pole typu Krótki tekst. Aby zilustrować funkcję pola wielowartościowego w programie Access, jest to pole kombi z edytowalną listą wstępnie zdefiniowanych wartości. Krótkie, statyczne listy, takie jak ta, często kandydują do pól wielowartościowych, ponieważ nie zmieniają się zbytnio, jeśli w historii. |
JobTitle |
JobTitle to kolejne wymagane pole. |
Tabela Klienci
W poniższej tabeli są przechowywane informacje o klientach firmy Northwind.
Pola |
Opis |
Customername |
Klienci firmy Northwind to firmy, a nazwa klienta jest wymagana. Jednak w przeciwieństwie do imion i nazwisk pracowników nie jest ono indeksowane jednoznacznie, co pozwala dwóm lub większej liczby klientów na nadawanie tego samego imienia i nazwiska. |
PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle |
Imiona i nazwiska oraz stanowisko kontaktu podstawowego nie są wymagane, ponieważ klienci mogą nie mieć jednej osoby jako kontaktu podstawowego. Kontakty mogą nie podawać stanowiska w celu złożenia zamówienia. |
Telefon BusinessPhone |
Northwind wymaga tylko jednego numeru telefonu dla każdego klienta, chociaż eliminuje to możliwość przechwytywania wielu numerów telefonów dla klientów lub kontaktów od klientów. W sytuacjach rzeczywistych bardziej złożone reguły biznesowe zwykle mają zastosowanie do informacji kontaktowych. |
Adres, Miasto Województwo, KOD POCZTOWY |
Northwind potrzebuje adresu, aby wysłać zamówienia do klientów. Istnieje tylko jeden ogólny adres dla klienta. W sytuacjach rzeczywistych klienci często mają osobne adresy rozliczeniowe, wysyłkowe lub inne. Inna reguła biznesowa w organizacji wymagałaby dodatkowych pól. |
Notatki |
Pole Notatki to typ danych Długi tekst, który przechowuje maksymalnie 1 GB tekstu. Umożliwia to wprowadzanie szczegółowych komentarzy dotyczących klientów do użycia w kolejnych sytuacjach zamówień. |
Tabela Zamówienia
W poniższej tabeli są przechowywane informacje o zamówieniach firmy Northwind.
Pola |
Opis |
DataZamówienia, DataWysyłki, DataPłatna |
Zamówienia wymagają trzech dat. Wszystkie są typami danych Data/Godzina, ale mają dwa formaty. DataZamówienia zawiera zarówno datę, jak i godzinę, ponieważ możesz być zainteresowany analizą wielkości zamówień dla różnych części dnia. W przypadku dwóch pozostałych dat wymagana jest tylko data. Reguła poprawności tabeli dla pola DataWysyłki i DataWypłacona gwarantuje, że te daty nie są przed datą DataZamówienia. |
OrderStatusID |
Stan zamówienia wskazuje, gdzie znajduje się kolejność w przepływie pracy Northwind. Zamówienia przechodzą przez cztery fazy: Nowe — > zafakturowane — > Wysłane — > Zamknięte.Klucz obcy dla bieżącego OrderStatus używa identyfikatora OrderStatusID z tabeli odnośników OrderStatus. Użycie tabeli odnośników stanu gwarantuje, że do zamówienia można przypisać tylko cztery wstępnie zdefiniowane stany. |
Tabela szczegóły zamówienia
W poniższej tabeli są przechowywane informacje o szczegółach zamówień firmy Northwind.
Pola |
Opis |
Idzamówienia |
Każdy element wiersza w tabeli SzczegółyZamówień musi należeć do jednego zamówienia w tabeli Zamówienia. IdentyfikatorZamówień to klucz obcy identyfikujący tę kolejność. Jak wspomniano wcześniej, jedno zamówienie zawierające co najmniej jeden element wiersza ilustruje relację jeden-do-wielu. |
Productid |
Każdy rekord w tabeli SzczegółyZamówień zawiera identyfikator produktu zamówionego produktu. ProductID to klucz obcy w tabeli SzczegółyZamówień identyfikujący ten produkt w tej kolejności. Jest to również relacja jeden-do-wielu. |
OrderID+ ProductID |
Jak widać w tabeli Pracownicy, wiele pól może mieć unikatowy indeks. Unikatowy indeks nad ciągiem OrderID+ProductID w tabeli OrderDetails gwarantuje, że każde zamówienie zawiera produkt tylko raz. Po otwarciu arkusza właściwości Indeksy na wstążce widać ten unikatowy indeks. |
Tabela Produkty
W poniższej tabeli są przechowywane informacje o produktach firmy Northwind.
Pola |
Opis |
Kod_produktu |
Oprócz klucza podstawowego, ProductID, produkty Northwind mają przyjazny dla człowieka, wyjątkowo indeksowany kod produktu. Pracownicy zwykle odwołują się do kodów produktów, a nie do wartości klucza podstawowego. Kod produktu to wartość złożona składająca się z oznaczenia Kategoria i liczby, na przykład B-1 dla "Napoju", produktu 1. |
Nazwa produktu, Opis produktu |
Oprócz krótkich tekstowych nazw produktów do produktów ma zastosowanie długi opis tekstowy. Tej wartości można użyć w opisie wykazu lub w celu udzielenia odpowiedzi na pytania klientów. |
Cenajednostkowa |
Wszystkie produkty są sprzedawane z ceną jednostkową dla każdego elementu, co upraszcza bazę danych jako wizytówkę funkcji. W większości rzeczywistych sytuacji ceny są często znacznie bardziej złożone. |
Zobacz również