Konstruowanie baz danych



Podobne dokumenty
Autor: dr inż. Katarzyna Rudnik

Tworzenie bazy danych na przykładzie Access

Bazy danych Access KWERENDY

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Projektowanie baz danych

Materiały do laboratorium MS ACCESS BASIC

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

BAZY DANYCH Formularze i raporty

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Kiedy i czy konieczne?

ECDL/ICDL Zaawansowane użytkowanie baz danych Moduł A3 Sylabus, wersja 2.0

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

BAZY DANYCH Panel sterujący

Krzysztof Kadowski. PL-E3579, PL-EA0312,

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

MS Access formularze

CAL Access 3 zajęcia 6. Raporty

Bazy danych Access KWERENDY

Pojęciowy model danych etap 1 (identyfikacja obiektów) Pojęciowy model danych etap 2A (powiązania obiektów)

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

LibreOffice Calc VBA

Formularze i raporty w MS Access

Krzysztof Kluza proste ćwiczenia z baz danych

Kwerendy (zapytania) wybierające

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Moduł 5 - Bazy danych

Bazy danych i systemy informatyczne materiały laboratorium

Microsoft Access 2003 tworzenie i praktyczne wykorzystanie baz danych

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

ACCESS 2007 Tworzymy bazę danych plik: filmoteka.accdb

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Microsoft Access zajęcia 1 2 Pojęcia bazy, projektowanie tabel, ustawianie relacji

ACCESS ćwiczenia (zestaw 1)

1. MS Access opis programu.

WPROWADZENIE DO BAZ DANYCH

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

Bazy danych Karta pracy 1

Bazy danych - wykład wstępny

2017/2018 WGGiOS AGH. LibreOffice Base

CAL Access 2 zajęcia 5. Relacje Kwerendy Relacje w bazie danych. 1) Określenie relacji (sprzężeń) między tabelami

1. Zarządzanie informacją w programie Access

Egzamin zawodowy: Technik Informatyk 312[01] Oprogramowanie biurowe pytania i odpowiedzi

ECDL Advanced Moduł AM5 Bazy danych Syllabus, wersja 2.0

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

MS Access - bazy danych

Konspekt zajęć dotyczących kwerend

Obsługa pakietu biurowego OFFICE

1. Przypisy, indeks i spisy.

MS Access - bazy danych

T A B E L E i K W E R E N D Y

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Przygotowanie formularza do wypożyczenia filmu:

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

WPROWADZENIE DO OBSŁUGI BAZ DANYCH MS ACCESS 2007(2010)

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

10. Jak to zrobić - Ćwiczenia dla tych co zaczynają...

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

MS Access - bazy danych.

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

MsAccess ćwiczenie nr 3 Kwerendy wybierające cd oraz kwerendy funkcjonalne

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy

Baza danych kwerendy, formularze, raporty

Podstawy Informatyki Wykład X

Systemy baz danych. mgr inż. Sylwia Glińska

Nie przegrzewaj mózgu wrzuć dane do bazy!

Makra programu Microsoft Access.

5. Bazy danych Base Okno bazy danych

Stosowanie filtrów. 4) Prawidłowo zdefiniowane relacje pomiędzy poszczególnymi tabelami projektu powinny wyglądać tak:

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Baza danych. Baza danych to:

Baza danych. Program: Access 2007

Tworzenie makr warunkowych

Rozwiązanie. Uruchom program Access 2007.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

TP1 - TABELE PRZESTAWNE od A do Z

Programowanie w języku Python. Grażyna Koba

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Przejdź do widoku tabeli i wpisz nowe dane, aby sprawdzić działanie wprowadzonych we właściwościach pól i tabeli ograniczeń.

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

1 Podstawy c++ w pigułce.

Bazy Danych. Wykład VII Makropolecenia. Copyright by Arkadiusz Rzucidło 1

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

z ęś ć praktyczna Instytuty ID_instytutu Nazwa_instytutu Kierunki ID_kierunku Nazwa_kierunku ID_instytutu

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

wprowadzania: wejdź do kreatora i wybierz Kod Pocztowy: ;;-

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

Microsoft Access. Prezentacja

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

5.4. Tworzymy formularze

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

Transkrypt:

Konstruowanie baz danych Marcin Szpyrka Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie c Marcin Szpyrka, 2005/06 Literatura 1. Stephen Forte: Access 2000. Księga eksperta, Helion, Gliwice, 2001 2. Steven Roman: Access. Baza danych projektowanie i programowanie, Wydawnictwo Helion (O Reilly), Gliwice, 2001 3. Virginia Andersen, Peter Norton: Access 2000 PL programowanie według Petera Nortona, Wydawnictwo MIKOM, Warszawa, 2000 4. Lech Banachowski: Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998 Charakterystyka Access jest systemem obsługi relacyjnych baz danych wchodzącym w skład pakietu biurowego Micro$oft Office. Access należy do narzędzi IV generacji, tzn. jest generatorem aplikacji Zadanie programisty polega na specyfikowaniu jak aplikacja ma wyglądać i działać, a system sam ją generuje. Bazy danych Access są zapisywane w pojedynczych plikach zawierających zarówno dane jak i interfejs aplikacji. Access można podłączyć do zewnętrznego źródła danych (np. SQL Server, PostgreSQL). W takim przypadku Access spełnia rolę graficznego interfejsu dla zewnętrznych źródeł danych, a nie całego systemu obsługi baz danych. Accessa stosuje się najczęściej do prostszych aplikacji dla małych i średnich firm dotyczących analizy i przetwarzania danych oraz szybkiego prototypowania aplikacji bazodanowych. Dostęp do baz danych utworzonych w Accessie wymaga posiadania programu Access bądź napisania osobnego programu z użyciem zewnętrznych narzędzi. Ograniczenia bazy danych Jedna tabela może mieć maksymalnie 255 pól. Jedna tabela może mieć maksymalnie 32 indeksy. Indeks wielopolowy może się składać z maksymalnie 10 pól. Łączna długość wszystkich pól indeksu nie może przekraczać 255 bajtów. Rozmiar jednego wiersza tabeli (nie licząc pól nota i obiekt OLE), nie może przekraczać 4KB. Inne ograniczenia podano przy omawianiu typów danych!

2 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Podstawowe obiekty Accessa Tabele fizyczna reprezentacja relacji, przechowują dane zorganizowane w wiersze i kolumny (rekordy, pola); Kwerendy nazwane instrukcje SQL, dotyczące wyszukiwania i operowania danymi; Formularze podstawowy element interfejsu użytkownika, ułatwiają operacje na danych: dodawanie, usuwanie, modyfikację i wyszukiwanie; Raporty element interfejsu użytkownika stanowiący reprezentację informacji przygotowaną do wydruku; Strony podzbiór raportów i formularzy zaprojektowanych do pracy w sieci, strony te są zapisane jako Dynamic HTML i mogą być oglądane w IE 5.0 lub późniejszych; Makra nazwane ciągi akcji wykonywane automatycznie jako odpowiedź na określone zdarzenie w bazie danych; Moduły zbiory procedur w języku VBA. Okno bazy danych Aplikacja bazodanowa Aplikacja bazodanowa w Accessie zbudowana jest z obiektów stanowiących interfejs użytkownika (formularze, raporty, strony dostępu do danych) oraz obiektów znajdujących się w tle (tabel, kwerend, makr, modułów). Wszystkie obiekty są tworzone w widoku projekt (właściwym dla typu obiektu). Sposób działania i wygląd obiektu jest ustalany w oparciu o jego właściwości. Większość obiektów w Accessie może zostać utworzona z wykorzystaniem kreatorów (łącznie z możliwością wygenerowania całej bazy danych). Wykorzystanie kreatora pozwala na przyśpieszenie prac nad rozwojem aplikacji, ale pozbawia nas pełni kontroli nad tworzonymi elementami. Skrócone zasady konstruowania tabel Każde pole tabeli powinno zawierać unikatową informację Każda tabela powinna mieć zdefiniowany klucz podstawowy.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 3 Dla każdej wartości klucza podstawowego, wartości w pozostałych kolumnach muszą być z nim związane i muszą dokładnie opisywać obiekt tabeli. Zmiana danych w dowolnym polu nie może pociągać za sobą zmiany danych w innych polach tabeli. Tabela widok projekt Tabela widok danych Nazwy pól Nazwa pola może liczyć do 64 znaków i stanowić dowolną kombinację liter, cyfr, spacji i znaków specjalnych z wyjątkiem kropki, wykrzyknika, akcentu i nawiasów kwadratowych. Nazwa nie może zaczynać się od spacji i zawierać znaków kontrolnych (kody od 0 do 31). Nazwa pola powinna informować o jego zawartości. Należy stosować takie same nazwy do pól o identycznym przeznaczeniu w różnych tabelach. Należy unikać nazw pokrywających się ze słowami kluczowymi Accessa, Visual Basica, nazwami funkcji wbudowanych, itp. Należy starać się nadawać nazwy nie zawierające spacji i znaków diakrytycznych (stosować podobne zasady, jak przy tworzeniu nazw zmiennych w językach programowania).

