bazy danych pomoc, Automatyka i robotyka air pwr, III SEMESTR, bazy danych, BAZY DANYCH (przykladowe)


Projektowanie Baz Danych na przykładzie Ms Access

- zajęcia laboratoryjne

Celem zajęć jest:

Baza danych - uporządkowany zbiór informacji w sposób umożliwiający ich szybkie i wygodne wyszukiwanie.

Dane - informacje przechowywane z myślą o późniejszym zastosowaniu. Mogą nimi być:

System bazy danych - składa się z bazy danych i systemu zarządzania bazą danych

System zarządzania bazą danych - program zarządzający dostępem do bazy danych

PODSTAWOWE OBIEKTY MsACCESS

Tabela - podstawowy obiekt w każdej bazie danych; posiada rekordy (wiersze, krotki) i pola (kolumny, atrybuty).

Kwerendy (zapytania) - służą do wyselekcjonowania interesujących nas danych z tabeli, zestawu tabel lub innych zapytań

Makra (makrodefinicje) - pozwalają na automatyzację prac w bazie danych

Moduły - dodatkowe programy napisane w języku VB, które służą do zaawansowanej automatyzacji pracy bazy danych

Formularze - służą do ułatwienia obsługi bazy danych; wprowadzanie, przeglądanie i edytowanie danych

Raporty - pozwalają na wydruk żądanych danych w zadanej przez użytkownika postaci

Każdy obiekt może występować w określonych widokach:

Widok Arkusz Danych - wyświetla rekordy w trybie edycji danych; nie można zmieniać właściwości pól oraz wprowadzać znaczących zmian (tabela, kwerenda); w przypadku formularza wyświetla tabele z danymi

Widok Projekt - widok pozwalający na projektowanie danego obiektu, zmianę jego właściwości, dodawanie formantów, itp. (tabela, kwerenda, formularz, raport, makro)

Widok Formularz - wyświetla formularz bez możliwości wprowadzania na nim zmian; w takim układzie formularze są widoczne przez użytkownika końcowego

Widok Projekt

0x01 graphic

Widok Arkusz Danych

0x01 graphic

Widok Formularz

0x01 graphic

Relacje

0x01 graphic

Uruchom Kwerendę

0x01 graphic

1. TWORZENIE TABEL

Pole (atrybut) - pewien rodzaj danych, kategoria informacji, z którym związany jest określony zbiór wartości i który charakteryzuje jakiś element (np. nazwisko charakteryzuje klienta lub pracownika, cena charakteryzuje dany produkt itp.).

Rekord (krotka) - ciąg wartości atrybutów, zestaw informacji o pojedynczym elemencie (np. o pracowniku, kliencie, produkcie).

Pola są podstawowymi elementami tabeli. Bardzo ważne jest właściwe dobranie nazw pól tak, aby krótko i jasno określały ich zawartość. Nazwa pola może składać się z maksymalnie 64 znaków ze spacjami; nie mogą być znaki kropka „.”, wykrzyknik „!”, nawias kwadratowy „[ ]”.

Należy również określić typ danych (rodzaj danych) oraz format wyświetlania (sposób wyświetlania i drukowania danych).

Typ danych zapewnia dokładność danych wprowadzonych do pola przez ograniczenia narzucane formie danych. Access umożliwia zdefiniowanie kilku typów danych (określa rodzaj wartości, którą można przechowywać w tabeli).

Tekst - stosuje się do przechowywania tekstów lub kombinacji tekstowo-liczbowych, jak również liczb nie wykorzystywanych w obliczeniach (np. numery telefonów, kody pocztowe), pole przechowuje do 255 znaków (lub tyle ile określiliśmy w rozmiarze pola)

Memo - stosuje się do przechowywania długich tekstów, jak notatki czy komentarze, pole przechowuje do 64 000 znaków

Liczba - stosuje się do przechowywania liczb, na których będą wykonywane działania matematyczne, z wyjątkiem obliczeń finansowych

Data/Godzina - stosuje się do przechowywania daty i czasu

Walutowy - stosuje się do przechowywania wartości walutowych w celu zapobieżenia zaokrągleniom w czasie obliczeń; dokładność liczby wynosi 15 cyfr dla części całkowitej
i 4 cyfry dla części dziesiętnej liczby

Autonumer - stosuje się do generowania unikalnych dla każdego rekordu liczb kolejnych lub losowych, autonumer jest automatycznie wpisywany do arkusza danych tabeli przy wprowadzaniu rekordu

Tak/Nie - stosuje się do określenia prawdy lub fałszu (istnienia lub nie danego elementu)

Obiekt OLE - stosuje się do przechowywania obiektów w rodzaju dokumentu programu Word, Excel, rysunków połączonych z tabelą w Accessie lub osadzonych w niej

Hiperłącze - stosuje się do przechowywania hiperłączy; składająca się z 3 części (komunikat, adres i podadres) kombinacja tekstu i liczb używana jako adres hiperłącza

