Podstawowe informacje o projekcie bazy danych

Podstawowe informacje o projekcie bazy danych

Ważne : Ten artykuł został przetłumaczony maszynowo, zobacz zastrzeżenie. Angielskojęzyczną wersję tego artykułu można znaleźć tutaj .

Prawidłowo zaprojektowana baza danych umożliwia dostęp do aktualnych i dokładnych informacji. Ponieważ poprawny projekt jest niezbędne do osiągnięcia cele pracować z bazą danych, poświęcić czas konieczny, aby uzyskać dostosowaną zasady dobrego projektowania. Dzięki temu będzie trafiać z bazą danych, która odpowiada Twoim potrzebom i można łatwo wprowadzać zmiany.

Ten artykuł zawiera wskazówki dotyczące planowania bazie danych dla komputerów stacjonarnych. Dowiesz jak zdecydować, jakie informacje potrzebne, jak dzielić informacje na właściwe tabele i kolumny i jak te tabele są powiązane ze sobą. Przed utworzeniem pierwszej pulpitu bazy danych powinien przeczytać ten artykuł.

Ważne : Access zawiera środowiska projektu, które umożliwiają tworzenie aplikacji baz danych dla sieci Web. Wiele zagadnienia projektowe różnią się podczas projektowania dla sieci Web. W tym artykule nie omówiono projektowania aplikacji bazy danych sieci Web. Aby uzyskać więcej informacji zobacz artykuł Tworzenie bazy danych udostępnianej w sieci Web.

W tym artykule

Niektóre terminy bazy danych, aby dowiedzieć się

Co to jest dobry projekt bazy danych?

Proces projektowania

Określanie przeznaczenia bazy danych

Znajdowanie i organizowanie potrzebnych informacji

Dzielenie informacji na tabele

Przekształcanie elementów informacji w kolumnach

Określanie kluczy podstawowych

Tworzenie relacji między tabelami

Udoskonalanie projektu

Stosowanie reguł normalizacji


Niektóre terminy bazy danych, aby dowiedzieć się

Access umożliwia organizowanie informacji w tabelach: listach wierszy i kolumn przypominających blok księgowego lub arkusz kalkulacyjny. W prostych baz danych może mieć tylko jedną tabelę. W przypadku większości baz danych potrzebujesz więcej niż jeden. Na przykład może być tabela do przechowywania informacji na temat produktów, innej tabeli, w którym przechowywane są informacje o zamówieniach i innej tabeli z informacjami o klientach.

Obraz przedstawiający trzy tabele w arkuszach danych

Każdy wiersz właściwie nosi nazwę rekordu, a każdej kolumny pola. Rekord jest znaczący i spójne umożliwia łączenie informacjami dotyczącymi zawartości. Pole jest pojedynczego elementu informacji — typ elementu, który pojawia się we wszystkich rekordach. W tabeli Produkty na przykład każdy wiersz lub rekord zawiera informacje o jednym produkcie. Poszczególne kolumny lub pola zawiera dany typ informacji na temat tego produktu, na przykład jego nazwę lub cenę.

Początek strony

Czym cechuje się dobry projekt bazy danych?

Pewne zasady przeprowadzenie procesu projektowania bazy danych. Pierwsza zasada jest zduplikowane informacje (zwanych również powtarzających się danych) jest nieprawidłowy, ponieważ utratę miejsca i zwiększa prawdopodobieństwo błędów i niezgodności. Druga zasada jest poprawności i kompletności informacji ważne. Jeśli baza danych zawiera niepoprawne informacje, wszystkie raporty utworzone informacji z bazy danych będzie również zawierać niepoprawne informacje. Dzięki temu będzie następnie misinformed decyzji wprowadzone są oparte na tych raportów.

Dobry projekt bazy danych, dlatego ma jedną która:

  • Dzieli informacje na temat tabelach w celu zmniejszenia powtarzających się danych.

  • Zapewnia dostęp przy użyciu informacji, jakie są wymagane do łączenia danych w tabelach stosownie do potrzeb.

  • Pomaga utrzymywać i zapewniać dokładność i integralności danych.

  • Uwzględnia przetwarzania danych i raportów.

Początek strony

Proces projektowania

