Projektowanie bazy danych.
Transkrypt
Projektowanie bazy danych.
Projektowanie bazy danych Dobry projekt sprawia, że baza danych jest łatwa w obsłudze. Dane przechowywane są w tabelach, a każda tabela zawiera dane dotyczące tylko jednego tematu, na przykład klientów. Dlatego, choć określony element danych, na przykład adres, jest aktualizowany tylko w jednym miejscu, zmiana jest automatycznie odzwierciedlana w całej bazie danych. Przed zbudowaniem tabel, kwerend, formularzy i innych obiektów warto naszkicować projekt i przeanalizować go na papierze. Projektując bazę danych, należy wykonać niżej wymienione czynności: 1. Określenie celu, jakiemu ma służyć baza danych Pierwszym krokiem w projektowaniu bazy danych jest określenie celu, któremu ma ona służyć, i sposobu jej używania. • • • • Porozmawiaj z przyszłymi użytkownikami bazy danych. Zorganizuj burzę mózgów dotyczącą pytań, na które odpowiadać miałaby baza danych. Naszkicuj wzory raportów, które powinna generować baza danych. Zgromadź formularze, których obecnie używa się do wpisywania danych. W trakcie określania przeznaczenia bazy danych zacznie się wyłaniać lista informacji, które baza danych ma dostarczać. Na jej podstawie można ustalić, jakie poszczególne informacje powinny się znaleźć w bazie danych i jakich zagadnień dotyczą. Poszczególne informacje odpowiadają polom (kolumnom) w bazie danych, a zagadnienia, których dotyczą te informacje, odpowiadają tabelom. 2. Określenie pól, które mają się znaleźć w bazie danych Każde pole to informacja dotycząca określonego zagadnienia. Na przykład, baza danych może zawierać następujące informacje o klientach: nazwa firmy, adres, miasto, województwo i numer telefonu. Trzeba utworzyć osobne pola przechowujące każdą z tych informacji. Określając potrzebne pola, należy pamiętać o następujących zasadach projektowania: • Należy uwzględnić wszystkie potrzebne informacje. • Informacje należy przechowywać w jak najmniejszych jednostkach logicznych. Na przykład imiona i nazwiska pracowników często rozdziela się na dwa pola, Imię i Nazwisko, co ułatwia sortowanie danych według nazwiska. • Nie należy tworzyć pól przechowujących dane w formie list wieloelementowych. Na przykład, jeśli w tabeli Dostawcy utworzone zostanie pole Produkty, zawierające oddzielaną przecinkami listę produktów otrzymywanych od danego dostawcy, trudniej będzie odszukać dostawców, którzy dostarczają określony produkt. • Nie należy wprowadzać danych pośrednich lub obliczanych (danych, które są wynikiem wyrażenia). Na przykład, mając pole CenaJednostkowa oraz pole Ilość, nie należy tworzyć dodatkowego pola, w którym mnożone są wartości z tych dwóch pól. • Nie należy tworzyć pól, które są do siebie podobne. Na przykład, jeśli w tabeli Dostawcy zostaną utworzone pola Produkt1, Produkt2 i Produkt3, trudniej będzie odszukać wszystkich dostawców, którzy dostarczają określony produkt. Ponadto trzeba będzie zmienić projekt bazy danych, jeśli któryś z dostawców będzie dostarczać więcej niż trzy produkty. Informacje o produktach będą wymagać tylko jednego pola, jeśli pole to zostanie umieszczone w tabeli Produkty, zamiast w tabeli Dostawcy. 3. Określenie tabel, które są potrzebne w bazie danych Każda tabela powinna zawierać informacje tylko na jeden temat. Lista pól powinna dostarczyć wskazówek na temat potrzebnych tabel. Na przykład tematem pole DataZatrudnienia jest pracownik, więc należy ono do tabeli Pracownicy. Można także utworzyć tabele Klienci, Produkty i Zamówienia. 4. Określenie, do których tabel należą poszczególne pola Decydując o przynależności pola do tabeli, należy pamiętać o następujących zasadach: Każde pole należy dodać tylko do jednej tabeli. Pola nie należy dodawać do tabeli, jeśli znajdują się już w niej rekordy zawierające te same informacje. Jeśli stwierdzimy, że dane pole tabeli zawiera dużo zduplikowanych informacji, to prawdopodobnie znalazło się ono w niewłaściwej tabeli. Na przykład, jeśli pole zawierające adres klienta umieścimy w tabeli Zamówienia, to prawdopodobnie informacja ta zostanie powtórzona w więcej niż jednym rekordzie, ponieważ klient prawdopodobnie złoży więcej niż jedno zamówienie. Jeśli jednak pole adresu zostanie umieszczone w tabeli Klienci, odpowiednia informacja pojawi się tylko raz. Pod tym względem tabela w bazie danych różni się od tabeli utworzonej w niehierarchicznej bazie danych, na przykład w arkuszu kalkulacyjnym. Gdy każda z przechowywanych informacji występuje tylko raz, jej aktualizację przeprowadza się w jednym miejscu. Jest to sposób bardziej wydajny, a ponadto unika się duplikowania wpisów zawierających różne informacje. 5. Przypisanie polom unikatowych wartości w każdym rekordzie Aby program mógł powiązać informacje przechowywane w różnych tabelach — na przykład, aby powiązać klienta ze wszystkimi jego zamówieniami — każda tabela w bazie danych musi zawierać pole lub zbiór pól, które jednoznacznie identyfikują każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem podstawowym. 6. Określenie relacji między tabelami Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do programu Microsoft Access informacje na temat sposobu poprawnego łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między tabelami. 7. Udoskonalenie projektu Po zaprojektowaniu tabel, pól i łączących ich relacji nadchodzi czas na sprawdzenie projektu i wykrycie ewentualnych usterek. Łatwiej poprawić bazę danych teraz, niż po wypełnieniu tabel danymi. Wykorzystaj program do tworzenia tabel, określ łączące je relacje i wprowadź do tabel dostatecznie dużo przykładowych danych, aby można było sprawdzić projekt. Aby przetestować relacje w bazie danych, sprawdź, czy można utworzyć kwerendy w celu uzyskania odpowiedzi na stawiane pytania. Należy utworzyć prototypowe formularze i raporty i sprawdzić, czy przedstawiają oczekiwane dane. Poszukaj niepotrzebnych powtórzeń danych i usuń je. 8. Wprowadzenie danych i utworzenie innych obiektów bazy danych Jeśli można uznać, że struktury tabel spełniają opisane tutaj zasady projektowania, pora na wprowadzenie do tabel wszystkich zgromadzonych danych. Następnie można utworzyć pozostałe obiekty bazy danych — kwerendy, formularze, raporty, strony dostępu do danych, makra i moduły. • •