Kreator odnośników - tworzy pole kombi pozwalające wybierać wartości z innej tabeli
lub ze zdefiniowanej listy wartości

Dla danych typu Tekst i Data/Godzina można wprowadzić maskę. Maska wprowadzania ustala wzorzec wprowadzania wszystkich danych w polu, tzn., w jaki sposób są one wyświetlane podczas wprowadzania.

0x08 graphic

Dla każdego typu danych w tabeli należy ustawić odpowiednie właściwości pola (każdy typ pola ma inne właściwości). Pozwala to w jednoznaczny i skuteczny sposób sformatować wprowadzane dane. Do najczęściej używanych właściwości należą:

Typ danych

Nazwa właściwości

Opis

Tekst, Liczba, Autonumer

Rozmiar pola

Maksymalna ilość znaków, które można wpisać do komórki

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Autonumer, Tak/Nie, Hiperłącze

Format

Dostosowuje sposób, w jaki liczby, daty, godziny i teksty będą wyświetlane oraz drukowane

Tekst, Liczba, Data/Godzina, Walutowy

Maska wprowadzania

Ustala w jakiej postaci mogą być wpisywane dane

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Autonumer, Tak/Nie, Obiekt OLE, Hiperłącze

Tytuł

Etykieta pola na formularzu (gdy zostanie puste, etykieta będzie taka jak nazwa pola)

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Tak/Nie, Hiperłącze

Wartość domyślna

Nowa wartość wpisywana automatycznie dla nowego rekordu

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Tak/Nie, Hiperłącze

Reguła poprawności

Wyrażenie ograniczające zakres wartości wpisywanych do pola (np. „Like S*” spowoduje, że w pole można wpisać tylko ciąg znaków zaczynający się na literę S)
[* zastępuje dowolny ciąg znaków, ? tylko 1 znak]

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Tak/Nie, Hiperłącze

Komunikat o błędzie

Komunikat wyświetlany w przypadku wprowadzenia do pola niewłaściwego ciągu znaków

Tekst, Memo, Liczba, Data/Godzina, Walutowy, Tak/Nie, Obiekt OLE, Hiperłącze

Wymagane

Czy wprowadzenie jakieś wartości w danym polu jest wymagane?

Tekst, Liczba, Data/Godzina, Walutowy, Autonumer, Tak/Nie

Indeksowanie

Przyspiesza wyszukiwanie i sortowanie pól; należy określić czy możliwe są powtórzenia (duplikaty) czy nie

Liczba, Walutowy

Miejsca dziesiętne

Ile ma być wyświetlane cyfr po przecinku

Autonumer

Nowe wartości

W jaki sposób będą generowane nowe wartości

  1. TWORZENIE RELACJI MIEDZY TABELAMI

Po utworzeniu tabel i zdefiniowaniu dla nich kluczy podstawowych, można tworzyć relacje między tabelami, których zadaniem będzie zbieranie danych, pochodzących z kilku tabel i umieszczanie ich w pojedynczym formularzu, raporcie lub kwerendzie

Relacje pozwalają na to, aby jedna tabela „wiedziała” o drugiej

Są trzy typy relacji: jeden-do-jednego, jeden-do-wielu i wiele-do-wielu.

W relacjach jeden-do-jednego jeden rekord w tabeli podstawowej ma tylko jeden odpowiadający rekord w tabeli połączonej (np. przepis na konkretne ciasto).

W relacji wiele-do-wielu kilka rekordów z jednej tabeli odpowiada kilku rekordom drugiej tabeli (np. współautorzy, którzy wydali wspólnie kilka książek).

Najpopularniejszy jest typ relacji jeden-do-wielu. Powoduje on, że jeden rekord w jednej tabeli może mieć wiele dopasowanych do niego rekordów w innej tabeli (np. jeden klient może złożyć kilka zamówień).W relacji jeden-do-wielu tabelę po stronie „jeden” nazywamy tabelą podstawową, a tabela po stronie „wiele” nosi nazwę tabeli powiązanej (spotyka się również określenia tabela obca lub tabela pokrewna)

Tworząc połączenie między polem klucza podstawowego a polem zawierającym pasującą wartość-nazywanym polem klucza obcego- w tabeli powiązanej, tworzymy relację między tymi dwoma tabelami.

Pola połączone nie muszą mieć tego samego klucza podstawowego co pola, z którymi są połączone. Powinny jednak zawierać pasujące do siebie dane.

Pola o różnych nazwach mogą tworzyć relację, o ile ich typ danych oraz rozmiar pola są takie same.

Więzy integralności stanowią system reguł zapewniający poprawność związków między rekordami tabel powiązanych relacją i uniemożliwiający przypadkowe usunięcie lub zmianę powiązanych danych. Więzy integralności wymagają spełnienia poniższych warunków:

