Klip wideo: wprowadzenie do baz danych
Applies To
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016Spróbuj!
Bazy danych i aplikacje sieci Web mogą przynieść znaczne korzyści biznesowe. Projekt bazy danych jest niezbędny do osiągnięcia założonych celów — niezależnie od tego, czy chodzi o zarządzanie informacjami na temat pracowników, dostarczanie cotygodniowych raportów na podstawie danych, czy o śledzenie zamówień klientów. Dzięki poświęceniu czasu na zrozumienie projektowania baz danych będziesz łatwiej tworzyć bazy danych, które od razu działają prawidłowo i umożliwiają reagowanie na zmieniające się potrzeby.
Ważne: Aplikacje sieci Web programu Access różnią się od baz danych dla komputerów stacjonarnych. W tym artykule nie omówiono projektowania aplikacji sieci Web.
Pojęcia i terminy
Zacznijmy od poznania kilku podstawowych terminów i pojęć. Aby zaprojektować użyteczną bazę danych, musisz utworzyć tabele, z których każda będzie dotyczyć jednego tematu. Wszystkie niezbędne dane na dany temat są przechowywane w polach tabeli, które zawierają najmniejszą możliwą jednostkę danych.
Relacyjne bazy danych |
Baza danych, w której dane są podzielone na tabele przypominające arkusze kalkulacyjne. Każda tabela ma przypisany jeden temat, na przykład dla jednej tabeli „klienci”, a dla innej „produkty”. |
Rekordy i pola |
Miejsce do przechowywania poszczególnych danych w tabeli. Wiersze (rekordy) przechowują poszczególne unikatowe punkty danych, na przykład imię i nazwisko klienta. Kolumny (pola) wyodrębniają z informacji rejestrowanych o każdym punkcie danych najmniejszą możliwą jednostkę — imię może być w jednej kolumnie, a nazwisko w drugiej. |
Klucz podstawowy |
Wartość, która gwarantuje, że każdy rekord jest unikatowy. Na przykład możemy mieć dwóch klientów, którzy noszą to samo imię i nazwisko — Elżbieta Ostrowska. Jeden z rekordów Elżbieta Ostrowska ma jednak klucz podstawowy o numerze 12, natomiast drugi ma numer 58. |
Relacje nadrzędny-podrzędny |
Typowe relacje między tabelami. Na przykład jeden klient może mieć wiele zamówień. Tabele nadrzędne mają klucze podstawowe. Tabele podrzędne mają zaś klucze obce, czyli wartości z pola klucza podstawowego, które pokazują, jak rekordy tabeli podrzędnej są powiązane z tabelą nadrzędną. Klucze te są połączone relacją. |
Czym cechuje się dobry projekt bazy danych?
Istnieją dwie kluczowe zasady dobrego projektowania baz danych:
-
Unikaj zduplikowanych informacji (nazywanych również nadmiarowymi danymi). W ten sposób marnuje się miejsce i zwiększa prawdopodobieństwo wystąpienia błędów.
-
Upewnij się, że dane są pełne i poprawne. Przepływające przez zapytania i raporty niepełne lub błędne informacje mogą ostatecznie doprowadzić do podejmowania decyzji opartych na mylących przesłankach.
Aby zadbać o te aspekty:
-
Podziel informacje z bazy danych na tabele tematów z wąskim fokusem. Unikaj duplikowania informacji w wielu tabelach. (Na przykład nazwy klientów powinny znajdować się tylko w jednej tabeli).
-
Łącz tabele przy użyciu kluczy, zamiast duplikować dane.
-
Uwzględnij procesy wspierające i zapewniające dokładność oraz integralność informacji przechowywanych w bazie danych.
-
Zaprojektuj bazę danych z myślą o potrzebie przetwarzania danych i raportowania.
Aby poprawić użyteczność baz danych na dłuższą metę, w ramach projektowania wykonaj następujące pięć czynności:
Krok 1. Określ przeznaczenie bazy danych
Przed rozpoczęciem musisz nadać swojej bazie danych cel.
Aby projekt był konkretny, streść przeznaczenie bazy danych i często odwołuj się do tego streszczenia. Jeśli chcesz opracować małą bazę danych dla firmy domowej, możesz opisać ją w prosty sposób, na przykład: „Baza danych klientów firmy zawierająca listę informacji o klientach na potrzeby wysyłania korespondencji i raportowania”. W przypadku bazy danych dla przedsiębiorstwa opis przypadków i sposobów użycia bazy danych oraz przechowywanych w niej informacji przez osoby pełniące różne funkcje może zająć kilka akapitów. Opracuj konkretne, szczegółowe informacje o misji, do których będziesz się odwoływać w trakcie procesu projektowania.
Krok 2. Znajdź i uporządkuj potrzebne informacje
Zgromadź wszystkie rodzaje informacji, które chcesz rejestrować, takie jak nazwy produktów i numery zamówień.
Rozpocznij przy użyciu istniejących informacji i metod śledzenia. Na przykład być może zapisujesz obecnie zamówienia zakupu w księdze głównej bądź przechowujesz informacje o klientach za pomocą papierowych formularzy. Na podstawie tych źródeł sporządź listę obecnie rejestrowanych informacji (na przykład ze wszystkich pól formularzy). W przypadku gdy obecnie nie rejestrujesz ważnych informacji, pomyśl o tym, jakie konkretne informacje będą potrzebne. Każdy poszczególny typ danych będzie osobnym polem w bazie danych.
Nie martw się, jeśli Twoja lista nie będzie perfekcyjna za pierwszym razem — możesz ją dopracować z czasem. Weź jednak pod uwagę wszystkie osoby korzystające z tych informacji i poproś je o podzielenie się własnymi pomysłami.
Następnie zastanów się nad tym, co chcesz uzyskać przy użyciu bazy danych, i nad rodzajami raportów bądź korespondencji, które chcesz generować. W dalszej kolejności upewnij się, że zapisujesz odpowiednie informacje do spełnienia tych celów. Na przykład jeśli chcesz, aby raport przedstawiał sprzedaż według regionów, musisz przechwycić dane sprzedaży na poziomie regionalnym. Spróbuj naszkicować pożądany raport zawierający rzeczywiste informacje. Następnie sporządź listę danych potrzebnych do utworzenia tego raportu. Wykonaj te same kroki w przypadku korespondencji i innych wyjściowych form informacji, jakie chcesz uzyskać na podstawie bazy danych.
Przykład
Załóżmy, że klienci mają możliwość skorzystania (bądź rezygnacji) z okresowych wiadomości e-mail o aktualizacjach i chcesz uzyskać listę osób, które wyraziły chęć ich otrzymywania. W tabeli Klienci będziesz potrzebować kolumny Przesyłanie wiadomości e-mail z dopuszczalnymi wartościami Tak i Nie.
Osoby chcące otrzymywać wiadomości e-mail potrzebują adresu e-mail, który również wymaga pola. Jeśli chcesz dołączyć właściwy zwrot grzecznościowy (na przykład Pan, Pani lub Pani), uwzględnij pole Zwrot grzecznościowy. Jeśli chcesz zwrócić się do klientów przy użyciu ich imion w wiadomościach e-mail, dodaj pole Imię.
Porada: Pamiętaj o dzieleniu informacji na najmniejsze użyteczne części, takie jak imię i nazwisko w przypadku tabeli klientów. Ogólnie rzecz biorąc, jeśli chcesz sortować i wyszukiwać konkretny element informacji (taki jak nazwisko klienta) bądź wykonywać obliczenia lub raportować na jego podstawie, umieść go w osobnym polu.
Krok 3. Podziel informacje na tabele
Podziel informacje na główne jednostki lub tematy, takie jak produkty, klienci i zamówienia. Każdy temat będzie osobną tabelą.
Po utworzeniu listy wymaganych informacji określ główne jednostki (tematy) potrzebne do uporządkowania danych. Unikaj zduplikowanych danych w różnych jednostkach. Na przykład wstępna lista na potrzeby bazy danych sprzedaży produktów może wyglądać następująco:
Główne jednostki to: klienci, dostawcy, produkty i zamówienia. Rozpocznij zatem od tych czterech tabel: jednej zawierające informacje o klientach, jednej z informacjami o dostawcach itd. Możliwe, że ostateczny projekt bazy będzie się różnił, ale jest to dobry punkt wyjścia.
Uwaga: Najlepsze bazy danych zawierają wiele tabel. Choć takie rozwiązanie może być kuszące, nie umieszczaj wszystkich informacji w pojedynczej tabeli. Prowadzi to do zduplikowanych informacji, większego rozmiaru bazy danych i liczniejszych błędów. Zaprojektuj bazę tak, aby rejestrować każdy fakt tylko raz. Jeśli okaże się, że informacje takie jak adres dostawcy się powtarzają, zmień strukturę bazy danych w taki sposób, aby umieścić te informacje w osobnej tabeli.
Aby zrozumieć, dlaczego lepiej jest mieć więcej tabel niż mniej, przyjrzyj się poniższej tabeli:
Każdy wiersz zawiera informacje dotyczące zarówno produktu, jak i jego dostawcy. Od tego samego dostawcy może pochodzić wiele produktów, dlatego nazwę i dane adresowe dostawcy trzeba powtórzyć wiele razy. To marnotrawstwo miejsca na dysku. Zamiast tego zarejestruj informacje o dostawcy tylko raz w osobnej tabeli Dostawcy, a następnie połącz tę tabelę z tabelą Produkty.
Kolejny problem z tak zaprojektowaną bazą wychodzi na jaw wtedy, gdy potrzebujemy zmodyfikować informacje o dostawcy. Załóżmy, że musisz zmienić adres dostawcy. Występuje on w wielu miejscach, dlatego możesz przypadkowo zmienić adres w jednym miejscu, ale zapomnieć to zrobić w pozostałych. Zapisanie adresu dostawcy tylko w jednym miejscu rozwiązuje ten problem.
Na koniec załóżmy, że od dostawcy Coho Winery pochodzi tylko jeden produkt i chcesz go usunąć bez kasowania informacji o nazwie i adresie dostawcy. Jak można byłoby usunąć rekord produktu bez utraty danych dostawcy w tak zaprojektowanej bazie? Byłoby to niemożliwe. Każdy rekord oprócz informacji o produkcie zawiera również dane dostawcy — nie da się zatem usunąć jednej informacji bez kasowania drugiej. Aby rozdzielić te dane, podziel tę tabelę na dwie: pierwszą z informacjami o produkcie, a drugą z informacjami o dostawcy. Wówczas skasowanie rekordu produktu spowoduje jedynie usunięcie danych na temat tego produktu, a nie danych dotyczących dostawcy.
Krok 4. Przekształć elementy informacji w kolumny
Zdecyduj, jakie informacje muszą być przechowywane w każdej tabeli. Te poszczególne dane staną się polami tabeli. Na przykład tabela Pracownicy może zawierać pola, takie jak Nazwisko, Imię i Data zatrudnienia.
Po wybraniu tematu tabeli bazy danych kolumny w tej tabeli powinny zawierać jedynie informacje dotyczące tego jednego tematu. Na przykład w tabeli Produkty powinny być przechowywane dane wyłącznie na temat tych produktów, nie na temat ich dostawców.
Aby zdecydować, jakie informacje mają być śledzone w tabeli, użyj sporządzonej wcześniej listy. Na przykład tabela Klienci może zawierać następujące dane: Imię, Nazwisko, Adres, Przesyłanie wiadomości e-mail, Zwrot grzecznościowy i Adres e-mail. Każdy rekord (klient) w tabeli zawiera ten sam zestaw kolumn, zatem dla każdego klienta przechowywane są te same informacje.
Sporządź swoją pierwszą listę, a następnie przejrzyj ją i dopracuj. Pamiętaj, aby podzielić informacje na najmniejsze możliwe pola. Na przykład jeśli wstępna lista zawiera pole Adres, rozbij je na pola Ulica, Miasto, Województwo i Kod pocztowy — a nawet na więcej pól w przypadku klientów globalnych. Dzięki temu można przygotować korespondencję w odpowiednim formacie lub raportować informacje dotyczące zamówień według województwa.
Po dopracowaniu kolumn z danymi we wszystkich tabelach pora wybrać klucz podstawowy każdej tabeli.
Krok 5. Określ klucze podstawowe
Wybierz klucz podstawowy dla każdej tabeli. Klucz podstawowy, na przykład Identyfikator produktu lub Identyfikator zamówienia, jednoznacznie identyfikuje każdy rekord. Jeśli nie masz oczywistego, unikatowego identyfikatora, możesz go utworzyć za pomocą programu Access.
Każdy wiersz w każdej tabeli musi być identyfikowany w jednoznaczny sposób. Pamiętasz wcześniejszy przykład, w którym dwóch klientów miało takie samo imię i nazwisko? Klienci nazywają się tak samo, dlatego potrzeba sposobu na identyfikację każdego z nich.
Każda tabela powinna zatem zawierać kolumnę (bądź zestaw kolumn), która jednoznacznie identyfikuje każdy wiersz. Jest to klucz podstawowy, często będący unikatowym numerem — na przykład numerem identyfikacyjnym pracownika lub liczbą kolejną. Program Access używa kluczy podstawowych do szybkiego skojarzenia danych z wielu tabel i ich zbiorczego przedstawienia.
Czasami klucz podstawowy składa się z dwóch lub większej liczby pól. Na przykład tabela Szczegóły zamówienia przechowująca elementy wierszy zamówień używa jako klucza podstawowego dwóch pól: Identyfikator zamówienia i Identyfikator produktu. Klucz podstawowy składający się z więcej niż jednej kolumny nazywany jest również kluczem złożonym.
Jeśli masz już unikatowy identyfikator dla informacji w tabeli, na przykład numery produktów, które jednoznacznie identyfikują każdy produkt w katalogu, użyj go, ale tylko jeśli jego wartości spełniają poniższe zasady dotyczące kluczy podstawowych:
-
Identyfikator dla każdego rekordu zawsze będzie inny. W kluczu podstawowym nie są dozwolone zduplikowane wartości.
-
Każdy element ma przypisaną wartość. Każdy rekord w tabeli musi mieć klucz podstawowy. Jeśli do utworzenia klucza używasz kilku kolumn (takich jak Kategoria części i Numer części), wszystkie wartości muszą zawsze istnieć.
-
Klucz podstawowy to wartość, która się nie zmienia. Do kluczy odwołują się inne tabele, dlatego dowolna zmiana klucza podstawowego w jednej tabeli oznacza zmianę we wszystkich miejscach, w których występują do niego odwołania. Częste zmiany zwiększają ryzyko wystąpienia błędów.
Jeśli nie masz oczywistego identyfikatora, jako klucza podstawowego użyj dowolnego, unikatowego numeru. Na przykład możesz przypisać poszczególnym zamówieniom unikatowy numer zamówienia wyłącznie w celu identyfikacji zamówienia.
Porada: Aby utworzyć klucz podstawowy na podstawie unikatowego numeru, dodaj kolumnę przy użyciu typu danych Autonumerowanie. Typ danych Autonumerowanie automatycznie przypisuje każdemu rekordowi unikatową wartość liczbową. Ten rodzaj identyfikatora nie zawiera żadnych rzeczywistych informacji opisujących reprezentowany przez niego wiersz. Idealnie nadaje się na klucz podstawowy, ponieważ numery nie ulegają zmianie — w przeciwieństwie do klucza podstawowego zawierającego informacje o wierszu, takie jak numer telefonu bądź nazwa klienta.
Chcesz wiedzieć więcej?
Wskazówki dotyczące nazw pól, kontrolek i obiektów