4 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Typy danych Tekst dane typu tekstowego, typ wybierany standardowo; wszelkie napisy, również te zawierające cyfry. Maksymalny rozmiar pola wynosi 255 znaków; Memo Nota dane typu notatnikowego; dowolny tekst o długości do 64 kb, nie może być indeksowany, nie podlega przetwarzaniu (edycja w oknie edytora: Shift + F2); Liczba dane typu numerycznego (liczbowego); stosowany do wszelkich danych podlegających operacjom arytmetycznym (obliczenia), standardowy rozmiar pola od 1 do 8 bajtów; Data/Godzina dane typu daty lub czasu, rozmiar pola 8 bajtów; Waluta specjalny typ danych dla reprezentacji i przetwarzania danych wyrażających kwoty (przy obliczeniach stosowana jest arytmetyka stałoprzecinkowa zapobiegająca powstawaniu błędów zaokrągleń; rozmiar pola 8 bajtów); Typy danych Autonumer typ licznikowy; dane tego typu są generowane automatycznie jako liczby całkowite długie, Tak/Nie dane typu logicznego; pola te służą do przechowywania wartości prawdy lub fałszu (w Accessie odpowiednio 1 i 0), Obiekt OLE typ specjalny, umożliwia przypisanie do pola obiektu osadzanego lub dołączanego (tekstu, obrazu, dźwięku); maksymalny rozmiar pola do 1 gigabajta, Hiperłacze typ specjalny pozwala zapisać adresy plików i dokumentów internetowych (np. adresy www, ftp, e-mail, itp.). Właściwości pól (1) Rozmiar pola (autonumer, liczba, tekst) Maksymalny rozmiar danych przechowywanych w polu. W przypadku pola typu tekst wartość określa maksymalną liczbę znaków, w przypadku pól liczbowych - decyduje o zakresie wartości. Nowe wartości (autonumer) Sposób generowania nowych wartości: generowanie przyrostowe lub wartości losowe. Tytuł Etykieta kolumny tabeli. Pominięcie tej właściwości powoduje, że etykietą kolumny jest nazwa pola. (Uwaga: Nazwę pola należy definiować raczej jako pojedyncze słowo nie zawierające polskich znaków diakrytycznych.) Format (nie dotyczy obiektów OLE) Szablon wyświetlania zawartości danego pola. Format pola tekstowe Schemat <Szablon>;<String zerowej długości>;<null>

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 5 <Szablon> sekcja definiująca sposób wyprowadzania tekstu; <String zerowej długości> - sekcja definiująca co zostanie wyprowadzone w przypadku, gdy pole zawiera string zerowej długości (""); <Null> sekcja definiująca co zostanie wyprowadzone w przypadku, gdy pole zawiera wartość Null. Znaki formatujace pola tekstowe tekst wyświetla podany w cudzysłowach tekst; @ wyświetla cały tekst, pojedynczy znak lub spację; & wyświetla pojedynczy znak lub nic jeśli nie ma znaków; \ wyświetla znak występujący po symbolu \; > powoduje wypisanie tekstu wielkimi literami; < powoduje wypisanie tekstu małymi literami;! wymusza lewostronne wyrównanie danych w polu; wypełnia wolne pole znakiem podanym po symbolu ; [kolor] wyświetla zawartości w zadanym kolorze (Czarny, Niebieski, Zielony, Niebieskozielony, Czerwony, Purpurowy, Żółty, Biały). Ponadto, w dowolnym miejscu z ciągu formatującym można użyć znaków, +, $, (, ) lub spacji. @[Czerwony] @[Czerwony];;"Brak danych"[zielony] >[Niebieski] >[Niebieski]*- @@/@@@@ Format pola liczbowe Schemat <Szablon dodatnich>;<szablon ujemnych>; <Szablon zera>;<null> <Szablon dodatnich> definiuje sposób wyprowadzania liczb dodatnich; <Szablon ujemnych> definiuje sposób wyprowadzania liczb ujemnych; <Szablon zera> definiuje, co będzie wypisane gdy w polu jest wartość zero; <Null> definiuje, co będzie wypisane gdy pole jest puste.

6 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Znaki formatujace pola liczbowe tekst, \,!,, [kolor],, +, $, (, ), spacja tak jak dla pól tekstowych;, określa miejsce, w którym ma być wstawiony separator części dziesiętnej; 0 wyświetla całą liczbę, cyfrę lub 0, jeśli na tej pozycji nie występuje cyfra; # wyświetla cyfrę lub spację, jeśli na tej pozycji nie występuje cyfra; % wyświetla liczbę w postaci procentu (mnoży przez 100); E-, e-, E+, e+ notacja eksponencjalna. 0[Zielony] 0% (000)\ 000\-00\-00 0,000 0,0000E+000 Format pola data/czas Formaty standardowe data ogólna: 05-12-07 13:25:07 data długa: 7 grudnia 2005 data średnia: 07-gru-05 data krótka: 05-12-07 godzina długa: 13:25:07 godzina średnia: 01:25 godzina krótka: 13:25 Znaki formatujace data/czas tekst, \,!,, [kolor],, +, $, (, ), spacja tak jak dla pól tekstowych; d dzień miesiąca wyświetlany w postaci jednej lub dwóch cyfr; dd dzień miesiąca wyświetlany w postaci dwóch cyfr; ddd dzień tygodnia wyświetlany w postaci skrótu; dddd dzień tygodnia wyświetlany w postaci pełnej nazwy; m, mm, mmm, mmmm analogicznie jak wyżej, ale dla miesięcy; rr, rrrr format wyświetlania roku; g godzina wyświetlana w postaci jednej lub dwóch cyfr; gg godzina wyświetlana w postaci dwóch cyfr; n, nn, s, ss analogicznie jak wyżej, ale dla minut i sekund.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 7 dddd\ d-mm-rrrr dddd", "d\ mmmm "godzina "gg" minut "nn[niebieski] Właściwości pól (2) Miejsca dziesiętne (liczba, walutowy) Liczba cyfr po przecinku. Wartość domyślna (nie dotyczy obiektów OLE i autonumerów) Domyślna wartość wprowadzana automatycznie. Wymagane (nie dotyczy autonumerów) Ustalenie czy dane pole musi zostać wypełnione. Zerowa długość dozwolona (tekst, nota) Ustalenie czy pole może zawierać łańcuch zerowej długości. Kompresja Unicode (tekst, nota) Wymuszenie jednobajtowego zapisywania znaków. Maska wprowadzania (tekst, liczba, data/godzina, walutowy) Ustalenie szablonu dla wprowadzania danych. Maska wprowadzania Schemat <Definicja maski>;<zapamiętywanie symboli>; <Symbol zastępowania> <Definicja maski> metasymbole i literały definiujące maskę; <Zapamiętywanie symboli> informacja, czy znaki maski mają być zapamiętywane w polu, (0) tak, (1) nie; <Symbol zastępowania> definiuje znak używany do wskazania miejsca wprowadzania danych (domyślnie jest to podkreślenie). Część druga i trzecia maski wprowadzania jest opcjonalna. Maska wprowadzania symbole tekst, \,!, <, >, separatory (np. kropki dziesiętnej, dat, godzin) tak jak dla formatów pól; 0 cyfra, pozycja wymagana, 9 cyfra lub spacja, pozycja nie wymagana, # cyfra lub spacja, pozycja nie wymagana (puste miejsca konwertowane na spacje, dozwolone + i -), L litera, pozycja wymagana,