Proces projektowania składa się z następujących czynności:

  • Określanie przeznaczenia bazy danych   

    Pomaga przygotować się do kolejnych kroków.

  • Znajdowanie i organizowanie potrzebnych informacji   

    Gromadzenie wszystkich typów informacji, które można rejestrować w bazie danych, takie jak nazwa i kolejności numer produktu.

  • Dzielenie informacji na tabele   

    Informacje można podzielić na główne jednostki lub tematy, takie jak produkty lub zamówienia. Każdy temat staje się tabeli.

  • Przekształcanie elementów informacji w kolumnach   

    Określ, jakie informacje mają być przechowywane w każdej tabeli. Każdy element staje się polem i jest wyświetlany jako kolumny w tabeli. Na przykład w tabeli Pracownicy mogą zawierać pól, takich jak nazwisko i data zatrudnienia.

  • Określanie kluczy podstawowych   

    Wybierz klucz podstawowy każdej tabeli. Klucz podstawowy jest używany do jednoznacznie identyfikować każdy wiersz kolumny. Może być na przykład identyfikator produktu lub identyfikator zamówienia.

  • Konfigurowanie relacji między tabelami   

    Przyjrzyj się tabelom i zdecyduj, jak powiązane dane z jednej tabeli do danych w innych tabelach. Dodawanie pól do tabel lub utworzyć nowe tabele, aby jasno określić relacje, stosownie do potrzeb.

  • Uściślanie projektu   

    Analizowanie projekt pod kątem błędów. Tworzenie tabel i dodać kilka rekordów przykładowych danych. Zobacz, jeśli zostanie wyświetlony wynik z tabel. Wprowadź zmiany w projekcie, stosownie do potrzeb.

  • Stosowanie reguł normalizacji   

    Stosowanie reguł normalizacji danych, aby sprawdzić, czy tabele mają prawidłową strukturę. Dostosować tabel, stosownie do potrzeb.

Początek strony

Określanie przeznaczenia bazy danych

Jest dobrym pomysłem jest Zanotuj przeznaczenia bazy danych na papierze — jej przeznaczenie, jak można się spodziewać używać tej funkcji i kto będzie korzystać. Dla małych baz danych dla użytkowników domowych firm oparte na przykład możesz może zapisać cel typu "baza danych klientów przechowuje listę informacji o klientach w celu tworzenia korespondencji i raportów". Jeśli baza danych jest bardziej złożona lub jest używany przez wiele osób, co ma często miejsce w środowisku firmowym, celem może zająć cały akapit lub więcej i powinno obejmować sposób każda osoba będzie używać bazy danych i. Koncepcja ma dobrze rozwiniętą deklaracji można określone w trakcie procesu projektowania. Masz takie zestawienie pozwala skupić się na cele podczas podejmowania decyzji.

Początek strony

Znajdowanie i organizowanie potrzebnych informacji

Aby znaleźć i organizowanie potrzebnych informacji, Rozpocznij od istniejących informacji. Na przykład mogą rejestrować zamówienia zakupu lub przechowuje informacje klienta formularzy papieru w Segregator. Zebrać te dokumenty i listę wszystkich typów informacji wyświetlanych (na przykład każde pole, które Wypełnij w formularzu). Jeśli nie masz istniejących formularzy sobie wyobrazić, musisz projektowanie formularza rejestracji informacji o klientach. Jakie informacje chcesz umieścić w formularzu? Jakie pola fill-in chcesz utworzyć? Identyfikowanie i każdy z tych elementów listy. Załóżmy, że obecnie zachować lista klientów w kart indeksu. Tych może pokazać, że każda karta zawiera klientów nazwę, adres, Miasto, Województwo, kod pocztowy i numer telefonu. Każdy z tych elementów oznacza potencjalne kolumny w tabeli.

Podczas przygotowywania tę listę, nie martw się o to idealny na początku. Zamiast tego listy każdy element, który chcesz zdanie. Ktoś inny będzie używana baza danych, poprosić o swoich pomysłów, zbyt. Możesz dostosować listę później.

Następnie należy rozważyć typy raportów i korespondencji, które warto utworzyć z bazy danych. Na przykład może być raport sprzedaży produktów, aby wyświetlić sprzedaży według regionów lub zapasów raport podsumowujący pokazujący poziomy zapasów produktów. Można także do generowania listów seryjnych do wysłania klientom, którzy informuje o zdarzenia sprzedaży lub ofertach specjalnych. Raport można zaprojektować w zdanie, a Załóżmy co jego wygląd. Jakie informacje chcesz umieścić w raporcie? Każdy element listy. Zrób to samo dla listów seryjnych i wszystkich raportów, że przewiduje się tworzenia.

Osoba obmyślająca raport z inwentaryzacji produktów

Określeniu uznawane za raportów i korespondencji, które można utworzyć pomaga zidentyfikować elementy, które są potrzebne w bazie danych. Załóżmy, że użytkownik umożliwia klientom szansy sprzedaży, aby dołączyć do (lub Rezygnowanie z) okresowych wiadomości e-mail i chcesz wydrukować listę osób, które uczestniczą w. Aby zarejestrować te informacje, możesz dodać do tabeli klientów kolumnę "Wyślij wiadomość e-mail". Dla każdego z klientów można ustawić pola tak lub nie.

Wymóg wysyłania wiadomości e-mail do klientów sugerowanie inny element, aby zarejestrować. Gdy wiesz, że klient chce otrzymywać wiadomości e-mail, konieczne będzie wiedzieć adres e-mail, do którego należy wysyłać je. Dlatego musisz zarejestrować adres e-mail dla każdego z klientów.

Warto warto utworzyć prototypu każdego raportu lub listę danych wyjściowych i należy rozważyć, czy elementy będą potrzebne do utworzenia raportu. Na przykład po sprawdzeniu listu seryjnego kilka rzeczy mogą być dostępne są. Jeśli chcesz uwzględnić pisane z wielkiej litery zwrotu grzecznościowego — na przykład ciąg "P.", "Pani" lub "Pani" rozpoczynający powitanie, należy utworzyć element grzecznościowy. Ponadto zazwyczaj może rozpoczynać listy od "Witaj p. smok" zamiast "drogi. Kit Sylvester p.". Sugeruje to, że zazwyczaj chcieć przechowywać oddzielone od imię nazwisko.