Więzy integralności narzucają następujące reguły postępowania:

Aby dla relacji obowiązywały powyższe reguły, należy podczas jej tworzenia zaznaczyć pole wyboru Wymuszaj więzy integralności. Jeśli obowiązują więzy integralności, a podjęta zostanie próba złamania jednej z powyższych reguł, pojawi się komunikat ostrzegawczy, a próba zostanie udaremniona.

Wspomniane powyżej ograniczenia dotyczące usuwania i modyfikacji rekordów powiązanych można znieść nie naruszając więzów integralności, ustawiając pola wyboru Kaskadowo aktualizuj powiązane pola i Kaskadowo usuwaj powiązane rekordy. Przy zaznaczonym polu wyboru Kaskadowo aktualizuj powiązane pola, zmiana wartości klucza podstawowego w tabeli podstawowej automatycznie aktualizuje tę wartość we wszystkich rekordach powiązanych. Przy zaznaczonym polu wyboru Kaskadowo usuwaj powiązane rekordy, usunięcie rekordu w tabeli podstawowej automatycznie usuwa wszystkie rekordy powiązane w tabeli powiązanej.

Po zaznaczeniu podczas definiowania relacji pola wyboru Kaskadowo aktualizuj powiązane pola, każda zmiana wartości klucza podstawowego w rekordzie tabeli podstawowej powoduje automatyczną aktualizację tej wartości we wszystkich rekordach powiązanych. Na przykład jeśli w tabeli "Klienci" zmieni się wartość Nr klienta, w tabeli "Zamówienia" zostaną automatycznie zmienione wartości pól "Nr klienta" w każdej fakturze tego klienta, tak aby nie naruszyć istniejącej relacji. Kaskadowa aktualizacja wykonywana jest bez wyświetlania dodatkowych komunikatów. Jeśli klucz podstawowy w tabeli podstawowej jest polem typu Autonumer, ustawienie pola wyboru Kaskadowo aktualizuj powiązane pola nie obowiązuje, ponieważ nie można zmienić wartości w polu typu Autonumer.

Po zaznaczeniu podczas definiowania relacji pola wyboru Kaskadowo usuwaj powiązane rekordy, każde usunięcie rekordu w tabeli podstawowej powoduje automatyczne usunięcie wszystkich rekordów powiązanych w tabeli powiązanej. Na przykład jeśli z tabeli "Klienci" usunie się rekord klienta, z tabeli "Zamówienia" zostaną automatycznie usunięte wszystkie zamówienia tego klienta (dotyczy to również rekordów w tabeli "Opisy zamówień" powiązanych z rekordami tabeli "Zamówienia"). Podczas usuwania rekordów z formularza lub arkusza danych przy ustawionej opcji Kaskadowo usuwaj powiązane rekordy pojawia się ostrzeżenie o możliwości usunięcia również rekordów powiązanych. Natomiast podczas usuwania rekordów za pomocą kwerendy usuwającej, rekordy w tabelach powiązanych usuwane są bez ostrzeżenia.

4. PROJEKTOWANIE KWEREND

Kwerenda to metoda pozyskiwania danych, które umożliwiają odszukanie informacji niezbędnych do znalezienia odpowiedzi na określone pytania, np. „Ile produktów zostało sprzedanych w danym regionie w określonym czasie?”, „Które produkty są najdroższe?” itp.

Kwerendy są pytaniami tego typu z tym, że są zapisane w sposób zrozumiały przez bazę danych programu Access.

Kwerenda jest sposobem zdefiniowania grupy rekordów. Może ona także manipulować rekordami i pokazywać rezultaty. Kwerendę należy traktować jak żądanie pewnego zbioru danych (np. pokaż nazwiska i numery telefonów dostawców oraz ich opłaty przewozowe). Kwerenda składa się z rekordów utworzonych w różnych tabelach.

Kwerendy służą do tworzenia unikalnych zestawów danych, niedostępnych bezpośrednio z tabel, dokonywania obliczeń na danych liczbowych zawartych w tabelach lub innych kwerendach oraz wszelkiego rodzaju zgrupowań i podsumowań.

Niemożliwe jest przewidzenie wszystkich przyszłych informacji firmy podczas projektowania tabel i relacji. Kwerendy mogą pobierać dane z tabel, gdzie wcześniej relacji nie zdefiniowano. Przy tworzeniu kwerendy, w której nie zostały utworzone relacje, ale istnieją pola o tej samej nazwie i tym samym typie danych, tworzona jest relacja czasowa (wykorzystywana tylko w tej jednej kwerendzie).

Metody tworzenia kwerend:

  1. Za pomocą kreatora

  2. W Widoku Projekt

Druga z metod jest lepsza, bo umożliwia modyfikację kwerendy w dowolnym momencie:

RODZAJE KWEREND:

  1. KWERENDY WYBIERAJĄCE