8 Konstruowanie baz danych, c Marcin Szpyrka 2005/06? litera, pozycja opcjonalna, A litera lub cyfra, pozycja wymagana, a litera lub cyfra, pozycja opcjonalna, & dowolny znak lub spacja, pozycja wymagana, C dowolny znak lub spacja, pozycja opcjonalna, Password utajnienie wprowadzanych znaków, Password "(0"00") "000\-00\-00;0;_ >LLL\ 000000;0;_ Właściwości pól (3) Reguła poprawności (nie dotyczy obiektów OLE i autonumerów) Warunek jaki muszą spełniać wprowadzane dane. Komunikat o błędzie (nie dotyczy obiektów OLE i autonumerów) Komunikat wyświetlany przy naruszeniu reguły poprawności Indeksowane (nie dotyczy obiektów OLE i noty) Wymuszenie indeksowania pola (możliwe jest indeksowanie z powtórzeniami lub bez). Reguły poprawności <, <=, >, >=, =, <>, In, Between, Like operatory,? dowolny pojedynczy znak, zero lub więcej znaków, # dowolna pojedyncza cyfra, [ - ] zakres wartości, np. [A-D]. Like "??? ######" Between 0 And 20 Like "[A-D]##*" Like "[!0-9]*"

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 9 Klucze Zbiór identyfikujacy: atrybut lub zestaw atrybutów pozwalających na jednoznaczną identyfikację obiektu w bazie danych; Klucz: każdy minimalny zbiór identyfikujący; Klucz prosty: klucz złożony z pojedynczego atrybutu; Klucz złożony: klucz składający się z więcej niż jednego atrybutu; Klucz podstawowy: wybrany preferowany klucz; Klucz obcy: atrybut lub ich zestaw występujący w danej tabeli a będący kluczem określonym w innej tabeli, stosowany w celu identyfikacji elementów dla ewentualnego złączenia; Atrybut kluczowy: atrybut wchodzący w skład przynajmniej jednego klucza. Klucz podstawowy w Accessie ustawiany jest w widoku projekt tabeli. Należy zaznaczyć pola, które mają być kluczem (z ewentualnym użyciem klawisza Ctrl) i wykonać operację Klucz podstawowy. Właściwości tabeli Uwagi: Właściwości tabeli można wykorzystać do zdefiniowania reguł poprawności na poziomie tabeli. Reguły te są stosowane przy zapisywaniu lub dodawaniu całego wiersza. Odnośniki

10 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Właściwości odnośnika Typ formantu Wygląd formantu: pole listy, pole kombi. Typ źródła wierszy : Tabela/Kwerenda, Lista wartości, Lista pól. Źródło wierszy : nazwa tabeli lub kwerendy, instrukcja select, lista wartości oddzielonych średnikami. Kolumna zwiazana Numer kolumny zawierającej dane. Liczba kolumn Liczba wyświetlanych kolumn. Nagłówki kolumn Ustalenie czy po otwarciu listy mają być wyświetlane nagłówki kolumn. Szerokości kolumn Ustalenie szerokości kolumn. Ustawienie danej wartości na 0cm pozwala na ukrycie kolumny. Liczba wierszy listy Maksymalna liczba wierszy widoczna po otwarciu listy. Szerokość listy Całkowita szerokość listy po otwarciu. Ogranicz do listy Ustalenie, czy możliwe będzie wprowadzanie innych wartości niż zawarte na liście. Indeksy Indeks to wewnętrzna tabela zawierająca dwa pola: wartość indeksowanego pola (pól) oraz wskaźnik do rekordu zawierającego tę wartość. Zdefiniowanie indeksu dla określonego pola (pól) przyśpiesza wyszukiwanie, jeżeli kryteria wyszukiwania dotyczą tego pola (pól). Jednocześnie wpływa to na rozmiar bazy danych. Indeksy jednopolowe są tworzone z wykorzystaniem właściwości Indeksowane odpowiedniego pola. Jeżeli przy wyszukiwaniu często nakładane są warunki na kilka pól jednocześnie, to można zdefiniować indeks wielopolowy składający się z wartości kilku pól tabeli, a nie tylko jednego. Indeksy wielopolowe są tworzone z wykorzystaniem okna indeksy. Okno Indeksy Powiazania (1) Powi azanie Powiązanie działa poprzez dopasowanie danych w polach kluczowych - zwykle są to pola o tej samej nazwie w obu tabelach. W większości przypadków dopasowywane pola to klucz główny z jednej

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 11 tabeli, który dostarcza unikatowego identyfikatora dla każdego rekordu, oraz klucz obcy w drugiej tabeli. jeden-do-jednego W powiązaniu jeden-do-jednego każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B, i na odwrót. Ten typ powiązania występuje rzadko, ponieważ większość informacji powiązanych w ten sposób mogłaby być zawarta w jednej tabeli. Powiązania jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej. Powiazania (2) jeden-do-wielu Powiązanie jeden-do-wielu jest najbardziej powszechnym typem powiązania. W powiązaniu tym jeden rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A. wiele-do-wielu W powiązaniu wiele-do-wielu, jeden rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo jeden rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz główny składa się z dwóch pól - kluczy obcych z tabel A i B. Powiązanie wieledo-wielu jest w istocie dwiema powiązaniami jeden-do-wielu z trzecią tabelą. Tworzenie powiazań

12 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Kompaktowanie bazy danych Opis: Kompaktowanie powoduje defragmentację pliku bazy danych usuwając puste miejsca będące wynikiem wprowadzanych zmian. Praca w widoku arkusz danych Uwagi Korzystając z menu Format można dostosować wygląd arkusza danych (czcionka, kolory, itp.) oraz wykonać szereg operacji na kolumnach ułatwiających pracę: ukryć, odkryć, zablokować lub odblokować kolumnę (kolumny). Podarkusze danych

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 13 Uwagi Domyślnie podarkusz wyświetla dane z jednoznacznie dostępnej tabeli podrzędnej. Podarkusz można usunąć korzystając z polecenia: Format Podarkusz danych Usuń. Nowy podarkusz można wstawić korzystając z polecenia: Wstaw Podarkusz danych. W tym przypadku należy wskazać odpowiednią tabelę lub kwerendę będącą źródłem danych dla podarkusza. Kwerendy Zapytania i kwerendy Zapytania w systemach relacyjnych baz danych służą do operacji automatycznego wybierania i przetwarzania informacji W Accessie przez kwerendę rozumiana jest albo perspektywa (nazwane zapytanie) czyli kwerenda wybierająca, albo instrukcja operowania danymi. Metody tworzenia kwerend siatka kwerendy (postać graficzna), instrukcja SQL, język VBA. Typy kwerend Kwerendy wybierajace służą do otrzymywania danych z tabeli lub tabel i wyświetlania wyników w arkuszu danych, w którym można je następnie aktualizować (z pewnymi ograniczeniami). Kwerendy wybierające mogą być również używane do grupowania rekordów, obliczania sum, zliczeń, wyliczania średnich, itp. Kwerendy funkcjonalne pozwalają na wprowadzenie zmian w wielu rekordach za pomocą jednej procedury. Kwerendy SQL kwerendy zapisane w języku SQL, które nie mogą być tworzone za pomocą siatki QBE. Kwerendy krzyżowe są specjalnym typem kwerend wybierających. Obliczają one sumy, średnie, zliczenia, a także inne rodzaje podsumowań dla danych zgrupowanych według dwóch typów informacji jeden z nich stanowią wiersze, drugi kolumny arkusza danych. Kwerendy parametryczne są to kwerendy wybierające lub krzyżowe, które przy wykonywaniu pobierają od użytkownika dodatkowe informacje od których zależy wynik kwerendy.