Punkt klucza do zapamiętania to, że należy podzielić każda z informacji na najmniejsze użyteczne części. W przypadku nazwę, aby łatwo udostępnić nazwisko, spowoduje przerwanie nazwę na dwie części — imię i nazwisko. Aby posortować dane raportu według nazwisk, na przykład ułatwia nazwisko klienta przechowywane oddzielnie. Ogólnie Jeśli chcesz sortować, wyszukiwanie, wykonywanie obliczeń lub raport oparty na elementy, należy umieścić tego elementu w osobnym polu.

Uważa pytania może być odpowiedzi w bazie danych. Na przykład ile operacji sprzedaży oferowanego produktu zawartych w zeszłym miesiącu? Miejsce, w którym live najlepszych klientów? Kto jest dostawcą najlepiej sprzedające produktu? Przewidywanie tych pytań ułatwia zera w dodatkowe elementy do rejestrowania.

Po ich zebranie, możesz przystąpić do następnego kroku.

Początek strony

Dzielenie informacji na tabele

Aby podzielić informacji do tabel, wybierz główne jednostki lub tematy. Na przykład po Znajdowanie i organizowanie informacji w bazie danych sprzedaży produktu, wstępne listy może wyglądać następująco:

Ręcznie spisane informacje pogrupowane tematycznie

Widoczne tu główne jednostki to produkty, dostawcy, klienci i zamówienia. Dlatego warto rozpocząć te cztery tabele: jedną zawierającą fakty dotyczące produktów, jedną zawierającą fakty dotyczące dostawców, jedną zawierającą fakty dotyczące klientów i jedną zawierającą fakty dotyczące zamówienia. Mimo że to nie zakończyć listę, jest dobry punkt wyjścia. Możesz uściślić tę listę, aż do uzyskania projekt, który sprawdza się.

Po przejrzeniu najpierw wstępny listę elementów, może być wydawać umieścić je w jednej tabeli, a nie w czterech widocznych na powyższej ilustracji. Zostanie w niej informacje Dlaczego to jest dobrym pomysłem. Należy wziąć pod uwagę chwilę tabeli pokazano poniżej:

Obraz przedstawiający tabelę z informacjami na temat produktów i dostawców

W tym przypadku każdy wiersz zawiera informacje dotyczące zarówno produktu i jego dostawcy. Ponieważ może mieć wiele produktów od tego samego dostawcy, informacji o nazwie i adresie dostawcy ma się powtarzać. To utratę miejsca dysku. Dużo lepszym rozwiązaniem jest rejestracja danych dostawcy tylko raz w osobnej tabeli dostawcy, a następnie połączenie tej tabeli z tabeli Produkty.

Drugi problem tego projektu zawiera, gdy należy zmodyfikować informacje o dostawcy. Załóżmy, że musisz zmienić adres dostawcy. Ponieważ wydaje się w różnych miejscach, mogą przypadkowo zmienić adres w jednym miejscu ale zapomnij zmienić go w innych widokach. Rejestrowanie adresu dostawcy w jednym miejscu rozwiązuje ten problem.

Podczas projektowania bazy danych, zawsze próby rejestrować każdy fakt tylko raz. Jeśli okaże się, że powtarzających się te same informacje w więcej niż jednym miejscu, takie jak adres konkretnego dostawcy, należy je umieścić w osobnej tabeli.

Koniec załóżmy, że jest tylko jeden produkt Coho Winery i chcesz usunąć produkt, ale zachować informacje nazwisko i adres. Jak usunąć rekord produktu bez utraty danych dostawcy? Nie możesz. Ponieważ każdy rekord zawiera fakty dotyczące produktu oraz fakty dotyczące dostawcy, nie można usunąć bez usuwania drugi. Aby zachować te fakty oddzielnie, należy podzielić na dwie jednej tabeli: jednej tabeli informacje o produkcie i informacje z innej tabeli. Usunięcie rekordu produktu należy usunąć tylko faktów dotyczących produktu, nie faktów dotyczących dostawcy.

Po wybraniu sprawą, która jest reprezentowany przez tabeli kolumn w tabeli należy przechowywać wyłącznie fakty dotyczące tematu. Na przykład tabela produktu należy przechowywać wyłącznie fakty dotyczące produktów. Ponieważ adres dostawcy jest informacja o dostawcy, a nie faktów o produkcie, należy w tabeli dostawcy.

Początek strony

Przekształcanie elementów informacji w kolumnach

