Wykład 2 - Tabele
Transkrypt
Wykład 2 - Tabele
Bazy danych Access Grzegorz Kowalski [email protected] Obiekty baz danych Access tabele kwerendy (zapytania) formularze raporty makra moduły System baz danych MS Access Tabela Kwerenda Formularz Raport Makro Moduł Tabele Pojemnik na surowe dane, zorganizowane w wierszach (rekordy) i kolumnach (pola) Kwerendy Umożliwiają przezukiwanie, sortowanie i wyświetlanie danych w zindywidualizowany sposób Raporty Służą do wyświetlania i drukowania sformatowanych danych oraz wyliczanych na ich podstawie sum i innych wartości Formularze Służą do wyświetlania, wprowadzania danych Definiowanie bazy danych Acces 1. Definicja struktury tabeli 2. Definicja indeksów tabeli 3. Definicja związków pomiędzy tabelami 4. Wprowadzenie danych do tabeli 5. Definicja zapytań (kwerend) 6. Budowa interfejsu użytkownika (formularzy) 7. Definicja makr i innych modułów 8. Tworzenie raportów Projektowanie tabel Wykorzystanie kreatora tabel: automatyczne definiowanie tabel standardowe wzorce tabel łatwość i duża szybkość definiowania poszczególnych tabel i ich pól konieczność uzupełniania definicji istniejących obiektów i ich elementów konieczność definiowania dodatkowych indeksów Projektowanie wg wymagań projektanta: możliwość dostosowania struktury tabeli do indywidualnych potrzeb użytkownika możliwość definiowania własności pól z użyciem dowolnych formatów dla danego typu danych możliwość definiowania indeksów opartych na dowolnych polach łatwy i przyjazny interfejs definiowania związków pomiędzy tabelami (relacje) Projektowanie tabel - szczegóły 1. Określenie nazwy pola tabeli 2. Wskazanie typu danego pola – wybór z listy Typ danych 3. Wprowadzenie opisu zawartości informacyjnej (Opis) 4. Zdefiniowanie własności pola 5. Zapisanie tabeli pod odpowiednią nazwą Projekt tabeli należy wykonać ze szczególną starannością Właściwości pól Rozmiar pola Format – sposób wyświetlania wprowadzonych danych Maska wprowadzania – szczegółowy opis sposobu wprowadzania i wyświetlania danych Tytuł – etykieta pola Wartość domyślna – wartość przypisywana automatycznie do pola w nowym rekordzie Reguła poprawności – warunek, który muszą spełniać wprowadzane dane Komunikat o błędzie – komunikat wyświetlany, jeżeli dane nie spełniają reguł poprawności Wymagane – czy pole musi być wypełnione Zerowa długość dozwolona Indeksowane – tworzenie indeksu opartego na tym polu Indeksy posortowane ciągi pól przyspieszają wyszukiwanie danych w tabelach, działanie kwerend umożliwiają określanie związków pomiędzy tabelami (relacji) powinno się je tworzyć podczas definiowania struktury danych Indeksy Atrybuty indeksów: podstawowy – klucz posiada własność klucza głównego unikatowy – każda wartość w polu musi być niepowtarzalna ignoruj Null – pozwala pominąć w indeksi wartości pól równe NULL Rodzaje indeksów: proste – indeks oparty na jednym polu złożone – indeks oparty na wielu polach Zasady nazewnictwa obiektów nazwa może zawierać max. 64 znaki może zawierać litery, cyfry i wiele znaków specjalnych nie może zawierać: kropki (.), wykrzyknika(!), nawiasów kwadratowych([]), cudzysłowu (') duże i małe litery nie są rozróżnialne nazwy obiektów powinny być niepowtarzalne w poszczególnych grupach Konwencje nazewnictwa obiektów Obiekt prefix Obiekt prefix Form frm Query (data definition) qddl Form (dialog) fdlg Query (delete) qdel Form (menu) fmnu Query (form filter) qflt Form (message) fmsg Query (lookup) qlkp Form (subform) fsub Query (make-table) qmak Macro mcr Query (select) qry (or qsel) Module bas Query (union) quni Query (any type) qry Query (update) qupd Query (append) qapp Report rpt Query (crosstab) qxtb Report (subreport) rsub Table tbl Konwencje nazewnictwa elementów Element prefiks Element prefiks Attachment att List box lst Bound object frame frb Option button opt Chart (graph) cht Option group grp Check box chk Page (on a Tab control) pge Combo box cbo Page break brk Command button cmd Rectangle (shape) shp Custom control ocx Subform/report sub Frame fra Tab control tab Hyperlink hlk Text box txt Image img Toggle button tgl Label lbl Unbound object frame fru Line lin Zasady odwoływania się do obiektów MS Access [obiekt]![element_obiektu] rodzaj_obiektu![obiekt]![element_obiektu] [obiekt]![element_obiektu].własność_elementu rodzaj_obiektu![obiekt]![element_obiektu].własność elementu rodzaj_obiektu – nazwa rodzaju obiektu np. dla formularzy – Formularze obiekt – nazwa obiektu np. Test_dane element_obiektu – nazwa pola tabeli, pola kwerendy lub elementu formularza własność_elementu – nazwa własności pola kwerendy, elementu formularza lub raportu Typy danych Typy danych Typ danych Opis TEKST Znaki alfanumeryczne 0-255 NOTA Znaki alfanumeryczne 0-64000 LICZBA Bajt – liczby naturalne 0-255 Liczba całkowita – liczby całkowite od -32768 do 32767 (-215 do 215-1) Liczba całkowita długa - liczby całkowite od -2147486648 do 2147486647 ((-231 do 231-1)) Pojedyncza precyzja – liczby rzeczywiste od -3,402823×1038 do 3,402823×1038 Podwójna precyzja - liczby rzeczywiste od -1,7976931349×10308 do 1,7976931349×10308 Typy danych – c.d. Typ danych Opis DATA/GODZINA Data i czas WALUTOWY Typ liczbowy (2 miejsca po przecinku) AUTONUMER Typ liczbowy (kolejne lub losowe liczby automatycznie generowane przez MS Access) TAK/NIE Typ logiczny (PRAWDA/FAŁSZ) OLE OBJECT Obiekt utworzony w dowolnej aplikacji (np. obraz, wykres itp.) HIPERŁĄCZE Typ znakowy, adres hiperłącza strony WWW, pliku lub miejsca w pliku Typy danych - uwagi Typ TEKST: pola zawierać mogą dowolne znaki lub liczby, które nie podlegają działaniom matematycznym znaki zawsze zajmują wcześniej zdefiniowaną wielkość pola (brakujące są uzupełniane spacjami) Typ NOTA: pola o zmiennej długości wolniejsze wyszukiwanie niż w polach tekstowych Typy danych - uwagi Typ LICZBOWY: do przechowywania danych, na których będą wykonywane obliczenia matematyczne należy wybierać typ zgodny z zakresem zmienności pola wybór rozmiaru typu większego niż jest to konieczne wydłuża czas przetwarzania danych i powoduje zwiększenie zajętości na dysku Typ WALUTOWY: odmiana pól liczbowych wartości wyrażone w jednostkach monetarnych Typy danych - uwagi Typ AUTONUMER: liczby generowane automatycznie przez program począwszy od 1 zapewnia niepowtarzalność wartości w danym polu używany jako identyfikator tabel nie mających klucza głównego Typ LOGICZNY: używane do przechowywania danych dwustanowych w tabeli zapisywane są dwie wartości -1 (TAK) oraz 0 (NIE) Formaty danych Sposób wyświetlania lub drukowania danych przechowywanych w bazie danych (format danych nie decyduje o sposobie przechowywania danych w bazie danych) Format danych jest określony w definicji każdego typu pola Formaty wpływają tylko na wygląd danych, a nie na sposób ich przechowywania Istnieją formaty standardowe i formaty niestandardowe (użytkownika) Formaty tekstowe i memo @- wyświetlany jest wprowadzany znak lub spacja &- wyświetlany jest wprowadzany znak (opcjonalny) <- wymuszane małe litery >- wymuszane duże litery Dane Format Wyświetlany rezultat Beata @@@@@@@ Beata Beata &&&&&&& Beata Adela > ADELA ADELA < adela Formaty liczbowe , - separator części dziesiętnej spacja 0- separator grup tysięcy wyświetla cyfry lub zera wiodące # - wyświetla cyfry lub nic Typ formatu Dane Rezultat Definicja Ogólny 987654,321 987654,321 ######,### Walutowy 987654,321 987.654,321 zł ###.##0,00 zł Stałoprzecinkowy 987654,321 987654,321 ######,### Standardowy 987654,321 987.654,321 ###.###,### Procentowy 0,321 98,7% ###,##% Wykładniczy 987654,321 9,87654321E+05 #,####E+00 Formaty danych typu DATA/GODZINA Format Rezultat Data ogólna lub C 13-04-10 15:32 Data pełna* dddddd Wtorek 13 kwietnia 2010 Data średnia 13 kwi 2010 Data krótka* ddddd 13-04-2010 Godzina pełna* ttttt 15:32:16 Godzina średnia 03:32 Godzina krótka 15:32 * - zgodnie z ustawieniami Windows Formaty danych typu DATA/GODZINA Format Opis d, dd dzień miesiąca 1-31 lub 01-31 ddd pon, wto, śro, … ddd Poniedziałek, Wtorek, … w numer dnia tygodnia ww numer tyg. w roku m, mm miesiąc 1-12 lub 01-12 mmm sty, lut, mar, … mmmm styczeń, luty, … q numer kwartału Formaty danych typu DATA/GODZINA c.d. Format Opis r numer dnia w roku rr rok (0-99) rrrr rok (0100-9999) h, hh godziny 1 lub 2 cyfry (0-23) n, nn minuty 1 lub 2 cyfry (0-59) s, ss sekundy 1 lub 2 cyfry (0-59) am/pm zegar w systemie anglosaskim AM/PM zegar w systemie anglosaskim Przykłady zastosowania formatów typu DATA Dane Format Rezultat 2010-04-13 dd-mm-rrrr 13-04-2010 2010-04-13 dd/mm/rr 13/04/10 2010-04-13 dddd dd-mm-rr wtorek 13-04-10 2010-04-13 dd-mmm-rrrr 13 kwi 2010 2010-04-13 dd mmmm rrrr 13 kwietnia 2010 2010-04-13 ddddd 2010-04-13 11:04 gg:mm 11:04 13:04 gg:mm 13:04 13:04 gg:mm am/pm 01:04 pm Maska wprowadzania danych Maska wprowadzania – szczegółowy opis sposobu wprowadzania i wyświetlania danych pozwala określić rodzaj znaków, które mogą (muszą) być wprowadzone korzysta się z symboli zastępczych maski umożliwiają tylko kontrolę danych na etapie ich wprowadzania; nie mają wpływu na istniejące już dane w BD wykorzystywane są w formularzach ignorowane są przy imporcie danych ze źródeł zewnętrznych można korzystać z Kreatora masek wprowadzania Maska wprowadzania danych – symbole zastępcze Symbol Opis 0 dowolna cyfra (wartość wymagana) 9 dowolna cyfra lub spacja (wartość opcjonalna) # dowolna cyfra lub spacja (wartość opcjonalna)* L litera (A-Z wymagane) ? litera (A-Z opcjonalne) A litera lub cyfra (wymagane) a litera lub cyfra (opcjonalne) & dowolny znak (wymagane) C dowolny znak (opcjonalne) * - puste miejsca przekształcane w spacje Maska wprowadzania danych – symbole zastępcze Symbol Opis < wymuszanie małych liter > wymuszanie dużych liter ! wypełnianie pola od prawej do lewej (włączenie w dowolnym miejscu maski) \ Znaki po ukośniku występują literalnie (np. \A daje A) .,:;-/ Password separatory dziesiętne, tysięcy, daty i godziny ukrycie wprowadzanych znaków Maska wprowadzania danych - przykłady Dane Maska Rezultat ab1234567 LL0000000 ab1234567 ab1234567 >LL0000000 AB1234567 ab1234567 <L>L0000000 aB1234567 kra1rt5 >LLL AAAA KRA 1RT5 30121 00\-000 30-121 126624762 \(00\) 000\-00\-00 (12) 662-47-62 65062112345 00000000000 65062112345 7351379054 000\-000\-00\-00 735-137-90-54 dorota >L<?????????????? Dorota Reguły poprawności danych warunki jakie muszą spełniać wartości wprowadzane do pola danych definiuje się je za pomocą Kreatora wyrażeń i klawiatury należy określać podczas definiowania struktury tabeli należy równocześnie zdefiniować komunikat pojawiający się w wyniku niespełnienia reguły poprawności Reguły poprawności danych - operatory operatory porównania: =, <, >, <=, >=, <> LIKE – porównanie z wzorcem z pomocą znaków ? (pojedynczy znak), * (dowolny ciąg znaków), # (pojedyncza cyfra), [b-t] (dowolny znak z zakresu) operatory SQL: IN (lista wartości) - np. IN (0; 0,1; 0,5) BETWEEN … AND … - np. BETWEEN #13-07-74# AND #1307-98# IS [NOT] NULL – np. testy IS NULL operatory logiczne AND i OR Wartość domyślna wartość domyślna jest wyświetlana automatycznie w polu w chwili dodawania nowego rekordu wartość może być liczbą, ciągiem znaków, wyrażeniem lub funkcją wbudowaną w MS Access Przykłady: =0,05 =Date() =Now() Modyfikacja definicji tabel Wykonywane na polach tabeli: zmiana nazwy pól zmiana rozmiaru pola zmiana typu danych w polach zmiana wartości domyślnej zmiana reguł poprawności wprowadzenie indeksowania zmiany innych właściwości pola Modyfikacja definicji tabel Wykonywane w całej tabeli: zmiana kolejności pól w strukturze tabeli (zaznaczenie i przesunięcie) usunięcie pola dodanie pola (dodawane przed zaznaczonym wierszem) wprowadzenie lub usunięcie indeksu zmiana reguł poprawności komunikat przy naruszenia reguł poprawności Relacje – związki pomiędzy tabelami Relacje – związki między tabelami umożliwiające logiczne powiązanie danych w wielu tabelach Relacje - rodzaje jeden-do-jeden jeden-do-wielu wiele-do-wielu Tworzenie relacji wymagane jest istnienie kluczy podstawowych (Primary Key) wskazane jest aby w jednej z tabel istniał tzw. klucz obcy, który jest polem wspólnym z tabelą nadrzędną wykonywane są w oknie Narzędzia/Relacje techniką drag-and-drop lub za pomocą Kreatora odnośników można wskazać więzy integralności dotyczące kaskadowego aktualizowania i/lub usuwania rekordów powiązanych można wskazać typ połączenia między tabelami Relacje - uwagi relacje mogą być oparte tylko na polach mających zgodne typy danych relacje umożliwiają kontrolę warunków intergralności referencyjnej (taka sama wartość pola po stronie "wiele" jaka istniej po stronie "jeden") w przypadku relacji opartych o klucze złożone wymagana jest zgodność liczby pól w indeksach obu tabel wszystkie relacje widoczne są w tzw. schemacie relacji, który jest graficzną formą prezentacji związków pomiędzy tabelami usunięcie lub modyfikacja relacji wymaga jej wcześniejszego wskazania modyfikacja własności relacji jest możliwa po dwukrotnym kliknięciu na linii będącej reprezentacją graficzną związku Wprowadzanie danych w arkuszu danych wypełnianie arkusza danych poprzez wpisywania danych, kolumny są polami tabeli, a wiersze – rekordami aktualny rekord oznaczony jest znakiem selektora rekordów zatwierdzenie (zapisanie) danych w rekordzie następuje w momencie przejścia do innego rekordu lub zamknięcia tabeli miejsce wprowadzania nowego rekordu oznaczone jest symbolem gwiazdki podczas wprowadzania danych można otworzyć okno dialogowe Powiększ - <Shift+F2> nowe rekordy wstawiane są domyślnie na końcu arkusza danych nowe rekordy można wstawiać poprzez zaznaczenie rekordów źródłowych i wklejenie zawartości schowka