14 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Kwerendy funkcjonalne Kwerenda usuwajaca usuwa grupę rekordów z jednej lub kilku tabel. Użycie kwerendy usuwającej powoduje usunięcie całych rekordów, nie zaś wybranych pól w rekordach. Kwerenda aktualizujaca dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach. Za pomocą kwerend aktualizujących można zmieniać dane w istniejących tabelach. Kwerenda dołaczaj aca dodaje grupę rekordów z tabeli lub tabel na końcu innej tabeli lub tabel. Kwerenda tworzaca tabelę tworzy nową tabelę z wszystkich lub części danych znajdujących się w jednej lub kilku tabelach. Kwerendy SQL Kwerenda składajaca tworzy sumę dwóch lub więcej tabel. Kwerenda przekazujaca przekazuje nieinterpretowaną instrukcję SQL do zewnętrznego serwera bazy danych. Kwerenda definiujaca dane to kwerenda zbudowana w oparciu o instrukcje create table, create index, itp. Siatka QBE (1) Opis Siatka QBE podzielona jest na dwie podstawowe części: panel z tabelami u góry i siatkę kwerendy u dołu. Kwerenda tworzona w oparciu o siatkę QBE może być oparta na jednej lub wielu tabelach, przy czym istniejące kwerendy są traktowane na równi z tabelami. Siatka QBE (2)

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 15 Opis Jeżeli kwerenda jest oparta na więcej niż jednej tabeli, to powiązania pomiędzy tymi tabelami są wyświetlane podobnie jak w oknie Relacje. Jeżeli powiązanie nie zostało wykryte automatycznie, to można je utworzyć samodzielnie. Wynik wykonania kwerendy wybierajacej Opis siatki QBE kwerendy wybierajace Pole nazwa pola wybranego obiektu źródłowego lub nazwa definiowanego wyrażenia. Tabela nazwa tabeli źródłowej dla danego pola. Sortuj ustalenie sposobu sortowania. Pokaż określenie czy dana kolumna ma być wyświetlana w wyniku zapytania, czy nie. Kryteria, lub kryteria wyboru danych do zestawienia. Umieszczenie dwóch warunków w różnych wierszach powoduje, że są one połączone spójnikiem lub. Umieszczenie dwóch warunków w jednym wierszu powoduje, że są one połączone spójnikiem i. Kryteria wyboru Opis Przy konstruowaniu kryteriów wyboru obowiązują podobne reguły jak przy konstruowaniu reguł poprawności dla pól. <, <=, >, >=, =, <>, In, Between, Like operatory,? dowolny pojedynczy znak, zero lub więcej znaków, # dowolna pojedyncza cyfra,

16 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 [ - ] zakres wartości, np. [A-D], Stałe tekstowe powinny być umieszczone pomiędzy znakami, Stałe oznaczające daty i godziny powinny być umieszczone pomiędzy znakami #, np.: #24 maja 2001#, #02-06-29# (Uwaga: Format daty jest zależny od ustawień regionalnych.) Funkcje dla dat i godzin Day(data) numer dnia miesiąca (od 1 do 31), Month(data) numer miesiąca (od 1 do 12), Year(data) rok (liczba od 100 do 9999), Weekday(data) numer dnia tygodnia (niedziela 1, poniedziałek 2, itd.), Hour(data) zwraca godzinę (od 0 do 23), Date zwraca bieżącą datę systemową, DatePart(okres, data) zwraca liczbę określającą numer wyspecyfikowanej części daty: rrrr rok, m miesiąc, d dzień, r dzień roku, k kwartał, g godzina, n minuta, s sekunda. DateAdd(okres, liczba, data) zwraca (datę) wynik dodania do daty podanej liczby okresów. Oznaczenia okresów j.w. DateDiff(okres, data1, data2) zwraca liczbę okresów pomiędzy podanymi datami. Oznaczenia okresów j.w. Przykłady Uwaga W zależności od ustawień separatorem argumentów jest przecinek lub średnik. "Anna" In("Anna";"Kinga";"Monika") Not "Anna" <"K" Len([Imie])<Val(5) Like "K*" ------------------------------- >=#03-01-10# DatePart("m";[Data])=12 DatePart("d";[Data]) Between 11 And 20 DatePart("g";[Godzina])<12 Abs(DateDiff("r";[Data];#03-12-20#))<=7 Between Date() And DateAdd("m";3;Date())

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 17 Właściwości pól Opis Znaczenie poszczególnych opcji jest takie samo jak dla pól tabel. Właściwości pól kwerendy powinny być definiowane, gdy: Chcemy zdefiniować właściwość, której nie zdefiniowano dla odpowiedniego pola tabeli; Chcemy zdefiniować właściwość inaczej niż zostało to zdefiniowane w tabeli; Chcemy zdefiniować właściwość dla pola obliczeniowego, któremu nie odpowiada pole żadnej z tabel, na których oparta jest kwerenda. Właściwości kwerendy (1) Opis krótki opis zapytania, do 255 znaków. Wyprowadź wszystkie pola ustawienie wartości na tak powoduje wyświetlenie wszystkich pól obiektów źródłowych, nie tylko pól wybranych w siatce QBE. Najwyższe wartości ogranicza liczbę rekordów wyświetlanych w wyniku; wartość ta może zostać wyrażona w liczbach lub w procentach. Właściwości kwerendy (2) Wartości unikatowe przy włączonej właściwości w wyniku usunięte zostaną powtarzające się wartości (odnosi się do wyświetlanych pól). Rekordy unikatowe przy włączonej właściwości w wyniku usunięte zostaną powtarzające się wartości (odnosi się do całych rekordów). Uaktywnij uprawnienia określenie z jakimi uprawnieniami uruchamiana jest kwerenda: Użytkownika, Właściciela. Blokowanie rekordów określenie jakie mechanizmy blokowania będą stosowane w systemie wieloużytkownikowym: Bez blokowania, Wszystkie rekordy i Edytowany rekord.

18 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Typ zestawu rekordów określenie, czy używany przez formularz lub raport zestaw rekordów to: Dynamiczny możliwość aktualizowania w powiązaniu strony Wiele, Dynamiczny (Niespójny) możliwość aktualizowania obu stron powiązania, Migawka uniemożliwia edycję danych. Właściwości kwerendy (3) Czas oczekiwania ODBC określenie jak długo kwerenda ma czekać na rezultaty (jeśli korzysta z sieci). Filtr, Uporzadkuj według alternatywne sposoby ustawienia kryteriów i sortowania. Maksymalna liczba rekordów ograniczenie liczby zwracanych rekordów. Nazwa podarkusza danych ustawienia dla podarkusza, jeżeli jest on stosowany w kwerendzie. Podrzędne pole łacz ace j.w. Nadrzędne pole łacz ace j.w. Wysokość podarkusza danych j.w. Rozwinięty podarkusz danych j.w. Wyrażenia (1) Wyrażenie Jest to dowolna kombinacja operatorów, stałych, wartości literałów, funkcji, nazw pól, formantów i właściwości, która służy do obliczeń dających w wyniku pojedynczą wartość. Wyrażenia można stosować jako ustawienia właściwości i argumentów akcji, do ustalania kryteriów i definiowania pól obliczeniowych w kwerendach oraz do ustawiania warunków w makrach. Wyrażenia są również wykorzystywane w języku VBA. Wyrażenia można tworzyć za pomocą Konstruktora wyrażeń lub łącząc poszczególne elementy wyrażenia w taki sposób, aby otrzymać żądany efekt. Operatory +,,, /,ˆ, MOD, & Wyrażenia (2)

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 19 Netto: [Cena]*[Ilosc] Osoba: [Imie] & " " & [Nazwisko] NumerKierunkowy: Mid([Telefon];2;3) TerminDostawy: DateAdd("d";7;[DataZamowienia]) Wartość Null IsNull(argument) Funkcja zwraca wartość prawda, jeżeli argument ma wartość Null Nz(argument) (Null-To-Zero) Funkcja zamienia wartość Null na 0. Is Null, Is Not Null wyrażenia te można wykorzystać przy konstruowaniu kryteriów kwerendy. Iff(wyrażenie; jeśli prawda; jeśli fałsz) Funkcja Immediate If: wyrażenie wyrażenie logiczne; jeśli prawda wartość funkcji jeśli wyrażenie jest prawdziwe; jeśli fałsz wartość funkcji jeśli wyrażenie jest fałszywe; Rabat: IIf([Wartosc]>100; [Wartosc]*0,9; [Wartosc]) Sprzężenia Opis Jeżeli kwerenda oparta jest na więcej niż jednej tabeli, to zazwyczaj są one połączone powiązaniami. Możliwa jest zmiana właściwości powiązania na potrzeby danej kwerendy (okno dialogowe wywoływane dwukrotnym kliknięciem w linię reprezentującą powiązanie). Kwerendy parametryczne (1)