W celu określenia kolumn w tabeli, określ, jakie informacje potrzebne do śledzenia związane z tym tematem zarejestrowane w tabeli. Na przykład dla tabeli Kontrahenci nazwisko, adres, Miasto, Województwo i kod, Wyślij wiadomość e-mail, zwrotu grzecznościowego i adres E-mail zawiera dobry punkt wyjścia do listy kolumn. Każdy rekord w tabeli zawiera ten sam zestaw kolumn, więc można przechowywać nazwę, adres, Miasto, Województwo i kod, wysyłanie wiadomości e-mail, zwrotu grzecznościowego i adresu E-mail informacje dla każdego rekordu. Na przykład adres kolumna zawiera adresy klientów. Każdy rekord zawiera dane o jeden klient, a pole adresu zawiera adres tego klienta.

Po określeniu wstępnego zestawu kolumn w każdej tabeli można ulepszyć kolumn. Na przykład jest to właściwe rozwiązanie do przechowywania nazwa klienta jako dwie osobne kolumny: imię i nazwisko, tak aby można sortować, wyszukiwać i indeksować na podstawie tylko tych kolumn. Podobnie adres składa się z pięciu składniki, adres, Miasto, Województwo, kod pocztowy i kraju/regionu, a także warto przechowywać je w oddzielnych kolumnach. Jeśli chcesz wykonać wyszukiwanie, operacji filtrowania i sortowania według stanów, na przykład potrzebne informacje o stanie przechowywanych w oddzielnych kolumnach.

Należy również rozważyć, czy bazę danych będzie zawierać informacje, które są pochodzenia krajowe tylko lub międzynarodowe, a także. Na przykład jeśli planujesz przechowywać międzynarodowych adresów, warto użyć kolumny Region zamiast Województwo, ponieważ takiej kolumny można dostosować zarówno krajowe województwa i regiony innych krajów i regionów. Podobnie kod pocztowy udostępnia lepszym rozwiązaniem niż kod pocztowy, jeśli chcesz przechowywać międzynarodowych adresów.

Na poniższej liście przedstawiono kilka wskazówek na temat określania kolumn.

  • Nie dołączaj obliczone dane   

    W większości przypadków nie należy przechowywać wyników obliczeń w tabelach. Zamiast tego mogą mieć dostęp wykonywania obliczeń, aby wyświetlić wynik. Załóżmy na przykład, że istnieje raport produkty w kolejności, który zawiera sumy częściowe jednostek zamówionych dla każdej kategorii produktów w bazie danych. Istnieje jednak jednostek zamówionych kolumn sum częściowych w tabeli. Zamiast tego tabeli Produkty zawiera kolumnę jednostki w kolejności, w której przechowuje informację o jednostkach zamówionych dla każdego produktu. Za pomocą tych danych, Access oblicza sumy częściowej za każdym razem możesz wydrukować raport. Sama Suma częściowa nie powinna być przechowywana w tabeli.

  • Informacje są przechowywane w najmniejszych jednostkach logicznych.   

    Być może wydawać się umieszczenie w jednym polu imion lub nazwy produktów oraz opisy produktów. Jeśli połączysz więcej niż jeden rodzaj informacji w polu jest trudne do odtworzenia pojedyncze fakty. Spróbuj podzielić informacje na logiczne części; na przykład utworzyć oddzielnych polach imię i nazwisko lub nazwa produktu, kategoria i opis.

Ilustracja przedstawiająca elementy informacji w trakcie procesu projektowania

Po poprawiony kolumn danych w każdej tabeli, możesz przystąpić do wybrać klucz podstawowy każdej tabeli.

Początek strony

Określanie kluczy podstawowych

Każda tabela powinna zawierać kolumnę lub zestaw kolumn, które jednoznacznie identyfikować poszczególne wiersze w tabeli. Często jest unikatowym numerem identyfikacyjnym, takie jak numer identyfikacyjny pracownika lub numer seryjny. W terminologii baz danych te informacje nosi nazwę klucza podstawowego tabeli. Program Access używa pól klucza podstawowego do szybkiego kojarzenia danych z wielu tabel i łączenie danych dla Ciebie.

Jeśli masz już unikatowy identyfikator tabeli, na przykład numer produktu, który musi jednoznacznie identyfikować każdy produkt w katalogu, możesz go użyć jako klucza podstawowego tabeli, ale tylko wtedy, gdy wartości w tej kolumnie, zawsze będą różne dla każdego rekordu. Nie może zawierać zduplikowanych wartości klucza podstawowego. Na przykład nie używaj imion i nazwisk jako klucz podstawowy, ponieważ nazwy nie są unikatowe. Można łatwo znaleźć się dwie osoby o takiej samej nazwie w tej samej tabeli.

Klucz podstawowy zawsze musi zawierać wartość. Jeśli wartość kolumny może stać się nieprzypisane lub Nieznany (Brak wartości) w pewnym momencie nie można użyć jako składnik klucza podstawowego.

Zawsze należy wybrać klucz podstawowy, którego wartość nie ulegnie zmianie. W bazie danych, która korzysta z więcej niż jednej tabeli klucz podstawowy tabeli może służyć jako odwołanie w innych tabelach. Jeśli klucz podstawowy zostanie zmieniony, zmiana musi być również stosowane wszędzie tam, gdzie odwołuje się klucz. Przy użyciu klucza podstawowego, który nie ulegnie zmianie zmniejsza ryzyko, że klucz podstawowy mogą zostać zsynchronizowany z innych tabel, które odwołują się go.