20 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Opis Jako parametr traktowana jest każda ujęta w nawiasy kwadratowe nazwa pojawiająca się w wierszu Kryteria, która nie jest nazwą znanego elementu (pola, tabeli, funkcji, itp). Nazwa parametru pojawia się wewnątrz okna dialogowego. Kwerendy parametryczne (2) Opis Korzystając z okna dialogowego Kwerenda Parametry... można ustalić typ parametru. Domyślnie wszystkie parametry są typu tekstowego. Zmiana typu parametru pozwala wprowadzić częściowe sprawdzanie poprawności wprowadzanych wartości. Kwerendy podsumowujace Opis Kwerendy podsumowujące umożliwiają grupowanie rekordów i wykonywanie obliczeń na grupach rekordów. Określenie zasad grupowania i wybór funkcji agregującej dokonywane jest w wierszu podsumowanie (wiersz dodawany jest za pomocą przycisku Sumy). Funkcje agregujace (1) Suma (pola typu numerycznego i walutowego) wyznacza sumę wartości pola w ramach grupy. Średnia (pola typu numerycznego i walutowego) wyznacza średnią wartość pola w ramach grupy (nie uwzględnia wartości Null). Minimum, Maksimum odpowiednio najmniejsza i największa wartość w ramach każdej grupy (wartości Null są ignorowane).

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 21 Policz zwraca liczbę wierszy w każdej grupie, w których pole ma wartość różną od Null. Wpisanie w wierszu pole wyrażenia nazwa: Policz(*) powoduje policzenie wszystkich wierszy w grupie bez względu na wartość Null. OdchStd (pola typu numerycznego i walutowego) wyznacza odchylenie standardowe wszystkich wartości pola w ramach grupy (jeśli grupa liczy mniej niż dwa wiersze funkcja zwraca wartość Null). Funkcje agregujace (2) Wariancja (pola typu numerycznego i walutowego) wyznacza wariancję wszystkich wartości pola w ramach grupy (jeśli grupa liczy mniej niż dwa wiersze funkcja zwraca wartość Null). Pierwszy zwraca wartość pola w pierwszym wierszu z grupy (nie musi to być wartość najmniejsza). Ostatni zwraca wartość pola w ostatnim wierszu z grupy. Wyrażenie, Gdzie Zamiast funkcji agregującej można wybrać również wartości: Wyrażenie i Gdzie. Wartość Wyrażenie jest wybierana, gdy pole nie jest oparte na polu tabeli i jest polem obliczeniowym (np. gdy korzystamy z funkcji Policz(*)). Wartość Gdzie jest wybierana, gdy dane pole jest dołączane w celu sformułowania kryteriów. Jeżeli kryteria zostaną podane w innym wierszu, to odnoszą się one do już pogrupowanych danych (Having). Kwerendy krzyżowe Opis W wierszu Krzyżowe należy ustawić co najmniej jedno pole dla nagłówków wierszy oraz po jednym polu dla nagłówków kolumny i obliczanej wartości. Ustalenie typu kwerendy dokonywane jest za pomocą menu Kwerenda. Wyniki działania kwerendy krzyżowej

22 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Pola kwerendy, które nie moga być aktualizowane wszystkie pola wyliczane, wszystkie pola w kwerendach podsumowujących i krzyżowych, wszystkie pola w kwerendach wykorzystujących jako jedno ze źródeł danych inną kwerendę podsumowującą lub krzyżową, pola typu autonumerowanie, pola tworzące klucz podstawowy używany w powiązaniu (o ile nie jest włączona kaskadowa aktualizacja), wszystkie pola kwerendy typu Wartości unikatowe i Rekordy unikatowe, wszystkie pola kwerendy składającej. Kwerendy aktualizujace i usuwajace

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 23 Kwerendy tworzace tabele i dołaczaj ace Access SQL SQL SQL (Structured Query Language) jest niepełnym językiem baz danych (bez kontroli sterowania). SQL jest językiem obsługi baz danych zaimplementowanym w systemach zarządzania bazami danych, przeznaczonym do: definiowania struktur danych, wyszukiwania danych oraz operacji na danych. Posiada on akceptację ANSI oraz standard ISO. W praktyce jest standardowym językiem zapytań dla relacyjnych baz danych. Access SQL Access nie implementuje pełnego standardu SQL-92, jednocześnie dodając do niego własne funkcje. Dowolną kwerendę utworzoną za pomocą siatki QBE można obejrzeć i modyfikować w widoku SQL. Ponadto, istnieją typy kwerend, które można utworzyć tylko w widoku SQL. Kwerendy składajace Opis Kwerenda składająca pozwala na zsumowanie wyników dwóch lub większej liczby kwerend. Operatorem sumowania jest UNION, jeżeli chcemy w wyniku pominąć powtarzające się wiersze lub UNION ALL, jeżeli chcemy pozostawić ewentualne duplikaty. Select Pesel, Nazwisko, Imie From PracownicyFirma Union All Select Pesel, Nazwisko, Imie From PracownicyFilia1 Union All Select Pesel, Nazwisko, Imie From PracownicyFilia2; Operacje zwiększajace wydajność kwerend Indeksowanie sprzężonych pól po obu stronach relacji;

24 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Indeksowanie pól używanych do sortowania; Wybieranie typów pól o możliwie najmniejszym rozmiarze; Używanie wyłącznie pól niezbędnych dla zestawu rezultatów; Nie należy umieszczać pól obliczanych w zagnieżdżonej kwerendzie. Zamiast tego, obliczenia należy wykonywać na końcu sekwencji kwerend lub na formularzu i raporcie; Należy unikać korzystania z pól Grupuj według. Kwerenda podsumowująca ze sprzężeniami może być bardziej wydajna po podzieleniu jej na dwie osobne kwerendy. Pierwsza z nich wykonuje sprzężenie, a kwerenda grupująca korzysta z zestawu rezultatów pierwszej; Zazwyczaj kwerenda z kryterium po stronie Jeden powiązania jest szybsza; Formularze i Raporty zawsze działają szybciej, gdy są oparte na tabeli. Gdy to tylko możliwe, z zestawu rezultatów należy tworzyć tabelę na której opierają się formularze i raporty; Kwerendy krzyżowe działają szybciej, gdy w nagłówku kolumny nie umieszczono żadnych obliczeń. Formularze Formularze stanowią podstawowy element interfejsu użytkownika baz danych systemu Access. Formularze służą do wprowadzania danych do bazy oraz prezentowania danych użytkownikowi. Formularz reprezentuje punkt widzenia (perspektywę) użytkownika. Formularz może być oparty na więcej niż jednej tabeli (kwerendzie) i zawierać podformularze. Formularze mogą być wykorzystane również do wyświetlania komunikatów, jako okienka dialogowe lub jako panele sterujące aplikacji. Elementy formularza

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 25 Opis W sekcji szczegółów umieszczane są zazwyczaj dane pochodzące z tabeli lub kwerendy źródłowej. Nagłówek i stopka formularza zawierają informacje i formanty, które nie muszą ulegać zmianie przy zmianie rekordu. Typy formularzy Zawartość formularza jest wyświetlana w Widoku formularz w trzech możliwych postaciach (decyduje o tym właściwość Widok domyślny): Formularz pojedynczy na ekranie zostaje wyświetlony jeden rekord; Arkusz danych postać prostej tabelki jak dla arkusza danych tabeli lub kwerendy; Formularz ciagły na ekranie zostaje wyświetlony ciąg rekordów. Formularz ciagły Korzystanie z formularzy