Często dowolnego unikatowy numer jest używany jako klucz podstawowy. Na przykład można przypisać poszczególnych zamówień unikatowy numer zamówienia. Numer zamówienia służy wyłącznie do identyfikowania zamówienia. Gdy przydzielone, nigdy się nie zmienia.

Jeśli nie masz pamiętać, kolumnę lub zestaw kolumn, które może powodować wyświetlanie odpowiedni klucz podstawowy, warto rozważyć użycie kolumny o typie danych Autonumerowanie. Korzystając z typem danych Autonumerowanie, program Access automatycznie przypisuje wartość. Identyfikator taki nie jest merytoryczny; zawiera on żadnych rzeczywistych informacji opisujących wiersz, który je reprezentuje. Mogą ulec do użycia jako klucz podstawowy, ponieważ nie należy zmieniać. Klucz podstawowy zawierający fakty dotyczące wiersza — numer telefonu lub nazwisko klienta, na przykład — jest bardziej może ulec zmianie, ponieważ faktyczne informacje mogą się zmienić.

Obraz przedstawiający tabelę Produkty z polem klucza podstawowego

1. kolumny ustawiono typ danych Autonumerowanie często stanowi odpowiedni klucz podstawowy. Nie identyfikatory dwóch produktów są takie same.

W niektórych przypadkach może być z użyciem dwóch lub więcej pól, które razem, zapewniają klucza podstawowego tabeli. Na przykład używa dwóch kolumn jako klucza podstawowego tabeli Szczegóły zamówienia, w którym są przechowywane pozycje zamówień: identyfikator zamówienia i identyfikator produktu. Gdy klucz podstawowy używa więcej niż jednej kolumny, jest również nazywany klucza złożonego.

Dla produktów sprzedaży bazy danych, można utworzyć kolumnę Autonumerowanie dla każdej tabeli jako klucz podstawowy: identyfikator produktu dla tabeli Produkty, identyfikator zamówienia dla zamówienia tabeli, identyfikator klienta dla tabeli Klienci i identyfikator dostawcy dla tabeli dostawcy.

Ilustracja przedstawiająca elementy informacji w trakcie procesu projektowania


Początek strony

Tworzenie relacji między tabelami

Teraz, gdy masz podzieleniu danych na tabele, potrzebny jest sposób ze sobą informacje w uporządkowany sposób. Na przykład następujący formularz zawiera informacje z kilku tabel.

Formularz Zamówienia

1. Informacje w tym formularzu pochodzą z tabeli Klienci...

2... tabela Pracownicy .zostanie...

3... tabeli orders .zostanie...

4... tabelę produkty .zostanie...

5... .i tabeli Szczegóły zamówienia.

Dostęp jest system zarządzania relacyjnymi bazami danych. W relacyjnej bazie danych informacje są rozdzielane do osobnych, tematycznych tabel. Następnie należy użyć relacji między tabelami ze sobą informacje stosownie do potrzeb.

Początek strony

Tworzenie relacji jeden do wielu

Należy rozważyć, czy w tym przykładzie: tabele dostawy i produkty w produkcie zamówień bazy danych. Dostawca może dostarczać wielu produktów. Wynika, że dla dowolnego dostawcy przedstawione w tabeli dostawcy może być wiele produktów przedstawione w tabeli Produkty. Relacja między tabelą dostawcy a tabeli Produkty jest dlatego relacji jeden do wielu.

Koncepcja relacji jeden-do-wielu

Aby przedstawić relacji jeden do wielu w projekcie bazy danych, wykonać klucza podstawowego po stronie "jeden" relacji, a następnie dodać jako dodatkową kolumnę lub kolumny do tabeli po stronie "wiele" relacji. W tym przypadku na przykład możesz dodać identyfikator dostawcy kolumnę z tabeli dostawcy do tabeli Produkty. Dostęp następnie umożliwia numer identyfikacyjny dostawcy w tabeli Produkty wyszukiwania właściwego dostawcy dla każdego produktu.

W tabeli Produkty kolumna Identyfikator dostawcy jest kluczem obcym. Klucz obcy jest klucza podstawowego w innej tabeli. Kolumna Identyfikator dostawcy w tabeli Produkty jest klucza obcego, ponieważ jest również klucza podstawowego w tabeli dostawcy.

Ilustracja przedstawiająca elementy informacji w trakcie procesu projektowania

Podstawa podane przez ustanawianie par kluczy podstawowych i kluczy obcych dołączania do powiązanych tabel. Jeśli nie masz pewności, które tabele powinny współużytkować tę samą kolumnę, identyfikowanie relacji jeden do wielu gwarantuje, że dwie tabele, których w rzeczywistości wymagają wspólnej kolumny.

Początek strony

Tworzenie relacji wiele do wielu

Należy rozważyć, czy powiązanie tabeli Produkty i tabeli Orders.