26 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Uwagi Przy wprowadzaniu danych do pól typu Hiperłacze należy korzystać z polecenia: Wstaw Hiperła- cze... Przy wprowadzaniu danych do pól typu Obiekt OLE należy korzystać z polecenia: Wstaw Obiekt... Kreatorzy formularzy Formularz widok projekt Przybornik 1. Zaznacz obiekty Służy do zaznaczania, nadawania wymiarów, przesuwania i edytowania formantów.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 27 2. Kreator formantów Uaktywnia kreatory formantów (gdy jest wciśnięty kreator jest uaktywniany automatycznie przy wstawianiu niektórych formantów). 3. Etykieta Tworzy etykiety, które zawierają niezmienny tekst. 4. Pole tekstowe Tworzy pola tekstowe, które można połączyć z polem tabeli lub kwerendy źródłowej, lub wykorzystać do obliczeń. 5. Grupa opcji Tworzy grupę opcji, zawierającą co najmniej jeden przycisk przełącznika, przycisk opcji lub pole wyboru. Jeśli w grupie znajduje się więcej niż jeden przycisk lub pole wyboru, w danym momencie można zaznaczyć tylko jeden z nich, a wartość przypisana do tego przycisku staje się wartością grupy opcji. 6. Przycisk przełacznika Tworzy przycisk przełącznika, który przyjmuje wartości włączony ( 1)/wyłączony (0), prawda/fałsz lub tak/nie. 7. Przycisk opcji Tworzy przycisk opcji działający analogicznie do przycisku przełącznika. 8. Pole wyboru Tworzy pole wyboru działające analogicznie do przycisku przełącznika. 9. Pole kombi Tworzy pole kombi, którego lista wartości ustawiana jest za pomocą właściwości Źródło wierszy. 10. Pole listy Tworzy pole listy, której wartości ustawiane są za pomocą właściwości Źródło wierszy. 11. Przycisk polecenia Tworzy przycisk polecenia, który może uruchamiać makro lub procedurę Visual Basica. 12. Obraz Pozwala umieścić na formularzu statyczny obrazek. 13. Niezwiazana ramka obiektu Pozwala umieścić na formularzu obiekt pochodzący z innej aplikacji (np.: obrazy. dźwięki, wykresy, itp.). Obiekt staje się częścią formularza, a nie danych pochodzących z tabeli lub kwerendy źródłowej. 14. Zwiazana ramka obiektu Pozwala umieścić na formularzu obiekt OLE pochodzący z danych źródłowych. 15. Podział strony Wstawia znak podziału strony formularza. 16. Formant karta Tworzy ciąg kart, na których można umieszczać inne formanty. 17. Podformularz/Podraport Osadza w formularzu (raporcie) inny formularz (raport). 18. Linia Dodaje ozdobnik w postaci linii. 19. Prostokat Dodaje ozdobnik w postaci prostokąta. 20. Więcej formantów Otwiera okno dialogowe udostępniające formanty ActiveX.