Jedno zamówienie może obejmować więcej niż jeden produkt. Z drugiej strony jeden produkt może występować w wielu zamówieniach. W związku z tym dla każdego rekordu w tabeli zamówienia może istnieć wiele rekordów w tabeli Produkty. A dla każdego rekordu w tabeli Produkty może istnieć wiele rekordów w tabeli zamówienia. Ten typ relacji nazywa relacji wiele do wielu, ponieważ w przypadku każdego produktu, może być wiele zamówień; i dla dowolnej kolejności, może być wiele produktów. Należy zauważyć, że wykryto relacji wiele do wielu między tabelami, należy pamiętać, warto rozważyć obu stronach relacji.

Tematy dwie tabele — zamówienia i produkty — istnieje relacja wiele do wielu. To stanowi problem. Aby zrozumieć, załóżmy, co się stanie, jeśli próba utworzenia relacji między dwiema tabelami przez dodanie pola Identyfikator produktu do tabeli Orders. Masz więcej niż jeden produkt na zamówienie, potrzebujesz więcej niż jeden rekord w tabeli zamówienia na zamówienie. Powtarzanie informacji zamówienia dla każdego wiersza, który odnosi się do pojedynczego zamówienia — uzyskując nieefektywne projektu, który może prowadzić do nieprawidłowych danych. Uruchom w ten sam problem, jeśli umieszczenie pola Identyfikator zamówienia w tabeli Produkty, czy masz więcej niż jeden rekord w tabeli Produkty dla każdego produktu. Jak rozwiązać ten problem?

Odpowiedź jest utworzenie trzeciej tabeli, często nazywane tabeli skrzyżowań, który dzieli relacji wiele do wielu na dwie relacje jeden do wielu. Należy wstawić klucz podstawowy z każdego z dwóch tabel w trzeciej tabeli. Dzięki temu trzecia tabela rejestruje każde wystąpienie relacji.

Relacja wiele-do-wielu

Każdy rekord w tabeli Szczegóły zamówień odpowiada jednej pozycji w kolejności. Klucz podstawowy tabeli Szczegóły zamówień składa się z dwóch pól — kluczy obcych z zamówienia i tabeli Produkty. Użycie samego pola Identyfikator zamówienia nie działa jako klucz podstawowy dla tabeli, ponieważ jedno zamówienie może mieć wiele pozycji. Identyfikator zamówienia powtarza się w każdej pozycji zamówienia, więc pole nie zawiera wartości unikatowych. Użycie samego pola Identyfikator produktu nie działa, ponieważ jeden produkt może występować w wielu różnych zamówieniach. Ale razem, dwa pola tworzą zawsze unikatową wartość dla każdego rekordu.

W bazie danych sprzedaży produktu w tabeli zamówienia i tabeli Produkty nie są związane ze sobą bezpośrednio. Zamiast tego ich relacja za pośrednictwem tabeli Szczegóły zamówienia. Relacja wiele do wielu między zamówienia i produkty jest reprezentowane w bazie danych przy użyciu dwóch relacji jeden do wielu:

  • Tabeli zamówienia i tabeli Szczegóły zamówienia mają relacji jeden do wielu. Każde zamówienie może zawierać więcej niż jedną pozycję, ale każda pozycja jest połączony tylko jedno zamówienie.

  • Tabeli Produkty i tabeli Szczegóły zamówienia mają relację jeden do wielu. Każdego produktu może zawierać skojarzonych z nim wiele pozycji, ale każda pozycja odwołuje się tylko do jednego produktu.

Z tabeli Szczegóły zamówienia można określić, wszystkie produkty w określonej kolejności. Można także określić wszystkie zamówienia dotyczące określonego produktu.

Po wprowadzeniu tabeli Szczegóły zamówienia, na liście tabel i pól może wyglądać następująco:

Ilustracja przedstawiająca elementy informacji w trakcie procesu projektowania


Początek strony

Tworzenie relacji jeden-do-jednego

Innym typem relacji jest relacji jeden. Na przykład załóżmy, że trzeba zarejestrować informacje uzupełniające produktu będą rzadko potrzebne lub dotyczą tylko kilku produktów. Ponieważ nie będą potrzebne informacje często i przechowywaniu informacji w tabeli Produkty doprowadziłaby pustego miejsca dla każdego produktu, do którego nie ma zastosowania, należy je umieścić w osobnej tabeli. Przykład tabeli Produkty, należy użyć klucz ProductID jako klucz podstawowy. Relacja między tą tabelą dodatkowych i tabeli Produkty jest relacją. Dla każdego rekordu w tabeli Produkty istnieje jeden pasujący rekord w tabeli dodatkowe. Podczas określania relacji pomiędzy, obie tabele używały wspólnego pola.

Podczas potrzebę relacją zostaną wykryte w bazie danych, należy rozważyć, czy dane z dwóch tabel można umieścić razem w jednej tabeli. Jeśli nie chcesz, aby to zrobić jakiegoś powodu, prawdopodobnie ponieważ spowoduje to w wielu puste miejsce na poniższej liście przedstawiono sposób można przedstawić tę relację w projekcie:

  • Jeśli obie tabele muszą tym samym tematem, możesz prawdopodobnie skonfigurować relacji przy użyciu tego samego klucza podstawowego w obu tabelach.

  • Jeśli dwie tabele mają różne tematy i klucze podstawowe, wybierz jedną z tabel (którykolwiek) i wstawianie klucza podstawowego w innej tabeli jako klucz obcy.

Określanie relacji między tabelami pomaga upewnij się, że masz prawo tabel i kolumn. Gdy istnieje relacja jeden lub jeden do wielu, tabele, których należy udostępnić tę samą kolumnę lub kolumny. Gdy istnieje relacja wiele do wielu, trzeciej tabeli jest potrzebny do przedstawić tę relację.

Początek strony

Udoskonalanie projektu

Po umieszczeniu tabel, pól i relacji, należy utworzyć i wypełniania tabel z przykładowymi danymi i spróbuj użyć informacji: tworzenie kwerend, dodawanie nowych rekordów i tak dalej. Dzięki temu można zlokalizować potencjalne problemy — na przykład, może być konieczne dodanie kolumny, która pamiętasz, aby wstawić w fazie projektowania lub masz tabelę, którą należy rozdzielić na dwie tabele, aby usunąć zduplikowane.

Zobacz, jeśli umożliwia bazy danych odpowiedzi, które mają. Utworzyć wstępne formularze i raporty i sprawdzić, czy przedstawiają oczekiwane dane. Poszukaj niepotrzebnego powtarzania danych, a po znalezieniu zmienić projekt tak, aby wyeliminować go.

Jak wypróbować początkowej bazy danych, prawdopodobnie wykryje udoskonalić. Oto kilka sugestii:

  • Czy pamiętasz kolumn? Jeśli tak, czy informacje należy do istniejących tabel? Jeśli jest to informacji na temat czegoś innego, może być konieczne tworzenie innej tabeli. Tworzenie kolumny dla każdego elementu informacji, które należy śledzić. Jeśli nie można obliczyć informacje z innych kolumn, prawdopodobnie dla niego potrzebujesz nową kolumnę.

  • Kolumny są niepotrzebne, ponieważ mogą być obliczane z istniejących pól? Jeśli element informacji można obliczyć za pomocą innych istniejących kolumn — zdyskontowanego cena obliczany od ceny detalicznej, na przykład — zazwyczaj lepiej robić dzięki i unikać tworzenia nowej kolumny.

  • Są wielokrotnie wstawiane zduplikowane informacje w jednym z tabel? Jeśli tak, prawdopodobnie należy podzielić tę tabelę na dwie tabele, które mają relację jeden do wielu.

  • Czy masz tabele z wielu pól, ograniczoną liczbą rekordów i wieloma pustymi polami w poszczególnych rekordów? Jeśli tak, należy wziąć pod uwagę zmianę projektu danej tabeli, co powoduje mniej pól i więcej rekordów.

  • Zawiera każdego elementu informacji został podzielony na najmniejsze użyteczne części? Jeśli musisz raportu, sortowanie, wyszukiwanie lub obliczanie elementu informacji, należy umieścić go w osobnej kolumnie.

  • Każda kolumna zawiera faktów temat tabeli? Jeśli kolumna nie zawiera informacji na temat tabeli, należy w innej tabeli.

  • Czy wszystkie relacje między tabelami są reprezentowane przez wspólne pola lub trzecią tabelę? Relacje jednego i jeden do wielu wymagają wspólnych kolumn. Relacji wiele do wielu wymagają trzeciej tabeli.

Udoskonalanie tabeli Produkty

Załóżmy, że każdego produktu oferowanego w bazie danych sprzedaży produktów mieści się w obszarze Ogólne kategorię, na przykład napojów, przyprawy lub ryby. Tabela produkty może zawierać pole, które zawiera kategorię każdego produktu.

Załóżmy, że po badania i poprawieniu projektu bazy danych, użytkownik chce przechowywać opis kategorii i jej nazwę. Jeśli dodasz pola Opis kategorii do tabeli Produkty, trzeba powtórzyć każdy opis kategorii dla każdego produktu, która znajduje się w kategorii — nie jest dobrym rozwiązaniem.

Lepszym rozwiązaniem jest zapewnienie kategorie nowego tematu bazy danych do śledzenia przy użyciu własnej tabeli i jej własne klucza podstawowego. Możesz następnie dodać klucz podstawowy z tabeli Kategorie do tabeli Produkty jako klucz obcy.

Tabele kategorie i produkty mają relację jeden do wielu: kategoria może obejmować więcej niż jeden produkt, ale których mogą należeć tylko jedną kategorię produktu.

Po przejrzeniu strukturę tabel należy szukać powtarzających się grup. Na przykład można rozważyć Tabela zawierająca następujące kolumny:

  • Identyfikator produktu

  • Nazwa

  • Identyfikator produktu 1

  • Nazwa1

  • Identyfikator produktu 2

  • Nazwa2

  • Identyfikator produktu 3

  • Name3

W tym miejscu każdego produktu jest grupą powtarzaną kolumn, który różni się od siebie tylko przez dodanie numeru do końca nazwę kolumny. Gdy zostanie wyświetlony ponumerowane w ten sposób kolumny, należy wrócić do projektu.