28 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Tworzenie formularza w widoku projekt 1. Przygotowanie kwerendy będącej źródłem danych dla formularza (o ile źródłem nie jest pojedyncza tabela). 2. Utworzenie pustego formularza w widoku projekt. 3. Ustalenie źródła rekordów dla formularza (korzystając z arkusza właściwości). 4. Umieszczenie na formularzu formantów i powiązanie ich z odpowiednimi polami. Uwaga: Formanty można również umieszczać przeciągając nazwy pól z Listy pól bezpośrednio na formularz. W zależności od typu pola na formularzu umieszczany jest formant odpowiedniego typu. Korzystając z menu podręcznego i polecenia Zamień na, można łatwo zmienić typ formantu. 5. Sformatowanie formularza zgodnie z potrzebami. Właściwości formularzy Uwaga Przy ustalaniu wartości poszczególnych właściwości, na pasku stanu wyświetlana jest informacja o ich znaczeniu. Formularze z podformularzami Opis Przy tworzeniu, za pomocą kreatora formularzy, formularza opartego na tabelach pozostających w związku jeden-do-wielu można wybrać jedną z dwóch postaci generowanego formularza: formularz z podformularzem lub formularze połączone. Przygotowując kwerendę dla takiego formularza wybieramy raczej klucz obcy znajdujący się w tabeli po stronie wiele, niż klucz znajdujący się po stronie jeden.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 29 Dodawanie podformularzy Opis Do istniejącego formularza można dodać istniejący podformularz korzystając z formantu Podformularz/Podraport. Synchronizacja formularza i podformularza wykonywana jest za pomocą właściwości podformularza. Formularze oparte na wielu tabelach Opis Płaski formularz oparty na trzech tabelach (pola IDKlienta i IDPracownika są kluczami obcymi z tabeli Zamowienia. Wybranie z listy pola kombi wartość klucza obcego powoduje automatyczne uzupełnienie pozostałych wartości z tabeli nadrzędnej. Kreator przycisków wybrane etapy

30 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Pola obliczeniowe Opis Do wykonywania obliczeń na formularzu wykorzystuje się pola tekstowe. Źródłem danych dla takiego pola jest wyrażenie rozpoczynające się znakiem =. Przykłady =Format(Date();"dddd"", ""dd\ mmmm\ rrrr") =[Nazwisko] & " " & [Imie] =1,22*[Wartosc] Raporty Raporty stanowią element interfejsu użytkownika baz danych systemu Access stanowiący reprezentację informacji przygotowaną do wydruku; Raporty zawierają zarówno informacje pobrane z bazy danych, jak i wyliczone na ich podstawie. Raport może być oparty na więcej niż jednej tabeli (kwerendzie) i zawierać podraporty. Raporty umożliwiają tworzenie zamówień, faktur, etykiet adresowych, materiałów do prezentacji, itp. Raporty mają za zadanie grupowanie danych i oddzielne prezentowanie informacji z poszczególnych grup. Elementy raportu

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 31 Opis Można zdefiniować do 10 kryteriów oddzielających poziomy danych, a dla każdego poziomu oddzielny nagłówek i stopkę. Kreatorzy raportów Raport widok projekt Tworzenie raportu w widoku projekt 1. Przygotowanie kwerendy będącej źródłem danych dla raportu (o ile źródłem nie jest pojedyncza tabela). 2. Utworzenie pustego raportu w widoku projekt.

32 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 3. Ustalenie źródła rekordów dla raportu (korzystając z arkusza właściwości). 4. Ustalenie poziomów grupowania i zasad sortowania danych w raporcie (okno Widok Sortowanie i grupowanie). 5. Umieszczenie na raporcie formantów i powiązanie ich z odpowiednimi polami. (Formanty można również umieszczać przeciągając nazwy pól z Listy pól bezpośrednio na formularz.) 6. Sformatowanie raportu zgodnie z potrzebami. Sortowanie i grupowanie Pole/Wyrażenie pole lub wyrażenie, które decyduje o grupowaniu; Porzadek sortowania sposób prezentowania grupowania; Nagłówek grupy włączenie/wyłączenie nagłówka grupy; Stopka grupy włączenie/wyłączenie stopki grupy; Grupuj według określenie co będzie decydowało o grupowaniu. Właściwość ta działa łącznie z właściwością Przedział grupowania; Trzymaj razem dotyczy drukowanego raportu i sposobu rozmieszczenia danych na stronie. Tworzenie raportów uwagi Szczegóły wyglądu i funkcjonowania poszczególnych elementów raportów ustawiane są za pomocą Arkusza właściwości, podobnie jak wygląda to dla formularzy. Korzystając z formantu Podformularz/Podraport można umieścić w raporcie podraport. Może on zostać utworzony z wykorzystaniem kreatora, jak również może to być raport już istniejący. Synchronizacja raportu i podraportu wykonywana jest za pomocą właściwości podraportu. Wśród kreatorów raportów dostępny jest kreator umożliwiający generowanie etykiet adresowych.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 33 Raport przykład Raport przykład (widok projekt) Pola obliczeniowe Opis Do wykonywania obliczeń w raporcie wykorzystuje się pola tekstowe. Źródłem danych dla takiego pola jest wyrażenie rozpoczynające się znakiem =. To samo wyrażenie może dawać różne rezultaty w zależności od położenia (np. wynik sumowania jest zależny od sekcji stopki, w której umieszczono wyrażenie). Przykłady ="FAKTURA VAT NR " & [IDFaktury] =(1+[Vat])*[Wartosc] =Suma([Wartosc]) ="Strona " & [Page] & " z " & [Pages] =1 /* + ustawienie właściwości Suma bieżąca */

34 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Makra Opis Makro to ciąg akcji, które są wykonywane automatycznie i zazwyczaj są wiązane z pewnymi zdarzeniami, np.: naciśnięcie przycisku na formularzu, zmiana wartości w polu tekstowym formularza, otwarcie lub zamknięcie formularza, drukowanie raportu, początkowe otwarcie bazy danych, itp. Każda powtarzająca się czynność, którą można wykonać za pomocą opcji znajdujących się we wbudowanych menu, nadaje się do zautomatyzowania za pomocą makra. Tworzenie makr Tworzenie makra (w widoku projekt) polega na wybieraniu akcji z listy rozwijalnej i ustawianiu ich argumentów. Wykonanie akcji makra może być warunkowe, należy wówczas określić warunek jego wykonania. Możliwe jest jednoczesne zdefiniowanie grupy makr. Dostęp do konkretnego makra jest wówczas postaci: nazwa-grupy.nazwa-makra. Makra widok projekt Uwagi: Przygotowane makro można skojarzyć z dowolnych zdarzeniem formularza (raportu) lub formantu na formularzu. Skojarzenia są realizowane z wykorzystaniem zakładki Zdarzenie w Arkuszu właściwości. Wykorzystanie makr do zbudowania własnego menu

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 35 Makra vs. Visual Basic Makra Makra używamy dla niedużych aplikacji (kilka formularzy i raportów), jeżeli chcemy uniknąć pisania w Visual Basicu. Istnieją nieliczne sytuacje, gdy makra są niezbędne: przedefiniowanie akcji wywoływanych niektórymi klawiszami lub kombinacjami klawiszy, tworzenie procedur startowych uruchamianych przy otwarciu bazy danych. Visual Basic W większości przypadków makra można zastąpić procedurami pisanymi w Visual Basicu. Poza tym, umożliwia on obsługę błędów, definiowanie nowych funkcji, tworzenie nowych obiektów bazy danych, operowanie na zestawach rekordów. Użycie Basica zamiast makr zwiększa wydajność aplikacji. Moduły Moduł W bazie danych cały kod w języku Visual Basic zapisywany jest w modułach. Moduł może być tworzony jako obiekt modułu lub jako część składowa formularza lub raportu. Moduły formularzy i raportów są lepsze od modułów obiektów pod następującymi względami: Cały kod potrzebny do zautomatyzowania formularza lub raportu przechowywany jest wraz z danym formularzem lub raportem. Kod formularza lub raportu ładowany jest do pamięci tylko wtedy, gdy dany formularz lub raport są otwarte. (Obiekt modułu jest ładowany do pamięci przy pierwszym odwołaniu do którejkolwiek procedury lub zmiennej w module i pozostaje w pamięci dopóki baza nie zostanie zamknięta.) Moduły spowalniają jednak otwieranie formularzy i raportów. Okno edytora języka Visual Basic

36 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Typy danych Zmienne W kodzie Visual Basica, oprócz formantów w otwartych formularzach i raportach, można deklarować zmienne i wykorzystywać je do tymczasowego przechowywania pewnych wartości, przeprowadzania obliczeń lub operowania na dowolnych obiektach bazy danych. Typy całkowite : Byte (1B), Integer (2B, %), Long (4B, &); Typy zmiennoprzecinkowe : Single (4B,!), Double (8B, #); Typ walutowy : Currency (8B, @); Typ tekstowy : String (10B + 2B na każdy znak, $); Typ logiczny : Boolean; Data i czas : Date; Typ referencyjny : Object (referencja do dowolnego obiektu); Typ wielowariantowy : Variant (dowolne dane w tym wartość Empty, Null). Zmienne Zmienną można definiować w sposób niejawny dopisując znak typu danych przy pierwszym jej użyciu, np. i%. Jeżeli nie podamy znaku, to zmiennej przypisany zostanie typ Variant. Opcja Option Explicit wymusza deklarowanie zmiennych. Zmienne publiczne (zasięg bazy danych) deklarujemy w sekcji deklaracji modułu z wykorzystaniem słowa Public. Zmienne o zasięgu modułu deklarowane są w sekcji deklaracji modułu. Zmienne lokalne deklarowane są w ramach procedury. Jeżeli w dwóch modułach występują zmienne publiczne o tej samej nazwie, to odwołujemy się do nich następująco: nazwa-modułu.nazwa-zmiennej. Zadeklarowane zmienne są inicjalizowane podczas kompilacji. Zmienne lokalne są inicjalizowane przy każdym uruchomieniu procedury: zmienne numeryczne 0, łańcuchy o zmiennej długości, zmienna typu Variant Empty, zmienna obiektowa Nothing.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 37 Zmienne przykłady Dim zmienna As typ np. zmienna lokalna Private zmienna As typ prywatna dla modułu Public zmienna As typ publiczna Static zmienna As typ wewnątrz procedury zachowuje wartość na czas otwarcia modułu Dim nazwa-tablicy (indeks1 To indeks2) As typ Dim Wektor(1 To 5) As Integer Wektor(1) = 2 Wektor(2) = 4 itd. Dim Dane () As Double ReDim Dane(1 To 10) ustawiamy rozmiar na 10 ReDim Dane(1 To 20) tracimy starą zawartość ReDim Preserve Dane(1 To 30) zmieniamy rozmiar (tylko górny indeks) bez utraty zawartości If UBound(Dane) < 200 Then ReDim Preserve Dane(UBound(Dane) + 10) End If Typy wyliczeniowe przykład Enum DniTygodnia Niedziela = 1 Poniedzialek Wtorek Sroda Czwartek Piatek Sobota End Enum Sub Informacja() Select Case Weekday(Date) Case DniTygodnia.niedziela MsgBox "Dziś jest niedziela." Case DniTygodnia.poniedzialek... Funkcje i procedury (1) [Public Private] Function NazwaFunkcji _ (Argument1 As Typ1, Argument2 As Typ2,...) _ As TypZwracanejWartości... instrukcje

38 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 End Function [Public Private] Sub NazwaProcedury _ (Argument1 As Typ1, Argument2 As Typ2,...) _... instrukcje End Sub Wywoływanie Funkcję wywołuje się podając jej nazwę i argumenty wewnątrz wyrażenia, w którym potrzebny jest jej wynik. Procedurę wywołuje się podając jej nazwę i argumenty. Z funkcji lub podprogramu można wyjść wywołując instrukcję Exit Fun lub Exit Sub. Argumenty Argumenty opcjonalne są deklarowane z wykorzystaniem słowa kluczowego Optional. Argumenty te mogą być pominięte w wywołaniu funkcji. Argumenty opcjonalne muszą być umieszczone na końcu listy argumentów. Sposób przekazywania argumentów określamy za pomocą słów kluczowych: ByRef i ByVal (odpowiednio przekazywanie przez referencję lub przez wartość). Pierwszy sposób przekazywania argumentów jest sposobem domyślnym. Wybrane słowo kluczowe umieszcza się przed nazwą argumentu. Public Function Wzrost(X As Integer, _ Optional Ile As Integer) If IsMissing(Ile) Then Wzrost = X + 1 Else Wzrost = X + Ile End If End Function Funkcje i procedury (2) Określenie funkcji lub podprogramu jako prywatnej lub publicznej powoduje, że są one dostępne jedynie w ramach danego modułu lub we wszystkich modułach. W różnych modułach mogą występować funkcje lub podprogramy o identycznych nazwach. Aby uniknąć konfliktu nazw można stosować nazwy kwalifikowane: nazwa-modułu.nazwa-funkcji. VBA posiada wiele wbudowanych funkcji i instrukcji. VBA dostarcza również mechanizmów do obsługi błędów. Z obsługą błędów związana jest między innymi instrukcja On Error GoTo. Po GoTo występuje nazwa etykiety, którą powtarzamy (zakończoną dwukropkiem), w miejscu gdzie ma być przeniesione sterowanie.

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 39 Funkcje i instrukcje wbudowane MsgBox wyświetlenie komunikatu; InputBox okna do wprowadzenia danych; Len długość łańcucha znaków; UCase, LCase zamiana odpowiednio na małe lub wielkie litery; Left, Right n znaków od lewej lub prawej strony; Mid fragment łańcucha znaków; Str konwersja liczby na łańcuch znaków; Val konwersja łańcucha znaków na liczbę; LTrim, RTrim, Trim usunięcie zbędnych spacji; Like porównanie: łańcuch Like wzorzec; IsDate sprawdzenie czy wyrażenie można przekonwertować na datę; IsEmpty sprawdzenie czy zmienna została zainicjowana; IsNull sprawdzenie czy zmienna lub pole zawiera Null; IsNumeric sprawdzenie czy wyrażenie jest wartością numeryczną; IIf Immediate if. Instrukcje wyboru If Warunek Then blok instrukcji ElseIf Warunek2 Then blok instrukcji Else blok instrukcji End If Select Case Wyrażenie Case Wartość1 blok instrukcji dla Wyrażenie = Wartość1 Case Wartość2 blok instrukcji dla Wyrażenie = Wartość1... Case Else blok instrukcji wykonywany w innym przypadku End Select

40 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Instrukcje pętli For Licznik = Start To Koniec [Step Krok] domyślnie 1 blok instrukcji Exit For jeśli chcemy przerwać Next Licznik nazwę licznika można pominąć For Each ZmiennaObiektowa In NazwaKolekcji blok instrukcji Next ZmiennaObiektowa Do {While Until} Warunek blok instrukcji Exit Do jeśli chcemy przerwać Loop Do blok instrukcji Loop {While Until} Warunek Architektura Accessa W skład Accessa wchodzą dwa komponenty: mechanizm aplikacyjny, który nadzoruje programowanie i interfejs użytkownika oraz mechanizm bazodanowy JET DBEngine, który nadzoruje przechowywanie danych i definicje wszystkich obiektów w bazie danych. Najwyższym obiektem w hierarchii ustawianym przez mechanizm aplikacyjny jest Application, który zawiera: kolekcję Forms (otwarte formularze), kolekcję Reports (otwarte raporty), kolekcję References (odwołania biblioteczne Visual Basica), kolekcję Modules (otwarte moduły, w tym moduły formularzy i raportów), obiekt Screen i obiekt DoCmd. Każdy formularz i raport zawiera kolekcję Controls (wszystkich formantów danego formularza lub raportu). Obiekt Screen ma między innymi następujące właściwości: ActiveControl, ActiveForm, AcvtiveReport, PreviousControl. Obiekt DoCmd umożliwia wykonanie większości akcji makr z poziomu Visual Basica. Nazwy wszystkich tabel i kwerend dostępne są poprzez właściwość CurrentData. ActiveX Data Objects (1) W aplikacjach tworzonych w Access 2000 model danych jest domyślnie obsługiwany przez ADO (ActiveX Data Objects). W poprzednich wersjach był to model DAO (Data Access Objects).

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 41 Biblioteka ADO udostępnia zbiór obiektów, właściwości i metod, które służą do obsługi danych zapisanych w wielu rodzajach źródeł: Micro$oft Jet (Access), Micro$oft SQL Server, Oracle RDBMS i dowolnym innym źródle z interfejsem ODBC. ADO można wykorzystywać nie tylko w kodzie VBA, ale również w innych środowiskach (np. C++). Podstawowy model ADO (ADODB) pozwala na otwieranie zestawów rekordów i operowanie na nich za pośrednictwem obiektu typu Recordset oraz na wykonywanie kwerend funkcjonalnych lub parametrycznych za pośrednictwem obiektu Command. Rozszerzenia ADO dla modelu DDL (ADOX) pozwalają na tworzenie, otwieranie oraz operowanie na kolekcjach: Tables, Views, Procedures, Users i Groups. Operatory wykrzyknik i kropka Odwołania Do obiektu odwołujemy się poprzez jego kolekcję i nazwę. Nazwa obiektu i kolekcji oddzielane są operatorami wykrzyknik i kropka. Operator wykrzyknik oddziela nazwę obiektu od nazwy kolekcji, której obiekt jest członkiem (wskazuje na członka kolekcji). Pojawia się w półkwalifikowanych nazwach obiektów. Operator kropki oddziela każdą półkwalifikowaną nazwę obiektu w całkowicie kwalifikowanej nazwie obiektu. Innymi słowy, operator kropki wskazuje następny krok w hierarchii. Operator kropki wskazuje też właściwość lub metodę obiektu. Forms!MójFormularz Forms!MójFormularz!FormantNaFormularzu Forms!MójFormularz.WłaściwośćFormularza Forms!MójFormularz.MetodaFormularza Forms!MójFormularz!FormantNaFormularzu. WłaściwośćFormantu Ułatwienia Me słowo kluczowe, które odwołuje się do aktualnej kolekcji formantów formularza lub raportu i jest znacznie szybsze niż korzystanie z pełnego odwołania, np.: Me![Data urodzenia]. Private Sub OtworzFormularzKlienci_Click() On Error GoTo Err_OtworzFormularzKlienci_Click Dim stdocname As String Dim stlinkcriteria As String stdocname = "Klienci" stlinkcriteria = "[IDklienta]=" & Me![IDklienta] DoCmd.OpenForm stdocname,,, stlinkcriteria

42 Konstruowanie baz danych, c Marcin Szpyrka 2005/06... obsługa błędów End Sub Visual Basic przykłady (1) Private Sub Prolongata_Click() If Not (IsNull(Me!Sygnatura)) Then Me!DataWypozyczenia = Date End If End Sub Visual Basic przykłady (2) Private Sub OpisKsiazki_Click() On Error GoTo Err_OpisKsiazki_Click Dim stdocname As String Dim stlinkcriteria As String stdocname = "Ksiazki2" stlinkcriteria = "[Sygnatura]=" & " " & Me![Sygnatura] & " " If Not (IsNull(Me!Sygnatura)) Then DoCmd.OpenForm stdocname,,, stlinkcriteria End If obsługa błędów End Sub Visual Basic przykłady (3) Private Sub ZwrotKsiazki_Click() On Error GoTo Err_ZwrotKsiazki_Click Dim PolecenieSQL As String Dim Sygnat As String Dim IDCzyt As String Dim DataWyp As Date Dim DataZwr As Date

Konstruowanie baz danych, c Marcin Szpyrka 2005/06 43 If Not (IsNull(Me!Sygnatura)) Then DataZwr = Date Sygnat = Me!Sygnatura DataWyp = Me!Data_wypozyczenia IDCzyt = Forms!Czytelnicy!IDCzytelnika Visual Basic przykłady (4) if ciąg dalszy PolecenieSQL = "DELETE Wypozyczenia.Sygnatura " _ & "FROM Wypozyczenia WHERE " _ & (((Wypozyczenia.Sygnatura)= " _ & Me!Sygnatura & " ));" DoCmd.RunSQL (PolecenieSQL) PolecenieSQL = "Insert Into Historia" _ & "(Sygnatura, IDCzytelnika, " _ & "Data_wypozyczenia, Data_zwrotu )" _ & "Values( " & Sygnat & ", " & IDCzytel _ & ", " & DataWyp & ", " & DataZwr & " );" DoCmd.RunSQL (PolecenieSQL) Me.Refresh Panel sterowania przykład Opis: Możliwe jest przygotowanie formularza, który pełni rolę elementu sterującego aplikacji. Formularz jest przygotowywany w widoku projekt i nie jest zazwyczaj powiązany z żadnym źródłem danych.

44 Konstruowanie baz danych, c Marcin Szpyrka 2005/06 Ustawienia startowe aplikacji Opis: Polecenie Narzędzia Autostart... umożliwia skonfigurowanie startu aplikacji bazodanowej: określenie tytułu aplikacji, startowego formularza, ikony, itp. Jeżeli zostanie zaprojektowane indywidualne menu (odpowiednie makro) oraz ze zdarzeniem Przy otwarciu formularza, który pełni rolę panelu sterowania, skojarzone zostanie makro ukrywające paski narzędziowe, to możliwe jest niemal całkowite schowanie Accessa.