Taki projekt ma kilka wad. Pierwsze go wymuszane jest, aby umieścić górną granicę od liczby produktów. Po zainicjowaniu przekracza ten limit, możesz dodać nową grupę kolumn struktury tabeli, która jest głównych zadania administracyjne.

Kolejny problem polega na tym, że tych dostawców, którzy mają mniej niż maksymalnej liczby produktów pakietu spowoduje utratę niektóre miejsca, ponieważ dodatkowe kolumny będą puste. Najpoważniejszą wadą tego projektu jest fakt, że wielu zadań związanych z trudne do wykonania, na przykład sortowania lub indeksowania tabeli według nazwy lub Identyfikatora produktu.

Gdy po znalezieniu powtarzających się grup Przeglądanie projektu blisko oka na podział tabeli na dwie. W powyższym przykładzie, który najlepiej utworzyć dwie tabele, jedną dla dostawców i jedną dla produktów — połączone identyfikatorem dostawcy.

Początek strony

Stosowanie reguł normalizacji

Możesz zastosować reguły normalizacji danych (czasami nazywanych po prostu regułami normalizacji) następny krok w projekcie. Aby sprawdzić, czy tabele są poprawnie strukturę za pomocą tych reguł. Proces stosowania reguł do projektu bazy danych jest nazywany normalizowanie bazy danych lub po prostu normalizacją.

Normalizacja jest najbardziej przydatna po stanowią wszystkie elementy informacji i po przyjściu wstępny projekt. Pomysłu jest daje pewność, że masz podzielić informacje na właściwe tabele. Nie można zrobić w projekcie zawarto to sprawdzić, czy wszystkie elementy właściwych danych będzie zaczynać się.

Stosowanie reguł kolejno na każdym etapie zapewniając dostarczanymi w projekcie w jednym z określane jako "formy normalne". Powszechnie akceptuje się pięć form normalnych — pierwszej formy normalnej do piątej formy normalnej. Ten artykuł stanowi rozwinięcie pierwsze trzy, ponieważ są one wszystko, co jest wymagane dla większości projektów baz danych.

Pierwszy formularz normalny

Pierwsza forma normalna określa, że każdy przecięciu wiersza i kolumny w tabeli istnieje pojedyncza wartość, a nigdy listy wartości. Na przykład nie może mieć pole o nazwie cena, w którym umieścić więcej niż jedną cenę. Jeśli każde przecięcie wiersze i kolumny jako komórkę, każdą komórkę może zawierać tylko jedną wartość.

Druga forma normalna

Druga forma normalna wymaga, aby każda kolumna wartością klucza całkowicie zależne od całego klucza podstawowego, a nie na tylko część klucza. Ta reguła ma zastosowanie, kiedy klucz podstawowy składa się z więcej niż jednej kolumny. Załóżmy na przykład, że istnieje tabela zawierająca następujące kolumny, w której klucz podstawowy tworzą Identyfikator zamówienia i identyfikator produktu:

  • Identyfikator zamówienia (klucz podstawowy)

  • Identyfikator produktu (klucz podstawowy)

  • Nazwa produktu

Ten projekt narusza drugiej formie normalnej, ponieważ nazwa produktu zależy identyfikator produktu, ale nie na identyfikator zamówienia, aby nie była zależna od całego klucza podstawowego. Nazwa produktu należy usunąć z tabeli. Należy go w innej tabeli (produkty).

Trzecia forma normalna

Trzecia forma normalna wymaga, aby nie tylko każda kolumna klucza nie była zależna od całego klucza podstawowego, ale że kolumny klucza nie być niezależne od siebie.

Innym sposobem powtarzają to jest to, że każda kolumna klucza nie musi być zależne od klucza podstawowego i tylko klucz podstawowy. Załóżmy na przykład, że istnieje tabela zawierająca następujące kolumny:

  • IDProduktu (klucz podstawowy)

  • Nazwa

  • SRP

  • Rabat

Załóżmy, że rabat zależy od sugerowanej ceny detalicznej (SRP). W poniższej tabeli narusza trzecia normalny formularz, ponieważ kolumna wartością klucza, rabat, zależy od innej kolumny wartością klucza, SRP. Niezależności kolumny oznacza, że można zmienić dowolnej kolumny wartością klucza bez wpływu na inne kolumny. Jeśli zmienisz wartość w polu SRP rabat spowoduje odpowiednią zmianę, co jest naruszeniem reguły. W tym przypadku rabat powinny zostać przeniesione do innej tabeli, której kluczem jest kolumna SCD.

Początek strony

Uwaga : Zrzeczenie dotyczące tłumaczenia maszynowego: Ten artykuł został przetłumaczony przez system komputerowy bez interwencji człowieka. Firma Microsoft udostępnia te tłumaczenia maszynowe, aby ułatwić użytkownikom, którzy nie znają języka angielskiego, korzystanie z zawartości dotyczącej produktów, usług i technologii firmy Microsoft. Ponieważ ten artykuł został przetłumaczony maszynowo, może zawierać błędy w słownictwie, składniowe lub gramatyczne.

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×