a Helion
Szalona Mrówka Z
Maciej
Groszek
ABC
Access
2003
PL
11'1
.
Helion I Szalona Mrówka Z
@IMaciej
Groszek
.
Spis tresci Wstep
7
Rozdzial 1. Od kartki do bazy danych
9
Dlaczego mam utywac komputerowej bazy danych Po co wydawac pieniadze na Accessa Zadziwiajace problemy bibliotekarki
\O 12 13
Rozdzial2. Burza mózgów i ból glowy
21
Rozdzial3. W ksiegami
23
Tabela i wszystko jasne Zalounia...
23 24
Rozdzial 4. Trzy reguly Regula1.Unikanienadmiarowosci Regula2. Jednaz kolumnmusizawieracdane unikatowe Regula3. W baziedanychmusiznajdowacsie klucz
27 27 29 30
Rozdzial 5. Ujawniamy tajemnice bazy danych Architekturabazydanych Dobieraniekluczy Siegamypo indeks Zalemoscipomiedzytabelami
31 31 32 33 34
Relacja I Relacja I
-I -N
34
35 36
RelacjaN - M Niezapowiedzianakartkówka Listatyczen Wykazdanych Tabelei relacje
36 37 38 39
Rozdzial 6. Uruchamiamy program Zatrudniamykreatora Wczytywaniebazydanych Tworzenie nowej bazy
41 42 45 0.0..
"
45
4
ABCAccess 2003 PL
Rozdzial 7. Obiekty bazy danych Tabele... Kwerendy Formularze Rapony Strony Makra Moduly ... Edycja obiektów
...
...
......
49 49 52 54 56 58 58
...
......... .........
59
60
Rozdzial 8. Tabele
63
Typy danych Ko~i z r6morodnosci Pomagamy w trudnym wyborze Tekst czy Nota Liczba Data/Godzina Waluta Autonumerowanie TaklNie Obiekt OLE
...
63 64 66 66 66 67 68 69 69 70
...
Rozdzial 9. Parametry typów danych Formatowanie tekstui not Maskiwprowadzania Regulapoprawnosci Indeksowanie Rozmiarpola Formatyliczbowe
71 73 73 74 75 76 77
Rozdzial 10. TwolZenle i edycja tabel Definiowaniepól
79 81
Indeksowanie bazy ABC edycji tabel Zmiany stnIktury tabeli Jak to zrobic
8l 82 83 84 85
Rozdzial 11. Laczenie I wczytywanie danych
87
Definiowanie
klucza.
0.00.0
0.0
Laczenie danych Importowanie danych Importowanie danych z plików tekstowych
...
0.0
o
o
88 91 95
Rozdzial 12. Eksportowanie danych Eksportowanie stnIktury tabeli Eksportowanie do innych baz danych i arkuszy Eksportowanie do plików tekstowych Eksportowaniez formatowaniem Eksportowanie ze makami rozdzielajacymi Rozdzial 13. Wyswietlanie I nawigacja Ikona Widok Widok projektu i arkusza danych Nawigacja Zamaczanie Kursor kameleon
0.0
97 98 100 100 101 102
...
105 105 106 107 108 109
5
Spis tresci
Rozdzial 14. Edycja bazy danych Otwieranietabeli ... o" Tajemniczemaczki Wpisywanie nowych danych Edycja danych Usuwanie danych Usuwaniewielu rekordów Utyteczne skróty Filtrowanie.. Filtrowanie wedlug wyboru Filtrowanie wedlug formularza Filtrowaniezaawansowaneo.. Sortowanie danych Prostewyszukiwanie Zamiana danych ......
...
".
111 111 112 113 113 113 l 13 114 115 116 117 118 119 119 120
Rozdzial 15. Relacje Definiowanierelacji..1- N" lub ..1-1
123 123
Rozdzial 16. Kto pyta, nie bladzi Kwerendy ... ... Kwerendy wybierajace Kwerendyparametryczne Kwerendy krzytowe Kwerendy funkcjonalne ......... Kwerendy SQL Tworzenie kwerendy wybierajacej Wybieranie pól z tabel
127 127 127 128 128 128 129 129 131
Kryteria
..
Tworzenie kwerendy aktualizujacej baze Tworzeniekwerendyusuwajacejrekordy
132
133 136
Rozdzial 17. Fonnularze Z czego sklada sie formularz Tworzenie formularza Tworzenie formularzaprzyutyciu polecenia Autofonnularz Tworzenie formularzaprzyuzyciu kreatora Tworzenie formularzaw widoku Projekt Instrukcja obslugi formularzy
139 140 140 140 142 145 148
Rozdzial 18. Raporty Tworzenienowego raportu... ... Tworzenieraportuza pomocaAutoraportu Tworzenieraportuza pomoca Kreatora Tworzenieraportuw widoku projektu
151 151 152 153 157
Skorowidz
159
6
ABC Access 2003 PL
Wstep Otaczajacy swiat zalewa nas mnóstwem informacji. Z drugiej strony funkcjonowanie we wspólczesnym swiecie bez tych informacji jest niemozliwe. Konieczne jest gromadzenie wiedzy, która moze okazac sie bezcenna. Gdy danych bylo niewiele, mozna bylo sobie z nimi poradzic, korzystajac z notatek i zbierajac wycinki prasowe. Obecnie to juz nie wystarcza. Nie mozna sobie wyobrazic spranego funkcjonowania supermarketu, w którym kasjerki notuja sprzedane towary w ksiazkach, a po zakonczeniu zmiany przekazuja te informacje do dzialu zamówien. To trwa stanowczo zbyt dlugo, a stan magazynu trzeba kontrolowac na biezaco. Mozliwe jest to tylko przy wykorzystaniu systemu komputerowego. Zgromadzenie danych to jednak dopiero polowa sukcesu. Aby zbiór byl uzyteczny, nalezy opracowac sposób sprawnego wyszukiwania informacji. Niektóre biblioteki maja ksiegozbiór liczacy kilkasettysiecy woluminów.Wyszukiwanieksiazki przy uzyciu fiszek moze stanowic nie lada problem. Jezeli nie jestesmy pewni np. pisowni nazwiska autora, sprawa komplikuje sie jeszcze bardziej. Jak mozna poradzic sobie z takimi problemami?
Skuteczne rozwiazania Antidotum na problemy zwiazane ze zbieraniem i wyszukiwaniem informacjijest komputerowa baza danych. Utworzyc ja mozna za pomoca programu Microsoft Access. MS Access jest narzedziem do tworzenia relacyjnych baz danych. Dzieki relacyjnosci mozliwe jest podzielenie danych na tabele. Na biezaco moga byc wczytywane do pamieci komputera tylko te tabele, które sa w danej chwili potrzebne. Redukcja obciazenia komputera powoduje wzrost szybkosci jego dzialania. MS Access umozliwiawyszukiwaniedanych za pomoca kwerend. Udostepnia tez mozliwosc generowania raportów, za pomoca których mozna nadac danym postac idealna do wydruku.
8
ABCAccess 2003 PL
Co znajdziesz w ksiazce W ksiazce opisalem: . Geneze bazdanych. . Zastosowaniaogólnodostepnych baz danych. . Problemyzwiazane z koniecznoscia przetwarzania duzych ilosci informacji. . Sposobyoptymalizacji baz danych. . Najakie czynniki warto zwracac uwage podczas projektowania bazy. Samodzielnanauke ulatwia stopniowozwiekszajacysie poziom trudnosci, liczne ilustracje orazprzyklady. Ksiazka umozliwia opanowanie: . Umiejetnoscitworzenia prostych baz danych. . Przewidywania problemów,jakie mozna napotkac podczas uzytkowania bazy. . Poslugiwania sie programem Microsoft Access 2003. Mamnadzieje,ze po jej przeczytaniuuda Ci sie usprawnic gromadzeniei wyszukiwanie informacji.Zapraszam do lektury!
Rozdzial 1.
Od kartki do bazy danych t Jezeli uwazasz, ze nie korzystalesjeszcze z bazy danych, musze Cie rozczarowac. Bazy danych sa wszedzie. Szufladki z fiszkami ksiazek w bibliotece, album z wizytówkami klientów, spis towarów, karty pacjentów w przychodni, rozklad jazdy, ewidencja pracowników, dziennik lekcyjny, ksiazka telefoniczna w telefonie komórkowym to tylko niektóre z nich. Wynalazki powstaja najczesciej po to, aby zaspokoic jakas potrzebe, ulatwic prace, przysporzyc korzysci itp. Analogicznie bylo z bazami danych. Na pewnym etapie rozwoju czlowiek zaczal doceniac role informacji. Aby ich nie zapominac, zaczal je zapisywac. Gdy tych zapisków bylo wiele, dal o sobie znac kolejny problem. Klopotliwe stalo sie porzadkowanie, aktualizacja i wyszukiwanie informacji. Zaczeto myslec nad usprawnieniem organizacji pracy z baza danych. Bardzo popularne sa bazy w postaci zapisków na papierze (rysunek 1.1). W celu ujednolicenia nadawano im postac kartoteki, tabeli itp. Wiele z nich istnieje w takiej formie do chwili obecnej. Rysunek 1.1. Najprostsza baza danych sa odreczne notatki
W miare rozwoju cywilizacji roslo zapotrzebowanie na gromadzenie informacji. Proste bazy przestaly wystarczac ich uzytkownikom. Wynalezienie komputerów umozliwilo nadanie zbiorom danych postaci elektronicznej.
10
ABC Access 2003 PL
Dlaczego mam uzywac
komputerowej bazy danych Wielu osobom latwiej jest poslugiwac sie konkretnymi przedmiotami nit pojeciami i tworami abstrakcyjnymi. Dlaczego kartoteke magazynowa, która motoa wziac do reki, ma zastapic program komputerowy? W tym rozdziale przedstawie zalety elektronicznej bazy danych, porównujac ja zjej papierowym odpowiednikiem. W dalszej czesci ksia1ki opowiem Ci o zasadach projektowania baz danych i poslugiwania sie nimi. Gdy przestana skrywac przed toba swe tajemnice, bedziesz traktowac je z równym zaufaniem, jak sprawdzona kartoteke.
Nie wszedzietrzeba stosowacelektronicznebazy danych.Liste mieszkancówbloku
-
liczacego sto lokali motoa wydrukowac na kilku kartkach bedzie doskonale spelniala swoja role. Jeteli trzeba wykonac spis mieszkanców miasta liczacego tysiac osób, a na kartce zmieszcza sie informacjeo 25 osobach,otrzymamy40-stronicowy dokument. Motoa bedzie sie nim jeszcze poslugiwac. Gdy taki sam wykaz przyjdzie nam wykonac dla miasta liczacego milion mieszkanców, uzyskamy 40 tysiecy stron. Wygoda korzystania z takiego dokumentu jest dosc problematyczna. Ile czasu zajmie jego reczne wypisanie? Jak czesto trzeba go bedzie aktualizowac? Nie motoa jednoznacznie okreslic ilosci danych, powytej której op/acalne jest stosowanie elektronicznej formy organizacji dokumentów. Gdy mamy ttudnosci z odpowiedzia na pytania dotyczace czasu wykonania bazy danych na papierze, wygody poslugiwania sie nia i latwosci wprowadzania zmian
-
warto zastanowic sie nad zastapieniem
dotychczasowych dokumentów przez ich elektroniczne odpowiedniki (rysunek 1.2). Rysunek 1.2. Zalela elektronicznej bazy danych jest mozliwosc przechowywania ogromnych ilosci informacji oraz latwego i szybldego ich porzadkowania
Jeteli baza danych jest niewielka, ale czesto trzeba tworzyc z niej rótoe zestawienia lub ja aktualizowac, mniejsza pracochlonnosc i ni1sze prawdopodobienstwo popelnienia bledu przy korzystaniu z dokumentów elektronicznych moga byc decydujacym argumentem za zastapieniem bazy papierowej przez elektroniczna. Tabela 1.1 zawiera wykaz pracowników firmy. Ma on postac jednej tabeli, w której znajduja sie nazwiska, imiona, ulice, miasta i numery telefonów.
Rozdzial1.
.
11
Od kartki do bazy danych
w kazdej kolumnie bazy danych zapisany jest tylko jeden rodzaj informacji (nazwiska, imiona, ulice, miasta, numery telefonów). Kolumna w tabeli nosi nazwe pola. W kazdym wierszu bazy danych zapisane sa informacje dotyczace tylko jednej osoby. Wierszw tabeli nosi nazwe rekordu. Tabela 1.1. Spis pracownikówfirmy i ich adres6w Nazwisko
Imie
Kowalczyk Zambito
Maryna Julia
Bider
Maria
Dyplomatyczna 12 Fortowa 12/1
Misiak
Artur
Brukowa 1/98
Siedlce
Beton
Robert
Wydawnicza 2
Karczew
Tomasz
Mateusz
Lakowa 3/7
Minsk MOl.
(025)22-22-11
Major Bromba
Grzegorz Pawel
Wojskowa 2/3 Silnikowa 2/177
Warszawa
(022)673-67-36
Bomba
Malgorzata Dariusz
Silnikowa 2/177
Coniew
ZlotejJesieni 2 Glizdowa 13/8
Los
(0)602-602-602
Willowa 2a
Wiazowa Warszawa
(0)602-603-604 (0)602-603-605
Kaczan Petarda
Ulica
Miasto
Telefon
Jajeczna8
GesiankaBorowa Warszawa
(0)501-222-666 (0)603-603-603
Otwock (025)75-75-75
Coniew
Packer
Onufry Tom
Packer
Albert
Willowa 2b
Warszawa
Kyler Puzdra
Jerzy Józef
Dmuchana 30/5
Rudka
Skalna 17
Józefów
Odorek
Radomila
Pulawska 425
Warszawa
(0)202-122
Tworzenie dokumentów wedlug okreslonych zasad ulatwia pózniejsze korzystanie z nich. W tabeli znajduje sie osoba Opersonaliach Tomasz Mateusz. Co jest nazwiskiem, a co imieniem? Jezeli przyjmiemy, ze dane wpisano we wlasciwych kolumnach, obecnosc slowa Tomasz w kolumnie Nazwisko, a slowa Mateusz w kolumnie Imie rozwieje watpliwosci. Zaleta informacji spisanych na papierze jest to, ze maja fizyczna postac. Ich obslugi nie trzeba sie uczyc. Korzystanie z takiego spisu jest intuicyjne. To jednak jedyne zalety tradycyjnej bazy danych - reszta to same wady. Informacje zapisane lub wydrukowane trudno jest zmienic. Wykazu wydrukowanego w takiej postaci,jak w tabeli 1.1 nie moma przeksztalcictak, aby rekordy zostaly ulozone w kolejnosci alfabetycznej wedlug nazwisk. Wymaga to przepisania calego dokumentu, jest zatem dosc pracochlonne i stwarza mozliwosc popelnienia bledu. Wykonanie spisu za pomoca papieru i olówka jest tansze niz zakup komputera i oprogramowania. Jezeli jednak policzymy koszty zwiazane z przepisywaniem tabeli, które bedzie wykonywane za kazdym razem, gdy zajdzie potrzeba uporzadkowania informacji wedlug innych kryteriów, okaze sie, ze po pewnym czasie koszty wprowadzenia nowej technologii zwróca sie z nawiazka.
12
ABCAccess 2003 PL Lepszym rozwiazaniemod tabelijest pokazana na rysunku 1.3 baza kartotekowa. Kazdy rekord zapisany jest na oddzielnym arkuszu. Pozwala to na sortowanie rekordów (arkuszy) wedlug dowolnego kryterium. Kazdy rekord zapisany jest na oddzielnej karcie. Informacje sa wówczas bardziej przejrzyste.
Rysunek 1.3. Kartotekowa baza danych
iska: ,ie: Maryna Uli I o: l
Mi Imie:
'et Ulic
ito
Julia ClZWlsl
!Mi ie: Maria 'el Ulica: Fortowa iasto:Otwock
12/
1
"elefon: -
Poslugiwanie sie informacjami zapisanymi w kartotece tez sprawia klopoty. Jezeli zechcemy wykonac spis telefonów, wówczas trzeba bedzie przepisac informacje zawarte w polach pierwszym, drugim i piatym. Nawet tak prosta czynnosc,jak malezienie osób mieszkajacychw danej miejscowosci moze przysporzyc wielu klopotów. Moze sie zdarzyc, ze zle przepiszemy informacje lub pominiemy rekord.
Po COwydawac pieniadze na Accessa Microsoft Access jest programem sluzacym do zarzadzania baza danych. Pozwala on na zbieranie, odzyskiwanie i prezentacje danych. Gdy w elektronicmej bazie danych zostana zapisane dane o pracownikach z tabeli 1.I, bedzie mozna posortowacja alfabetyczniewedlug nazwisk pracowników, wybrac osoby mieszkajace wjednym miescie, sporzadzic liste numerów telefonów itp. Zastanówmy sie, czy nie mozna by wykonac tabeli np. w edytorze Word. Pozwala on przeciez na tworzenie tabel, wpisywanie danych i ich sortowanie, przenoszenie rekordów i kolumn oraz drukowanie przygotowanych danych. Edytor tekstowy pozwala jednak na zbudowanie bazy danych skladajacej sie tylko z jednej tabeli. Ma ona postac zblizona do kartoteki i zwana jest baza plaska lub Iwr10lelwwa. Wpisanie danych do dokumentu Worda jest oczywiscie macznym krokiem do przodu w stosunku do poslugiwania sie przepisywana recmie tabela lub kartoteka. Do wielu zastosowan Word bedzie dostatecmie dobrym narzedziem, jednak gdy danych zacznie przybywac, nawet ten program moze okazac sie niewystarczajacy. Access jest narzedziem macmie bardziej zaawansowanym
-
dane zapisane sa w od-
dzielnychtabelach.Wykonujacspistelefonów,nie musimypracowacz jednym,olbrzymimplikiem,zawierajacymwszystkieinformacje,które udalonam sie zebrac.
13
Rozdzlal1. + Od kartki do bazy danych
Edytor tekstów mozna zaadaptowac do przetwarzania danych, nie jest on jednak pod tym katem zoptymalizowany. W Accessie dane mozna wpisywac, korzystajac z formularzy, czyli okien z odpowiednio opisanymi polami. Sa one bardziej przejrzyste niz tabela z wieloma komórkami. Do wybierania informacji z bazy danych sluza zapytania i raporty. Zmudna prace pobierania danych wykonuje komputer uzytkownik musi jedynie podac kryteria wyszukiwania. Nie ma zatem mozliwosci popelnienia pomylki.
-
Zalety Accessa w porównaniu z Wordem staja sie coraz bardziej widoczne wraz ze wzrostem ilosci danych zgromadzonych w bazie. Mozliwe jest zapisanie ich w wielu tabelach, co powoduje zredukowanie ilosci przetwarzanych informacji do niezbednego minimum. W dobrze zaprojektowanej bazie powinna powtarzac sie tylko minimalna ilosc danych. Dzieki temu miejsce na nosniku oraz moc obliczeniowa komputera zuzywane sa tylko do tego, co rzeczywiscie jest potrzebne - do przetwarzania unikatowych informacji. Powiazania miedzy tabelami zapewniane sa przez relacje. Gdy zajdzie potrzeba, mozna - laczacposzczególnetabelepowiazanerelacjami- wygenerowac supertabele, zawierajaca wszystkie zebrane informacje. Bazy tworzone w postaci powiazanych relacjami tabel nosza nazwe relacyjnych baz danych.
Zadziwiajace problemy bibliotekarki Typowa baza danych jest katalog ksiazek w bibliotece (rysunek 1.4). Utworzymy ja za pomoca edytora Word. Bazie nadamy postac tabeli. Rysunek 1.4. Spokojna biblioteko jest miejscem, w którymprzy okazji komputeryzacji rozegra sie burza mózgów
Wykonanie bazy rozpoczniemy do wyspecyfikowania danych, które powinny znalezc sie w bazie. Pomocna moze byc w tym karta katalogowa ksiazki, dostepna na stronie ksiegami internetowej (rysunek 1.5).
14
ABC Access 2003 PL
Rysunek 1.5. Informacje identyfilaJjace ksiazkf
ID 11
Windows XP PL.
Podstawy obslugl systemu AWJr: PkIb cz.ry I8BN:8).1111.U5-6 fOtmat85. non:'208
WindOWS "I:IH!aotUm I,~ij'.
lll.oo1l
.~:l.oI,J.""~'.Y_"'~!. ,
Uon.pI
~,~
1X.i\h!~Jzglot.rt'II" pOillformuJlnajom&go:oksl~. .~oplt'op;si'plalfrici
W bazie danych umiescimy: numer ISBN, tytul ksiazki, imie i nazwisko autora, nazwe wydawnictwa oraz cene ksiazki. Informacje te stanowia niezbedne minimum. Imie i nazwisko umiescimy w róznych polach
-
dzieki temu bedziemy miec mozliwosc
sortowaniaksiazekwedlugnazwiskichautorów. Dodamy równiez skrócona nazwe, identyfikujaca autora. Utworzymy ja z pierwszych liter imienia i pierwszych liter nazwiska. Istnienie skróconego identyfikatora autora moze w istotny sposób ulatwic wyszukiwanie
wystarczy podac identyfikator.
-
zamiast wpisywac dlugie nazwisko,
Niekiedy autorzy, chcac otrzymywac listy od Czytelników, zamieszczaja w ksiazkach adres poczty elektronicznej lub skrytke pocztowa. W bazie utworzymy zatem miejsce na wpisywanieadresu kontaktowego.Jezeli autor nie podaje swoich danych, listy mozna zwykle przesylac na adres wydawnictwa. Kolejnymi informacjami, które umiescimy w bazie danych, sa: nazwa wydawnictwa, jego dane kontaktowe oraz skrócona nazwa wydawnictwa. Skrócona nazwa uchroni nas przed koniecznoscia wpisywania calej nazwy przy wyszukiwaniu danych. W ostatnim polu wpiszemy jeszcze cene ksiazki. Baza danych wykonana wedlug powyzszych zalozen ma postac tabeli 1.2. Wiekszoscoperacji zwiazanych z baza mozna wykonywac, poslugujac sie menu Tabela. Znajduja sie w nim polecenia umozliwiajacedodawanie oraz usuwanie pól i rekordów. W menu Tabela znajduje sie równiez polecenie umozliwiajace sortowanie danych. Wystarczy zaznaczyc tabele, wybrac polecenie Sortuj, a nastepnie okreslic kryteria wykonywania sortowania. Gdy baza liczy kilkaset rekordów, moze byc zapisana w jednej tabeli. Poslugiwanie sie nia nie nastrecza wiekszych trudnosci. Wpisywanie nowych informacji bedzie jednak powodowalo wzrost objetosci pliku, czego konsekwencja bedzie wydluzenie czasu wykonywania kazdej operacji. Z jaka liczba rekordów mozemy zetknac sie w praktyce? Ksiegozbiór Biblioteki Narodowej -
przy uwzglednieniu tylko ksiazek wydanych po roku 1979
tysiace pozycji (rysunek 1.6).
-
liczy okolo 302
15
Rozdzial1. . Od kartki do bazy danych .1
Rysunek 1.6. Rozmiar bazy danych duzej bibliotek;
'> ~~
,,=.
r:~J,~,!l
-....---..--....--. ._,..., ,.,,..._---
Ihnci~l...,_-l--!~..z..w..~..... Wl(O.n)~.I, ot To jeszcze nie jest maksymalny rozmiar bazy danych. Ksiegozbiór Biblioteki Kongresu USA liczy ponad 16 milionów ksiazek. Przy tak duzych rozmiarach baz danych konieczne jest zoptymalizowanie zapisanych w nich informacji. Jedna z metod jest podzial wielkiej tabeli na mniejsze. Wszystkie dane sa nadal zapisane w bazie,jednak przy pobieraniu informacji wczytywane sa tylko tabele niezbedne do wykonania bietacego zadania. Spójrz na tabele 1.2.Niektóre umieszczone w niej dane powtarzaja sie. Naleta do nich np. nazwy i numery telefonów wydawnictw. Nazwa i telefon wydawnictwa Helion wystepuja 5 razy, odpowiednie dane wydawnictwa Media Rodzina 4 razy, wydawnictwa Amber - 3 razy, zas wydawnictwa MULTlCO 2 razy. W dobrze zaprojektowanej bazie dane powinny pojawiac sie minimalna liczbe razy. Co prawda powtarzalnosc niektórych informacji jest nieunikniona, jednak istotne jest, aby baze bez szkody dla jej funkcjonalnosci - maksymalnie "odchudzic".
-
-
-
Dla uzytkownika bazy danych istotne moze byc wyszukanie: 1. Ksiazki na podstawie tytulu lub numeru ISBN. 2. Wszystkich ksiazek jednego autora. 3. Wszystkich ksiazek jednego wydawnictwa. Powinnismy zatem podzielic tabele 1.2 na nastepujace tabele: 1. Ksiazki
-
zawiera ISBN, tytul, identyfikator wydawnictwa
oraz cene ksiazki
(tabela \.3). 2. Autorzy - zawiera identyfikator, imie, nazwisko i dane kontaktowe autora (tabela 1.4). 3. Wydawnictwa- zawiera identyfikator, nazwe i dane kontaktowe wydawnictwa (tabela 1.5).
4.Autor ksiazki -
zawiera powiazaniepomiedzy numerem ISBN i identyfikatorem autora (tabela 1.6).
ABC Access 2003 PL
16 Tabela 1.2. Bazo danych ksiegozbioru AUlmle
AuNazwlsko
AuKod
83.7311.367.3 Bajki Natalki. Pan kon, czyli bajki dla zrebiat 83.237-0485-6 Barbie. Wyscigi konne
Jerzy
Dabrowski
JeDa
83-7197-463-9
Dariusz
Dorozinski
DarDor
ISBN
Tytul
Hakerzy. Technoanarchisci cyberprzestrzeni
83-7073-094-9
Jazda konna
Christiane
Gohl
ChiGo
83-7073-33l-X
Kon zdrowy jak...
Bo_a
BoUrCza
83-89064-14-6
Kon zwany Cieniem
Alison
UrbaniakCzajka Hart
83-241-0042-3
AliHar
Lecmicza moc zwierzat
Alan
Forman
AIFor
83-85594-66-3
Nie kucajw ostrogach
Texas
Bender
TexBen
83-7278-043-9
Czego ucza nas konic
Monty
Roberts
MonRob MonRob
83-85594-65-5
Czlowiek, który slucha koni
Monty
Roberts
83-7278-006-4
Shy Boy. Kon, który porzucil wolnosc
Roberts
MonRob
83-241-IIJI-X
Moje spotkania z UFO
Monty Marina
83-241-1120-4
Jak wychowac sobie rodziców
Pete
Popowicz Johnson
MarPop PetJon
83-7361-142-8
CorelDRAW Graphics Suite II PL. Kompendium
Boleslaw
Ogórek
BolOg
83-7361-102-9
Allegro. Aukcje internetowe w praktyce
Boleslaw
Ogórek
BolOg
83-7197-845-6
Windows XP PL. Podstawy obslugi systemu
Piotr
Czarny
PioCza
83-7197-973-8
Odzyskiwanie danych w praktyce
Piotr
Czarny
PioCza
Tabela Ksiazki zawiera informacje Oksiazkach. W tabeli Autorzy zapisane sa informacje o kazdym z autorów, które nie poWtarzaja sie. Jezeli kontakt z kilkoma autorami jest mozliwy za posrednictwem tego samego wydawnictwa, wówczas jego numer telefonu wystepuje w tabeli wiecej niz raz.
Tabela Wydawnictwa zawiera spis wydawnictw. Numer telefonu do kazdego z nich wystepuje tylko raz. W tabelach od 1.3 do 1.5 brak jest informacji o tym, kto jest autorem danej ksiazki. Nalezy zatem dodac tabele Autor ksiazki, zawierajaca brakujace dane. Mimo podzialu informacji na tabele nadal wystepuja w nich powtarzajace sie dane. Naleza do nich np. kod wydawnictwa i kod autora. Istnienie powtórzen jest jednak niezbedne, aby zachowac spójnosc pomiedzy danymi.
17
Rozdzial 1. . Od kartki do bazy danych
AuKontakt
+48 22) 838-41-00 (+4832) 230-98-63
WydKod
Cena
Hubert
29 zl 9 zl
(+4832) 230-98-63
EgmontPL HelionPL
39 zl
WydNazwa Hubert
WydKontakt
Egmont Polska Helion
(+4822) 838-41-00
-
(+4822) 832-23-56
MULTlCO. Oficyna Wydawnicza
(+4822) 832-23-56
MulticoPL
40 zl
(+4822) 832-23-56
MULTICO, Oficyna Wydawnicza C&T
(+48 22) 832-23-56
MulticoPL
43 zl
-
C&T
14 zl
(+4822) 620-40-61
Amber
(+4822) 620-40-61
Amber
11 zl
(+4861) 827 08 60
MediaRodzina
(+4861) 827 08 60
MedRo
9 zl
(+4861) 827 08 60
MediaRodzina
(+4861) 827 08 60
MedRo
29 zl
(+4861) 827 08 60
MediaRodzina
(+4861) 827 08 60
MedRo
29 zl
(+4861) 827 08 60
MediaRodzina
(+4861) 827 08 60
MedRo
69 zl
(+4822) 620-40-61
Amber
(+4822) 620-40-61
Amber
21 zl
(+4822) 620-40-61
Amber
(+4822) 620-40-61
Amber
18 zl
(+48 32) 230-98-63
Helion
(+4832) 230-98-63
HelionPL
29 zl
(+4832) 230-98-63
Helion
(+4832) 230-98-63
HelionPL
15 zl
(+4832) 230-98-63
Helion
(+4832) 230-98-63
HelionPL
19 zl
(+4832) 230-98-63
Helion
(+4832) 230-98-63
HelionPL
29 zl
Czy korzysci,jakie daje dzielenie danych na tabele sa na tyle duze, aby warto bylo zadawac sobie zwiazany z nim trud? W przypadku tabeli liczacej 17 pozycji nie jest to oczywiste. Projektujac baze danych, powinnismy jednak wybiegac myslami w przyszlosc. Wtedy uda nam sie stworzyc baze, która bez poprawek bedzie mogla funkcjonowac kilka la!. Zalózmy, ze do bazy danych Biblioteki Narodowej, obejmujacej informacje o ksiazkach wydanych po roku 1979 musimy dodac jedno pole. W polu tym zapisany bedzie adres wydawnictwa. Zalózmy dla przykladu, ze w bazie znajduja sie ksiazki wydane przez 5 tysiecy wydawnictw. Jezeli informacje taka dodamy do tabeli, która zawiera wszystkie informacje (patrz tabela 1.2), wówczasadres wydawnictwabedzie musial byc wpisany przy kazdej ksiazce. Bedzie on powtórzony tyle razy, ile ksiazek wydalo wydawnictwo~
18
ABC Access 2003 PL
T&bela1.3. Tabela Ksiazld ISBN
Tytul
WydKod
Cena
83-7311-367-3
Bajki Natalki. Pan kon, czyli bajki dla trebiat
Hubert
29 zl
83-237-0485-6
Barbie. Wyscigi konne
9 zl 39 zl
83-7197-463-9
Hakerzy. Technoanarchisci cyberprzestrzeni
EgmontPL HelionPL
83-7073-094-9
Jazdakonna
MulticoPL
40z1
83-7073-33l-X
Kon zdrowy jak...
MulticoPL
43 zl
83-89064-14-6
Konzwany Cieniem
C&T
14 zl
83-241-0042-3
Lecmicza moc zwierzat
Amber
llzl
83-85594-66-3
Nie kucajw ostrogach
MedRo
9 zl
83-7278-043-9
Czego ucza nas konie
MedRo
29z1
83-85594-65-5
Czlowiek. który slucha koni
MedRo
29z1
83-7278-006-4
Shy Boy. Kon. który porzucil wolnosc
MedRo
69 zl
83-241-II3I-X
Moje spotkania z UFO
Amber
21 zl
83-241-1120-4
Jak wychowac sobie rodziców
Amber
18 zl
83-7361-142-8
Core1DRAW Graphics Suite 11 PL. Kompendium
HelionPL
29 zl
83'7361-102-9
Allegro. Aukcje internetowew praktyce
HelionPL
15 zl
83-7197-845-6
Windows XP PL. Podstawy obslugi systemu
HelionPL
19 zl
83-7197-973-8
Odzyskiwanie danych w praktyce
HelionPL
29 zl
T&bela1.4. Tabela Aulorzy
-
AUlmie
AuNazwisko
AuKod
AuKontakt
Alan
Fonnan
AIFor
(+4822) 620-40-61
Alison
Hart
AliHar
Boleslaw
Ogórek
Christiane
Urbaniak-Czajka Gohl
Bo10g BoUrCza
(+48 32) 230-98-63
Botena
ChiGo
(+48 22) 832-23-56
Dariusz
Dorozinski
DarDor
(+4832) 230-98-63
Jerzy Marina
Dabrowski
JeDa
Popowicz Roberts
MarPop MonRob
(+4861) 827 08 60
Johnson
Pel10n
(+4822) 620-40-61
Czarny Bender
PioCza
(+48 32) 230-98-63
TexBen
(+4861) 827 08 60
Monty Pete Piotr Texas
(+48 22) 832-23-56
(+4822) 620-40-61
Tymczasem pole w tabeli zawierajacej jedynie dane wydawnictw bedzie zawieralo tylko 5 tysiecy wpisów. Adres kazdego wydawnictwa bedzie zapisany tylko raz. Zalózmy, ze pole adresu zawiera srednio 80 znaków.
19
Rozdzla/1. + Od kartki do bazy danych Tabela 1.5. Wydawnictwa WydNazwa
WydKontakt
WydKod
Amber
(+4822) 620-40-61
Amber
C&T
C&T
Egmonl PolskaHelion
(+4822) 838-41-00 (+4832) 230-98-63
EgmontPL HelionPL Hubert
Hubert Media Rodzina
(+4861) 827 08 60
MedRo
MULTICO. Oficyna Wydawnicza
(+4822) 832-23-56
MulticoPL
Tabela 1.6. Tabela Autor ksiazld ISBN
AuKod
83-7311-367-3
leDa
83-237-0485-6 83-7197-463-9
DarDor
83-7073-094-9
ChiGo
83-7073-331-X
BoUrCza
83-89064- 14-6
AliHar
83-241-0042-3
AIFor
83-85594-66-3
TexBen
83-7278-043-9
MonRob
83-85594-65-5
MonRob
83-7278-006-4
MonRob
83-241-1I31-X 83-241-1120-4
MarPop Pellon
83-7361-142-8
BolOg
83-7361-102-9 83-7197-845-6
BolOg PioCza
83-7197-973-8
PioCza
Po podziale tabeli o strukturze takiej, jak tabela 1.2, na mniejsze tabele zredukujemy 302 000 - 5 000 = 297 000 powtórzen adresów. W ten sposób baza danych zostanie odchudzona o 297 000.80
= 23,76 miliona znaków.
W wykorzystywanym przez Microsoft Access systemie Unicode na zapisanie kazdego znaku potrzeba 2 bajty. Oszczednosc po przeliczeniu na bajty wyniesie okolo 48 MB. Pamietaj, ze jest to oszczednosc uzyskana tylko w przypadku jednego pola! Liczby mówia same za siebie. Aby uniknac klopotów w przyszlosci, nalezy, projektujac baze danych, miec na uwadze wzrost ilosci gromadzonych informacji (rysunek 1.7).
20 Rysunek 1. 7. Komputer bedzie dzialal znacznieszybciej. jesli nie kazesz mu
wykonywac zbednej pracy
ABC Access 2003 PL
Rozdzial 2.
Burza mózgów i ból glowy W poprzednim rozdziale omówilismy zasady projektowania baz danych. Przeanalizowalismy celowosc podzialu pojedynczej tabeli na wiele tabel. Wydawaloby sie, :te juz nic nie mo:te nas zaskoczyc. Nawet najsumienniej przemyslany projekt majakies niedociagniecia, dlatego niezbedne jest przetestowanie go (rysunek 2.1). Najwiecej bledów ujawnia sie w poczatkowym okresie uzytkowania. Stopniowo liczba wykrywanych usterek maleje nie oznacza to jednak, :te baza danych jest calkowicie poprawna.
-
Rysunek 2.1. Dopiero w trakcie wykonywania pracy wychodza na jaw bledy projekJu
Wrócmy do tabeli 1.2. Czy rzeczywiscie przewidzielismy juz wszystkie rodzaje informacji, które moga byc istotne przy opisie ksiazki? Przy tytule kazdej ksiazki mozna wpisac nazwisko autora. Co zrobic, gdy ksiazka ma kilku autorów? Jak opisac ksiazke, która zostala przetlumaczona na jezyk polski? Istnieje kilka rozwiazan. Mo:temy dla kazdej ksiazki utworzyc tyle rekordów, ilu ma ona autorów. Wada tego rozwiazania jest nadmiarowosc danych. Wszystkie informacje o ksiazce nalezy powtórzyckilka razy - wielokrotniewystapi np. ten sam numer ISBN.
22
ABC Access 2003 PL
Jest to dzialanie niepoprawne. Powinnismy zatem dodac do bazy kolejne pole. Bedzie w nim wpisany numer porzadkowy woluminu. W polu tym nie beda mogly wystepowac powtórzenia. Aby nie powielac wpisów dotyczacych jednej ksiazki, moma pozostac wiernym zasadzie
-
,jedna ksiazka jeden rekord". W tym przypadku nalety utworzyc dodatkowe pola na imie i nazwisko kazdego autora lub tlumacza. Jednak to rozwiazanie równiez ma wady. Niejestesmy w stanie przewidziec, ilu maksymalnie autorów moze miec ksiazka. Zaprojektowanie duzej liczby pól, które rzadko beda wykorzystane, jest równiez marnotrawieniem miejsca. Rozwiazaniem, które nie powoduje zwiekszenia liczby kolumn lub wierszy jest wpisanie wszystkich personaliów w jednej komórce. Ucierpi na tym jednak funkcjonalnosc bazy - nie bedziemy w stanie sporzadzic spisu autorów. Niektóre ksiazki maja kilka wydan, rózniacych sie numerem ISBN. Trudno jednak wymagac od uzytkownika katalogu bibliotecznego, aby porównywal ciagi cyIT.Trzeba zatem dodac pole z informacja o numerze wydania. Skoro porzadkujemy ksiazki chronologicznie, warto równiez dodac pole z informacja o roku wydania. W przypadku beletrystyki nie jest to informacja istotna, lecz ma ona zupeluie inne znaczenie dla literatury technicznej i popularnonaukowej. Istotny moze byc równiez format ksiazki i liczba stron. Innego ujecia materialu mozna spodziewac sie np. po historii sredniowiecza liczacej sto stron formatu B6, a innego po tysiacstronicowymopracowaniuformatuA4. Powinnismyzatem dodacjeszcze dwa pola. Informacje zawarte w bazie danych musza byc aktualne - nalety je zmieniac na biezaco. Jezeli korzystac bedziemy z jednej wielkiej tabeli, a zmianie ulegna dane kontaktowe autora lub wydawnictwa, bedziemy wówczas zmuszeni poprawic je we wszystkich rekordach. Wystarczy, ze którys z nich pominiemy lub popelnimy w nim pomylke, a baza przestanie spelniac swoje zadanie. Zamiast informowac, bedzie wprowadzac w blad. Ten argument równiez przemawia za podzialem bazy na wiele tabel. Jesli dane, któretrzeba zmienic, beda wystepowalywjednym miejscu,latwiejustrzezemysie bledu. Jezeli ksiazka zginie, nalety usunacja z ksiegozbioru. Usuwajac kolejne ksiazki, nalezy pamietaco tym, ze gdy w bazie danych nie bedzie zadnej ksiazkijakiegos wydawnictwa, znikna równiez jego dane. Jak wynika z powyzszego opisu, baze danych mozna udoskonalac w nieskonczonosc. Mozemy byc pewni tylko jednego - zawsze moze zdarzyc sie sytuacja, której nie przewidzielismy.Nie chce przez to powiedziec, ze powinnismy traktowac projekty jako prowizorke. Im wiecej pracy wlotymy w opracowanie zalozen, tym mniej bedziemy mieli klopotów z poprawianiem bazy. Im bardziej projekt bedzie elastyczny, tym mniejsza ingerencjaw cala strukture bazy bedzie koniecznaw przypadkudokonywaniazmian. Baza danych jest matematycznym modelem tTagmentu rzeczywistosci. Forma, jaka nadajemy informacjom, jest zoptymalizowana tylko pod katem przetwarzania ich w komputerze. Struktura bazy danych powinna odzwierciedlac zlozonosc otaczajacego nas swiata.
Rozdzial 3.
W ksiegarni Baza danych nie ma jednej, idealnej, uniwersalnej struktury. W poprzednich rozdzialach zastanawialismy sie, jakie informacje potrzebne sa w bibliotece. Analizowalismy strukture bazy danych ksiegozbioru, jej podzial na tabele i wynikajace stad korzysci. Na temat tych samych przedmiotów
-
ksiatek
-
sprzedawca bedzie zbieral inne
informacjenit bibliotekarz(rysunek3.1). Rysunek 3.1Spójrzmy na te sameprzedmioty z drugiej strony Jady
Tabela i wszystko jasne Poczatek pracy nad baza danychjest zawsze taki sam. Powinnismy zadac sobie pytania: . Jakiego rodzaju informacje bedziemy przechowywac w bazie? . Czego oczekujemy od bazy? . Jakie informacje bedziemy wydobywac z bazy?
ABC Access 2003 PL
24
Bazamusibyc wiarygodna.Nie mozemydoprowadzicdo sytuacji,w którejodczytane dane bedzie mozna interpretowac na kilka sposobów. Prowadzac zapiski w zeszycie, mozemypo transakcjizanotowacnp.:Dnia9-1-03 Kowalski kupil ksiazke CorelDRAW Graphics Suite 11 PL. KoaJendiumw firmie Ksiazki SA.Infonnacja zawarta w tej notatce jest taka sama, jak ta: Dnia 9-1-03 firma Ksiazki SAsprzedala Kowalskienu ksiazke CorelDRAW Graphics Suite 11 PL. Kompendium. Przyjrzyj sie jeszcze raz tym zapisom. Oba zawieraja te sama infonnacje, ale i ten sam blad. Z notatek nie wynika, czy zakupu dokonano pierwszego wrzesnia czy dziewiatego stycznia. W praktyce mozemy spotkac sie z obiema notacjami. Jezeli zamiast prowadzic luzne notatki, podzielimy kartke na kolumny i zaznaczymy, w jaki sposób maja byc wpisywane daty unikniecie pomylki powinno byc mozliwe. Zapis dd-rrm-rr oznacza, ze kolejno wpisywane sa: dzien miesiaca, miesiac oraz dwie ostatnie cyfty roku. Poszczególne czlony daty oddzielane sa myslnikiem (rysunek 3.2).
-
Rysunek 3.2. Tabela bazy danych
Th\o """'I'" ldd-_-~- .".. Cq-Q-!.--:,)J
W ten sposób utworzylismy tabele bazy danych. Nadala ona uporzadkowana fonne zebranym infonnacjom. Poniewaz w poszczególnych kolumnach bedziemy zapisywac infonnacje tego samego typu, mozemy je nazywac polami. W jednym wierszu bedzie znajdowala sie infonnacja o jednej transakcji. Wiersze mozemy wiec zwac rekordami.
Zalozenia W tym rozdziale przyjmiemy juz za pewnik, ze dobra baza danych musi byc baza relacyjna. Dane powinny byc podzielone na tabele. Spójnosc systemu zapewniaja polaczenia logiczne nosza one nazwe relacji.
-
Podczas projektowania bazy infonnacje nalezy pogrupowac w tabelach. Trzeba równiez okreslic relacje, które posluza do polaczenia danych.
W porównaniu z notatkami odrecznymi zwiekszymy liczbe gromadzonych infonnacji. Baza ma byc odzwierciedleniem rzeczywistosci. Na jej podstawie osoba, która nie byla obecna przy danej transakcji, powinna miec mozliwosc uzyskania wszystkich danych najej temat. Wazna infonnacjajest dala sprzedazy. Jezeli dostaniemy kolejna ksiazke o podobnej tematyce, a od poprzedniego zakupu uplynal juz jakis czas, mozemy zaproponowac klientowi nowa pozycje.
25
Rozdzial3. . W ksiegarni
Oprócz nazwiska klienta moze byc nam potrzebny jego adres. Pod ten adres bedziemy wysylac paczki z ksiazkami i katalogi z nowosciami. W kolejnych rubrykach bedziemy wpisywac tytul ksiazki, cene jednostkowa oraz liczbe sprzedanych egzemplarzy. W bazie danych powinny znalezc sie wiec nastepujace pola (tabela 3.1): Tabela 3.1. Niezbedne pola tabeli
Data zakupu
Kupujacy
Adres kupujacego
Tytul ksiazkl
Cena jednostkowa
Uczba egz.
Najlepszym sprawdzianem bazy jest weryfikacja zalozen w praktyce. Zaczniemy od najprostszej czynnosci
-
wpisania kilku rekordów.
Musimy odnotowac w bazie fakt, ze kilku klientów dokonalo zakupów w ksiegarni (tabela 3.2). Tabela 3.2. Tabelaz danymi Data Kupujacy Adres kupujacego zakupu 9-1-03 Ul. Pulawska 997/1 Tomasz
Kowalski
02-514 Warszawa
9-8-03
Tomasz Kowalski
Ul. Pulawska 997/1 02-514 Warszawa
9-8-03
Dariusz Malinowski
Ul. Etiudy 7/841 04-510 Warszawa
Tytul ksia1ki
Cena jednostkowa
Uczba egz.
CorelDRAW
29,00
,
Graphics Suite II PL. Kompendium Core' PHOTOPAINTI1. Cwiczenia
15,90
Core' RAVE. Cwiczenia praktyczne
12,00
Jak nalezy rozumiec wpisy? Pierwszego wrzesnia klient Kowalski kupil jedna ksiazke. Po tygodniu ten sam klient nabyl nastepna pozycje. Ósmego wrzesnia przyszedl równiez drugi klient - byl nim pan Malinowski. On równiez kupil jedna ksiazke. Spójrz na baze danych. Personalia klientów zostaly wpisane w jednym polu. Caly adres równiez mozna podzielic na ulice wraz z numerem domu i mieszkania, kod oraz adres. W tabeli dwa razy wystepuje adres pana Kowalskiego. Struktura bazy jest tak zaprojektowana, ze kazdy zakup dokonany przez tego samego klienta bedzie powodowal powtórzenie jego danych. Konsekwencja takiego rozwiazania jest nadmierna objetosc bazy danych. Ponadto wpisujac te same dane wiecej niz raz, mozemy sie pomylic. Blad uniemozliwi wygenerowanie raportu o liczbie ksiazek sprzedanychjednemu klientowi. Ten sam tytul ksiazki moze byc kupowany wielokrotnie. Przy kazdej transakcji bedzie on powtarzany. Tabele nalezy zatem podzielic na trzy mniejsze. W jednej beda zapisane dane Idientów (tabela 3.3), w drugiej beda notowane transakcje (tabela 3.4), natomiast trzecia bedzie cennikiem towarów (tabela 3.5).
ABC Access 2003 PL
26
Tabela 3.3.Dane o klientach IDkI
Iml,
Ulica
Kod
Miasto
I
Tomasz Kowalski
Nazwisko
Ul. Pulawska 997/t
02-514
Warszawa
2
Dariusz Malinowski
Ul. Etiudy 7/841
04-510
Warszawa
Tytul kslatkl l 2 3
Uczbaegz.
Kraj Polska Polska
Tabela 3.4. Dane o sprzedazy Data zakupu
Idkl
9-1~3
I
9-8-03
I
9-8-03
2
Tabela 3.5. Dane o ksiazkach
IOtow
Tytul kslaikl
Cena jednostkowa
I 2 3
CoreIDRA W
29,00 15,90 12,00
Graphics Suile II PL Kompendium
Corel PHOTO-P AINT II. Cwiczenia Corel RA VE. Cwiczenia praktyczne
Co mozemy powiedziec o nowej postaci tabel? Sa one mniej przejrzyste dla czlowieka nit jedna, duta tabela. Dzieki podzialowi na mniejsze tabele udalo sie jednak wyeliminowac wiele powtórzen infonnacji. Tabele 3.3 motoa nazwac zestawem danych o klientach. Tabela 3.5 jest cennikiem, natomiast w tabeli 3.4 zapisane sa zdarzenia wybrania jakiejs pozycji z cennika przez klientów.
Rozdzial 4.
Trzy reguly W poprzednich rozdzialach przeanalizowalismy strukture kilku baz danych. Zastanawialismy sie nad sposobem ich optymalizacji. Na tej podstawie mozna sformulowac trzy ogólne reguly. Nalezy stosowac je przy projektowaniu baz danych (rysunek 4.1). Rysunek 4.1. Kazda baza danych
-
niezaleznie od dziedziny, kJórej dotyczy powinna spelniac identyczne wymogi
-
Regula 1. Unikanie nadmiarowosci Dane zajmuja miejsce na nosniku i w pamieci komputera. Wraz ze wzrostem ich ilosci wydluza sie czas wykonywania operacji. Tabela 4.1 zawiera wszystkie informacje o transakcji. Mozemy sie z niej dowiedziec, kto, co i kiedy nabyl. Przy kazdym zakupie dokonywanym przez te sama osobe jej dane sa powtarzane. W bazie nalezy zatem wyszukac powielone informacje i postarac sie umiescic je w oddzielnej tabeli. Eliminacjepowtarzania danych uzyskamy przez utworzenie tabel Klienci oraz Sprzedaz. Tabela Klienci bedzie zawierala dane klientów. W tabeli Sprzedaz beda zawarte informacje o dokonanych zakupach (tabele 4.2 i 4.3).
28
ABC Access 2003 PL
Tabela 4.1. Tabela z danymi Data zakupu
Kupujacy
Adres kupujacego
Tytul ksiatki
Cena jednostkowa
Uczba egz.
9-13
Tomasz Kowalski
Ul. Pulawska 997/1 02-5]4 Warszawa
29,00
I
9-83
Tomasz Kowalski
Ul. Pulawska 997/1 02-514 Warszawa
CorclDRAW Graphics Suite I] PL. Kompendium Corcl PHOTO-PAlNT 11. Cwiczenia
9-83
Dariusz Ul. Etiudy 7/84] Malinowski 04-510 Warszawa
Corcl RAVE. Cwiczenia praktyczne
12,00
15,90
Tabela 4.2. Klienci lOki
Iml\,
Nazwisko
Ulica
Kod
Miasto
I
Tomasz
Kowalski
Ul. Pulawska 997/1
02-514
Warszawa
Polska
2
Dariusz
Malinowski
Ul. Etiudy 7/841
04-510
Warszawa
Polska
Kraj
Tabela 4.3. Sprzedaz Data
lOki
Tytul ksiatki
9-13
l
9-83
l
CorclDRAW GraphicsSuito II PL. Kompendium Corcl PHOTO-PAINT 11. Cwiczenia
9-83
2
Corcl RAVE. Cwiczenia praktyczne
-
Uczba egz.
zakupu
Kosztem dodania nowego pola, !Dk/, udalo sie rozdzielic tabele. Pole to wystepuje zarówno w tabeli Klienci, jak i w tabeli Sprzedaz. Informacja jest powtórzona w bazie w obu tabelach.Jest to koniecznedla zachowania spójnoscidanych. Powtarzanakolumna zawiera minimalna liczbe znaków. ZalÓ1my,ze zapisana informacja o kliencie zajmuje 80 znaków. Ustalmy, ze pole !Dkl bedzie liczylo maksymalniecztery znaki. Liter alfubetujest 27. Daje to motliwosc utworzenia 27
. 27 . 27 . 27 = 531 441
identyfikatorów.
To ponad pól miliona klientów!
Wpisanie do bazy pelnych danych klienta powoduje zajecie 80 znaków. Wpisujac wylacznie identyfikator, oszczedzamy at 76 znaków! Jeteli ten sam klient zawrze kolejna transakcje, oszczedzamy jut 2 76 = 152 znaki itd. Dodatkowa korzyscia z poslugiwania sie identyfikatorami jest wyeliminowanie motliwosc; popelnienia literówki przy wpisywaniu danych tego samego klienta. Jesli zamiast Kowa/ski wpiszemy Kaw/ski, to przy sporzadzaniu raponu okaze sie, ze:
.
. z naszych uslug korzystal ktos, kogo nigdy nie spotkalismy; . liczba towarów sprzedanych jednemu z klientów jest zanitona itp. Jezeli, poslugujac sie tabela, przy wpisywaniu danych popelnimy blad, wówczas bedzie on wystepowal tylko w jednym miejscu. Nie bedzie mial wplywu na poprawnoSCbazy danych.
29
Rozdzial 4. . Trzy reguly
Gdy dostrzeZemyblad,jego poprawieniebedzie proste - wystarczy wprowadzickorekte w jednym miejscu. A co sie stanie, gdy klient zmieni miejsce zamieszkania? W bazie majacej postac jednej tabeli nalezy dokonac poprawki w przypadku kazdego towaru, który kupil u nas ten klient - kazda transakcja jest przeciez zapisana w jednym rekordzie. Jezeli natomiast bedziemy przechowywac informacje o klientach i towarach w oddzielnych tabelach, cala aktualizacja sprowadzi sie do... poprawienia danych w jednym rekordzie tabeli Klienci.
Regula 2. Jedna z kolumn musi zawierac dane unikatowe Kazdy rekord bazy danych musi róznic sie od pozostalych. Jezeli w obu rekordach beda wystepowaly takie same dane, powstanie problem! Jakje odróznic?
Sytuacja wcale nie jest nierealna. Oto pan Kowalski, idac rano do pracy, kupil ksiazke "CorelDRAW Graphics Suite II PL. Kompendium". W pracy pokazal ja koledze. Ten zapragnal miec taka sama ksiazke. Poniewaz mieszka w innej czesc miasta, poprosil pana Kowalskiego o kupienie dla niego ksiazki. Ten, wracajac z pracy, kupil identyczna ksiazke, jak rano. Jak to wyglada w bazie danych? Informacje o klientach nie zmienily sie (tabela 4.4). W tabeli z danymi sprzedazy pojawily sie za to dwa identyczne rekordy (tabela 4.5). Tabela 4.4. Tabela Klienci IDkl
Imie
l 2
Nazwisko
Ulica
Kod
Miasto
Tomasz
Kowalski
Ul. Pulawska 997/1
02-514
Warszawa
Dariusz
Malinowski
Ul. Etiudy 7/841
04-510
Warszawa
Kraj Polska Polska
Tabela 4.5. Tabela Sprzedaz
Data zakupu 9-1-03 9-1-03 9-8-03 9-8-03
IDkl
Tytul ksiafkl
l
Core'DRAW Graphics Suite II PL. Kompendium
l l
CorelDRAW Graphics Suite II PL. Kompendium Core' PHOTO-PAINT II. Cwiczenia
2
Corel RAVE. Cwiczenia praktyczne
Uczba egz.
Aby rozróznic rekordy, nalezy dodac dodatkowe pole, np. z numerem rachunku, godzina zakupu itp. Dodatkowe dane nalezy zapisywac w tabeli Sprzedaz. Bedzie ona miala nastepujacy wyglad (tabela 4.6). Dzieki kolumnie Rach mozna zawrzec kilka transakcji z tym samym klientem tego samego dnia. Poprawnosc zapisu danych nie zostanie zaburzona.
30 Tabela
ABC
Aeeess
2003
PL
4.6. Zmodyfikowana tabela Sprzedaz
Data zakupu
Raeh
lOki
9-13
2312003
I
CorelDRAW Grnphics Suite II PL. Kompendium
9-13
2412003
I
9-83
2512003
I
CorelDRAW Graphics Suite II PL. Kompendium Corel PHOTO-PAINT II. Cwiczenia
9-83
2612003
2
Corel RAVE. Cwiczenia praktyczne
Tytul ksla.tkl
Uezba egz.
Regula 3. W bazie danych musi znajdowac sie klucz KJuczemjest pole rekordu bazy danych, zawierajace niepowtarzalne infonnacje. Korzystajac Z klucza, mozna sporzadzic indeks bazy danych, sortowac lub wyszukiwac informacje. Klucz moze obejmowac wiele pól. Dane zawarte w polu, które jest kluczem, jednoznacznie wskazuja rekord w tabeli. Zobaczmy, jakie sa praktyczne efekty istnienia klucza. W trosce o wygode klienta rozszerzymy profil dzialalnosci ksiegami. Jezeli ksiazki nie ma w magazynie, klient moze zlozyc zamówienie. Sprowadzamy ja i wysylamy pod wskazany adres. Do przechowywania infonnacji o zamówieniach potrzebna nam bedzie kolejna tabela. Nazwiemy ja Zamówienia (tabela 4.7). Tabela 4.7. Tabela Zamówienia Nrzamówienia
lOki
Tytul kslatkl
Uczba egz.
Data zamówienia
Zreal
W polu Nr zamówienia bedziemy wpisywac niepowtarzalny numer zamówienia klienta. Pole to bedzie kluczem tabeli 4.7. Pole Data zamówienia sluzy do wpisywania daty zlozenia zamówienia. W polu Zreal bedziemy zaznaczac zamówienia zrealizowane. Pozostale pola maja identyczne przeznaczenie, jak w tabeli 4.6. Znajac numer zamówienia, mozemy odszukac pozostale infonnacje: !Dkl, Tytullcsiazki, Liczba egz., Dala zamówienia, Zreal. Kluczjednoznacznie wyznacza rekord. Jezeli z tabeli Zamówienia usuniemy rekordy zawierajace zrealizowane zamówienia, nie Ub'acimyzadnej istotnej infonnacji (oprócz numeru i daty zamówienia). Dane o kliencie znajduja sie bowiem w tabeli Klienci, a dane o zakupach wieniach - wpisane sa w tabeli Sprzedaz.
-
czyli zrealizowanych zamó-
W poprawnie zaprojektowanej bazie danych usuniecie rekordu z jednej tabeli nie powoduje znikniecia istotnej infonnacji (np. nazwy klienta) z innej tabeli.
Rozdzial 5.
Ujawniamy tajemnice bazy danych Rysunek 5.1. Poznanie zasady dzialania bazy danych pozwoli na unikniecie przykrych niespodzianek
W poprzednich rozdzialach omawialismy mozliwosci i ograniczenia bazy danych. Zastanawialismy sie nad optymalizacja szybkosci dzialania i rozmiarów plików. Teraz dowiesz sie, na jakiej zasadzie dziala baza danych. Spelnia ona identyczna role, jak notatki w zeszycie czy w kartotece, ale funkcjonuje inaczej. Do poznania regul rzadzacych dzialaniem baz danych nie wystarczy intuicja. Nie na wiele przyda sie tez znajomosc obslugi edytora tekstu czy arkusza kalkulacyjnego. Baza danych jest innym programem. Po przeczytaniu tego rozdzialu bedziesz juz wiedziec, czym sa klucze, indeksy i relacje. W kolejnym rozdziale zajmiemy sie poznawaniem programu Microsoft Access.
Architektura bazy danych Baza danych zawiera informacje. Sa one zapisane w plikach. Po wczytaniu bazy pliki sa umieszczane w pamieci komputera. Gdy zapisujemy informacje, pliki te sa aktualizowane. Sposób przechowywania danych w bazie zwany jest poziomem wewnetrznym.
32
ABC Access 2003 PL
Jest to pierwszy z trzech poziomów bazy danych. Program Microsoft Access sam zarzadza forma przechowywania informacji - uzytkownik nie ma wplywu na organizacje danych na tym poziomie. Projektujac baze danych, musimy odzwierciedlic w niej fragment rzeczywistosci. Moze to byc katalog ksiazek, rejestr sprzedazy, lista zamówien itp. Uzytkownik bazy okresla, jakie informacje chce w bazie gromadzic i z niej czerpac. Dobrze jest, jesli na etapie projektu jest w stanie wskazac, które z danych moga sie powtarzac. Jest to przeslanka do umieszczenia ich w oddzielnej tabeli. Zadaniem programisty jest zamiana zyczen uzytkownika w projekt. Na tym etapie definiowane sa tabele i zachodzace pomiedzy nimi zaleznosci. Temat ten nie jest nam obcy - zajmowalismy sie nim od poczatku ksiazki. Ten poziom bazy danych zwany jest poziomem pojeciowym. Uzytkownik korzysta z informacji, które sa zapisane zgodnie z prawami rzadzacymi poziomem wewnetrznym. Funkcjonalnosc bazy danych zalezy od przyjetych zalozen i wdrozenia ich na poziomie pojeciowym. Natomiast wyglad okien i pól oraz ich opisy czyli cale "opakowanie" bazy danych - zwanyjest poziomem zewnetrznym.Oddziela on uzytkownikaod poziomu wewnetrznegoi pojeciowego.Jest to warstwa styku pomiedzy uzytkownikiem a baza danych.
-
Programistapowinienznacpoziom pojeciowy ipoziom zewnetrzny- on jest ich autorem. Uzytkownikowi wystarczy umiejetnosc obslugi poziomu zewnetrznego. Analogicznie, zeby poslugiwac sie edytorem tekstowym, nie trzeba wiedziec jaka postac ma plik, w którym zapisujemy dokument, w jaki sposób po nacisnieciu ikony czcionka zwykla zamieniana jest na pogrubiona itp. Wystarczy pamietac, jakie ikony trzeba klikac.
Dobieranie kluczy Kluczem jest pole w tabeli, w którym znajduja sie niepowtarzalne informacje. Jezeli nie mozna utworzyc klucza, nie mozna jednoznacznie opisac rekordu. Uniemozliwia to powiazanie rekordów znajdujacych sie w róznych tabelach. W tabeli moze wystepowackilka kluczy. Z takim przypadkiem mozemy sie spotkac, gdy zapisywac bedziemy numery NIP i PESEL. Oba numery sa unikatowe. Próba dopisania do bazy juz istniejacego numeru spowoduje wyswietlenie komunikatu o bledzie. Spójrzmy na naglówek tabeli 5.1. W polu Nr zamówienia bedziemy wpisywac niepowtarzalny numer zamówienia klienta. Pole to bedzie kluczem tabeli. Tabela 5.1. Tabela Zamówienia
Nrzamówienia
IDkI
Tytul kslaBd
Uczba egz.
Data zamówienia
Zradl
Spójrzmy na naglówek tabeli 5.2. Role klucza pelni numer kolejny klienta. Tabela 5.2. Tabela Klienci
IDkI
Iml,
Nazwisko
Ulica
Kod
Miasto
Kraj
33
Rozdzial 5. . Ujawniamy tajemnice bazy danych
Kluczjest niezbedny do funkcjonowania bazy danych. Jego role moZe pelnic liczba lub kolejny numer rekordu w tabeli. W oderwaniu od bazy danych nie ma on znaczenia, natomiast jako jej element jest niezbedny. Niepoprawny wybór klucza spowoduje bledne dzialanie bazy. MoZe sie ono objawic ograniczeniem dotyczacym danych, które moZOawprowadzac do bazy lub brakiem sygnalizowania wielokrotnego wystepowania rekordu unikatowego. Czesto w celu usuniecia bledu konieczne jest zmodyfikowanie projektu.
Siegamy po indeks Poprawnosc dzialania bazy danych i wiarygodnosc zawartych w niej informacji sa warunkami koniecznymi. Baza ma informowac, a nie wprowadzac w blad. Drugim istotnym kryterium jest szybkosc dzialania. W omawianych do tej pory przykladach ograniczalismy sie do baz liczacych kilkanascie rekordów. W praktyce liczba danych zgromadzonych w bazie jest duZo wieksza. Jak juZ wspomnialem, liczba ksiaZekw bazie danych Biblioteki Kongresu USA przekracza 16 milionów. W ksiegozbiorze nowych wydawnictwBibliotekiNarodowej znajduje sie ponad 300 tysiecy pozycji. Sa to bardzo duze bazy. W serwisie aukcyjnym Allegro zarejestrowanych jest ponad 200 tysiecy towarów (rysunek 5.2). Rysunek 5.2. Liczba towarów w serwisie Allegro
~. .~ -;",~"""
.1
Mtvkll Kolekclo... 40070 Dom I Oo.rcldl-1$.' Elolr.tronlkaI Fotoaral"ll.1H4S 2a'" 8102 Komolltervl-17S51
,>, ~
Ksla~ld I KomikA'" mIs MotolY28c:I.l.100U Muzvhl Fllm-' 21135 Odzl.t: I Bliuterla. 1..06 SDortITurYlMa.'2S6 Tol.ronwl AIIn.orll '10121:1 Zdrowi. I Uroda" 8302
~..$l'
W duZej wirtualnej ksiegami baza danych zawiera informacje o okolo 76 tysiacach ksiaZek, 5 tysiacach filmów, 62 tysiacach tytulach muzycznych oraz 2 tysiacach gier i programów komputerowych (rysunek 5.3). W miare uplywu czasu informacji w bazie bedzie przybywac. Projektujac ja, naleZy myslec o zapewnieniu maksymalnej wydajnosci. Jesli po kilku latach uZytkowania okaZe sie, Zebaza jest nieefektywna, trzeba bedzie ja utworzyc od nowa. MoZe to sie wiazac z przerwa w dzialaniu firmy.
34
ABC Access 2003 PL
Rysunek 5.3. Liczba towarów w ksiegarni Mer/in
ea. t... 'I!{idcl; uu.- ...,.. "-c IiS Ej. G:\'~'~
-.11I lG.I
.jJ
~
.~l)~;=:.:...:::=~::~~~,~""H~~:".~
iS..
..; G;1' ~.-.". ?P\Njdf L4t;1.
.,
ro~l)'W8tZ8g8CIg
-.------
:.
--~-........
eo'...M.___...._...
Szybkosc dzialania bazy mama poprawic. dzielac infonnacje na mniejsze tabele. ISblieje
-
jeszcze jedna metoda przyspieszenia wykonywania operacji na bazie danych jest nia indeksowanie. Indeksem nazywamy zbiór par: klucz i polozenie rekordu w pliku bazy danych.
Zaleznosci pomiedzy tabelami Podzial duzej tabeli na mniejsze nie moze powodowac utraty danych. Jesli wczytujemy mala tabele do pamieci, powinnismy miec dostep takze do reszty danych. Tabele musza byc ze soba powiazane-te powiazania nosza nazwe relacji. ISbliejatrzy rodzaje relacji
-
omówimy je ponizej.
Relacja 1
-1
RelacjaI - I oznacza, ze rekordowi w tabeli A odpowiada dokladnie jeden rekord z tabeli B. Zaleznosc obowiazuje równiet w druga strone - jednemu rekordowi z tabeli B odpowiada dokladnie jeden rekord z tabeli A. W praktyce relacja ta jest rzadko spotykana. Czesciej tabele A i B sa laczone wjedna, wieksza tabele. Jak relacja I - l wyglada w praktyce? Za/ótmy, ze mamy tabele, w której znajduja sie dane o klientach (tabela 5.3). Tabela 5.3. Tabela Klienci IDkl
Imie
Nazwisko
Ulica
Kod
Miasto
Kraj
I
Tomasz
Kowalski
Ul. Pulawska 997/1
02-514
Warszawa
Polska
2
Dariusz
Malinowski
Ul. Etiudy 7/841
04-510
Warszawa
Polska
Mozemy ja podzielic na dwie tabele. W jednej zapisany bedzie identyfikator klienta ijego personalia (tabela 5.4). W drugiej tabeli zapisane beda dane adresowe (tabela 5.5).
35
Rozdzial 5. . Ujawniamy tajemnice bazy danych Tabela 5.4. Tabela Personalia IDkl
Imie
Nazwisko
l
Tomasz
Kowalski
2
Dariusz
Malinowski
Tabela 5.5. Tabela Dane Adresowe .Dkl
Ulica
Kod
Miasto
Kraj
1
Ul. Pulawska 997/1
02-514
Warszawa
Polska
2
Ul. Etiudy 7/841
04-510
Warszawa
Polska
Kiedy podzial z wykorzystaniemrelacji 1 - 1jest korzystny?Gdy tylko niektórzy klienci beda podawali swoje dane adresowe (w celu wystawienia faktury lub dostarczeniatowaru naszym transportem), wówczas podzial tabeli na dwie czesci bedzie celowy. W przypadku klientów, którzy nie podaja adresu, nie jest konieczne ladowanie czterech dodatkowych pól. Jesli wiekszosc klientów podaje swoje dane. wówczas podzial tabeli na dwie mniejsze jest tylko niepotrzebna komplikacjajej struktury. Obslugujac klienta, i tak trzeba bedzie zaladowac obie tabele.
Relacja 1 Relacja I
-N -
N oznacza, ze rekordowi z tabeli A odpowiada dowolna ilosc rekordów
z tabeliB. Jednemurekordowiz tabeliB odpowiadanatomiastdokladniejeden rekord z tabeliA. Jak relacja I - N wyglada w praktyce? Przesledzmy ja na przykladzie dwóch tabel: Klienci (tabela 5.6) oraz Zamówienia (tabela 5.7). Tabela 5.6. Tabela Klienci IDkl
Imie
Nazwisko
Ulica
Kod
Miasto
Kraj
I
Tomasz
Kowalski
Ul. Pulawska 997/1
02-514
Warszawa
Polska
2
Dariusz
Malinowski
Ul. Etiudy 7/841
04-510
Warszawa
Polska
Tabela 5.7. Tabela Zamówienia Nr zamówienia
IDkl
Tytul ksiatki
Uczba egz.
Data zamówienia
Zreal
3
9-30-03
Nie
I
2
ABC Excel 2003 PL
2
2
Kurs Excel 2003 PL
3
9-30-03
Nie
3
I
Red Hat Linux 10.CwiczeniapraktyclJ1e
7
lO-l-OJ
Nie
Polem, które laczy obie tabele,jest identyfikatorklienta(/Dk/). Kazdy klienl moze zlozyc dowolna liczbe zamówien. Spójrz na tabele 5.7. 30 wrzesnia klient o identyfikatorze 2 zamówil dwa tytuly. Klient o identyfikatorze I nie zamówi! zadnej ksiazki uczyni!
-
ABC Access 2003 PL
36
to dopiero I pazdziernika. Gdy którys z klientów zamówi kolejna ksiazke, równiez bedziemy mogli zarejestrowac to w bazie. Kazde zamówienie ma jednoznacznie okreslonego klienta. Warunkiem poprawnosci dzia'ania bazy jest to, ze kaMy klient i kaMe zamówienie maja unikatowy identyfikator.
Relacja N - M
-
Relacja N M oznacza, ze jednemu rekordowi z tabeli A odpowiada dowolna liczba rekordów z tabeli B. Analogicznie, rekordowi z tabeli B przyporzadkowanychjest wiele rekordów z tabeli A. Zaleznosc tego typu wystepuje na przyk'ad pomiedzy towarem a dostawa. Kazdy towar moze byc dostarczony przez wielu dostawców. a kazda dostawa moze zawierac wiecej niz jeden towar. Relacji N - M (rysunek 5.4) nie mozna bezposrednio opisac w bazie Microsoft Access. Rysunek 5.4. Relacja N - M
T"""
Dostowol
bostowo 2 Dostawo 3
~
t
Towar2 Towar3 T 4
Relacja N.M
Mozna jednak zastosowac rozwiazanie posrednie. Konieczne jest utworzenie jednej dodatkowej tabeli i pos'uzenie sie relacja I Rysunek 5.5. Dowód na to, zejak/ury VAT wymyslili
programisci
- N (rysunek /Folmra t
5.5).
T
t
~FalmrQ 2 0WQf' Dostawa 1 fakhra 3 Towar 2 Dostowo 2 QkturQ4 Towar 3 Dostawa3 Fokturo 5 ok1\ra 6/ / T0WGr'ot Qkt\rQ 7/
~ ~
AclocJo l-N AcIocJo l-N
Niezapowiedziana kartkówka Ani sie obejrzelismy, jak dotarlismy do konca czesci opisujacej teoretyczne podstawy tworzenia baz danych. Na kazdym kursie po zakonczeniu etapu nauki przychodzi pora na sprawdzenie, w jakim stopniu uczacy sie opanowali materia' (rysunek 5.6). Nie obawiaj sie! Nie bedziemy pisac egzaminu ani wystawiac ocen. Wykonamyjeszcze jeden projekt bazy danych. Wykorzystamyw nim zdobytado tej pory wiedze. Podsumowanie ulatwi nam plynne poslugiwaniesie wiedza oraz skojarzeniezaleznosci pomiedzy oddzielnie opisywanymi tematami.
Rozdzial5.
. Ujawniamy
tajemnice bazy danych
37
Rysunek 5.6. Pora na podsumowanie zdobytych wiadomoici
Zaprojektujemy baze danych hurtowni ksiegarskiej. Projekt doprowadzimy do etapu wyspecyfikowania tabel i zachodzacych pomiedzy nimi relacji. Prace podzielimy na trzy etapy: 1. Zebranie zyczen uzytkownika. 2. Okreslenie wszystkich potrzebnych danych i relacji pomiedzy nimi. 3. Naszkicowanie tabel i typów relacji. Poniewaz jeszcze nie opanowalismy obslugi programu, zatrzymamy sie na etapie szkicu. W praktyce nalezy jeszcze przeniesc projekt do programu i przetestowac go.
Lista zyczen Wiekszosc prac o wiele prosciej jest wykonac, opierajac sie na dobrych zalozeniach, niz doprowadzac je do konca, a nastepnie modyfikowac. Zwykle projekt zawierajacy wiele "latek" nie jest zoptymalizowany- jest jedynie kompromisem pomiedzy rzeczywistymi potrzebami uzytkownika a tym, co zostalo wykonane do momentu wprowadzenia poprawki. Warto wiec poswiecic czas na wykonanie pierwszego etapu projektu. Wazne jest dobre zrozumienie potrzeb uzytkownika. Jestesmy w komfortowej sytuacji, sami bowiem okreslamy zalozenia. Chcemy, aby w bazie danych mozna bylo notowac nastepujace informacje: . Biezacy stan finansów z uwzglednieniem rachunków, których nie zaplacilismy, jak równiez naleznych nam sum. . Stan magazynu. . Dane klientów. . Dane dostawców. . Dane ksiazek.
38
ABC Aeeess 2003 PL
Baza powinna dawac mozliwosc wygenerowania raportu sprzedazy.
miesiecznego, kwartalnego
i rocznego
Infonnacje zawarte w bazie powinny byc wystarczajace do utworzenia katalogu ksiazek bedacych w sprzedazy oraz mozliwych do zamówienia.
Wykaz danych Przystepujac do opracowywania wykazu danych dzialajacej firmy, warto poprosic o mozliwosc zapoznania sie z dokumentami papierowymi. Przygotowanie bazy danych polega na utworzeniu w komputerze modelu rzeczywistych dokumentów.
W tabeli 5.8 wymienione zostaly grupy danych oraz wyszczególnione infonnacje, które powinny sie w nich znaleU. Tabela 5.8. Wykazinformacji rejestrowanych
w hurtowni ksiegarskiej
Dane dotyczaee
Szczególy
Dostawcy
Nazwa dostawcy, adresdostawcy, numertelefonu, numer faksu
Dostawy Klienci
Tytul ksiatJd, dostawca., wydawnictwo Nazwa odbiorcy, adres odbiorcy, numer telefonu, numer faksu, kredyt udzielony klientowi, zadlu:tenie klienta
Ksiazki
Autor, tytul, opis, stan magazynowy, rysunek okladki, cena
Zamówienia
Numer zamówienia. data zlo:tenia zamówienia., data realizacji zamówienia. lista zamówionych ksiatek, dostawca
Pomiedzy danymi zachodza relacje. Zostaly one zebrane w tabeli 5.9. Tabela 5.9. Wykazrelacji pomiedzy danym; w hurtowni ksiegarskiej
Relacja
Szczególy
Dostawa Ksiazka
W kaMej dostawie mozc znajdowac sie kilka tytulów. Kazda ksiazka mozc wystapic w kilku dostawach. Jest to relacja N - M
Dostawca
Katdy dostawca mote dostarczyc towar z wielu dostaw. KaMa dostawa ma tylko jednego dostawc<;o Jest to relacja I - N
-
Dostawa
Dostawca Katdy dostawca mote dostarczac ksiat.ki umieszczone na wielu zamówieniach. - Zamówienie KaMe zamówienie ma tylko jednego dostawc<;o Jest to relacja J - N
Gatunek Ksiazkanalezy do jakiegos gatunku. Do kaMego gatunku mozc nalezcc kilka ksiazek. Jedna ksiazka nalezy tylko do jednego gatunku. Jest to relacja J - N - Ksiazka Klient KaMy z klientów mozc zlozyc dowolna ilosc zamówien. KaMe zamówienie zlozone - Zamówieniejest przezjednego klienta. Jestto relacja J - N Wydawnictwo Mozcmy kilka razy zakupic ksiazke tego samego wydawnictwa. KaMa dostawa
-
Dostawa
Zamówienie Ksiazka
-
pochodzi od jednego wydawnictwa. Jest to relacja J - N
KaMe zamówienie mozc zawierac pewna liczbe ksiazek. KaMa ksiazka mozc wystepowacw wiecej ni1jednym zamówieniu. Jestto relacjaN - M
39
Rozdzial 5. . Ujawniamy tajemnice bazy danych
Tabele i relacje Na podstawie listy infonnacji. które maja byc zbierane i zachodzacych pomiedzy nimi relacji nalezy utworzyctabele. Póki nie nabierzesz wprawy w projektowaniubaz danych, dobrze jest naszkicowac na papierze schemat tabel i relacji (rysunek 5.7). Rysunek 5.7. Slruktura bazy danych hurtowni
ksiegarskiej
KLIENT IdkljtQ Firmo Ulico 1 Kod Miasta Te.lefon Fax Kredyt Winiu
l
IdzQmówiniQ N IdtowanJZAM'l TOWAR Liczboszt. Cenazam.
N
TOWARDOST. Iddostawy N l Idtoworu Liczba szt. Cenadost.
N
1 DOSTAWCA Iddostawcy FiNT\Q Ulica Kod Miasta Telefon F_x
l
Idgo.tunku Nazwo gatunku I GATUNEK
TOWAR: Idtoworu Idgatunku Tytul Stanrnag. Cenarnag. Oklodko.
WYDAWNICTWO Idwydawnidwa Firmo. Ulica Kod Miasto Telefon Fax
Na tym etapie zakonczymy projektowanie bazy. Po nim powinno nastapic utworzenie zaprojektowanej struktury w programie Microsoft Access oraz przetestowanie dzialania bazy. Testowanie polega na wpisaniu do bazy przykladowych danych. Niekiedy juz na tym etapie ujawniaja sie niedociagniecia. Po wpisaniu danych nalezy utworzyc zestawienia. Przydatna przy tym jest lista zyczen uzytkownika.
40
ABCAccess 2003 PL
Rozdzial6.
Uruchamiamy program Microsoft Access nie jest uniwersalnym lekiem na wszystkie bolaczki zwiazane z przetwarzaniemdanych - jest tylko narzedziem(rysunek 6.1). Aby uzyskac z niego pozytek, nalezy wiedziec, do czego mozna go uzyc. W poprzednich rozdzialach opisane zostaly zasady tworzenia baz danych. Teraz zapoznamy sie z programem, który umozliwia przeniesienie tych projektów do komputera. Rysunek 6.1. Access niejest czarodziejskarózdzka, ajedynie narzedziem, taldmjak kazde inne
W celu uruchomienia programu Microsoft Access w srodowisku Windows XP wybierz kolejno polecenia: Start/Wszystkie programy/Microsoft Office/Microsoft Access 2003 (rysunek 6.2). Uruchamianie
.
...l MSNExpber
~f'okrosaftOffic8E:u;e/2003
Microsoft Access 2003
I$I~Expr8SS
~MI:Tosoftofflc.lrloPath2003
..: PomocróaN
@]
\9
Si McrosdtOffUPow«f'oW:2003
Rysunek 6.2.
~McrosdtOffQbcel2003 (!!JMcrosdt('lficew.wd2003 ~NtwoStIlftSmart
IrterneI:E4b_
wmaws~PI8yer
,Ii-_
MaosdtCfflc1lC).jjook2003
I19McTosdtOfflce~2003 I!!IfIIcrosdtOfflctoWord2003
42
ABC Access 2003 PL
Po chwili wyswietlone zostanie okno programu. Aby utworzyc nowa baze danych, kliknij ikone Nowy. Z menu widocznego po prawej stronie ekranu, z sekcji Nowy wybierz polecenie Pusta baza danych (rysunek 6.3). Rysunek 6.3. Szablony pustych dokumentów
NI!wJ'
~~~..._.
iaI-___ ~z_...... 'iII
1
Po wyswietleniu okna Nowy plik bazy danych wpisz nazwe pliku, w którym zostanie zapisana baza danych i kliknij przycisk Utwórz. Na ekranie zostanie wyswietlone okno bazy danych.
Zatrudniamy kreatora Utytkownik ma równiez do dyspozycji szablony baz danych. Aby utworzyc nowa baze danych,kliknij ikone Nowy. Z menu widocznegopo prawejstronieekranu, z sekcji Szablony wybierz polecenie Na moim komputerze. Po wyswietleniu okna Szablony kliknij karte Bazy danych (rysunek 6.4). Rysunek 6.4. lisIa kreatorów baz danych
SZ.blony
--
-- ""rr'" I --!9 -....... ......... - !I .-'.......
trweleklil...
""""'"
l!IiiiII
!:J Z.l'" z.....,.. ......... ............ co:
-!
Kazdy z szablonów nosi nazwe, która informujeo przeznaczeniubazy danych. Po rnznaczeniu szablonu i kliknieciu przycisku OK nastepuje uruchomienie kreatora. Zaznacz szablon Wydatki. Kliknij przycisk OK. Po wyswietleniuokna Nowyplik bazy danych zaakceptuj domyslna nazwe pliku i kliknij przycisk Utwórz.
43
Rozdzial6. . Uruchamiamyprogram
Po chwili zostanie wyswietlone pierwsze okno Kreatora baz danych (rysunek 6.5).
Rysunek 6.5. Rozpoczynaniepracy z kreatorem ,.JrlomIac)eQ~~ .It'lom>/KjeIO,lportachl~
. """"'...... -Kate9Drlllwydall
Kreator przypomina
dobrego duszka
-
prowadzi on uzytkownika
Accessa niemal
za reke. Na poczatku informuje o przeznaczeniu bazy danych. W kolejnych krokach zapoznaje nas z mozliwosciami programu i podpowiada, jakie opcje mozna wybrac. Praca z kreatorem nie powinnasprawiac klopotu. Przejscie do nastepnego okna nastepuje po kliknieciu przycisku Dalej. Nacisniecie przycisku Wstecz powoduje wyswietlenie poprzedniego okna. Aby przerwac prace kreatora bez generowania nowej bazy, nalezy kliknac przycisk Anuluj. Nacisniecie przycisku Zakoncz powoduje utworzenie bazy danych z pomieciem pozostalych okien kreatora. W kolejnych oknach mozna wybrac pola, które beda znajdowaly sie w tabelach (rysunek 6.6) oraz okreslic wyglad okien (rysunek 6.7).
Rysunek 6.6. Wybieranie pól tabeli
:K'.4t.j'bai'da;;y,;rrr* W)'b'_beuldlinychobMlonychpól.Dostlp'l8po1a'4pdw_ Iusyw(por4tejtJleZN)clow«wJritwlell'oeJtabeII. ery
PoIawtllbel:
Irlormecjeoteportechr
100-
,...1 '
N#rw8d1/U1
"'-
......
Jii""I8I8QJ111C%«i111
1
lO...
'""
10..-
KategDnewydal:1rtM
10_, lOT""
rEm#iI
l::-
...... I <""
-
-
._...- -
I
"I>
1:<1
fv
.- I
Po lekturze poprzednich rozdzialów wiemy juz, ze kreator pozwala na projektowanie bazy danych na poziomie pojeciowym i zewnetrznym. Korzystajac z pomocy kreatora, mozna w kilku krokach utworzyc kompletna, dzialajaca baze danych (rysunek 6.8). Musi ona spelniac jeden warunek nalezec do grupy kilku baz, które moga byc tworzone za pomoca kreatora (rysunek 6.4).
-
44
ABCAccess 2003 PL
-------
Rysunek 6.7. Wybór szaty graficz~j bazy
""""
-~-. n_I,..-':..:...___
oo.c...
-.......
~~
UkioMf1
AccoK'
: fIl. ~
~
~-
formait~
~~
g.no Pona.
Wprs::pyt"».' KKy
. NiIIl-r-CE _. B .r II _. .. . . -.J ,~. Q~.IIi...~l ~j, I' U.I! .rJ11..~__.~~_c_..._.:1"""..;;).:",,~ " c__ ~~. _ ,". ~_.~~ ~."
';-------
.
. ~.
1
lport wJdatk6w
: I
~
"""'" :!i1 ::J'_
Wi' 'pracownIkóW
Imie
[
_sko Adres
C
=:rrytul ..
.
~
(
.~ Strony
Ir--. ~.... i'
~
I
reI.do pracy
--I II~:: I
l
'~l'-kpracownika f\kubezpieczeni
!,f'
raportu z wydatków...
~:~r--r
I>hll"..1'1
Rysunek 6.8. Gotowa baza danych
W taki sposób mozna wygenerowac baze danych. W porównaniu z projektowaniem i analizowaniem baz, które wykonywalismy do tej pory, jest to wlasciwie zabawa (rysunek 6.9). Moze Ci sie nasunac pytanie: dlaczego piec rozdzialów zostalo poswiecone poznawaniu zasady dzialania i prawidlowego projektowania baz danych, skoro jest to takie proste? Juz odpowiadam! Projektowanie jest proste, gdy korzystamy z kreatora. Jesli bedziesz musial utworzyc baze danych, której nie ma w grupie dziesieciu baz obslugiwanych przez kreatora, wówczas zdobyta wiedza bedzie niezbedna.
Rozdzial 6. . Uruchamiamyprogram
45
Rysunek 6.9. ProjekJowanie baz danych na papierze moglo przyprawic o ból glowy
Wczytywanie bazy danych Mozemy poslugiwac sie baza przekazana w postaci pliku. Aby z niej skorzystac, nalezy wczytac plik. Wczytywanie nalezy rozpoczac od: . wybrania polecen: Plik/Otwórz lub . posluzenia sie skrótem klawiaturowym Ctrl+O lub . klikniecia ikony Otwórz (rysunek 6. l O). Rysunek 6.10. Ikona Otwórz
Wszystkie trzy drogi sa równowazne. Kazda z nich prowadzi do wyswietlenia okna Otwórz (rysunek 6.11). Okno Otwórz umozliwia przegladanie dostepnych napedów i folderów. Po odnalezieniu pliku nalezy go zaznaczyc i nacisnac przycisk Otwórz. Plik zostaje wczytany. W oknie programu wyswietlany jest Glówny panel przelaczania (rysunek 6.12). Umozliwia on rozpoczecie pracy z baza.
Tworzenie nowej bazy Aby utworzyc nowa baze danych, mozna z poziomu okna programu Microsoft Access:
46
ABC Access 2003 Pl
Rysunek6.U. Wczytywanie bazy
-
--L0
-L _u -J
~
r
PIrI~
[fIIDooscltOfflc8Aa-l
Rysunek 6.12. Oknoprogramu z wczytanq baza drmych
-
g QIw6qo~ll--~",~ -cl
WfllOl'Ndz..i~ft1ochWolmlcj..
.J
ZIIIien
J
Pod\Ndll!)Clltów... ,P8'I8lIprZW4CZ...
..J Udc:r
d8r1'Ch
. wybrac polecenia: PlikINowy lub . posluzyc sie skrótem klawiaturowym Ctr/+N lub . kliknac ikone Nowy (rysunek 6.13). Rysunek 6.13. IkonaNowy
Niezaleznie od tego, która z trzech powyzszych czynnosci wykonamy, w oknie programu wyswietlone zostanie Okienko zadan. Nalezy w nim kliknac pozycje Pusta baza danych (rysunek 6.14). Spowoduje to wyswietlenie okna Nowy plik bazy danych (rysunek 6.15). Korzystajac z niego, mozna wybrac miejsce, w którym zostanie zapisany plik bazy danych. Do wedrówki po napedach i folderach sluzy lista Zapisz w. Jest ona widoczna w górnej czesci okna.
47
Rozdzial 6. . Uruchamiamy program
Rysunek6.14. Opcja tworzenia pustej bazy danych
--
"""'
~---
=::~~~OO~. Ia;jPro)el.t~~nowych ;a)ZIltrle~pkJ."
Rysunek 6.15. Zapisywanie nowego pliku bazy danych
-~._. . .-- .. - . - ~nowabala
!e.zydlnychprogJ foItrosoftOfflc.tw._
W polu Nazwapliku nalezywpisacnazwepliku. w którym ma zostac zapisanabaza danych. Nazwa powinna kojarzyc sie z zawartoscia pliku. Nalezy pozostawic domyslny typ pliku
-
Bazy danych programu Microsoft Access.
Gdy powyzsze parametry sajuz ustalone, mozna kliknac przycisk Utwórz. Po chwili w oknie programu wyswietlone zostanie okienko nowej bazy danych (rysunek6.16). Rysunek 6.16. Okno nowej bazy danych
'14';~~'blZ~~'ikz~:~ft~b'tfotiMtpiikurpiO&fim'J;liH, ~"""" ~_i::!_l)il', ctIIeItY
!
:;-I§BIIII w',
,iljltw6rz~zaPlJllll(a~a
31
KWftIVtt
.~:
m Ltw6rztabele.wprowadzll~ dIroe
: :::"1' .J
a
=
,1(""'" .. --~ ..~ tjj LbIone
48
ABC Access 2003 PL
Rozdzial 7.
Obiekty bazy danych Kazda dziedzina ma specyficzny jezyk. [nformatyka nie jest wyjatkiem. Programisci lubia uzywac terminu obiekt. Co on oznacza? Obiektemjest cos, co ma wlasciwosci. Jest nim np. zarówka. Opisujaja: moc, napiecie znamionowe, typ gwintu i kolor banki. Obiekt to inaczej rzecz, przedmiot, element. Baza danych równiez zawiera obiekty. Sa one wyspecyfikowane w kolumnie po lewej stronie okienka bazy danych (rysunek 6. I6). Widzimy tam:
. tabele, . kwerendy, . formularze,
. raporty, . strony, . makra,
. moduly.
Klikniecie nazwy obiektu po lewej stronie okna powoduje wyswietlenie po prawej stronie okna zwiazanych z nim opcji. Zapoznamy sie teraz z obiektami bazy danych.
Tabele Tabele w bazie danych pelnia role magazynów informacji. W ich polach i rekordach, niczym na pólkach magazynu, "poukladane" sa dane. Dzieki porzadkowi i usystematyzowaniulatwoje odnalezc. Dodawanienowych informacjirówniez nie spmwia klopotu. Ingerowac w struknue tabel mozna za posrednictwemokna Baza danych (rysunek 7.I).
50
ABC Access 2003 PL
Rysunek 7.1. Okno bazy donych z lista tabel
Wy4add1"!BlZ"_reb ;:ij0tw6'1 ~~
~
/II-a
.
lm
:!J_
I
(foJlftM,tiul P'O&l-l1l Acc.n lO.~~1_
,:]~I
:.~.@l1lD
..
I..tw6rzt8bell;MCJOIIIOt<\IIre«or.
'IIi.......-.-...
I :1~~ 1 iI "-M ::J Pr-.y alUipcftyll:J~'~
~
~ .
...
::
II
At~ ... ......
~
=-=
,
Po lewej stronie okna widoczna jest lista obiektów. Aby pracowac z tabelami, nalezy kliknacsekcje Tabele. Po prawej stronie okna wyswietlonazostanie lista tabel. W górnej czesci okna widoczne sa polecenia. Korzystajacz nich, mozna zmieniac strukture tabel. Aby obejrzec tabele, nalezy dwukrotnie kliknac jej nazwe. Zostanie ona wyswietlona w oddzielnym oknie (rysunek 7.2). Rysunek 7.2. Bozo danych ;jej tabela
~~.I)(
L.o:tOtwó" ~Pr0*'4 CIbIIitY
I,::JTM
:
I:
I &. ~. e: 11
l.twIInubllcwlllllCklklprOtlllu
lJ
~~.~InNtcIf.
~)I." ':1____ :;a""""''' :I''~
'~K
!.
\
,,:~CJ
Rlpcrty::I "
I. :J
CI
1..tw6rz~.4DIC
.-
"Kat9n.WydlltkóW:"Toabel6 ID kat. wydatkaKal_8~datk
Struktura wszystkich tabel baz danych tworzonych za pomoca kreatorów jest zblizona. Rozpoczynajasie one od pola ID. Zawiera ono funkcjeAulonumer. Wpisywanie danych powoduje nadawanie rekordom kolejnych numerów. Nie powtarzaja sie one w obrebie tabeli, moga zatem pelnic role klucza. Pozostale pola tabeli sa zalezne od rodzaju danych, które maja byc w niej gromadzone.
Dokument tworzony w edytorze mozna wyswietlic w kilku widokach. Kazdy z nich dostarcza innej informacji. Podobnie i tabele bazy danych mozna wyswietlic na wiecej niz jeden sposób. Gdy zaznaczymy tabele, a nastepnie klikniemy przycisk ?rojeleJuj, tabela zostanie wyswietlona w trybie projektowania (rysunek 7.3).
51
Rozdzial 7. . Obiekty bazy danych Rysunek 7.3.
Tabelaw trybie projektowania
~-,~~, 0ii0iiY
'!:J,
LtWIÓn'~wwidola.8projel:tu '41 LtWIÓn't~Z4pornoc,"MtorI I.boón:t4bell:,~aMcdlr1e
,
:!J'_'AI
:J KlI:'9Orilwydetb5w t3 FcmUI... r:I d~ :J .~ Sb'ony :J ~ MIR, '::!
j
"I
,
-"".
"""'1-1 -....
C-_
-,..NcoweNrtosd
II t
""'"
"'"
'W:~ '!f{j ,',' "',""'=! 1i!,J1!TII;U/;i8U'R'
Tryb ten dostarcza wiecej informacji o strukturze tabeli niz samo jej otworzenie. Przy jednym z pól widoczny jest maly kluczyk. W ten sposób wyrózniony jest klucz tabeli, Obok kazdego pola widoczna jest nazwa typu danych, które mozna w nim zapisywac. W dolnej czesci tabeli otworzonej w trybie projektowania widoczna jest grupa informacji, okreslana mianem Wlasciwosci pola. Wszystkie dane zostaly wpisane przez projektanta.
Korzystajac z okna Baza danych, mozna utworzyc nowa tabele. Nalezy dwukrotnie kliknac polecenie Utwórz tabele w widoku projektu. Wyswietlona zostanie tabela zawierajaca miejsce do wpisania nazw pól, typu danych itp. Projektant moze równiez wybrac, które z pól bedzie kluczem tabeli (rysunek 7.4). Rysunek 7.4. Tworzenie tabeli w widoku projektu
4I-.t<:_ ~
::>_iX!',
:,.tEIIII
~
""""
l.J:w6rlt~W~proleliill
'~
~ ::=.'ro :J I
:J """'1-1 :J
-6_.~ZI\ ......... -"'"
...".,., ..... l-..fiIzF-I,
""""""'
_M ........
W poprzednim rozdziale tworzylismy tabele za pomoca kreatora. W oknie bazy danych widoczne jest polecenie Utwórz tabele za pomoca kreatora. Po dwukrotnym jego kliknieciu wyswietlone zostanie okno Kreatora tabel (rysunek 7.5).
52
ABC Access 2003 PL
~"
rtl<,'
'~"";'II)h"'''''lIlpl,l''I'''~I",ml'
Ujj"""" ~-
'i~
:]_1)< I', ~d§!]1III
I 'a;;;., 11'IJ
I ' I
:::::I
'T__
~
'11IAJ Uw6rl~M
~~
lnItcra
31 l:::--lr !!W Kr".o' 1 :J 11 fcIrJaM... :J kt6r"r~UbII~~dKesI'utylm~taIl
II --
:- ::J
.~ Strony
1
I
PoWjQ...,k.ttevorIWb8I~""'KIII'Z'fII~Ubelr:I~adoMpcN."'IMJilSIICznMDH"nowettabel.
~t.abelemote~.lpalal~llrIt~tabeI~aclc-t.WriemMz~codDwybmJpaIB.mot
::J '~dol~,P6bMJIfmMI~"lltwo~.
':::I eJ
Ir.'~-
~poIa:
~_lIDtir
--'
=l
r 0;s0bIsu,...,.
j,:iJ~.
t _
;:,_.'.;,
___
~
JI,
::.~'l"""!t Pr--a
~
e..:, z..ówIInI ProcUty
Pd8wEP'f8ltlbel: A
!'t.N--lo
I
"~
-.J
r'tbl
.,
'lIN'
~
2...l
~
_
.Orll'llll:ecJl
I
.,
-I
I
J
Rysunek 7.5. Tabele mozna tworzyc za pomoca kreatora
Ma on inny wyglad niz kreator baz danych, ale dzialanie jego jest podobne. W odpowiedniej kolejnosci wyswietlane sa okna, w krórych nalezy wybrac potrzebne opcje. Istniejaca tabele mozna edytowac. Po zaznaczeniu jej nazwy trzeba kliknac przycisk Projektuj.
Kwerendy W literaturze informatycznej zostal przyjety termin kwerenda. Poczatkujacemu uzytkownikowi nic on nie mówi. Powstal z angielskiego slowa query. Jego polskim odpowiednikiemjestzapytanie. Uwazam ze ten drugi termin lepiejoddaje istoterzeczy,jednak zeby nie wprowadzac wieloznacznosci, pozostane przy nazwie uzywanej w programie. Za pomoca kwerend mozna wydawac Accessowi polecenia przeszukania bazy danych i udzielenia odpowiedzi na zadane pytanie. Odpowiedzia programu na kwerende jest odfiltrowanie z bazy danych spelniajacych okreslone kryteria. Za pomoca kwerend mozna np.: . generowac raporty o stanie zasobów magazynowych; . wyszukiwac towary, których sprzedaz generuje najwiekszy obrót; . sporzadzac listy najlepszych sprzedawców itp. Wynikiem wykonania kwerendy jest dynamiczna tabela. Zawiera ona odwolania do tabel zawierajacych dane. Uzyskana w ten sposób tabela moze byc dalej przetwarzana.
Rozdzial7.
.
53
Obiektybazydanych
Kwerenda jest Óbiektem bazy danych. Dostep do nich mozna uzyskac po kliknieciu sekcji Kwerendy (rysunek 7.6). Rysunek 7.6. Tworzenie kwerend
wyaaikiffr~~'4.1in'jCh'!CfoUM(:~lfam",:iCc.u;20;:';'l..
i1j!o'.',,":_IJI_IX
~ r a,y"
.
~:;':'ii~;; , fi"""",,,
,;
dl
fa
I', :,15111II
0-.....-..-
~~~PmIOtAIii&.t
Raporty
"Ji Strony :;;Z Matz.
'"
-
,
i:&i WIIDne
Tutaj równiez do dyspozycji mamy kreatora. Po dwukrotnym kliknieciu polecenia Utwórzkwerende za pomoca kreatora wyswietlanejest okno Kreator prostych kwerend (rysunek 7.7). Rysunek 7.7. Okno kreatora kwerend
~ ~
:,ji;;
Il
~poIal'lill4byi~...booerl!ll'OdDe? 'ii'::; "'2:::-?:~ >: .:,W ,
;1
" Momzwytw_sook6dlolqJteeU.bI
l~~ 8beII:~~ Dottl;llOOpoIe:
, l.f*"'J
>
I
-I
W kolejnych krokach nalezy wybierac dostepne opcje. W ostatnim kroku generowana jest kwerenda.
-
Praca z kreatorem przypomina jazde samochodem z automatyczna skrzynia biegów jest to bardzo wygodne, ale nie nad wszystkim mamy kontrole. Skladanie obiektów bazy danych z dostepnych elementów przypomina z koleijazde samochodem ze zwykla skrzynia biegów. Wymaga to wiecej operacji manualnych, ale pozwala na dobranie lepszych parametrów i uzyskanie wyzszych osiagów. Aby utworzyc kwerende bez pomocy kreatora, trzeba dwukrotnie kliknac opcje Utwórz kwerende w widoku projektu. Projektant musi sam wybrac pola, które beda znajdowaly sie w tabelach, okreslic relacje pomiedzy nimi itd. Rezultatem koncowym jest zlozona tabela (rysunek 7.8).
54
ABC Access 2003 PL
Rysunek 7.8. Wynikiem dzialania kwerendy jest tabela
Kwll."1TKMt"MWyIN8I..Mu.-
"
"
- ...... 5§g
,"::".."'_7_"" "__' --..;_...,_ ___ ---__.. D 1
__ ....
.
...
.,
4,.
..... __o ..,
.
.
.
..., .....
_
.
.
."
,...
>
.
Formularze Z formularzami papierowymi stykamy sie czesto. Druk przelewu, deklaracja podatkowa, wniosek o kredyt - to tylko niektóre z nich. Coraz czesciej poslugujemy sie formularzami elektronicznymi. Wiele z nich znajduje sie w internecie. Zamówienie ksiazki w wirtualnej ksiegami, licytacja w serwisie aukcyjnym, zaawansowane wyszu-
-
kiwanie informacji za pomoca wyszukiwarki
to wszystko wykonujemy za pomoca
formularzy.
-
Niezalemie od wygladu i przeznaczenia formularze maja wspólna ceche sluza uporzadkowaniu i ujednoliceniu danych wprowadzanych przez wypelniajacego formularz. Z drugiej strony osoba wypelniajaca formularz równiez ma ulatwiona prace. Nie musi bowiem wprowadzac informacji bezposrednio do tabeli i obserwowac gestwiny kolumn i rekordów. Formularze sa dostepne w programie Microsoft Access
-
maja postac okien z polarni
(rysunek 7.9). Rysunek 7.9. Wprowadzanie danych za pomoca formularza
'-.. K&Meorti~1kOw
'I
. ."IDl
wYd
Kareg. w,odaII<6w
r - -ReIad:..!!l.!J ,~,!(P~.~
l
I> 1...IHltJ
Za pomoca formularzy mozna wpisywac dane, przegladac wpisane informacje, drukowac zawartosc bazy i sterowac dzialaniem programu.
Podczas pracy z baza danych uzytkownik styka sie tylko zjej poziomem zewnetrznym. Nie musi znac struktury tabel, relacji ani sposobu organizacji danych w bazie. Te druga, obszerniejsza strone musi znac programista.
Rozdzial7.
. Obiekty bazy danych
55
Baza danych ma zatem dwa oblicza. Fakt ten odciska swoje pietno na jej obiektach. Formularze równiez maja dwie formy. Uzytkownik bazy danych najczesciej widzi na swoim monitorze formularz. Wystarczajaca umiejeb10sciajest prawidlowe wpisywanie danych w polach. Inaczej postrzegaformulan programista.Liczba okienek niejest podyktowanawzgledami estetycznymi musi ona byc dopasowana do struktury bazy danych.
-
Formularze mozna tworzyc na dwa sposoby: recznie i automatycznie (za pomoca kreatora). W obu przypadkachnalezy wyswietlicokno Baza danych, a nastepnie w kolumnie Obiekty kliknac przycisk Formularze. Oprócz formularzy widoczne sa dwa polecenia - my klikniemy Utwórzformularz w widoku projeklu (rysunek 7.10). Rysunek 7.10. Reczne tworzenieformularza
~
ltwórtfomdart~i:JNtor.
~.........-
~ P"'przeI~ ".~
PocfarndaozPrIlCOWr'Cy
Na ekranie wyswietlone zostanie okno Formularz. Zawiera ono pokratkowana plaszczyzne. Projektant nie musi sam tworzyc wszystkich p61, przycisków itp. Ma do dyspozycji przybornik. Z niego moze wybierac elementy i umieszczac je nastepnie na arkuszu (rysunek 7.11). Rysunek 7.11Reczne tworzenieformularza
Kreatora formularzy mozna uruchomic, klikajac polecenie Utwórzformularz za pomoca kreatora (rysunek 7.12). Rysunek 7.12. Automatyczne generowanie formularza
""'*'
ltwórtlarwu.zw
,~
::I fll-
.:;1,_ J::II_
II ~_I DWi5ii~DOI'I'DClIICI'''or.
~.........-
~ P"'przel~
Po wyswietleniu okna kreatora nalezy z listy oznaczonej etykieta Tabele/kwerendy wybrac tabele lub zapytanie, na podstawie którego ma zostac utworzony formularz.
56
ABC Access 2003 PL
W lewym dolnym rogu okna widoczne jest okno z lista dostepnych pól. W oknie Zaznaczonepola wyswietlane sa nazwy p61,które zostana wykorzystane w formularzu. Tworzenie formularzy polega na okreslaniu niezbednych opcji i przechodzeniu do kolejnego okna (rysunek 7.13). Rysunek 7.13. Okno krealoraformularzy
.-
e-l~
-... J.,.,> I-I Praca z kreatorem przyspiesza tworzenie formularzy. Nawet jesli zaprojektowany formularz nie odpowiada naszym potrzebom, latwiej wprowadzic w nim kilka zmian niz projektowac go od zera.
Raporty Raporty sa dokumentami przygotowanymi do wydruku. Dane mOZllarówniez drukowac w postaci tabel lub formularzy wówczas uzyskamy tylko zawanosc jednej tabeli
-
lub formularza. Raporty umozliwiaja porównywanie lub posonowanie danych wedlug zadanych kryteriów. Dopiero w takiej postaci informacje umieszczane sa na wydruku. Dostep do raponów mOZllauzyskac za posrednictwem okna Baza danych. Na liscie typów obiektów znajduja sie Raporty. Po ich k1iknieciupo prawej stronie okna wyswietlane sa gotowe raporty oraz narzedzia sluzace do tworzenia nowych raponów (rysunek 7.14). Rysunek 7.14. Generowanieraportu
""""
::1,_
@tli FamUlue
~..
E lh&ozr..l:~""".
.
-lo.
---
l"'W'/'dIttr6Wwa~
. ~~waprecownlr6H
Po dwukrotnym kliknieciu polecenia Utwórz raport w widoku projektu wyswietlane jest okno Raport (rysunek 7.15).
57
Rozdzial7. . Obiekty bazy danych Rysunek 7.15. Okno Raport
aiOrfl!i'R>pi>
fili'
.. I' I' l' '-Nld6wek'
,
I.i
".1
.,
t! -1
.,..,
I
Jest ono podzielone na trzy czesci: naglówek, szczególy i stopke. Oprócz okna wyswietlany jest równiez przybornik. Kliknieciem mozna uaktywnic element. Po kliknieciu okna Raport wyznaczane jest miejsce, w którym dany element znajdzie sie w oknie raportu. Stosujac przeciaganie, mozna okreslic rozmiary elementu. Podczas tworzenia raportów uzytkownik moze skorzystac z pomocy kreatora. Aby go uaktywnic, nalezy w oknie Baza danych dwukrotnie kliknac polecenie Utwórz raport za pomoca kreatora. Po wyswietleniu okna Kreator raportów uzytkownik musi kolejno wybierac dostepne opcje (rysunek 7.16). Rysunek 7.16. Okno kreatora raportów
~---
l-
J
,''''",,
I
""',>
I
-
I
Z rozwijanej listy Tabele/kwerendy trzeba wybrac tabele, na podstawie której bedzie generowany raport. W zaleznosci od wybranej tabeli w oknie Dostepne pola wyswietlany jest inny zestaw pól.
58
ABC Access 2003 PL
Aby pole zostalo uwzglednione przy generowaniu raportu, nalezyje zaznaczyc w oknie Dostepne pole, a nastepnie kliknac widoczna pomiedzy oknami pojedyncza strzalke skierowana w prawo. Pola, których zawartosc zostanie wykorzystana w generowanym raporcie,sa widocme w oknie Zaznaczonepola. Przejscie do nastepnego kroku kreatora nastepuje po kliknieciu przycisku Dalej.
Strony Strony umozliwiaja scisle zintegrowanie bazy z internetem. Recznie lub za pomoca kreatora mozna utworzyc formularz strone WWW. Za jej pomoca mozna korzystac z bazy danych przez internet.
-
Podobnie,jak w przypadku wczesniej omawianych obiektów, strone mozna utworzyc, korzystajac z okna Baza danych. Po lewej stronie okna Baza danych znajduje sie lista typów obiektów. Klikniecie nazwy Strony powoduje rozwiniecie okna z poleceniami (rysunek 7. l 7). Rysunek 7.17. Generowanie stron
w~u::1u,(~~~~-20 Jd""""":_"_IXI'.
==
CJ k '9
~-
"-~
d)r
I~' IIJ
J
';,.II!§]I!II
::_= :__.
~~ttronC-'WIlI
0.0
Strony-
12 ...... ... ""'" ...... 101.......
Uzytkownik moze utworzyc strone samodzielnie, utworzyc strone za pomoca kreatora lub rozpoczac edycje istniejacej strony. Strona przypomina fQmlularz umieszczany na stronach WWW (rysunek 7.18).
Makra Makropolecenia umozliwiaja pisanie prostych programów, pozwalajacych na uproszczenie i zautomatyzowanie pracy z baza danych. Dzieki nim mozliwe jest przypisanie przyciskom lub skrótom klawiaturowymsekwencji polecen programu Microsoft Access. Zamiast wywolywac je kolejno, wystarczy uruchomic odpowiednie makropolecenie.
Rozdzial
7. .
59
Obiekty bazy danych
Rysunek 7.18. Strona utworzona napodstawie tabeli Kategorie wyda/k6w
Kliknijtutaj i wpisz tytul I
,11> ,., f~f19.~ :Nrkcnta~ I
Aby utworzyc makro, nalezy w oknie Baza danych kliknac przycisk Makra, a nastepnie ikone Nowy. Spowoduje to wyswietlenie okna Makro (rysunek 7.19). Sluzy ono do edycji makropolecen. Rysunek 7.19. Tworzenie makropolecenia
.
. '~Wyif.'1tIit1
ij,)!;\ tb'Ay(liI1ótlW1t'ptlkl(proR'>\orw
~~~'&rni~
I~
~r,
:t2Nowti..I
'
:J TPIe ..~,_.... :!II-
I
.. ,-" ..~ ~~ ~ ","I,
'I.~
I~
MocUy
,',
....... -,...
-
,...
,-
~l.lJ:km
Makropolecenia tworzy zwykle autor bazy danych. Dla uzytkownika kontakt z nimi ogranicza sie do uzyskania informacji, ze po kliknieciu odpowiedniego przycisku jest np. generowany raport, a po kliknieciu innego baza danych jest optymalizowana,naprawiana i zapisywana w pliku.
Moduly Moduly sa zbiorami deklaracji, instrukcji i procedur, przechowywanych razem pod wspólna nazwa. Sa one przeznaczonedo organizacjikodujezyka MicrosoftVisual Basic. Moduly maja takie samo przeznaczenie, jak Makropolecenia, cechuja je jednak duzo wieksze mozliwosci. Sa stosowane tam, gdzie makropolecenia nie wystarczaja. Do edycji modulów potrzebne sa narzedzia o wiele bardziej zaawansowane niz narzedzia do tworzenia makr (rysunek 7.20).
60
ABC Access 2003 PL
,_..AC.
W)od8tIdI(WydeddI),A ..i!tokr-ltc::ffQo","-
- eJ MocU.
-
lo&6dultl(CodtJ
4G8Ml..,
~~~ ej
--.--....-WYAtkd"";
.1 ilo.cwllloM'
) "",,,II'
J;~.,I~
.!SJ
"4
Rysunek 7.20. Okno edycji modulów
Edycja obiektów Do tej pory zajmowalismy sie jedynie tworzeniem obiektów. Niekiedy zamiast generowac zlotany obiekt, moma poszukac innego, bardzo zblizonego, wykonac jego edycje, a nastepnie zapisac go pod nowa nazwa. W ten sposób w krótkim czasie moma utworzyc nowy obiekt.
Aby przejsc do trybu edycji obiektu, nalezy zaznaczyc obiekt, a nastepnie kliknac przycisk Projektuj (rysunek 7.21). Rysunek 7.21Obiekty mozna edytowac w trybie projelcJowania
~~"_IX ~ :J
T"
~~
1-. :;.§la
t.tw6nraportwlllÓlklprojektu
..
Pro;eloblj
Ltw6ruaport:HpoIIIOC4lirNtor.
.1i:at8QDrtI~
.
ta FornUamI . frod:p ~WQL · .~wydedr.6wwoP'liCOII'rirów il~u~:
RloortW)'doth
Po otworzeniu obiektu w trybie projektowania zmianie ulega wyglad okna programu pojawiaja sie dodatkowe ikony. Umotliwiaja one edycje istniejacych elementów i dodawanie nowych. Inaczej równiet wyglada obiekt. Poszczególne elementy moma przesuwac, skalowac oraz zmieniac ich wyglad (rysunek 7.22).
-
Rozdzial 7. . Obiekty bazy danych "uiC'ro$
lRaport
.Ir"',
Rysunek 7.22. Raport w trybie projektowania
61
62
ABC Access 2003 PL
Rozdzial 8.
Tabele Analizujac budowe bazy danych, wielokrotnie uzywalismy terminu "tabela". Wykonujac bazy danych w poprzednim rozdziale, równiez zetknelismy sie z tabelami. Ten rozdzial poswiecony jest w calosci wlasnie tabelom.
Tabele sajednym z rodzajów obiektów(rysunek 8.1). Sluza one do gromadzenia danych. Znajdujace sie w nich infonnacje moga byc dalej przetwarzane. Poniewaz projektujac baze danych, nie wiemy, pod jakim katem bedziemy analizowac infonnacje za jakis czas, warto utworzyc tyle pól, aby zapisac wszystkie dane, które mozemy zebrac. Rysunek 8.1. Tabele sa obiektami
llwór.r:tlbeIt
:§1_ 111_ ~II
".3l~
R(IIIOIty
w tti:IkIcwoIIltu
II ~
UWtJr2t8bllet:t::::... :JKateQonI~ :::J
Pr--a
!!IRaportyl~ !II
SIoo!tdlIoIrda_
!]
5zaeQ6Iy~
Typy danych Komputer nie jest w stanie odczytac niczego z kontekstu. Gdy adresujemy list, napiszemy na kopercie przecinek zamiast kropki; list i tak dotrze do adresata - listonosz domysli sie, kto ma byc jego odbiorca. Gdyby komputery byly listonoszami (tak, jak ma to miejsce w przypadku poczty elektronicznej), wszystkie listy zaadresowane z bledem wracalyby do nadawcy. Kazda infonnacja ma okreslony typ. Opis wydatku jest tekstem. Konto, które obeiaza wydatek, jest liczba itd. Aby zapoznac sie z opisem pól, nalezy otworzyc tabele w trybie projektowania. W kolumnie Typ danych widoczne sa zadeklarowane wlasciwosci pól (rysunek 8.2).
64
ABC Acces. 2003 PL
Rysunek 8.2. Kazda informacja jest informacjq jakiegos typu
ro'Katórl:'Wj4atk6W'?iTa"'1&
r
JDkal"V"'IW,7
.....-
rt"'P'lJoIAdathI KortcKIIt.."...""'i..'...w.....
=.
r... ....
k
Dol""""
-------,.--
""""1-1 ROlINerpola """"
w_ AoAorunerO\
"""''''' ",-'" KrMtor-
Projektujac tabele, nalezy okreslic, jakiego typu dane znajda sie w danym polu. Gdy wprowadzajac infonnacje np. zamienimy przecinek z kropka, program zasygnalizuje blad (rysunek 8.3). Rysunek 8.3. Rezul/al wpisania przecinka wpolu numerycznym
~
HIcJvsGft: OffkeA«es. WP"' I!lZOI18--lounlejett pr8Wid cia teQDpoI&. ~CJrlYNld,.OWIdzonotebtwpdJ ~UlIc:zl:..;Meksz"nttd!l:wl:lkine ~...loIcMo4d~.
Pracujac z komputerem, nalezy pamietac o jego specyficznych uzdolnieniach i przy_ warach. Maszyna blyskawicznie sortuje, liczy, wykresla itp. Nie jest w stanie wykonac nic z wlasnej inicjatywyczy okazac zrozumieniaczlowiekowi.Komputerjest genialnym pedantem. Zdanijestesmy na maszyny, które nie sa w stanie odgadywacnaszych mysli. Powinnismy zatem sie do nich dostosowac. [nfonnacje o typach danych stosowanych w Microsoft Access zebrano w tabeli 8.1.
Korzysci z róznorodnosci W tabeli 8. [ wymienionych zostalo dziesiec typów danych. Czy nie wystarczy jeden typ, np. Teks/lub No/a? Nic nie stoi na przeszkodzie, aby utworzyc baze, w której wszystkie pola beda zadeklarowane jako przeznaczone do przechowywania infonnacji typu No/a. Nie powinny wówczas pojawiac sie zadne problemy z zapisaniem dowolnych danych w tym fonnacie. Czy to nie genialny pomysl? Upraszczamy konstrukcje bazy i skracamy czas jej projektowania. lednak jesli nie dostosujemy typu danych do wlasciwosci pola, tracimy na tym: . lezeli uzywamy infonnacji w rodzaju Tak/Nie, wówczas na jej zapisanie (I bit) zostanie zarezerwowanychtyle miejsca, ile potrzebado zapisania65 535 znaków. Spowoduje to wiec wzrost rozmiarów pliku, VIktórym zapisana jest baza.
65
Rozdzial 8. . Tabele Tabela 8.1. Typy danych Microsoft Access Typ danych
Opis
Autonumerowanie
Unikatowa liczba kolejna (zwiekszana o l) lub liczba losowa, przypisywana przez programMicrosoft Access przy dodawaniu nowego rekordu do tabeli.
Pola Autonumerowanienie mama aktualizowac. Do zapisu uzywane sa 4 bajty Data/Godzina
Pole mou zawieracwartoscidaty i godziny. Akceptowanesa daty z przedzialu
Hiperlacze
Pole mau zawierac tekst lub kombinacje tekstu i liczb. Przechowywane sa one jako tekst, a utywane jako adres hiperlacza. Adres hiperlacza mate skladac sie z trzech czesci:
od 100 do 9 999. Do zapisu utywanychjest
tekstu adresu
8 bajtów
wyswietlanego w polu lub w formancie, scietki dostepu do pliku (w formacie UNC) lub strony (adres URL), podadresu - miejscaw plikulub na stronie,etykietki ekranowej - tekstu wyswietlanego jako etykietka.
-
Kazda z trzech czesci hiperlacza mote zawierac do 2 048 znaków
Kreator
Tworzy pole, które pozwala wybrac wartosc z innej tabeli,
odnosników
Wybór tej opcji powoduje uruchomienie Kreatora odnosników. Po zakonczeniu pracy z Kreatorem program Microsoft Access ustawia typ danych na podstawie wartosci okreslonych w Kreatorze. Do zapisu u~wane sa 4 bajty
Liczba
Dane numeryczne u~wane w obliczeniach matematycznych. Pole mote zawierac liczbe zapisana przy utyciu l, 2. 4 lub 8 bajtów
Nota
Pole mote zawierac dlugi tekst lub kombinacje tekstu i liczb. Dlugosc ciagu znaków - od Odo 65 535
Obiela OLE
Obiekt (arkusz kalkulacyjny programu Microsoft Excel, dokument programu Microsoft Word. grafika, dzwiek lub inne dane binarne) dolaczony lub osadzony w tabeli programu Microsoft Access. Rozmiar obiektu ograniczony jest do l gigabajta. Ograniczeniem jest teZ dostepne miejsce na dysku
Tak/Nie
Wartosci Tak i Nie oraz pola zawierajace tylko jedna z dwóch wartosci (TakINie, Prawda/F olsz lub WI/Wy/). Do zapisu utywany jest l bit
Tekst
Pole mote zawierac kombinacje tekstu i liczb lub liczby nie wymagajace obliczen, np. numery telefonów. Dlugosc ciagu znaków - od Odo 255
Waluta
Pole mote zawierac wartosci walutowe i dane numerycme. Sa one uzywane w obliczeniach matematycznych dokonywanych na danych z dokladnoscia do czterech miejsc po przecinku. Wyniki obliczen maja dokladnosc do 15 cyfr po lewej stronie separatora dziesietnego i do 4 cyfr po prawej stronie separatora. Do zapisu utywanych jest 8 bajtów
. Gdy wybierzemy bardzo "liberalny" typ danych, Wówczaswpisanie infonnacji z bledem nie zostanie zasygnalizowane, tak jak to mialo miejsce w przypadku pokazanym na rysunku 8.3. . Program nie bedzie w stanie poprawnie posortowac danych. Dla maszyny dane sa tylko ciagami znaków, Czlowiek wie, te 2 listopada 2004 przypada przed l grudnia 2004, tymczasem dla komputera I jest mniejsze od 2.
. Uzycie optymalnego fonnatu danych powoduje przyspieszenie wykonywania wyszukiwania,sortowania,porównywaniaitp.
Mysle, te sa to wystarczajace argumenty na rzecz uzywania typów danych dostosowanych do wpisywanej infonnacji.
66
ABC Access 2003 PL
Pomagamy w trudnym wyborze Niektóre typy danych sa do siebie podobne. Kiedy wybrac Tekst, a kiedy Note? Czy walute mozna zapisac jako liczbe? Aby baza danych nie dostarczala przykrych niespodzianek, nalety mac odpowiedzi na takie pytania. W tabeli podalem informacje skrótowe. Teraz zapomamy sie dokladniej z typami danych. Jezeli w bazie wpisane sa informacje. zmiana typu danych spowoduje znaczne wydluzenieczasu pierwszego zapisywaniabazy po wprowadzonejzmianie. Dodat. kowyczas jest potrzebnyna wykonaniekonwersjidanych.
Tekst czy Nota Oba typy danych umozliwiaja przechowywanie danych tekstowych oraz laczne prze. chowywanie tekstu i liczb. Typ Tekst siuty do zapisywaniaciagów maków o dlugosciod Odo 255 maków. Domyslnie pole to ma dlugosc 50 maków. Typ ten nadaje sie do przechowywania informacji, które nie sa przemaczone do wykonywania obliczen: numerów telefonów, numerów katalogowych, kodów pocztowych itp. Typ Nota pozwala na zapisywanie dluzszych sekwencji maków. W polu tego typu moze sie zmiescic od Odo 65 535 maków. Gdy dlugosc wpisywanej sekwencji maków przekracza 255, nalezy zamiast typu Tekst uzyc typu Nota. Typ Nota nie moze byc indeksowany. Do przechowywania sformatowanych tekstów i dlugich dokumentów nalezy zamiast pola Nota uzyc pola Obiekt OLE. Oba typy danych rezerwuja na dysku tylko tyle miejsca, ile potrzebuja na zmieszczenie wpisanej informacji. Deklarowana dlugosc tekstu siuty jedynie do ograniczenia liczby wprowadzanych maków. W obu typach danych przechowywane sa tylko te maki, które zostaly wprowadzone do pola. Spacje w miejscu niewykorzystanych pozycji nie sa zapisywane. Dane typu Tekst lub Nota mozna sortowac lub grupowac. Podczas tych operacji w polu typu Nota program Access wykorzystuje tylko pierwsze 255 znaków w danym polu.
Liczba Typ Liczba sluzy do przechowywania liczb. Microsoft Access umozliwia wybranie jednej z kilku notacji. Mozna je wybierac z listy Rozmiar pola (rysunek 8.4). Deklarujac sposób zapisu liczb, trzeba wziac pod uwage zakres ich wartosci i dokladnosc zapisu. W tabeli 8.2 opisane zostaly najczesciej uzywane podtypy liczb.
Rozdzial 8.
. Tabele
67
--1-1 -.... "'..
Rysunek 8.4. Typ Liczba ma Idlkapodtypów
~~ Me5Ir.a~
WIJtOfI!clarnrA'M ~precytja T~ ReoIJaspr.pcpr-lOSd. l=a~KY$ lÓ8l'ltyfbtor~. Tebt:re;pJysilr.poprawr
-Indebow.. No T,,_
Nt
Tabela 8.2. Wybrane podtypy liczb
Podtyp
Zakres wartosci
Bajt Liczbacalkowita
Liczby naturalne od Odo 255 Liczby calkowite od -32 768 do 32 767 Liczby calkowite od -2 147483648 do 2 147483647
Liczba calkowita dluga Podwójnaprecyzja Pojedyncza precyzja
Liczby rzeczywisteo 10 cyfrachznaczacych. Wartosci od -1,79769313486232E308 do 1,79769313486232E308 Liczby rzeczywiste o 6 cyfrach znaczacych. Wartosci od -3,402823E38 do 3,402823E38
Domyslnym podtypem jest Podwójna precyzja. Jezeli wiemy, ze w danym polu wystepowac beda tylko liczby calkowiteo wartosci mniejszej niz 255 (np. liczba egzemplarzy jednego tytulu ksiazki w magazynie ksiegami), warto uzyc podtypu Bajt. Zmniejszenie rozmiarów deklarowanych podtypów powoduje zredukowanie rozmiarów bazy danych i zwiekszenie szybkosci dzialania. Gdy zastosujemy ograniczenia zbyt rygorystyczne, a w polu, dla którego wybrano podtyp Bajt chcemy zapisac liczbe wieksza niz 255, trzeba bedzie zmienic rozmiar pola. Liczby rzeczywiste przechowywane sa ze skonczona dokladnoscia. Jesli zadeklarujemy zbyt mala liczbe cytr znaczacych, moze to byc przyczyna bledów podczas wykonywania obliczen. Typem danych, który pozwala na zapisywanie wartosci numerycznych, jest równiez Waluta. P61 typu Liczba nalezy uzywac do przechowywania danych liczbowych, na kt6rych beda dokonywane obliczenia matematyczne. Wyjatkiem sa operacje finansowe i obliczenia wymagajace bardzo duzej dokladnosci. Pól typu Waluta nalezy uzywac,jesli podczas obliczen liczby nie maja byc zaokraglane. Pola Waluta zapewniaja dokladnosc do 15 miejsc przed przecinkiem I 4 miejsc po przecinku.
Data/Godzina Typ Data/Godzina sluzy do przechowywaniadat oraz czasu. Obliczenia sa na nim przeprowadzane w sekundach, minutach, godzinach, dniach, miesiacach i latach. Mozemy
68
ABC Access 2003 PL
w nim odejmowac od siebie dwie daty czy godziny. Po zadeklarowaniu tego typu program bedzie poprawnie przeliczal sekundy na minuty, minuty na godziny itp. - dzieki temu poprawnie zostanie wykonane np. dzialanie 2 godziny -75 minut = 45 minut. Gdy w trybie projektowania zadeklarujemy, ze pole bedzie zawieralo dane typu Datal Godzina, w dolnej czesci okna pojawi sie lista Format. Po jej rozwinieciu mozna wybrac podtyp zapisu danych (rysunek 8.5).
--1-1
Rysunek 8.5. Podtypyzapisu daty i godziny
"""" foIiIsI<.awprow.adurM T~
OIItaoo6ha ~cIuge
Wl!rtoltdomyh ~lspt,pop,-.okI Tebtf..pyspr;poJj_ ~ ~ TryI)lME TrybzdltU~O'd«
~'""**' Dnl
,..-
1994006-1917:)oI,n 19C1'8fWC11994
.-..
W tabeli 8.3 znajduje sie opis poszczególnych podtypów zapisu daty i czasu. Tabela 8.3. Wybranepodtypy daty i godziny Podtyp
Opis
Dala ogólna
Ustawienie domyslne. Jesli wartoscjest tylko data, nie jest wyswietlana godzina. Jesli wartosc jest tylko godzin~ nie jest wyswietlana data. Ustawienie jest polaczeniem ustawien Data krótka i Godzina dluga
Data dluga
Odpowiada ustawieniu Dala dluga w oknie dialogowym Wlasciwosci ustawien regionalnych w Panelu sterowania systemu Windows.
Dala srednia
Data jest zapisywana w formacie ..dzien-miesiac-rok". np.: 19-cze-94
Dala krótka
Odpowiada ustawieniu Data krótka w oknie dialogowym Wlasciwosci ustawien regionalnych w Panelu sterowania systemu Windows
Godzina dluga
Odpowiada ustawieniu na karcie Godzina w oknie dialogowym Wlasciwosci ustawien regionalnych w Panelu sterowania systemu Windows
Godzina srednia
Czas jest zapisywany w cyklu 12. godzinnym, np.: 05:34
Godzina krótkn
Czas jest zapisywany w cyklu 24- godzinnym, np.: 17:34
Wustawieniu Datakrótka przyjmujesie, ze daty z zakresu od OWH)1 do 29-12-31 sa datami dla dwudziestego pierwszegowieku(to znaczyprzyjmujesie, ze dotycza one lat od 2000 do 2029). Datyz zakresu od 30-01-01 do 99-12-31 traktowane sa jako daty nalezace do dwudziestego wieku (to znaczy przyjmujesie, ze dotycza one lat od 1930 do 1999).
Waluta Wyswietla liczbe zgodnie z ustawieniem lokalnym systemu Windows dla walut. Gdy w trybie projektowania zadeklarujemy, ze pole bedzie zawieralo dane typu Waluta, z listy Format mozna bedzie wybrac podtyp zapisu danych (rysunek 8.6).
Rozdzial 8.
.
69
Tabele
Rysunek8.6.
Podtypy zapisu waluty
Typ Waluta powinien byc uzywany w przypadku pól wymagajacych wielu obliczen na danych o dokladnosci od jednej do czterech cyfr po przecinku. Pola o typach danych Pojedyncza precyzja i Podwójna precyzja wymagaja obliczen zmiennoprzecinkowych. Na danych typu Waluta wykonywane sa szybsze obliczenia staloprzecinkowe. Typ Walutajest liczba z ustalona liczba miejsc po przecinku. Dane nie sa przechowywane jako liczba zmiennoprzecinkowa, ale jako liczba calkowita. Obliczenia wykonywane na liczbach zmiennoprzecinkowychobarczone sa bledem zaokraglenia. Obliczenia wykonywane na liczbachcalkowitychsa natomiast dokladne, o ile wynik operacji miesci sie w zadeklarowanym zakresie wartosci.
Autonumerowanie Dla pola Autonumerowanie rozmiar i typ wartosci generowane sa automatycznie. Uzytkownik mote jedynie wybrac, czy wartosci maja byc generowane kolejno czy losowo (rysunek 8.7). Rysunek 8.7. Autonumerowanie moze odbywac sie kolejno lub losowo
--1--1 -....... Romi8'paIe
T""
~ TaoJ~
~ta/IIDwI:.du;8
Tak(8N~)
W bazie danych nie moga istniec dwa identyczne rekordy - musza one róznic sie przynajmniej wartosciajednego pola. Pole Autonumerowanie zapewnia spelnienie tego warunku. Dodanie nowego rekordupowoduje wpisanie przez program unikatowej liczby. Pole Autonumerowanie pelni role klucza tabeli - jest wykorzystywane do tworzenia relacji pomiedzy tabelami.
Tak/Nie Pole, w którym moga byc zapisywane dane typu Tak/Nie, przyjmuje jedna z dwu wartosci. Po rozwinieciu listy Format mozna okreslic podtyp (rysunek 8.8).
70 Rysunek 8.8. Nawel lOprzypatlkJI lak prostych danych Access doje mozliwosc wyboru podtypu
-1-1 -,w....._ ,..
ABCAccess 2003 PL
~..pcpr..-d Ij! T'" r8Qi1yqr.popt....
-__
No No
Wybór formatu nie ma wplywu na dzialanie bazy danych - pozwala on tylko na zmiane wygladu wyswietlanej informacji. Nie w katJIym dokumencie wypada przeciez uzywac oZllaC2311ia Prawda i Falsz. Pole typu Tak/Nie nie moze byc indeksowane.
Obiekt OLE Pole sluzy do przechowywania obiektów utworzonych za pomoca mechanizmu OLE. Obiektem moze byc np. arkusz kalkulacyjny Microsoft Excel, dokument Microsoft Word, grafika lub dzwiek. Ogólnie rzecz biorac, zródlem obiektu, nazywanym serwerem OLE, moze byc dowolna aplikacja, która obsluguje/ac=1ie i osadzanieobiektów. Zmiany wprowadzone wobiekcie osadzonym nie sa odzwierciedlane w obiekcie oryginalnym.
Rozdzial9.
Parametry typów danych Baze danych mozna utworzyc w postaci jednej tabeli, a kazdemu polu nadac typ Nota. Baza bedzie dziaJala,ale wielejej funkcji pozostanie niewykorzystanych.Takie postepowanie mozna porównac do uzywania pralki automatycznej tylko do wirowania. Tworzenie bazy danych sklada sie z wielu etapów - opisuje je w kolejnych rozdzialach tej ksiazki. W trakcie lektury poznajemy kolejne szczególy i niuanse dzialania programu. Wiedza ta nie jest niepotrzebnym balastem. Jest ona scisle zwiazana z praktyka i wygoda poslugiwania sie baza danych. Odpowiednie dobranie typów danych oraz ich parametrów moze spowodowac, ze dana baza bedzie dzialala szybciej, nie pozwoli na wpisanie blednych informacji itp. Dobieranie typów danych i ich parametrów jest zajeciem zmudnym
-
przypomina prace stroiciela instrumentów muzycznych.
Wlasciwie "wyregulowana" baza danych nie sprawia klopotów jej uzytkownikom. Kazdy typ danych ma parametry - ich liczba jest rózna i zalezy od rodzaju danych. Tekst mozna opisac za pomoca wielu parametrów (rysunek 9.1). Rysunek 9.1Obszerna lisia parametrów danych typu tekstowego
"""'-'Tilbt
.-
. ""'"100 1 """"
.....-...
T~ W~~ R..spr,popr~ T~~spf,paprawr
-
:J.
50 KOg.wydatJrDw
..
Zerowaocl.do:woIon. IW
""""-'"
..
~~U"kode Tr)tIH Tr,bzdaniled)otarlH T.~
NI 8elformantu Br"
72
ABC Access 2003 PL
W przypadku pól typu Tak/Nie lub Autonumerowanie lista parametrów jest o wiele krótsza (rysunek 9.2). Rysunek 9.2. Parametrydanych typuAulonumerawanie
.',.wat. r.,
F"ItW,d8dIJ
~11.IW,detI<ó
-TybI --ID -1"""""'1
RoI8IwJdl
l.Iab8u11
~
~ ''''(8N~)
T"_
W tabeli 9.1 zebrano parametry pól zawierajacych dane typu tekstowego. Tabela 9.1. Wtasciwosci pola typu Tekst
Parametr
Opis
Rozmiar pola
Dopuszczalna dlugosc tekstu. wyrarona za pomoca liczby maków. Akceptowane sa wartosci z przedzialu od I do 255
Formal
Sposób wyswietlania danych na ekranie i wydruku
Maska wprowadzania
Wzorzec okreslajacy sposób wprowadzania danych
Tytul
Etykieta pola. wyswietlana w formularzach i raportach
Wartosc domyslna
WartoSCwstawiana automatycznie podczas dopisywania nowego rekordu do bazy
Regula sprawdzania poprawnosci
WyraZenie ograniczajace zakres wartosci, które moga byc wprowadzane w tym polu
Tekst reguly sprawdzania
Teks~ który bedzie wyswietlony po wprowadzeniu danych, które nie spelniaja warunku okreslonego jako Regula sprawdzania poprawnosci
Wymagane
Infonnuje, czy pole musi zawierac dane
Inde/c.sowanie
Informuje, czy pole jest indeksowane
Wlasciwosci pola Format motua okreslic przy UZyciusymboli specjalnych. Na przyklad w polu tekstowym moze byc wyswietlany napis Brak danych - w przypadku, gdy nie ma w nim tadnego ciagu znaków. W tym celu nalezy w polu wlasciwosci typu Format wpisac fonnat niestandardowy: @;"Brakdanych".Symbol @powoduje wyswietlanie tekstu znajdujacego sie po cudzyslowie. Druga sekcja powoduje wyswietlanie wyrazów Brak danych, gdy w polu znajduje sie ciag znaków o zerowej dlugosci lub wartosc
Nu11.
73
Rozdzlal9. . Parametry typów danych
Formatowanie tekstu i not W tabeli 9.2 zebrano znaki umozliwiajace tworzenie niestandardowych [onnatów tekstu i not. Tabela 9.2. Znakiformotujace
Znak formatujacy
Opis
@
Wyswietla w podanymmiejscukolejny znak lub spacje z tekstuwpisanego w polu
&
Wyswietla w podanymmiejscukolejny znakz tekstu wpisanego w polu
<
Wszystkie litery sa zamienianenamale
>
Wszystkie litery sa zamieniane na wielkie
-+ (
Wyswietla wskazany znak wewnatrz fonnatowanego tekstu
) spacja -tekst"
Wyswietla ciag znaków znajdujacy sie pomiedzy znakami cudzyslowu Wyrównuje napis do lewego marginesu
*
Wypelnia puste miejsca znakiem wpisanym po gwiazdce. Domyslnie przy wyrównywaniu do prawegomarginesuMicrosoftAccess wstawia spacje. Aby zastapic je myslnikami, nalety wpisac sekwencje "gwiazdka myslnik" (* )
-
(kolor)
Wyswietla tekst w kolorze podanym w nawiasie. Mozna wybierac sposród nastepujacych kolorów: Blacie, Blue. Green, Cyan, Red, Magenta. Yel/ow i White
W tabeli 9.3 pokazano przyklady niestandardowych [onnatów tekstu i not. Tabela 9.3. Przyklady niestandardowychformatów tekstu; not Format
Dane
Wyswietlana wartosc
@@@.@@@
123456
123.456
@@@@@@
123.456
123.456
>
Misio
MISJO
<
MISJO
@:"Brakdanych" wartosc
misio Nu11
Brakdanych
Maski wprowadzania Maski wprowadzania ulatwiaja wpisywanie danych. Jezeli utworzymy maske dla pola Numer lelefonu, pozwoli to na wprowadzenie numeru o strukturze: L-J _"_"_' W tabeli 9.4 zebrano symbole uzywane do tworzenia masek. W tabeli 9.5 pokazano zastosowania masek wprowadzania.
74
ABCAccess 2003 PL
Tabela 9.4. Symbole uzywane do tworzenia
masek
Opis sa cyfiy (0- 9). Nie mozna wprowadzic znaków: plus (+)
Akceptowane
oraz minus (-) Akceptowane sa cyfiy lub spacje. Nie mozna wprowadzic znaków: plus (+) oraz minus (-) Akceptowane
sa: cyfiy, spacje oraz znaki plus (+) i minus (-)
Akceptowane
sa litery od A do Z. Pozycja wymagana
Akceptowane
sa litery od A do Z. Pozycja opcjonalna
Akceptowane
sa litery lub cyfry. Pozycja wymagana
Akceptowane
sa litery lub cyfiy. Pozycja opcjonalna
Akceptowane sa dowolne maki i spacje. Pozycja wymagana Akceptowane sa dowolne znaki i spacje. Pozycja opcjonalna Znaki rozdzielajace w liczbach, dacie i czasie. To, jaki znak zostanie faktycznie uzyty, zalezy od ustawienw oknie dialogowym Wlasciwosci: Ustawienia regionalne w Panelu sterowania Windows Wszystkie znaki sa zapisywane malymi literami Wszystkie znaki sa zapisywane wielkimi literami Znaki w masce wprowadzania sa wyswietlane od strony prawej do lewej zamiast od lewej do prawej \
Nastepny znak ~e wyswietlany jako litera! (na przyklad symbol \A ~zie wyswietlany pc prostu jako A)
Tabela 9.5. Przyklady masek wprowadzania
Maska
Dozwolona
(000) 000-000-000
(032)230-986-318
(000
(032)HEL-1(Jj
JAAA-AAA
wartosc
>l
MiSio
ISBN 00-0000-000-0
ISBN 83-7361-200-9
Regula poprawnosci Regula poprawnosci sluzy do okreslania wymagan w stosunku do wprowadzanych danych. Wpisanie danych nie spelniajacych reguly moze spowodowac wyswietlenie komunikatu wpisanego w polu Teks/ reguly sprawdzania. Regula poprawnosci moze byc wyrazeniem logicznym. Jego dlugosc nie moze przekraczac 2 048 znaków. Do budowy wyrazen sluzy Kans/ruletor>ryrozen(rysunek 9.3). Okno Kons/ruk/or Iryrozen zostaje wyswietlone po kliknieciu przycisku znajdujacego sie na prawo od pola Regula spr. poprawnosci (rysunek 9.4).
75
Rozdzial 9. . Parametry typów danyc~ Rysunek 9.3. Budowanie reguly poprawnosci
I: II
Jt
Rysunek
9.4.
Wlaczanie
Konstruktora wyrazen
Parametr Regula spr. poprawnosci mo:re zawierac np. slownik dopuszczalnyc~wartosci. Poszczególne slowa powinny byc polaczone spójnikami logicznymi. Wpisanie jako reguly sekwencji: misio ar pros;acze~Or tygrysekar malenstwo powoduje. :repo wpisaniu danych Microsoft Access bedzie porównywal je z regula. Za poprawne beda uwazane tylko ciagi znaków okreslone w wyra:reniu.Wprowadzenie innego ciagu znaków spowoduje wyswietlenie komunikatu wyspecyfikowanego w polu Tekst reguly sprawdzania. Program nie zezwoli na wpisanie danych, które nie sa zgodne z zadana regula.
Indeksowanie Indeks przyspiesza wykonywanie kwerend opartych na polach indeksowanych oraz operacje sortowania i grupowania. Pole mo:re zawierac wartosci unikatowe albo nieunikatowe. Parametr Indeksowane okresla, czy dane pole tabeli jest polem indeksowanym (rysunek 9.5). .......... -~"""'"
Rysunek 9.5. Opcje parametru Indeksowane
TI')'bItE TJ)'b~edytor.M
!Tal.(OUpMr.atyOK) T_Ck
Parametr Indeksowane moze przyjmowac jedna z trzech wartosci: Nie - jesli pole niejest indeksowane. Tak (Duplikaty OK)
-
pole jest indeksowane i dozwolone jest wielokrotne
wystepowanie takiej samej wartosci pola. Tak (Bez duplikatów) - pole jest indeksowane i kazde musi miec unikatowa wartosc.
ABC Access 2003 PL
76
Rozmiar pola Rozmiar pola umotliwia okreslenie maksymalnego rozmiaru danych, które moga byc przechowywanew polu, którego typemdanychjest Teks/,Liczba lubAu/onumerowanie. W programieMicrosoftAccess moma skorzystacz siedmiurozmiarówpól (rysunek 9.6). Rysunek 9.6. Rozmiorypól
Jesli typem danych jest Teks/, parametr Rozmiar pola moze przyjac wartoSC z przedzialu od Odo 255. Ustawieniem domyslnym jest 50. Jezeli wlasciwosc Typ danych ma wartosc Au/onumerowanie, wlasciwosc Rozmiar po/a moze przyjmowac dwie wartosci: Liczba calkowita dluga lub Identyfikator replikacji. Dla pola typu Liczba wlasciwosc Rozmiar pola moze przyjmowac wartosci przedstawione w tabeli 9.6. Tabela 9.6. Rozmiary pól d/a danych typu liczbowego Ustawienie
Opis
Ookladnosc dziesietna
Rozmiar miejsca na przechowywanie
Bajt
Przechowuje liczby z przedzialu od O do 255 (bez ulamków)
Brak
I bajt
Dziesietne
Przechowuje liczby z przedzialu
28
12 bajtów
Brak
2 bajty
Liczbacalkowita Przechowuje liczby z przedzialu dluga(ustawienie od -2 147483648 do 2 ]47483 647 domys/"") (bez ulamków)
Brak
4 bajty
Pojedyncza precyzja
7
4 bajty
od -]0" - I do 10" - 1(.adp) Liczba calkowita
Przechowuje liczby z przedzialu od -32 768 do 32 767 (bez ulamków)
Przechowuje liczby z przedzialu od -3,402823E38 do -I,401298E - 45 w przypadku wartosci ujemnych otaZod 1,401298E-45 do 3,402823E38 w wypadku wartosci dodatnich
Rozdzial9.
. Parametry
77
typóW danych
Tabela 9.6. Rozmiary pól dla danych typu lierbowego -
ciag dal$zy
Ustawienie
Opis
Dokladnosc dziesietna
Rozmiar miejsca na przechowywanie
Podwójna precyzja
Przechowujeliczby z przedzialu od -1.7976931348623IE308 do -4.94065645841247E - 324 w przypadkuwartosciujemnych oraz od 4,94065645841247E - 324 do 1.7976931348623IEJ08 w przypadkuwartoscidodab1ich
15
8 bajtów
ldentyfilwtar replikacji
Globalny identyfikator unikatowy (GUlO)
Nie dotyczy
16 bajtów
Formaty liczbowe Po zadeklarowaniu dla pola typu danych Liczba mozna wybrac jeden z siedmiu fonnatów (rysunek 9.7).
--1-1
Rysunek 9.7.
RozmwJdi
Farmaty liczbowe
"'...
UCZbI ~~
lIuga
MialJt;"a~ lJczbfIoo6ha3lS6,7e9 MMIc.IWJilOI'Mdzan.WaU:OW'f 3"56,7921 T)tII EI.ro H56,79' WlrtoU:domyh ~ltd'l:Dwy 3456,79 RetPupr.popr-.okl Stardilrdowy 3456,79 Tekst,~spr.popr__ProcentOW'f 123,00'1I. ~ «IN: 3i6(+03
-T"Oi~ No
W tabeli 9.7 zebrano predetiniowane fonnaty liczbowe. Tabela 9.7. Standardoweformaty liczbowe
Format
Opis
Wartosc wpisana
Wartosc wyswietlana
Liczba ogólna (ustawienie domyslne)
Liczba wyswietlana jest w postaci. w jakiej zostala wprowadzona
1234.56
1234.56
Wa/ulowy
UZywany jest separator tysiecy; stosowane sa ustawienia okreslone w Ustawieniach regionalnych w Panelu sterowania systemu Windows dla wartosci ujemnych. symboli wartosci dziesietnych i walut oraz dla miejsc dziesietnych
123456.7
123.456.70 zl
Euro
UZywany jest fonnat waluty z symbolem euro (€), niezalemie od waluty okreslonej w Ustawieniach regionalnych w Panelu sterowania systemu Windows
78
ABC Access 2003 Pl
Tabela 9.7. Standardowe formaty liczbowe - ciag dalsry Format
Opis
WartoU wpisana
WartoU wyswietlana
Staloprzecinkowy
Wyswietlana jest przynajmniej jedna cyfia; stosowane sa ustawienia okreslone w Ustawieniach regionalnych w Panelu sterowania systemu Windows dla wartosci ujemnych. symboli wartoo.:i dziesietnych i walut oraz dla miejsc dziesietnych
1234.567
1234.56
Standardowy
Utywany jest separator tysiecy; stosowane sa ustawienia okreslone w Ustawieniach
123456.7
123.456.70
regionalnych w Panelu sterowania systemu Windows dla wartosci ujemnych. symboli wartosci dziesietnych oraz dla miejsc dziesietnych
Procentowy
Nastepuje pomnotcnie wartosci przez I ()() i dodanie do niej znaku procentu (%); stosowane sa ustawienia okreslone w Ustawieniach regionalnych w Panelu sterowania systemu Windows dla wartosci ujemnych, symboli wartosci dziesietnych oraz dla miejsc dziesietnych
l
1001
WykJadniczy
Uzywany jest standardowy
0.01
lE-02
zapis wykladniczy
Rozdzial 10.
Tworzenie i edycja tabel Tabele sa obiektami bazy danych. Aby utworzyc tabele, nalezy najpierw uruchomic baze danych. Nastepnie w oknie bazy danych trzeba kliknac przycisk Nowy (rysunek 10.1).
Rysunek 10.1. Tworzenie nowego obiektu
Po chwili wyswietlone zostanie okno Nowa tabela (rysunek 10.2). Rysunek 10.2. Mozliwosci
tworzenia nowej tabeli
Po jego prawej stronie widoczne jest okno sluzace do wyboru opcji tworzenia tabeli. Widok arkusza danych umozliwia utworzenie pokratkowanego arkusza. Aby móc korzystac z tabeli, nalezy okreslic typy i podtypy.p6I, wybrac klucz tabeli itd. Parametry tabeli mozna wybrac w trybie projektowania. Po wybraniu opcji Widok projekJu tabela zostanie utworzona bezposrednio w trybie projektowania. Uaktywnienie opcji Kreator tabel ulatwia prace, gdyz program wiele czynnosci wykonuje za uzytkownika. Z drugiej strony tracimy bezposrednia kontrole nad tym, co jest w bazie danych umieszczane. Kreator pozwala na szybkie utworzenie tabeli, jednak sporo czasu stracimy na sprawdzenie i poprawienie tych parametrów, które kreator ustawil w tabeli wedlug domyslnej konfiguracji.
80
ABCAccess 2003 PL Tabela importu przeznaczona jest do importowania do bazy danych tabel i obiektów z pliku zewnetrznego. Tabela laczy pozwala na wygenerowanie tabeli, która slu2y do polaczenia z plikami zewnetrznymi. Jezeli nie bedziesz importowal danych z zewnetrznej tabeli, proponuje wybrac pozycje Widok projektu. Po kliknieciu przycisku OK zamkniete zostanie okno Nowa tabela. Jego miejsce zajmie pusta tabela (rysunek 10.3).
Rysunek 10.3. Pusta tabela
A
-1-1
Okno Tabela podzielone jest na dwie czesci. Na górze widoczne sa kratki sluzace do definiowaniapól. Na dole okna, w zaleznosciod typu danych wybranego w górnej czesci tabeli, wyswietlane sa paramelly szczególowe. W kolumnie Nazwa pola moma wpisywac nazwy, które beda naglówkami pól. Powinny byc one zgodne z rodzajem danych wpisywanych w polu.
Po umieszczeniu kursora w kolumnie Typ danych w prawym rogu komórki wyswietlana jest czarna strzalka skierowana ku d%wi. Klikniecie jej powoduje wyswietlenie predefmiowanych typów pól (rysunek 10.4). Rysunek 10.4. Lisia I)pÓwdmryr:h
.'-...
'1-........ W kolumnie Opis mowa opcjonalnie wpisac informacje o polu. Wyglad dolnej czesci okna Tabela jest zalewy od typu danycb wybranych dla pola.
Rozdzial 10.
. Tworzenie
i edycja tabel
81
Definiowanie pól Podstawowym elementem skladowym tabel sa pola. Przy róznych okazjach wspominalem, jak sa one tworzone. Podsumujmy i usystematyzujmy teraz te wiadomosci. Aby zdefmiowac nowe pole, wykonaj nastepujace czynnosci: 1. Kliknij pierwszy od góry wolny wiersz w kolumnie Nazwa pola. 2. Wpisz z klawiatury nazwe pola. 3. Nacisnij klawisz Tab. 4. Kursor przesunal sie w poziomie do kolumny Typ danych. 5. Rozwin liste typów danych i zaznacz jeden z nich.
6. W ramce Wlasciwoscipola wybierz parametry charakteryzujace pole. 7. W kolumnie Opis wpisz objasnienie na temat przeznaczenia pola. W chwili obecnej moze ono wydawac Ci sie trywialne, jednak gdy za kilka miesiecy bedziesz chcial wprowadzic poprawki w strukturze bazy, zawarte w nim informacje moga zaoszczedzic Ci wiele cennego czasu.
Definiowanie klucza Aby baza danych dzialala poprawnie, nie moga w niej istniec identyczne rekordy. To wymaganie dosc trudno jest spelnic w praktyce. Jesli rejestrujemy np. sprzedaz ksiazek i tego samego dnia ten sam klient przyjdzie dwa razy i za kazdym razem kupi po jednym egzemplarzu
tej samej ksiazki
-
powstana dwa identyczne
rekordy. Aby temu
zapobiec, trzeba do bazy dodac osobne pole, w którym beda kolejno numerowane transakcje. Dzieki temu w tabeli nie znajda sie dwa identyczne rekordy. Pole, na którym ciazy wymóg unikatowosci informacji, nosi nazwe klucza podstawowego tabeli. Od momentu zdefiniowania w tabeli klucza pOdstawowego nie bedzie mozliwe wprowadzaniew polu klucza podstawowego wartosci identycznej z juz istniejaca ani pozostawienietego pola pustego. Aby zdefiniowac klucz podstawowy: 1. Kliknij prawym przyciskiem myszy szary prostokat, widoczny po lewej stronie nazwy pola (jest to selek/or pola).
2. Z podrecznego menu wybierz polecenie Klucz podstawowy Rysunek 10.5. Definiowanie klucza podstawowego
~
N;;;;
(rysunek 10.5).
82
ABC Access 2003 PL
Po wykonaniu powyzszych czynnosci na szarym prostokacie widocznym po lewej stronie nazwy pola pojawi sie symbol klucza (rysunek 10.6). Rysunek 10.6. Polepelniace role klucza
W bazie mozna zdefmiowac wiecej niz jeden klucz. Co prawda juz jeden wystarczy, aby zapewnic unikatowosc rekordów (aby mozliwe bylo ich rozróznianie). Jezeli chcemy, aby Microsoft Access sprawdzal, czy jakas dana nie zostala powtórzona, nalezy w zawierajacymja polu zdefiniowac klucz. Z taka sytuacja mozemy sie zetknac, gdy bedziemy rejestrowac numery NIP i PESEL - oba powinny byc unikatowe. Wpisanie numeru, który juz istnieje, oznacza, ze popelnilismy blad lub taki rekord juz istnieje w bazie. Aby utworzyc w bazie wiecej niz jedno pole z kluczem: 1. Wcisnij i trzymaj klawisz Ctrl. 2. Klikaj selektory pól, w których maja zostac zdefiniowane klucze. 3. Po zaznaczeniu wszystkich pól, w których chcesz umiescic klucze, zwolnij klawisz Ctrl. 4. Kliknij ikone Klucz podstawowy (rysunek 10.7). RYsunek 10.7. Definiowanie kilku kluczy
Klucze mozna w prosty sposób usuwac. Pierwsza czynnoscia jest klikniecie selektora pola zawierajacego klucz. Druga - klikniecie ikony Kluczpodstawowy (rysunek 10.8). RYsunek 10.8. Usuwanieklucza
Indeksowanie bazy Aby szybko znalezc informacje w grubej ksiazce, nie wertujemy jej od deski do deski - zagladamy jedynie do indeksu. W bazie danych Microsoft Access równiez mozna utworzyc indeks, przydatny do szybszego znajdowania i sortowania rekordów. W celu znalezienia danych ich polozenie jest sprawdzane w indeksie. Indeks w ksiazce spelnia swoja role, jesli zawiera wyselekcjonowane hasla. Wpisanie zbyt duzej liczby slów utrudni przeszukiwanie. Z kolei zbytnie ograniczenie terminów utrudni lub nawet uniemozliwi znalezienie informacji.
83
Rozdzial10. . TworzenieI edycja tabel Analogicznie jest w przypadku baz danych indeksowane.
-
wazne jest dobranie pól, które beda
Najczesciej indeks tworzony jest na podstawie pól, które sa czesto przeszukiwane, sortowane itp. Klucz podstawowy tabeli jest Indeksowany automatycznie. Nie mozna zaindeksowac pola, w którym typem danych jest Obiekt OLE.
Tworzac indeks w bazie danych, nalezy przestrzegac kilku zasad. Indeksowac nalezy te pola, w których przewiduje sie wykonywanie wyszukiwania lub sortowania. W przeciwnym razie baza zostanie rozbudowana o indeks, który nigdy nie zostanie wykorzystany. Indeksowac mozna pola zawierajace wiele rózniacych sie wartosci. Jesli w polu znajduje sie wiele takich samych wartosci, indeksowanie moze nie przyspieszyc wykonywania kwerend w znaczacy sposób. Aby zaindeksowac pole: 1. Otwórz tabele w trybie projektowania. 2. Kliknij pole, dla którego ma zostac utworzony indeks. 3. W ramce Wlasciwoscipola odszukaj wiersz Indeksowanie. 4. Kliknij go i rozwin liste typów indeksów. 5. W zaleznosci od tego, czy w polu moga wystepowac powtórzenia, czy nie wybierz jedna z opcji (rysunek 10.9).
-
Rysunek 10.9. Indeksowanie pola
............ ~"l-ode T",,,,,, Tryb.~edytcirill€ TaoIrt~
ABCedycji tabel -
Istniejaca tabele mozna modyfikowac jest to czesto spotykana sytuacja. Rzadko sie zdarza, ze do sposobu dzialania nowej bazy uzytkownicy nie maja uwag. Problem stwarza nie sama modyfikacja bazy, ale koniecznosc wprowadzenia poprawek bez utraty danych. Przed rozpoczeciem edycji tabeli dane nalezy zabezpieczyc. Konieczne jest skopiowanie plików bazy w bezpieczne miejsce. Gdy baza po wprowadzeniu zmian nie bedzie dzialala poprawnie, wystarczy zastapic pliki edytowane przez ich kopie. Jest to metoda szybka i niezawodna.
84
ABC Access 2003 PL
Modyfikujac baze danych, warto wiedziec, ze: . Usuniecie z tabeli pola powoduje usuniecie równiez wszystkich zapisanych w nim danych. . Zmiana typu danych moze spowodowac utrate calosci lub czesci danych zapisanych w tYmpolu. Stanie sie tak wówczas, gdy Access nie bedzie mógl dokonac konwersji zjednego formatu danych na drugi. Na przyklad zmiana typu pola z Tekst na Liczba bedzie mozliwa jedynie wtedy, gdy w polu przechowywalismy liczby zapisanejako maki, a po konwersji rozmiar pola Liczba bedzie wystarczajacy do przechowania otrzymanej liczby. . Skrócenie pola (np. typu Nota) przez zmiane parameb'URozmiar pola moze spowodowac obciecie tekstu w polach, w których zapisany jest tekst dluzszy od nowo zdefmiowanego rozmiaru. Kolejnym problemem jest koniecmosc uaktualniania w bazie wszystkich obiektów, które korzystaly z danej tabeli. NaJezy przejrzec wszystkie stWorzoneobiektY i wprowadzic niezbedne poprawki.
Zmiany struktury tabeli Aby zmienic sb'Ukturetabeli, nalezy otWorzyczawierajaca ja baze danych. Mozna to uczynic na dwa sposoby: wybierajac polecenia Plik, Otwórz (rysunek 10.10) Rysunek10.10. Otwieranie bazy danych za pomoca polecen z menu
""'" ""'"
lub klikajac widocma na pasku narzedzi ikone Otwórz (rysunek l0.11). Rysunek 1O.:u. Otwieranie bazy
Obie metody daja identycmy efekt koncowy. Jest nim wyswietlenie okna Otwórz (rysunek 10.12). Po zamaczeniu pliku bazy nalezy kliknac przycisk Otwórz - spowoduje to wczytanie pliku. Po wyswietleniuokna bazy danych nalezy na liscie Obielrtykliknac pozycje Tabele
-
spowoduje to wyswietlenie listY tabel. Po zamaczeniu tabeli nalezy kliknac przycisk
Projektuj (rysunek l0.13). Spowoduje to otWorzenietabeli w trybie projektowania. Po wprowadzeniu zmian nalezy je zapisac. W tYmcelu trzeba wybrac polecenia: Pliki Zapisz lub kliknac ikone Zapisz (rysunek 10.14).
85
Rozdzlal10. + Tworzenie I edycja tabel Rysunek 10.12. Wybieranie bazydanych
; A l1:I ,
MDjebiel~e
Rysunek 10.13. Otwieranie tabeli w trybie projekJowan'-a
:rWYdatklN8Qifdan1C' IJl1Uafpl U'plOt.fan1uAC
-
\iij""""I_Id1_1 "Ej i.... :SJK 111_
XI'. :rl§j]lIII
1olH .r,y.w«ztabelewwielol
,:.Projekuj ttabe!tzapomoc,IrlMtora LtwórtwproweWacMne ::nUOOOllll'ia
'" '"
Rysunek 10.14. Zapisywanie wprowadzonych zmian
Zamknieciebazydanych bez zapisywaniawprowadzonychzmian spowoduje ich bezpowrotnautrate.
Jak to zrobic W tabeli l0.1 znajduje sie opis podstawowych czynnosci edycyjnych. Po wprowadzeniu zmian trzeba je zapisac. Podczas zapisywania program konwertuje baze danych, aby byla zgodna z nowymi ustawieniami. Po napotkaniu problemów wyswietli okno z ostrzezeniem. Jezeli wydamy polecenie kontynuowania konwersji, dane stwarzajace problemy nie'zostana przeniesione do nowej bazy. Ich miejsce zajma puste pola.
86
ABCAccess 2003 PL
Tabela 10.:1. Edycja bazy danych
-
podsumowanie
Co chcemy uzyskac
Jak to uzyskac
Dodac nowe pole
Otwórz tabele w trybie projektowania. W kolumnie Nazwa pola wpisz nazwe pola. Zdefiniuj jego typ danych oraz wlasciwosci
Dodac pole na koncu listy pól
Kliknij pierwsza wolna komórke w kolumnie Nazwa pola. Zdefiniuj wlasciwosci pola
Usunac pole z tabeli
Kliknij selektor pola. którego polo:renie w tabeli chcesz zmienic. Podswietlony zostanie caly wiersz. Nacisnij klawisz Dei
Wstawic pole pomiedzy dwa inne Zmienic kolejnosci pól
Kliknij selektor pola, przed którym ma znalezc sie nowe pole. Nacisnij klawisz lnser/. Zdefiniuj wlasciwosci pola Kliknij selektor pola, którego polo:renie w tabeli chcesz zmienic. Podswietlony zostanie caly wiersz. Wcisnij i przytrzymaj lewy przycisk myszy. Kursor zmieni sie ze strzalki w stnalke z kwadratem. Przeciagnij kursor do wiersza docelowego. Zwolnij lewy przycisk myszy
Zmienic nazwe pola
Otwórz baze danych w trybie projektowania. Kliknij komórke w kolumnie Nazwa pola. Nacisnij klawisz F2 i wprowadz zmiany
Zmienic parametry pola
Kliknij komórke w kolumnie Nazwa po/a. Wprowadz zmiany w ramce Wlasciwosci pola
Zmienic typ danych
Kliknij komórke w kolumnie Typ danych. Wybierz nowy typ danych dla pola
Rozdzial li.
Laczenie i wczytywanie danych Dane do bazy mozna wpisywac recznie. W taki sposób bedziemy pracowac, wprowadzajac opisy woluminów tworzonego ksiegozbioru, rejestrujac towary przyjmowane do magazynu itp. Jezeli informacje sa zapisane w innym programie, mozemy je wykorzystac. Nie musi to byc nawet baza danych. Wystarczy, aby byly one zapisane w uporzadkowany sposób. Jezeli zródlem jest arkusz kalkulacyjny, nalezy upewnic sie, czy dane w arkuszu kalkulacyjnym sa rozmieszczone w odpowiednim formacie tabeli, czy kazde pole (kolumna) arkusza zawiera dane tego samego typu, a kazdy wiersz te same pola. Przed importowaniem lub laczeniem danych z pliku tekstowego równiez trzeba sprawdzic, czy kazde pole zawiera dane tego samego typu i czy kazdy wiersz zawiera te same pola.
-
Microsoft Access swietnie nadaje sie do gromadzenia danych. Zawiera równiez narzedzia sluzace do wybierania informacji spelniajacych zadane kryterium czy generowania raportów. Nie ma jednak takich narzedzi, jak arkusz kalkulacyjny. To, co w bazie danychjest niewykonalnelub czasochlonne,w arkuszu kalkulacyjnym mozemy wykonac za pomoca kilku klikniec mysza. Raport wygenerowany przez baze danych sluzy do wybieraniaz niej informacji;mozliwoscijego formatowaniasajednak doSCograniczone. Duzo prosciej jest dane wybrane z bazy formatowac za pomoca edytora tekstowego. Przenoszac dane pomiedzy programami, nie musimy ich wpisywac od poczatku. Plik bazy danych mozna zapisac w formacie popvalajacym na wczytanie go do arkusza kalkulacyjnego czy edytora tekstów. Jako zródla danych mozna równiez wykorzystac pliki utworzone za pomoca innych programów.
88
ABC Access 2003 PL
Laczenie danych Aby otworzyc plik utworzony w innym programie niz Microsoft Access, nalezy wybrac polecenia: Plik/Otwórz, posluzyc sie kombinacja klawiszy Ctrl+O lub kliknac ikone Otwórz (rysunek 11.1). Rysunek 11.1.
Ikona Otwórz
Niezaleznie od wybranego sposobu otwierania pliku wyswietlone zostanie okno Otwórz (rysunek 11.2). Rysunek 11.2. Okno Otwórz
I I
J Umozliwia ono wybieranie dostepnych dla uzytkownika zasobów i przegladanie ich. W dolnej czesci okna znajduje sie pole Pliki typu - sluzy ono do filtrowania typów wyswietlanych nazw plików. Widoczne sa tylko nazwy tych plików, których typ jest zaznaczony na liscie Pliki typu. Domyslnie jest to Microsoft Access. Aby zmienic ustawienia nalezy, kliknac czarna strzalke widoczna po prawej stronie okna Pliki typu. Spowoduje to rozwiniecie listy. Jezeli nie chcemy, aby jakiekolwiek pliki nie byly ukrywane, trzeba wybrac opcje Wszystkiepliki. W celu wyswietlenia tylko plików okreslonego rodzaju nalezy ich nazwe zaznaczyc na liscie. Po oszukaniu pliku, który chcemy wczytac, nalezy zaznaczyc jego nazwe. Nastepnie trzeba kliknac przycisk Otwórz. Po chwili wyswietlone zostanie okno Kreator laczenia arkuszy (rysunek 11.3). Jezeli we wczytywanym dokumencieznajduja sie naglówki(np. naglówkitabeli w dokumencie Worda lub naglówki kolumn Excela), nalezy zaznaczyc pole Pierwszy wiersz zawiera naglówki kolumn. Na ich podstawie zostana utworzone nazwy pól. W oknie
Rozdzial 11.
. Laczenie I wczytywanie danych
Rysunek 11.3. Pierwsze okno Kreatora laczenia arkuszy
89
~iinl7.;~'uszy MIcJo5OftActes$moteutyl~Irtl.nn~_p6lwtabel,Qy~"~ ~1If\llljówlikoUm? P'<~~Z.-erIl.N96wlr1~
1 2
ID vkkii!kl ETCLR .NET CLR. KsieUa ek~pe~ta 01PSV
01 p~8ktycznvch
Bkryptc.
,c,
D. strone
,.
WWW
3 DW1.X! D ScucUo lUX. CzarnIl kalega an1Mtora BIblIa 4 481 d8 max 1. TecbnIkimodelo.anls. 5 1il1U.X4 DS !U.X 1. C.iczenIa praktyccne 6: ICACe BC Acceua 2002/XP PL
J",-I
...>~
~,
_.:1 .!1 """" I
podgladu widoczny jest tTagmentpliku. Jego wyglad zmienia sie w zaleznosci od tego, czy pole zostalo zaznaczone, czy nie. Po ustawieniu wlasciwych parametrów nalezy kliknac przycisk Dalej. Po chwiliwyswietlonezostanieokno,w którymmoma wybracnazwe tabeli(rysunek 11.4). Rysunek 11.4. Ostatnie okno Kreatora laczenia arkuszy
,NezMpol~Jtabel; ","*~Heion02-03
J
'WJtoa
I
p"
Domyslnie nazwa tabeli jest identyczna z nazwa pliku z danymi. Mozna ja pozostawic bez zmiany lub wpisac wlasna nazwe w polu Nazwa polaczonej tabeli. Jezeli nie mamy duzej praktyki w korzystaniu z Microsoft Access, proponuje zaznaczyc opcje Wyswietl Pomoc po zakonczeniu pracy Kreatora. W celu wygenerowania tabeli trzeba kliknac przycisk Zakoncz. Gdy tabela zostanie utworzona, na ekranie wyswietlony zostanie komunikat (rysunek 11.5). Po zapoznaniu sie z nim trzeba kliknac przycisk OK.
90
ABC Access 2003 PL
Rysunek 11.5. Informacja o zakonczeniu wczytywania danych
Na liscie tabel pojawil sie nowy obiekt. Tabela nosi taka sama nazwe,jak plik 2Iódlowy. Jej ikona infonnuje, ze utworzona zostala z arkusza kalkulacyjnego (rysunek 11.6). Rysunek 11.6. Baza danych z nowa tabela
1'~lCc.'..n~1liU"d~yChM{fÓrmlfiiiki.':ptO&t-nu:A:ii::.~~-.
~""",,"'\!J_I
)0(1', :d§lilll
""""'-' '4i"""''''.'''''''''''''' iil
-.0.':.1 . ~
Ltwót'lt"zapofl'llX.\beotOr.
;jJ'K~:.~Llw6rZtabell;,wprOWoed:_NwII
jc.mo
co ","""".. ~
"'-
..
~
"...,
~Sttony
1:""", oC-.., "-
w ......
W procesie importowaniadanych twol7.Onajest kopia infonnacji w nowej tabeli w bazie danych lub w projekcie programu Access. Tabela lub plik zródlowy nie ulegaja zmianie w tym procesie. Obok nowej tabeli widoczna jest strzalka. Nie pojawiala sie ona przy wczesniej twoI7.Onychtabelach. Gdy spróbujemy otworzyc tabele w trybie projektowania
-
zagadka
czesciowo sie wyjasni. Otwieranie innego dokumentu powoduje wygenerowanie tabeli polaczonej (rysunek 11.7). Rysunek 11. 7. Otwieranie tabeli p()/aczonej
~
MIcrotoftomceAa:eu '~'CennIc~_HefIoq 02-03' le5t t~pol,aczDnl.. Pewnych )elwIHdwold nie mofn8 zmIen6t. ClynadalchcllSl"~
Tabela polaczona nie jest obiektem samodzielnym - caly czasjest zwiazana z plikiem zródlowym. Rozwiazanie to jest korzystne, gdy dane pochodza z dokumentu, który jest
91
RozdzialU. . Laczenie I wczytywanie danych
wspóluzytkowany w sieci. Z przypadkiem takim mozemy sie zetknac, gdy pliki sa przechowywane na serwerze sieciowym, a formularze, raporty i inne obiekty znajduja sie w innej, wspóluzytkowanej bazie danych. Dane zródlowe pozostaja na miejscu. Microsoft Access ma do nich bezposredni dostep. Pozwala to na korzystanie z danych, podczas gdy inni uzytkownicy mogaje wykorzystywac w programie oryginalnym. Jedyna niedogodnoscia poslugiwania sie tabelami polaczonymi jest brak mozliwosci modyfikowania ich wlasciwosci (rysunek I 1.8).
Rysuneku.s. Tabela polaczona jest zwiqzana z plikiem zródlowym
A
!v
-T""
""'" 1"""""'1 ~,POIa
25S
,-
..
W-lof,l~ ~.sp,pcIpI'~ Tebt r.lY $pr,pcIpI'~
___
Zerowad.dwwdona """"'""" ~'(,r«ode TrybM Tl')lbzdarMtdyt
,"........-.
No
T'" No Me lIN formwtu Br_
Dane nalezy przylaczacdo bazy, gdYsa one czesto modyfikowane- istotna jest bowiemich aktualnosc.
Importowanie danych Jesli dane beda wykorzystywane tylko w programie Microsoft Access, nalezy je zaimportowac. Baza danych dziala szybciej, jesli wykorzystywane sa tabele w jej "macierzystym" formacie. Importowana tabele mozoa zmodyfikowac, tak jak tabele utworzona w programie Microsoft Access. Aby zaimportowac dane, nalezy otworzyc baze danych, a nastepnie wybrac polecenia: Plik/Pobierz dane zewnetrzne/Importuj (rysunek l 1.9).
Rysunek U.9. Importowanie danych
tcfycjo !I!DdokWlHowr...
Ctrf.tN
Otwfn...
CtrI+O
Pot;on:dIne~znet
Po chwili wyswietlane jest okno Importowanie. Od okna Otwórz (rysunek I 1.2) rózoi sie tylko tym, ze miejsce napisu Otwórz zajal napis Importowanie (rysunek 11.10).
ABCAccess 2003 PL
92
Rysunek 11.10. Okno Importowanie
,-
.J
.....-
J
.......
Po zaznaczeniu nazwy pliku i kliknieciu przycisku Importuj pojawia sie okno Kreator importu arkuszy. Je~eli we wczytywanym dokumencie znajduja sie naglówki (np. naglówki tabeli w dokumencie Worda lub naglówki kolumn Excela), nalezy zaznaczyc pole Pierwszy wiersz zawiera naglówki kolumn. Na ich podstawie zostana utworzone nazwy pól. W oknie podgladu widoczny jest tTagmentpliku jego wyglad zmienia sie w zale~nosci od tego, czy pole zostalo zaznaczone, czy nie. Po ustawieniu wlasciwych parametrów nalezy kliknac przycisk Dalej.
-
Zamiast koncowego okna kreatora na ekranie wyswietlanejest kolejne okno z pytaniem. Powinnismy w nim okreslic, czy importowane dane maja znalezc sie w nowej tabeli czy maja zostac dolaczone do ju~ istniejacej. W drugim przypadku trzeba zaznaczyc opcje W istniejacej tabeli i wybrac nazwe tabeli docelowej. Utworzymy nowa tabele (rysunek 11.11). Rysunek 11.11. Drugie okno kreatora
Kr..t.-rw.;oI1l1 fIID:Nsz d
zy
. lIl-..dIne,,-,kbw~~tlb8l
GdziIdasz..."d_ .,,,al-.d.nI? r.lWlP"'8ttabelil ("w~~:
r
mul: at.Ut
ID
---l:i NETCLa. ble~ et::lperu ZOl". 01 pt'aItt.~ZD.VCb 81a:vpc6__ , DIUD110Studio IlU. Czu_ otep 1
4 S
,
111 d8 ...
8trofte l1rI _l-tora
1. Te<:~UI;l 11011"0_18. DS ILU 1. t.1clenl. pr.nvezDe 2002/XP PL BCJ.CCliC kc.ua
BibU.
.1IU1
_..:.I ..:J
.!.i...J
I
<""",, J
...>~
""""
I
93
Rozdzial11. . Laczenie I wczytywanie danych
W kolejnym oknie kreatora mozemy okreslic wlasciwosci importowanych pól (rysunek 11.12).
Rysunek 11.12. Okreslanie wlasciwosci
pól
'-""Kr.ito'rin,oHu'.il(us]J"
fI'IDlNIolI.~~8katdevo~._t
l.GllleQOpoIa.W'fbIerzpo&.,wobsarze ponIte,.Nastenemotesl~cMrllkt~poIa",obsz_'Opcjepolll'. 0Dde DOI&"'+'~~~'~
" po-
Jjp;i;i>1tfkr,
3 r
'~:
>
la:8iWIUliiIi&IiiiIII
~Qlk:'lo.t)c1 .NET CLR. Ksiega e~per~a 01 p~ak~ycznych skrypt6w na 5t~on~ VVV
D Studio lUX.
CI:IIII:'o.8 ksle'illll
c'
",.
IIIni_tora
d3 max 4. Techniki modelovanla. 81bl1a DS BAX 4. C.leceniapraktyczne BC Access8ZOOZ/XPPL
Aby zmienic aktywne pole, nalezy kliknac jego naglówek w dolnej czesci Kreatora importu arkuszy. Jeteli pole nie ma byc importowane, trzeba zaznaczyc opcje Nie importuj pola (pomin). Po okresleniu parametrów moma kliknac przycisk Dalej. Kreator pamieta o wszystkim! W kolejnym oknie podpowiada, te warto zdefiniowac klucz podstawowy (rysunek 11.13). Rysunek 11.13. Definiowanie klucza podstawowego
~,r'6'ror:knpOrtij'liikuuy ,
fil--,21---
-------
,
Proqam"""osdtAa:IIISSl-c.a~ktJwl pMd' . ~ d8 ~
-ltlbeUlua~jMt
r
lllkaMeoorela
PolwaIajprcaamol'liQl;omdode(lUz:podst:awowy
"~--IF
rllelloU:.~~ ~u.t kallltkl .NET CLR. K$le'ila eksperta 01 ptanycznyc:h skryptów na strone VVV D Scudl0 81%. Cla~na ks1ega an1matg~. c15 l-X 4. Te:ctm1lt1 ftIOdelgvan1a. JUbUa DS IAX 4. Cv1clen1a p~aktVClne BC .Lc:ce.s.sa 200UXP PL
J ''''''''' I 0"01>.I Z
94
ABC Access 2003 PL
Jezeli w bazie ma nie byc klucza podstawowego, trzeba zaznaczyc opcje Bez klucza podstawowego. Po okresleniu parametrów mozna kliknac przycisk Dalej. Po chwili wyswietlone zostanie okno, w którym bedzie mozna wybrac nazwe tabeli (rysunek 11.14). Rysunek 11.14. Ostatnie oknoKreatora importu kluczy
il
~~~~~po
~trWrMedeomocPOlalrDnczrilprlCYKteatOr"
Domyslnie nazwa tabeli jest identyczna z nazwa pliku z danymi. Mozna ja pozostawic bez zmian lub wpisac wlasna nazwe w polu Nazwa polaczonej tabeli. W celu wygenerowania tabeli trzeba kliknac przycisk Zakoncz. Gdy podczas importu nie zostana spelnione narzucone warunki, wyswietlany jest komunikat. Bledne dane nie sa umieszczane w tabeli (rysunek 11.15). Po zapoznaniu sie z komunikatem kliknij przycisk OK. Rysunek 11.15. Informacja o bledzie
~r.re.torImportUarkuny Powstalbl~ podcus tworrenla lU.za
~
.wpoll'lD'(JncWr;s11olJcz
P«I5I:8WOW'f'*JnOQo\zaMerKw.tokI
-_.~
).
Jezeli bledy nie uniemozliwiaja wygenerowania tabeli, jest ona tworzona (rysunek 11.16). Dane nalezy importowac, gdy nie ulegaja one czestym zmianom, a istotna jest szybkosc
dzialania
bazy.
Rozdzial 11.
.
95
Laczenie I wczytywanie danych
Rysunek 11.16. Informacja o zakonczeniu importowaniadanych
:~
Importowanie danych z plików tekstowych Importowanie danych z plików tekstowych rózni sie od importowania danych z formatów o bardziej uporzadkowanej strukturze. W przypadku arkusza kalkulacyjnego mamy wiersze i kolumny, które automatyczniesa zamienianew rekordy i w pola. Plik tekstowy ma tylko wiersze, zatem dane trzeba porozdzielac znakami informujacymi program, gdzie przebiega linia rozgraniczajaca pola (rysunek 11.17). Rysunek 11.17. Importowanie danych z pliku tekstowego
Kt~Po"~ ~00;JerKri:odd:IeIIiIpoI&1Wybier,~()jJ"..a.lw~porUelzQbKz. "~I:ol\/ltebt. f'.WybiertOl)'-*znk~DOIa;
,r._
r """" r """r
'k~ r_
P"~~~.~~.
, F--:::J
IETCLR IET,CLR :Ka1eaeo t:)!;>:IIperCa 0iPii 01 praktycznych skryptów na strone VVV 1>IIAXB D St.udto IIAX. CZlIIl:ruI. k111~qll an~tor. m ds max 1. Techniki modelovania. Biblia VKJ.X4DS 111X 4. t.lecenia ptaktyczne ,BCACC 8C Accesaa 2002/XP BCD!6 Be Delph1 6
'Dl~ Is.oLJ 5,0 4,0 5,0
PL
5~~
ill
.!oJ
J
''''''''J
.."
I
""""
Plik tekstowy mozna przygotowac do importu na dwa sposoby. Dane, które maja byc umieszczone w róznych polach, mozna rozdzielic za pomoca znaków, które nie sa uzywane w tekscie - okreslaja one podzial wiersza na pola tabeli. Inny sposobem organizacji danych tekstowych jest zapisanie ich w plikach o stalej szerokosci pola. W pliku nie ma wówczas separatorów. Kreatorowi importu tekstu powinna byc przekazana informacja, gdzie w wierszu znajduje sie dane pole i jaka ma dlugosc.
96
ABC Access 2003 PL
Rozdzial 12.
Eksportowanie danych Eksportowanie danych umozliwia zapisanie zgromadzonych w bazie danych Microsoft Access infonnacji w innym fonnacie. Dzieki temu dane liczbowe mozna przeanalizowac w arkuszu kalkulacyjnym lub opisac je, poslugujac sie edytorem tekstu. W celu wyeksportowaniadanych nalezy zaznaczyc tabele, a nastepnie wybrac polecenia: Plik/Eksportuj (rysunek 12.1). Rysunek 12.1.
...... ""'" Mow:t... r.. ""'" . PoQierrdene_
Inicjowanie eksportowania danych
o:
,:,trli5
'-..lo, -.., Po wyswietleniu okna Eksportowanie obiektu w polu Zapisz w nalezy okreslic folder docelowy. W polu Nazwa pliku trzeba wpisac nazwe, jaka bedzie nosil tworzony plik. Z listy Zapisz jako typ mozna wybrac fonnat pliku (rysunek 12.2). Microsoft Access umozliwia eksportowanie danych do nastepujacych fonnatów: . Microsoft Access,
. dBasem, . dBase IV,
. dBase5, . Microsoft Excel3, . Microsoft Excel 4, . Microsoft Excel 5
- 7,
. Microsoft Excel 97 - 2003,
98
ABC Access 2003 PL
Rysunek 12.2. Okno eksportowania obiektu
. dokumenty HTML, . Lotus 1-2-3 WJ2, . Lotus 1-2-3 WKI, . Lotus 1-2-3 WK3, . Paradox 3, . Paradox 4, . Paradox 5,
. Paradox7 -
8,
. pliki tekstowe, . Microsoft SharePoint Services, . Microsoft Active Server Pages, . Microsoft lIS l - 2, . Rich Text Fonnal, . scalanie dokumentów programu Microsoft, . dokumenty XML, . bazy danych ODBC.
Eksportowanie struktury tabeli Jesli eksportujemy tabele do fonnatu Microsoft Access, mozemy zapisac tylko strukture tabeli - tabela bedzie pozbawiona danych. Otrzymamy w ten sposób szablon juz istniejacej tabeli.
99
Rozdzial12. . Eksportowanie danych
Aby wyeksportowac strukture tabcl~ nalezy z widocznej w oknie Elcsportowanie obiektu listy Zapisz jaleo typ wybrac fonnat Microsoft Access.
Jako nazwe pliku tneba podac nazwe istniejacej bazy danych. Tabela nie moze istniec bez bazy danych! Po wpisaniu niezbednych infonnacji mozna kliknac przycisk Eksportuj (rysunek 12.3). Rysunek 12.3. E/c.sporlowanie do formatu Access
W kolejnym oknie nalezy okreslic, co chcemy wyeksportowac. Zaznaczenie opcji Ty/leo definicje powoduje, ze w nowej tabeli pojawia sie wszystkie obiekty eksportowanej bazy. Bedzie one zawierala definicje zapytan, fonnularzy, raportów, makr, modulów, lecz pozbawiona bedzie danych (rysunek 12.4). Wybranie opcji Definicje i dane spowoduje utworzenie kopii dotychczas istniejacej bazy. Rysunek 12.4. Nowa tabela bedzie miala identycznq strukture. jak tabela eksportowana
~..... -Ehportuf~-.,-.r'D.lHcteldene
,~PT,.l.odefr«II
~
Eksportowana tabela musi miec inna nazwe nit istniejaca tabela. W przeciwnym razie zamiast utworzenia nowej tabeli spowodujemy zastapienie jut istniejacej. Aby sprawdzic, co zawiera tabela, nalezy ja otworzyc przez dwukrotne klikniecie (rysunek 12.5). Rysunek 12.5. Skopiowana struktura tabeli
~nnik Wy~ktW& ~iO~'01;O'idtfTil-~ 10 I Tytulk.it.tki ICen.deluczn
URL
100
ABCAccess 2003 PL
MJyw baZie docelowej znalazly sie struktura I dane, nalezy w oknie Eksportowanie wybrac opcje Definicje i dane.
Eksportowanie do innych baz danych i arkuszy Eksportowanie baz do programów innych niz Microsoft Access umozliwia jedynie zapisanie danych. Struktura bazy zostaje utracona. Na liscie formatów plików docelowych znajduja sie stare wersje programów, np. dBase III. Program ten dzialal w srodowisku MS-DOS. W celu zachowania zgodnosci z tym systemem operacyjnym w eksportowanych dokumentach nazwy plików zostaja skrócone. Latwiej jednak jest zmienic nazwy plików niz przepisywac cala baze danych. Nie mozna eksportowac obiektówOLEdo programów,które nie sa przeznaczone dla srodowiska MicrosoftWindows. Aby wyeksportowac dane do pliku w innym formacie, nalezy z widocznej w oknie Eksportowanie obiektu listy Zapisz jako typ wybrac format pliku docelowego (rysunek 12.6). Rysunek 12.6. Eksportowanie danych doformatu Microsoft Exce/ 3
Ji'. r=-=o,~
3 im
Po kliknieciu przycisku Eksportuj w folderze docelowym jest tworzony nowy plik. Dane w aplikacji zródlowej i docelowej róznia sie jedynie wygladem (rysunek 12.7).
Eksportowanie do plików tekstowych Format tekstowy jest specyficzny ze wzgledu na swoja prostote. Jest to niewatpliwa zaleta. Plik w formacie tekstowym mozna przetWarzac nawet na komputerze z zainstalowanym tylko systemem MS-DOS. Osobnym problemem jest wygoda pracy na takim sprzecie. Prostotajest równiez wada formatutekstowego- przy zapisywaniutracone sa wszystkie elementy niezgodne z tym formatem. Aby wyeksportowac dane do pliku w formacie tekstowym, nalezy z listy Zapisz jako typ widocznej w oknie Eksportowanie obiektu wybrac Pliki tekstowe (rysunek 12.8).
101
Rozdzial12. . Eksportowanie danych
"'E:!k
tdvcJeW\dok' Wt.1M E.DrmIIt~
~
~
Poffiot
'11"~~-.;y..
at. !;II!.I.~ :>'\ liIoto ' 'l.. tl U ~ 11 ".. ~I ~
@)'$I
tdYcla ~
'wit.,'
O ,",!;I '!I .~:>' A1
...
'A,
J
IDl
2
l
,
4~ 5,
~$-
7 S' g 10 ,
Eormat'~
~ liIoIZ!,-""
.-
r,
Ilant QJm Ponq
to E - tl UD
I"'" - 11)
:
MS""'....
,. ID1 8
._
x
TytuJksi,zki' ICena d8talic%n~ Cenadetaliczn4 URL ,NETCLR,Ksit 125.00zl http://helion.plll '1()1praktyczny 22,50 zl .hllp:IJhelion,PIII, .30 S1udioMAX 95.00 zl hnp:/lhelionplll 3ds max 4. Tee, 45.00 zl http://helion.pVl ,305 MAX".tv. 14.00zl 'hllp:/lhelion.plll' ABCAtCISS.: '?,(JJ zl hltp:llhelion.plll. ABCDelphi6 15.00zl hllp:Jlhelion.plll ,ABCExcela20 12,11]zl hltp:/Jhelion.pLII ABCIniemitu. 24.00 zl ,hllp:/lhelion.plll ABCj,zvka Hl 17.10zl http://helion.olll
I IQ: 1.NETCLR 2101PSW 3 3DMAXB 4' MAX.l81 5 CWMAX4 6: ABCACC 7 ABCOE6 8 ABCEXP 9 ABClN3 10ABCHTM
IDI
. _ II
'" 1011- 11)_
C
: "P.,:
I;..t.. ,..F
G
J
J
H
I
.
"
)(
e
: L.
ID
T)'tuIksi~Ceno.deto":encdeteURL 1 NETQ.R.NETaR z1125.00 hllp:llhelion.pl/ksidlki/netdr.htm Z[10U;)~ [101Prektj z/ZZ.50 hltp:llhelion.pl/ksi4lkiI1~1pSVl'.htrn J.JDw.>a:J JDStudio 1/95.00 hllp:llhelion.pl/ksiMki/Jdm8Xb.htm 4 MAXo4BIJds mex4 l/45.00 hltp:llhehon.plfksil!.zki/m0x4bi.htm 5ONMAXo4JDSMAX 111(00 'hltp:f/helion,p1/ksiMki/cwmexo4.htm 6.A.BCACC.A.BCAcce z/15.00 hllp:llhelion.pl/ksiMki/I!.bCl!.CC.htm 7 ABCOE6 .A.BCOelpl z115.00 http://helion.pl/ksiMki/l!.bcde6.htm B.A.BCf)oP.A.BCExce 111Z.00http://~e1ion.pllksiMkilabC8'P.htrn 9.A.BONJ.A.BC Jnlem z/Z4.00 htlO:/Jhelion.pl/ksiMki/l!.bcinJ.htm
Rysunek 12.7. Tabela zródlowa i arkusz utworzony przez jej wyeksportowanie Rysunek 12.8. Wybieranie formatu pliku
JC
~HeIon02-06~'
}"'--.
~
Eksportowanie z formatowaniem Gdy plik tekstowy ma byc dalej przetwarzany w edytorach tekstowych lub wydrukowany, nalezy dodatkowo zaznaczyc pole Zapisz sformatowany (rysunek 12.9).
Rysunek 12.9. Formatowanie tekstu przy zapisie
Po kliknieciu przycisku Eksportuj wszystko wyswietlane jest okno Kodowanie. Sluzy ono do wyboru sposobu zapisu znaków. Rodzaj kodowaniaje5t zalezny od programu, w którym dalej na byc przetwarzany plik. Jezeli nie wiemy, jaki to ma byc program, mozna wybrac fonnat domyslny, czyli kodowanie Windows. Wiekszosc aplikacji rozpoznaje go poprawnie (rysunek 12.10). Gdy baza nie jest duza, mozna wyeksportowac pliki z uzyciem wszystkich czterech fonnatów. Po okresleniu 5p050bukodowania nalezy kliknac przyci5k OK.
102
ABC Access 2003 PL
Rysunek 12.10.
~~ w'~yilM"illC1Wi1litiOn w,tJIerz~;lot.sr8m.1b)'t~~z-..1eIP ""
Wybieraniesposobu formatowania tekstu
,c..,,,&
I J
I~'"
,.~("""""X (' " r"~ r'~{U1H)
Po chwili we wskazanym miejscu zostanie utworzony plik. Mozna go otworzyc np. w programie Notatnik (rysunek 12.11). Rysunek 12.11Dane wyeksportowane do pliku tekstowego
t'ClM.'wYdiWRK1WiHlliOnOl:t'l!~n, j~'fdyCji
fÓI1MtWIdokPCmix:
1---------------------------------------------------------------------------;~ i---;y;~i-k;1~k1---i--c;~;-d;t;i1~;~;--i~;91 ':[tl, I NETCLR I .NET ClF!.. Ksiega I 125,00 zl I ---------------------------------------------------------------------------I---------------------------------------------------------------------------101.PSW I 101 praktycznych I 22,50 zl I !PROMOCJA' I---------------------------------------------------------------------------3DKAXB I 30 Studio MAX. I 95,00 zl l I MAX4BI ~I
I 3ds mu 4.
I
45,00 zl I _
Eksportowanie ze znakami rozdzielajacymi Gdy plik tekstowy ma byc dalej przetwarzany w bazach danych lub arkuszach kalkulacyjnych, nalezy zapisac go tak, aby mozna bylo odtworzyc strukture p61.W tym celu z widocznej w oknie Eksportowanie obiektu listy Zapisz jako typ trzeba wybrac Pliki tekstowe (rysunek 12.8). Pola Zapisz sformatowany i Autostart powinny byc niezaznaczone.
Po kliknieciu przycisku OK wyswietlane jest pierwsze okno Kreator eksportu tekstu (rysunek 12.12). Rysunek 12.12. Okreslanie sposobu separacji pól
[flitoitiUporht'ttbtu 'Tenkreat«~oIcmIenIeszczeo6lówdotya~~,darr;d'lprzez IWOO"lIIJttoltroSoh CffkeAccesl.UtknMt:tbpomJ1n6by(zasl-y7
-
r.'~~'~W.,'lak~Ult~~pda,
I
j:r$,ata-cltil~pWS4w,Tbwn.eneW~~Wrym~spa
f_ NETCLR":".NET CLR. Ksiega eJtspel:ta";iZ5,OOOO t;l;"-1. Z, i01PSV";"101 p~aktyct;nycb skrypt6wna st~onevvv";zl "
3 4 5
;
3DJU.XB";"3D Studio lUX. C&UIUl k8iega ani_to~a";SI KAZ4BI";"3ds _x 4. Tecbnik1 modelowania. Bibl1."; CVBAZ4";"3DS RAZ 4. CWiC&eD1a pr~VCt;ne";14,0000
G ABCACC";"ABC .lcces8a
.....
ZOOZ/XP PL"; 15,0000
t;l; "-"; "h~.:J
103
Rozdzial12. . Eksportowanie danych
Do wyboru sa dwie mozliwosci. Pola moga zostac rozdzielone za pomoca jakiegos znaku. Gdy do tego celu uzyty zostanie znak, który nie wystepuje nigdzie w dokumencie, mozna bedzie latwo zaimportowac plik tekstowy do innego programu. Po wskazaniu znaku, jakim rozdzielone sa pola, ich zawartosc zostanie prawidlowo odtworzona. Wybranie opcji Stola szerokosc powoduje, ze szerokosc kolumny zostaje dostosowana do komórki zawierajacej najwiecej znaków. Pozostale komórki zostana w trakcie eksportowania uzupelnione spacjami. Bardziejuniwersalnyjest - mimo swej nazwy Rysunek 12.13. Wybórznaków separujacych
-
wariant Ograniczony(rysunek 12.13).
,.~titW~P:Oifif(lkSt'it;' [" ~,~~oddzieIapcN?Wybierz~~lrKrilw~poRteJ~. lak\llll,rietonablbt.
~
I,D";"TytUl ks1tatkl":"Cena detallcEna-;"U_Ill";"URL!TCLR":" .NET eLR. Kel~;a elt:l:pec1:II"; 125,0000 I:l; ot_..;.. =:1 101PSV";"101 praktyccnych skryptów na strone VVV";22, 3DKAXBM;-3D Studio KAX. Czarna ksiega en~torll~:95,O
K.l.Xi8I-:"3d.s _x
4. Techniki ~delovanla.
Blblla";45.
CUKAXi-;"'D! RAX4. Cwiczenia pcaktyczne":14,OOOO zl;
J
J.<-.I """>~ -I
W ramce Wybierz ogranicznik rozdzielajacypola mozna zaznaczyc jeden z predefmiowanych ograniczników. Po wybraniu opcji Inny mozna wpisac dowolny znak. Jezeli w pierwszym wierszu pliku tekstowego maja sie znalezc nazwy p61bazy danych, trzeba zaznaczyc pole Dolacz naz>rypól wpierwszym wierszu. Warto skorzystac z tej mozliwosci
-
wówczas we wszystkich dokumentach
te same pola beda mialy iden-
tyczne nazwy. Z listy Kwalifikator tekstu mozna wybrac znaki, pomiedzy którymi beda umieszczone sekwencje znaków. W dolnej czesci okna znajduje sie pole podgladu. Wyswietlany jest w nim tekst z uwzglednieniem wprowadzonych ustawien.
Po okresleniu parametrów trzeba kliknac przycisk Dalej. W ostatnim oknie Kreatora mozna podac sciezke dostepu do miejsca, w którym zostanie zapisany plik (rysunek 12.14). Pozostaje jeszcze klikniecie przycisku Zakoncz. Po zakonczeniu eksportowania wyswietlany jest komunikat (rysunek 12.15). Podawana jest w nim nazwa pliku docelowego.
104
ABC Access 2003 PL
Rysunek 12.14. Pora na podanie lok4lizacji pliku docelowego
'HToi.klpottuT... 'oIlRMZ)'Sdllrlar.IQI~~do , .~ h ~
l
OsPortu!doplliu: 1C:\C8rM.~HllDnOz.(i6-=I,b:
l
Rysunek 12.15. Informacja o zakonczeniu eksportowania
J
\j,)--...... 9spartoMr8t1b11'C8rr6.~ 02.Q3'dcI.'C:~ ~HIIonOl.(l6J.txt'zoIblo
.........-..
..jL
'.0
... -.
Przycisku OK nie nalety klikac przed zapoznaniem sie z wyswietlana infonnacja. Gdy podczas eksportu wystapia bledy, w podobnym oknie zamiast sciezki dostepu wyswietlanyjest opis problemów.
Rozdzial 13.
Wyswietlanie i nawigacja Kazdy z programów pakietu Microsoft Office moze wyswietlac otworzony dokument w wiecej niz jednym widoku. W bazie danych Microsoft Access istnieja dwa zasadnicze widoki. Pozwalaja one na wyswietlenie dokumentu w trybie projektu - umozliwiajacym ingerencjew strukturedanych- oraz w trybie arkusza danych, przeznaczonym do wpisywania, edycji i usuwania danych. Zeby poslugiwanie sie baza danych usprawnialo prace, a nie dezorganizowalo ja, trzeba sprawnie poruszac sie po tabelach. Poslugiwanie sie widokami oraz sposoby poruszania po tabelach beda tematem tego rozdzialu.
Ikona Widok Aby zmienic tryb wyswietlania bazy danych, nalezy naprowadzic kursor na czarna strzalke, widoczna po prawej stronie ikony Widok (rysunek 13.1). Rysunek 13.1. Ikona Widok - /obela wyswietlana w trybie arkusza danych
Pojej kliknieciu wyswietlane sa pozostale ikony (rysunek 13.2). Rysunek 13.2. Dostepne widoki tabeli
------
'Mti.-luudnotb
106
ABC Access 2003 PL
Aby zmienic sposób wyswietlania tabeli, nalezy kliknac odpowiedni widok na liscie. Widokzostanie przelaczony;wraz z nim zmienisie wyglad ikony Widok (rysunek 13.3).
I
Rysunek 13.3.
'n
Ikona Widok
r..
.,..
-
.
tabela wyswietlana w trybie projekJu
"'T" y,;<
; Widok
Widok projektu i arkusza danych Podczas projektowania bazy danych najczesciej uzywane sa dwa widoki. W widoku projektu nie mamy bezposredniego dostepu do danych
-
mozemy za to modyfikowac
strukture tabeli, zmieniac typy danych itp. (rysunek 13.4). Rysunek 13.4. Tobela - widokprojekJu
"
T}'t\I~. c.o."'""", ""'" "'i'r ""'"
1"""""'1
"""""
-............
2SS ~
W8'to4tciDmySha
"'"
~as:pr.pQp'~ Tebt rClQlJys:pr. pOpr.-
__ Z-lod.
dozwdoM
~'lk*ode Tr)tIK Tryb~ed)ltorIlM T~.~
" .....-
T""
Mo Tek Mo ,.. 8etfonn.riu Brek
.... ~
"''''''''' m.
W trybie widoku arkusza danych wiersze odpowiadaja rekordom, a kolumny sa odpowiednikami pól. Nie marny mozliwosci zmiany typów pól czy ich wlasciwosci. Mozemy za to wprowadzac nowe rekordy, modyfikowacjuz istniejace,usuwac niepotrzebne oraz wyszukiwac dane (rysunek 13.5). Rysunek 13.5. Tabela - widok arkusza danych
''":.nrilkWydawn~&'if01:.:o1'fTaMli':'' URL ulk$i tki Clln. delaliczn Uwagi .NETCLR Ksiega er 125,00zl http://helion.pllksiukilnetclr.hlr 101PSW 101praktycznych sk 22.50zl !PROMOCJA! http://helion.pllksiazkV101pswJ, 3DMAXEI3DStudioMAXCu 95.00%1 http://helion.pllksiazkif3dmaxb.11 MAXlBI..3dsmaK.(Techniki 45.00 zl htlp:/lhelion,pllksiazkVmaK-4bi..h! CWMAX4 '305 MAX4. CWic:u; 14.00zl http://helion.pllksiazkVcwmax-4. ' ABCACC,ABCAccassa 20021. 15.00zl ,hIlP:/ihelion,pL.'\(SiaZkVabc;lcc.h ABCDE6'Ai3CDelphiS ' 15.00zl hltp:llhehon.pllkslazkVabcde6.h ABCEXPABCElI:cela2(J)2I}(F 12.00zl hllp:llherion.pL.'\(siaZkVabcexp..h! ABCIN3;ABC Inlemetu.Wyd,' 24,00 zl ,hllp:/lhelion.pllksiazkVabcin3.ht ARr"':1-ITM ARf':ó"7wh I:l'(L4I .1710,,.1 IPRm.AnI'.IAI hll'dlh<>linnnlllt..inltiflOh..htr'rltt:.J1i Rekord:J.!.L!jl--T.I.II~.IZ61l
ID
..
l
. Wyswietlanie I nawigacja
Rozdzial13.
107
Nawigacja Aby komputer wykonal jakas czynnosc, powinnismy: . wskazac. czego ma ona dotyczyc (np. przez zaznaczenie poJa); .
poinformowac. na czym czynnosc ma polegac (np. przez klikniecie ikony).
Ta zasada obowiazuje we wszystkich programach srodowiska Windows.
Tabela bazy danych ma postac pokratkowanego arkusza. Komórki znajdujace sie jedna pod druga wjednej kolumnie zwane sapolem. Komórki znajdujace sie w jednym wierszu zwane sa rekordem. W tabeli zawsze przynajmniej jedna komórka jest aktywna. Do niej bedzie odnosilo sie wydane polecenie. Komórka aktywna jest wyrózniona optycznie - widoczny jest w niej migajacy znacznik, wskazujacy miejsce wpisywania danych. Na lewo od rekordu zawierajacego aktywna komórke znajduje sie czarna strzalka (rysunek 13.6). Rysunek 13.6. Aktywna komórk< trudno przeoczyc. Czarny trójkat ,. migajacy punkJ wstawiania informuja ojej lokalizacji
3DM6.XB'3D StudioMAX.Cla
.lt.W
95.00 zl . 105.00" . 14,OOzl-
".Techniki
CWMAX4' 3DS MAX 4. CWiCZ8l
Innym sposobem wyróznienia komórki jest jej zaznaczenie. Caly obszar wyswietlony na czarnym tle jest zaznaczony. Wpisanie znaku z klawiatury spowoduje zastapienie zaznaczonego ciagu przez pierwszy wpisany znak. Tak, jak w poprzednim przypadku, na lewo od rekordu zawierajacego aktywna komórke znajduje sie czarna strzalka (rysunek \3.7). Rysunek 13.7. W aktywnej komórce mozna zaznaczyc sasiadujace znaki
ABCACC ABC Atc,su
']f/J1J.
-.:J.IBm,'AaCOelphi6 ABCEXP ABCEllula2CIJ2JXF
Tabela jest wieksza niz rozmiary ekranu monitora. Moze zdarzyc sie tak, ze zaznaczona bedzie komórka znajdujaca sie w obszarze, który nie jest widoczny w oknie programu. Aby odszukac zgube, mozna skorzystac z okienka znajdujacego sie w lewym dolnym rogu okna programu (rysunek [3.8). Rysunek 13.8. Niepozorne okienko i piec przycisków, klóre pozwalaja na blyskawiczna wedrówk< po calej tabeli
437 .
108
ABCAccess 2003 PL W okienku wyswietlany jest numer rekordu zawierajacego aktywna komórke. Jezeli wpiszemyw polu liczbe i nacisniemyklawisz En/er, C28lDastrzalkapojawi sie w wierszu o wpisanym numerze. Zaznaczona zostanie komórka znajdujaca sie w lewym skrajnym polu wyrómionego wiersza. Klikanie przyciskó~ powoduje przejscie do pierwszego rekordu, rekordu o numerze o jeden nizszym od biezacego, rekordu o numerze o jeden wyzszym od biezacego, ostabliego wypelnionego rekordu lub nowego rekordu (patrz rysunki od 13.9 do 13.13).
Rysunek 13.9. Ikona przejscia do pierwszego rekordu
Rysunek 13.10.
...!J
l/wna [X%ejsciado relaxdu o nizszym numerze
Rysunek 13.11-
..l.J
l/wna [X%ejsciado relaxdu o wyzszym numerze Rysunek 13.12. Ikona przejscia do OSlatniego wypelnionego rekordu
Rysunek 13.13. Ikona przejscia do nowego rekordu
Polecenia te sa zdublowane w menu Edycja. Po wybraniu polecen Edycja, Przejdz do wyswietlane jest menu szczególowe (rysunek 13.14). Rysunek 13.14. Menu szczególowe polecenia Przejdz do
".oj ......
--
t' __ Orl++ -
To jeszcze nie wszystkiemozliwosci nawigacji w arkuszu mo;!:nasie takze przemieszczac za pomoca odpowiednich kombinacji klawiszy. Zostaly one opisane w tabeli 13.1.
Zaznaczanie W tabeli programu Microsoft Access zawsze aktywna musi byc jedna komórka. Poslugujac sie np. kombinacjami klawiszy z tabeli 13.1, momajaprzemieszczac. Jest to wygodne, jesli korzystamy z komórek znajdujacych sie blisko siebie. Nieco inaczej trzeba postepowac, jesli musimy zaznaczyc komórke znacznie oddalona od biezacej, Zaznaczanie calego rekordu lub pola równiez wymaga umiejetnego dzialania.
Rozdzial 13.
. Wyswietlanie I nawigacja
109
Tabela 13.1. Nawigacja za pomoca klawiszy Czynnosc
Klawiszeskrótu
Przejscie do nastepnego pola
strzalka w prawo Tab
Przejscie do nastepnego pola Przejscie
do nastepnego
Przejscie
do ostatniego
rekordu
bez zmiany
slrzalka w dól
pola
End
pola w danym rekordzie
Przejscie do ostatniego rekordu w tym samym polu
Ctr/+slrza/ka w dól
Przejscie
Clr/+End
do ostatniego
rekordu i ostatniego
pola
Przejscie do pierwszego pola w danym rekordzie
Home
Przejscie
do pierwszego
rekordu i pierwszego
Clr/+Home
Przejscie
do pierwszego
rekordu w tym samym polu
Przejscie
do poprzedniego
pola
Ctr/+strzalka wgóre strzalka w lewo
Przejscie
do poprzedniego
pola
Shift+Tab
pola
Przejscie do poprzedniego rekordu bez zmiany pola
strzalka w góre
Przewiniecie zawartosci arkusza do dolu o wysokosc okna Przewiniecie
zawartosci
arkusza do góry o wysokosc
okna
Page Down Page Up
Przewiniecie zawartosci arkusza w lewo o szerokosc okna
Ctrl+Page Down
Przewiniecie zawartosci arkusza w prawo o
Ctr/+Page Up
szerokosc
okna
Kursor kameleon Wiele problemów z zaznaczaniem komórek i obszarów uda nam sie rozwiazac, gdy bedziemy rozrózniac wyglad kursora. Kursor umieszczony nad tabela ma wyglad pionowej kreski. Klikniecie powoduje umieszczenie znaku wstawiania w komórce, nad która sie aktualnie znajdowal (rysunek 13.15). Rysunek 13.15. Najczesciej spotykana postac Iwrsora
Gdy bedziemy wolno przesuwac kursor w pionie, zmieni on wyglad z pionowej kreski na krzyzyk. Klikniecie spowoduje zaznaczenie calej zawartosci komórki znajdujacej sie ponizej kursora (rysunek 13.16). Rysunek 13.16. Klikniecie spowoduje zaznaczenie komórki
"
NETCl.{!.. 101PS\V'
ponizej kursora
Mozliwosc zaznaczenia calej komórki jest szczególnie wygodna, gdy zapisany jest w niej dlugi ciag znaków.
110
ABC Access 2003 PL
Jezeli bedziemy przesuwac kursor w poziomie i naprowadzimy go na linie oddzielajaca pola, zmieni on wyglad z pionowej kreski na krzyzyk. Klikniecie spowoduje wówczas zaznaczeniecalej zawartoscikomórkiznajdujacejsie na prawood korsora(rysunek 13.17). Rysunek13.17. Klikniecie spowoduje zaznaczenie komórki na prawo od kursora
ID I
Tytulksiazki
NETC:~~ETCLR,Ksiega el 101PSW '101 praktycznychs'
Po naprowadzeniu kursora na linie rozdzielajaca naglówki pól przyjmie on ksztah pogrubionej pionowej kreski z dwiema strzalkami. Stosujac przeciaganie, mozemy zmienic szerokosc pola. Po dwukrotnym kliknieciu szerokosc pola zostanie dostosowana do najd/uzszego ciagu znaków, który znajduje sie w rekordach widocznych na ekranie (rysunek 13.18). Rysunek13.18. Dwukrotne klikniecie spowoduje automatyczne dostosowanie szerokosci pola do dlugosci wpisanego tekstu
\t.~~'ik'Wy~:~fd~lh.I~'~':o'2:03':i;T~~~,'q ID I Tytulbid:kiofienlldelaliczn NETCLR,.NETCLRKsiegaer 125.00zl
Gdy przesuniemy kursor nad naglówek pola przyjmie on ksztah czarnej strzalki skierowanej ku dolowi. Klikniecie spowoduje zaznaczenie calego pola (rysunek 13.19). Rysunek13.19. Klikniecie spowoduje zaznaczenie calego pola
Gdy przesuniemy korsor nad prostokat znajdujacy sie po lewej stronie rekordu, przyjmie on ksztah czarnej strzalki skierowanej w prawo. Klikniecie spowoduje zaznaczenie calego rekordu (rysunek 13.20). Rysunek13.20. Klikniecie spowoduje zaznaczenie calego rekordu
Rozdzial 14.
Edycja bazy danych Baze danych najwygodniej jest edytowac, poslugujac sie fonnularzem. Dzieki niemu mozna skupic sie na jednym rekordzie. Fonnularz nie jest integralna czescia bazy danych trzeba go zaprojektowac. Jezeli fonnu1arz nie zostal utworzony, jestesmy zdani na koniecznosc pracy z cala tabela.
-
Otwieranie tabeli Po wczytaniu bazy danych nalezy na liscie Obiekty kliknac przycisk Tabele. Wyswietlona zostanie lista tabel. Na niej trzeba zaznaczyc obiekt, z którym chcemy pracowac.
Aby wyswietlic tabele, trzeba kliknac ja dwukrotnie lub nacisnac przycisk Otwórz (rysunek 14.1). Rysunek 14.1. Otwieranie tabeli
Po chwili na ekranie wyswietlony zostanie dokument (rysunek 14.2). Rysunek 14.2. Tabelabmy danych
I'O'tAnnlt'WydaWnktWalMliOri'Q'l':O:i"!!:fi:lMilii' ,ID
.,
NETCLR
NET,CLRKsi12S,W
~. zl
1Q1PSW
101 praktyczny
2 3DMAXB 3 MAX481 .. CWMA:Xl 5 ABCACC
3D StudioMAX
22,50 95.00
3ds max 4, rec
45.00
308 MAX4. tv
1.4.00
ABC Atc_ssa; pelphi 6 ABC Exula 20
15.00
6 ABCOE6ABC
15.00
7 ABCEXP
12.00 24.00
a ABCIN3 9 ABCHTM
R8kwd:.!!.l..!J~
'ABCInternetu ABC jezyka HT
~,I.ll..h,~IO
17,10
!PROMOCJA!
J~ 'hllnJJlullinnllll1: hUD"llhelionDIII hIlD'Ilheliollolll, hltrl'1/hArinnolll .hltD'IlhslionDll1j hf!D"/JhelionDIJI hllD'I/helionDIIII hllo'llhelinnDIII!
IPROMOCJAI hUo'llblll;!!" 1111I1.
112
ABC Access2003 PL
Przypomina on tabele utworzona w Wordzie lub arkuszu kalkulacyjnym. Korzystajac z tabeli, mozna edytowac, usuwac i dodawac dane. Praca z tabela wymaga od uzytkownika duzej uwagi. Latwo jest o pomylke, wpisanie znaku w niewlasciwym polu, przypadkowe usuniecie wpisu itp. Jezeli w bazie danych zdefiniowane zostaly typy pól, klucze i relacje, mechanizmy Accessa moga byc nieoceniona pomoca przy unikaniu pomylek. Program moze sprawdzac poprawnosc wybrania typu danych, unikatowosc wpisów w polach z kluczem, zgodnosc informacji ze zdefiniowana maska czy zachowanie relacji. Access bedzie na przyklad sygnalizowal jako blad próbe wprowadzenia do tabeli po stronie relacji N rekordu odwolujacego sie do nieistniejacego rekordu w tabeli po stronie relacji I. Jesli tabela jest tylko pokratkowanym arkuszem, program nie bedzie wykrywal bledów. MJy cofnac wprowadzona zmiane, nalezy wybrac polecenia: Edycja/Cofnij, posluzyc sie skrótem klawiaturowym Ctr/+Z lub kliknac ikone Cofnij (rysunek 14.3). Rysunek 14.3. Ikona Cofnij
Tajemnicze znaczki W programie Microsoft Access istnieja pewne charakterystyczne oznaczenia, których prózno szukac w innych programach pakietu Microsoft Office. Warto na nie zwracac uwage podczas edycji tabeli. Po lewej stronie rekordu, w którym znajduje sie aktywna komórka,widocznajest czarna strzalka (rysunek 14.4). Rysunek14.4. Rekordbiezacy Gdy w rekordzie wprowadzimy zmiane, po jego lewej stronie bedzie wyswietlany symbol olówka. Zniknie on, gdy zaznaczymy komórke w innym rekordzie. Znikniecie symbolu jest równoznaczne z zapisaniem zmiany w bazie (rysunek 14.5). Rysunek 14.5. Rekord edylowany
Nacisniecie klawisza Esc spowoduje przywróceniepoprzedniej zawartosci rekordu
113
Rozdzial14. . Edycja bazy danych
-
Jeden rekord w tabeli jest wyrózniany za pomoca gwiazdki tak zaznaczone jest miejsce, w którym moze byc dolaczony nowy rekord (rysunek 14.6). Rysunek 14.6. Nowy rekord
Wpisywanie nowych danych Aby wpisac dane do tabeli, nalezy zaznaczyc komórke, w której maja sie one znaleic. Nastepnie trzeba wpisywac znaki z klawiatury beda one pojawialy sie w aktywnej komórce.
-
Zaznaczenie innej komórki powoduje zapisanie danych w bazie.
Edycja danych Aby zmienic wpisane dane, nalezy kliknac w komórce miejsce, w którym chcemy wprowadzic poprawke. Wpisywanie znaków z klawiatury bedzie powodowalo rozsuwanie znaków juz istniejacych.
Usuwanie danych Po nacisnieciu klawisza Dei usuniety zostaje znak znajdujacy sie na prawo od znaku wstawiania. Nacisniecie klawisza Backspace spowoduje usuniecie znaku znajdujacego sie z lewej strony znaku wstawiania. W celu zlikwidowania calej zawartosci komórki nalezy ja zaznaczyc, a nastepnie nacisnac klawisz Dei. Aby usunac rekord z tabeli, powinnismy go zaznaczyc, a nastepnie nacisnac klawisz Dei. Zanim rekord zostanie usuniety, pojawi sie okno z prosba o potwierdzenie operacji (rysunek 14.7). Po kliknieciu przycisku Tak czynnosc zostanie wykonana. Klikniecie przycisku Nie spowoduje anulowanie polecenia usuniecia rekordu.
Usuwanie wielu rekordów Access umozliwia usuniecie za jednym razem wiecej niz jednego rekordu. Aby wybrac kilka rekordów znajdujacych sie obok siebie, nalezy umiescic kursor nad selektorem rekordu ograniczajacym obszar zjednej strony. Nastepnie trzeba przeciagnac kursor do selektora rekordu ograniczajacego obszar z drugiej strony. Wybrane rekordy sa wyrózniane za pomoca koloru czarnego (rysunek 14.8).
U4
ABC Access 2003 PL
Rysunek 14.7. Prosba o potwierdzenie wykonania operacji
&
Mia'osoftDfficeAcc"t
I..laNrekonl6w...~60---eda::
t.
WI~T..tiIobedztllmom.~teloper«J UtUl. CZyMpewnockesz~terelr.crdyl
..Rysunek 14.8. Wybrane rekordy od 120 do 123 wlacznie
Jezeli trzeba zaznaczyc wieksza liczbe rekordów,przeciaganie kursora nie jest wygodne. Na szczescie istnieje inna metoda zaznaczania.Najpierw trzeba kliknac selektor rekordu ograniczajacego obszar danych z jednej strony, a nastepnie przewinac zawartosc okna tak, aby widoczny byl rekord ograniczajacy obszar danych z drugiej strony. Teraz nalezy wcisnac klawisz Shift i kliknac selektor tego rekordu. Po kliknieciu mozna zwolnic klawisz Shift - zaznaczony zostaje obszar pomiedzy oboma kliknietymi obszarami. Aby wydac programowi polecenie usuniecia zaznaczonego obszaru danych, trzeba nacisnac klawisz Dei. Identyczny efekt daje wybranie polecenia Usun z menu Edycja. W ten sposób mozna usuwac równiez cale rekordy lub kolumny (rysunek 14.9). Rysunek 14.9. W menu Edycja znajduja siepolecenia sluzace do usuwania rekordów i pól
wp. ~H',~'~ '""'"
Ctri+z a.l+'
"""
""'"
Sd1owekpelQeWO(fU.. ~
CtrI+.
'f.'I
I I'lJej
""" lX 1..IUtelad ~'-'Iq~
DO
Uzyteczne skróty Poslugiwanie sie mysza do wskazywania i wybierania obszarów jest intuicyjne,jednak nie zawsze ta metoda jest wygodna. Czasami szybciej mozna osiagnac rezultat, poslugujac sie skrótami klawiaturowymi. Zostaly one zebrane w tabeli 14.1.
115
Rozdzial14. . Edycja bazy danych Tabela 14.1.
Wybrane skróty klawiaturowe, przydatne przy edycji danych
Czynnosc
Klawisz lub kombinacja klawiszy
Anulowanie wprowadzonych zmian
Esc
Przejscie o jeden znak w lewo lub do poprzedniego pola, jeuIi kursor znajdowal sie na poczatku pola
Strzalka w lewo
Przejscie o jeden znak w prawo lub do nastepnego pola. jezeli kursor znajdowal sie na koncu pola
Strzalka wprawo
Przejscie o jeden wyraz w lewo lub do poprzedniego pola. jezeli kursor znajdowal sie na poczatku pola
Ctr/+Strzalka w lewo
Przejscieo jeden wyraz w prawo lub do nastepnegopole. jezeli kursor znajdowalsie na koncupola
Ctrl+Strzalka wprawo
Przejscie na koniec pola
End
Przejscie na poczatek pola
Home
Usuniecie znaku znajdujacego sie po lewej stronie kursora Usuniecie znaku znajdujacego sie po prawej stronie kursora
Backspace DeI
Wprowadzenie
Ctrl+;
w polu biezacej daty
Wprowadzenie w polu bie1:acej godziny
Ctrl+;
Wprowadzenie w polu wartosci z pola majdujacego sie nad nim
Clr/+'
Wstawienie w polu tekstowym znaku konca wiersza
Ctr/+Enter
Zapisanie
Shifi+ Enter
rekordu
w tabeli
Filtrowanie Filtrowanie nie powoduje zmiany zawartosci tabeli, ma jednak wplyw na wyswietlane rekordy. Definiujac filtr, fonnulujemy warunek, który okresla sposób wyboru i sortowania danych, które znajda sie w arkuszu. Dane mozna filtrowac na kilka sposobów. Na pasku Arkusz tabeli danych znajduja sie trzy ikony. Po kliknieciu przycisku oznaczonego lejkiem z blyskawica nastepuje wlaczenie Filtrowania wedlug wyboru (rysunek 14.10). Rysunek 14.10. Filtrowanie na podstawie zawartosci zaznaczonej komórki
Ikona oznaczona lejkiem z fonnularzem umozliwia uruchomienie filtrowania wedlug fonnularza (rysunek 14.11). Filtr po zdefmiowaniu mozna wylaczac i wlaczac. W tym celu nalezy klikac ikone Zastosuj filtr/Usun filtr. Kazdorazowe klikniecie przyciskn powoduje na przemian wlaczenie i wylaczenie filtru (rysunek 14.12).
U6
ABC Access 2003 PL
Rysunek 1A.11. Filtrowanie na podstawie formularza
Atruj
wedIuQ fOl'lT
Rysunek 1A.12. Wlaczanie i wylaczaniefiltru
Filtrowanie wedlug wyboru Filtrowaniewedlug wyboru wymaga okreslenia komórki, która zawiera wartosc wzorcowa. Zasada dzialania filtru jest wyswietlanie tylko tych rekordów, które w wyspecyfikowanym polu zawieraja wartosc identyczna z wzorcem. Aby zdefiniowac filtr, nalezy zaznaczyc komórke (rysunek 14.13). Rysunek 1A.13. Kryterium filtrowania
Kolejnym krokiem jest klikniecie ikony filtru (rysunek 14.10). Rezultatem dzialania filtru jest wyswietlenie tylko tych rekordów, które w wyróznionym polu maja wpisana wartosc identyczna z komórka wzorcowa (rysunek 14.14). Rysunek 1A.1A. Odfiltrowane wartosci
c~rin';Wy~~'ij;ri'02~~'~';;; 101
I ID l Tytu!ksi"zkiI 51JIP...l...EK Ap8ch..Lakay! 102CSLEKS c.. lek.pon ~ 113 a.EISC
C ~sykon kj, .(M;. Lek.or E..J COCnili, .Edytorw..LIlt~ Flath 5. Cwiczl Fotografiacyfro GIMP.Leksyko ,GNUEmlcs..L HTML.uk,ykc _HTW,_Lekayko InOIsign20 Pl JawScripl. lek ~ripI c...
26S JSPI.B( ~...
7T20RPLU< JtlyltOrac:l.P B MACSU< M8COSX.Lek JJ) MOOL.f:K mod-pelt Lek. ftlkwd1.J!.L!jj" ~.'-;-.I.li..il~'cfi;)
"
CENA '.00".
'.00"
hIIn./Jhltlinnnllll
9,90%1,
'.00" '.00"
9,90 zl "!PROMOCJA!
'.00"
. httll-JlhilllinnDIlI'
9.90zl, 9.90zl 9,90:1.
'.00"
9,9)zl
'.00"
9,9)zI '.00" '.00"
. DJWLDl!j
httn-JJhllinno..l.1
9,9) zl . 9,90 zl
W celu wylaczenia filtru wystarczy kliknac ikone Usun filtr (rysunek 14.12). Filtr pozostaje zdefiniowany, ale nie powoduje ukrywania rekordów nie spelniajacych zadanego kryterium. Aby przywrócic dzialanie filtru, trzeba kliknac ikone Zastosujfiltr.
U7
Rozdzial14. . Edycja bazy danych
Filtrowanie wedhJg formularza Filtrowanie wedlug formularza wymaga wybrania wzorcowego ciagu znaków. Zasada dzialania filtrujest wyswietlanie tylko tych rekordów, które w wyspecyfikowanym polu zawieraja wartosc identyczna z wzorcowa. Róznica pomiedzy Filtrowanie wedlug wyboru a Filtrowaniem wed/ugformularza polega na tym, ze w drugim wariancie program wyswietla wszystkie unikatowe ciagi znaków wystepujace w zaznaczonym polu. Nie musimy zatem przegladac calej tabeli, a jedynie liczacy zazwyczaj mniej pozycji - formularz.
-
Aby odfiltrowac dane wedlug formularza, trzeba kliknac dowolna komórke w polu, które bedzie uzywane do filtrowania (rysunek 14.15). Rysunek 14.15. Filtr bedzie tworzony napodstawie cen ksiqzek
~JJ1. CENA
iI!iII
Nastepnym etapem jest wybranie rodzaju filtrowania. Nalezy kliknac ikone Filtruj na podstawie formularza (rysunek 14.11). Po chwili wyswietlone zostana tylko naglówki pól i jeden rekord. Po kliknieciu czarnej strzalki widocznej w polu wyboru kryterium filtrowania wyswietlana jest lista wartosci wzorcowych (rysunek 14.16). Rysunek 14.16. Wybieranie war/osci z formularza
Na liscie nalezy zaznaczyc kryterium filtrowania. Po kliknieciu ikony Zastosuj filtr (rysunek 14.12) wyswietlane sa tylko rekordy, które w wybranym polu maja wpisana wartosc identyczna z kryterium filtrowania (rysunek 14.17). Rysunek 14.17. Odfiltrowane dane
'~~~W~~:~~~Ol~i;
~~~~:~=~'t~<'"
CENA l Uwa,. ., 168 Elcel2Q])PL .czeniaptlktyczne 7/JJzl7JJJzl,1~1:c:wes7 Ellc.I97.~L.~cz.ni. praklJczne 101
.1 ani,'
ID
'
T ulkli zki
URL
118
ABC Access 2003 PL
Filtrowanie zaawansowane Jezeli zachodzi potrzeba filtrowania rekordów wedlug zawartosci wiecej niz jednego pola, mozna skorzystac z filtrowania zaawansowanego. Pierwsza czynnoscia jest otworzenie tabeli. Nastepnie nalezy kolejno wybrac polecenia: Rekordy/Filtr/Filtr/sortowanie zaawansowane (rysunek 14.18). Rysunek 14.18. Wlaczanie filtrowania zaawansowanego
-
EL_
W81luvformJert.
""'"
-"""'" ""-"""'"
ZRSl:MUlftr/ UN'Iftr/sortOl'Jrie
~
'
Na ekranie wyswietlone zostanie okno Filtr (rysunek 14.19). Rysunek 14.19. Definiowanie kryteriówfiltrowania
..
..w
T'flII~
,.:
~ ,..,,
~
ScrtuI:ROI kr,tenI: _7 ~;~.'
'.
Jest ono podzielone na dwie czesci. Na górze widoczne sa tabele, a na dole znajduje sie lista pól i krytenów sortowania. Po wybraniu tabeli nalezy z listy Pole wybrac nazwe pola. Z listySortuj trzeba natomiast wybrac sposób sortowania danych. W polu Kryterium mozna wpisac ciag znaków, który bedzie pelnil role wZorca. Po kliknieciu ikony Zastosuj filtr (rysunek 14.12) okno Filtr zostanie zamkniete. Jego miejsce zajmie tabela z odfiltrowanymi i posortowanymi danymi (rysunek 14.20). Rysunek 14.20. Fragment tabeli z odfiltrowanymi i posortowanymi danymi
'C8MliWj ~_..l!:lj"l1i..\ir lOt .
ID
_
._,_
T ulbizki
~:~J.A$a
iJlMI~c:~pt:_~czeniapraktyczne
URL
,cew.:llHiigi
168 -,-_E,ICC",2OJ:1PL c_z.niaprllktyczne 171; CWE'>m 'E:xcel97PL,_C'Wiczenia,praktyczne 204jFOTOU< JFolog~a cyfrowa. Leksykon kieszonkI, 272:0R,F'1,.LK iJezyk, 0ra,cle F'1IS9Lt.ksyk~n kiesz, -'2Ei9TJSPLEKJJ8V8S.rnr p;;ges, leksykonkieszonkc.
71XJ zl 7.00 zl 9,90 zl 9,90 zl 9,90 -zll~
..9~zl
'.
:hllD"/Jhtllinnol!k!l1l11ci. hlln"/JhllllionDl!ksazlci. htID"/JhllllionDI!k!lIl1Ici. lhllD"/JhllllinnOI/lc".:rlcii httn"/JhAlionDllksa:rlci. httO:/lbelion.OVkSa.lkd
;.l-.~'JAVAS~ Relad:::,.Ifl
!javaS~~Dt.lekrkOl1,kieszonkOWY 1~"h' ~.1i1l (FlbJ.iL' 93;) zl
J
.
..
'"' . ..tJ...
U9
Rozdzial 1.4. . Edycja bazy danych
Sortowanie danych Dane sa dopisywane do tabeli w kolejnosci ich pojawiania sie. Wygodniej jednak jest je przegladac, gdy zostana uporzadkowane wedlug któregos z pól. Sortowanie zawartosci tabeli nalezy rozpoczac od klikniecia pola, którego zawartosc ma byc kryterium sortowania. Dane moga zostac uporzadkowane w kolejnosci rosnacej lub malejacej. Do wybrania sposobu sortowania mozna wykorzystac ikony Sortuj rosnaco lub Sortuj malejaco (rysunek 14.21). Rysunek 14.21Ikonywyboru sposobu sortowania
Wyboru sposobu sortowania mozna tez dokonac, wybierajac kolejno polecenia: Rekordy/Sortuj. Polecenia Sortuj rosnaco i Sortuj malejaco (rysunek 14.22) maja takie samo dzialanie, jak ikony Sortuj rosnaco i Sortuj malejaco Rysunek 1.4.22. Wybieranie sposobu sortowania z menu
Proste wyszukiwanie Baza danych jest przeznaczona do gromadzenia i wyszukiwania danych. Access umozliwia wyszukiwanie w niej informacji za pomoca zapytan. Oprócz tak zaawansowanego narzedzia jest wyposazony równiez w prosta funkcje wyszukiwania sekwencji znaków. Jest ona wystarczajaca do szybkiego odnajdowania w tabeli pojedynczych pól, które chcemy edytowac. Po wybraniu polecen Edycja/Znajdz wyswietlone zostaje okno Znajdowanie i zamienianie (rysunek 14.23). Rysunek 1.4.23. Okno Znajdowanie i zamienianie
.MT~Ii~"iiii 1
ZnlJI&t: lA8C
.-
120
ABC Access 2003 PL
Poszukiwana sekwencje znaków nalezy wpisac w polu Znajdz. W polu Znajdt mozna wpisywac równiez znaki globalne. Znak . zastepuje dowolna sekwencje znaków o dowolnej dlugosci. Znak? zastepuje dowolny jeden znak.
W polu Szukaj w mozna wybrac obszar poszukiwan - pole, w którym znajduje sie kursor lub cala tabele. Na liscie Uwzglednij mozna wybrac jeden z trzech zakresów przeszukiwan: Dowolna czesc pola - szukany ciag znaków moze wystepowac w dowolnym miejscu pola; Cale pole - szukany ciag znaków musi pokrywac sie z cala zawartoscia pola; Poczatek
pola - szukanyciag znakówmusiznajdowacsie na poczatkupola.
Z listy Wyszukajmozna wybrac kierunek wyszukiwania.Do wyboru sa trzy mozliwosci: W góre - tabela bedzie przeszukiwana od komórki biezacej w góre; W dól - tabela bedzie przeszukiwana od komórki biezacej w dól; Wszystkie - wyszukiwanie bedzie wykonane w góre i w dól od komórki biezacej. Zaznaczenie opcji Uwzglednij wielkosc liter spowoduje, ze podczas wyszukiwania bedzie uwzgledniana wielkosc liter. Opcja Przeszukaj pola z uwzglednieniemformatowania powoduje, ze podczas wyszukiwania wzorzec bedzie porównywany z danymi po ich sformatowaniu. Po kliknieciu przycisku Znajdz nastepny rozpocznie sie wyszukiwanie. Bedzie ono wykonywane az do pierwszego wystapienia wzorca.
Zamiana danych Po kliknieciu w oknie Znajdowanie i zamienianie karty Zamien wyswietlone zostanie okno ulatwiajace automatyczna zamiane sekwencji znaków (rysunek l4.24). Rysunek 14.24. Okno zamiany sekwencji znaków
'Mj~anMH''r.mie'8Ja~''''''"' ln8jcit
z.men
-II .'--J
1"'''''''''''''1
W polu Znajdz mozna wpisac tekst, który chcemy zmienic. W polu Zamien na trzeba wpisac tekst, którym zostanie zastapiony tekst wyszukiwany.
Rozdzial 14. . Edycja bazy danych
121
Przeznaczenie pozostalych pól i opcji jest identyczne, jak w przypadku wyszukiwania danych. Klikniecie przycisku Znajdz nastepny spowoduje rozpoczecie wyszukiwania. Aby zamienic wyszukana sekwencje znaków, trzeba kliknac przycisk Zamien. Nacisniecie przycisku Zamien wszystko spowoduje zamiane wszystkich ciagów znaków identycznych z wyszukiwana sekwencja na nowa wartosc.
122
ABC Access 2003 PL
Rozdzial 15.
Relacje Relacja nazywamy zwiazek pomiedzy wspólnymi polami w róznych tabelach. Dzieki relacjom baze danych mozna podzielic na male tabele. Istnienie logicznego zwiazku pomiedzy nimi zapewnia, ze po podziale mozna uzyskac te same informacje, które znajdowaly sie w bazie zlozonej zjednej tabeli. Trud wlozony w podzial tabeli na mniejsze owocuje w postaci przyspieszenia dzialania bazy danych. W tabelach wystepuje znacznie mniej powtórzen danych, a do pamieci komputera wczytywane sa tylko rzeczywiscie niezbedne informacje. Pola powiazane relacja musza jednak miec ten sam typ danych.
Definiowanie relacji ,,1
- N" lub ,,1 - 1"
Przed definiowaniem relacji zamknij wszystkie otwarte tabele. Nie mozna tworzyc ani modyfikowac relacji miedzy otwartymi tabelami. Uaktywnij okno Baza danych (rysunek 15.1). Na pasku narzedzi kliknij przycisk Relacje (rysunek 15.2). Jesli w bazie danych nie zostaly jeszcze zdefmiowane zadne relacje, zostanie automatycznie wyswietlone okno dialogowe Pokazywanie tabeli (rysunek 15.3). Aby tabela byla uzyta do definiowania relacji, nalezy ja zaznaczyc w oknie Pokazywanie tabeli i kliknac przycisk Dodaj. W celu dodania kilku tabel nalezy wcisnac i przytrzymac klawisz Ctrl, a nastepnie klikac ich nazwy. Po zaznaczeniu tabel mozna zwolnic klawisz Ctrl.
124
.ABC Access 2003 PL
Rysunek 15.1. Okno Baza danych
iM,. MWiiku '!"Baz..lluycll(fOl1Mt p8IWpr
u Ac;;'
.::i""""":_.:J_IXI,.:;-1§]j1lD 0biIIty O.r.. t§lK
~
u:w6rz~wl'lli:llru~ III u:w6rztlbeleUpolllOC"lnatora
dyIlJI.twOrZ~.~.lllCdane
:J~
FGrIIJ.M,..
::I
. ~
-!l 5trOI'Iy .! ~ "'*. At
I Do
f'IDcUy
DOSTAWCA
::IGATlNJ:
1
~i
=' :1
KLIENT row...
::J
tOWAROOSJ
:::J TOWARZAM
~
;::::o
Rysunek 15.2. Ilcona Relacje
Rysunek 15.3.
Okno Poi«1zywanie lobeli
.1.
-J
~
Po dodaniu tabel trzeba kliknac przycisk Zamknij. Spowoduje to zamkniecie okna Pokazywanie ,abeli. Jesli przed zdefiniowaniem relacji chcesz dodac tabele. a okno dialogowe Pokazywanie tabeli nie jest wyswietlane,na pasku narzedzikliknijprzyciskNowyobiekt (rysunek 15.4). Dodane tabele wyswietlane sa w oknie Relacje (rysunek 15.5). Aby zdefiniowac relacje, nalezy z tabeli Doslawa przeciagnac pole, które ma zostac zwiazane relacja, do odpowiedniego pola drugiej tabeli. Jezeliw tabel~ do której przeciagamyrelacje ma zostac zdefiniowanarelacja l zwolnic kursor nad nazwa wybranego pola.
- l, nalezy
Aby utworzyc relacje l - n, trzeba w tabeli po stronie "wielu" zwolnic przycisk myszy wówczas, gdy kursor bedzie znajdowal sie nad bialym polem.
Rozdzlal15. . Relacje
125
Rysunek 15.4.
-.-, -:II'"
Dodawanie tabeli
,
.""....
j ........ loi._ ..... ..... """ W 'iti
'''*'''1<'''''''''''''-' PO<:TAW,,"
,-
\,l)qA-W(A
{;J.1'l.lNrY,
JddostIlWCy
........
-.
rowAI'l'{lr",,.
1<'.'''-
"""'''' C""
=,' lka
,~.
;lwiMl:o
bfJ
l
D«82/1m
l
n
mWAR1AU
i:'Mf)wtfflll
W,'jJf,Wi'n
.. E """'''' C_,am
\-'oJ
F\ma lb
~~Lkl
L~
k:od
I~
ij§!
;Kllsto
_o,
Rysunek 15.5. Tabele bez zdefiniowanych relacji Niezaleznie od typu tworzonej relacji wyswietlone zostanie okno Edytowanie relacji (rysunek 15.6). Rysunek 15.6. Okno
Edyrw;aiili-r.
Edytowanie relacji
IIbeI&Jk~: JOOSTAWCA
-"",
f'dq-eyf\O~~: .=JZA>tÓWIENIE .lldz~
.:::I
~
J
TYII~ieria..1 ltw&:tQOWll..
Jjr~~I~~;~1 r
"'~'__';~_-':11jWI>p:.f~
j ,.. h>:
ryp,..:
r""::-~ !~
W widocznych w oknie Edytowanie relacji kolumnach tabeli nalezy sprawdzic nazwy pól. W razie potrzeby moznaje zmienic. Aby utworzyc relacje, kliknij przycisk Utwórz. Wybieraniepól i przeciaganieich do innej tabeli nalezy powtarzac, az utworzone zostana wszystkie relacje (rysunek 15.7). Warto jeszcze wspomniec o opcjach dostepnych w oknie Edytowanie relacji. Zostaly one zebrane w tabeli 15.1.
126
ABCAccess 2003 PL
""'lo .
~_ '""" iAte
.
F
nU .
-"lir
-~:'
.~
r
iollierU
loka
_
"",,
S
~
Iclow.u
"
Idgebriu
uw.Rl.
.
"C8rIIoZoWll
rv,]
Nazwa triu
.
I~T~
i"j
ltn
.TO~,'o\P
}
._,~
..J
Id;~
H
~
i
[ . EL L~.. --rl 1c' l
,Kod ''''-to
,. '~
)
Rysunek 15.7. Zdefiniowane relacje Tabela 15.1. Parametry relacji Parametr
OpIs
Tabela lub kwerenda
Nazwa pierwszej tabeli i nazwy pól tworzacych relacj~
Pokrewnatabela lub kwerenda
Nazwa drugiej tabeli i nazwy pól tworzacych relacj~
Wymuszaj wi~zyintegralnosci
Wlaczenie sprawdzania poprawnosci wprowadzanych danych
Typ relacji
Okresla tYPrelacji I
Kaskadowo aktualizuj pola pokrewne
Zmiana wartosci klucza w tabeli po stronie I spowoduje zmian~ wartosci pól tworzacych relacj~ w tabeli po stronie n, aby polaczenie zostalo zachowane
Kaskadowo usun rekordy pokrewne
Automatyczne usuwanie rekordów z tabeli po stronie n po usuni~iu rekordu z tabeli po stronie J relacji
. I lub I . n
Po uaktywnieniu parametru ~uszaj wiezy integralnosci Access bedzie nadzorowal poprawnoSC powiazan, W rezultacie nie pozwoli np. dodac do drugiej tabeli rekordu, który nie bylby powiazany z pierwsza tabela. Uniemozliwi tez usuniecie rekordu z pierwszej tabeli, jezeli w drugiej tabeli Istnieja powiazane z nim rekordy. Aby rozpoczac edycje relacji, nalezy ja dwukrotnie kliknac w oknie Relacje. W celu
usuniecia relacjitrzebaja zaznaczyckliknieciem,a nastepnie nacisnac klawiszDeI.
Rozdzial 16.
Kto pyta, nie bladzi Tworzenie bazy danych wymaga przemyslanego zaprojektowania jej struktury oraz wiele mrówczej pracy zwiazanej z wprowadzaniem informacji. Nie jest to tylko sztuka dla sztuki. Z wysilku wlownego w utWonenie bazy uzytkownik chce odnosic konkretne korzysci. Baza ma dostarczac informacjii prezentowacje w formie najbardziej odpowiadajacej uzytkownikowi.Na ich podstawie maja byc wyciagane wnioski i przewidywane przyszle zdarzenia. Dane maja byc wykMzystywane w prezentacjach i raportach. Takie sa potrzeby uzytkownika.Z poprzednichrozdzialówdowiedziales sie,jak podzielic duza tabele na mniejsze i polaczyc je relacjami. A jak w wielu tabelach znalezc interesujaca informacje? Odpowiedz na to pytanie znajdziesz w tym rozdziale.
Kwerendy Dzieki kwerendzie baza danych zamienia sie w czarodziejska kule. My zadajemy jej pytania, a ona odpowiada. Na podstawie np. rejestru sprzedanych towarów moze wskazac produkty, które daly najwiekszy zysk i maja wzrostowa tendencje obrotów. Rezultatem wykonania kwerendy jest tabela. Ona z kolei moze byc zródlem rekordów dla formularzy, raportów i stron WWW. W programie Microsoft Access istnieje kilka typów kwerend. Szczególowo opisane zostalo stosowanie kwerend: wybierajacej, aktualizujacej i usuwajacej. Sa one najprostsze, a zarazem znacznie ulatwiaja prace.
Kwerendy wybierajace Kwerenda wybierajacajest najczesciej utywanym rodzajem kwerendy. SIuty do otrzymywania danych z tabeli lub tabel. Dane sa wyswietlane w arkuszu danych, który mozna nastepnie edytowac recznie.
128
ABC Access 2003 PL
Kwerendy wybierajace moga byc równiez uzywane do: . grupowania rekordów, . obliczania sum lub srednich, . przeprowadzania innych obliczen.
Kwerendy parametryczne Wykonaniekwerendy paramelIycznejpowodujewyswietlenieokna dialogowego. W nim nalezy wpisac warunki, które okresla uzytkownik, aby ograniczyc liczbe rekordów uwzglednianych w zestawie wyników kwerendy. KwerendyparamelIycznemoga byc wykorzystywanedo tworzenia formularzy,raportów i stron WWW. Za pomoca kwerendy paramelIycznej mozna utworzyc np. zestawienie sprzedazy. Przed drukowaniem raportu wyswietlane jest okno dialogowe. W nim uzytkownik musi podac poczatkowa i koncowa date analizowanego okresu. Po podaniu informacji Microsoft Access wydrukuje raport.
Kwerendy krzyzowe Kwerendy krzyzowe uzywane sa do obliczania i zmiany struktury danych. Ulatwia to pózniejsze analizowanie informacji. Kwerendy krzyzowe sluza do: . obliczania sumy lub sredniej, . zliczania danych, . przeprowadzania innego rodzaju podsumowania. Swa nazwe kwerendy te zawdzieczaja temu, ze obliczenia wykonywane sa dla dwóch typów informacji - wzdluz lewej i wzdluz górnej krawedzi arkusza danych.
Kwerendy funkcjonalne Kwerenda funkcjonalnapozwala na wprowadzaniezmian w wielu rekordach przy uzyciu pojedynczej operacji. Gwarantuje to, ze w kazdym miejscu zmiana bedzie wykonana identycznie. Istnieja cztery rodzaje kwerend funkcjonalnych.
Kwerendy usuwajace Kwerenda usuwajaca usuwa grupe rekordów zjednej lub wielu tabel. Uzycie kwerendy usuwajacej powoduje usuniecie calych rekordów, nie zas wybranych pól w rekordach.
Rozdzial16.
. Kto pyta, nie bladzi
129
Kwerendy aktualizujace Kwerenda aktualizujaca pozwala na wprowadzanie - przy utyciu pojedynczej operacji - zmian w grupie rekordów zapisanych w jednej lub wielu tabelach. Za pomoca kwerendy aktualizujacej mozna np. obnizyc o dwadziescia piec procent ceny wszystkich towarów nalezacych do grupy kostiumów kapielowych.
Kwerendy dolaczajace Kwerenda dolaczajaca dodaje na koncu jednej lub wielu tabel grupe rekordów z jednej lub wielu tabel. Z funkcji tej mozna skorzystac np. wtedy, gdy po polaczeniu firm tworzona jest wspólna baza klientów. Aby uniknac ponownego wpisywania informacji, które juz istnieja w jednej bazie, mozna wykonac kwerende dolaczajaca.
Kwerendy tworzace tabele Kwerenda tworzaca tabele generuje nowa tabele. Moze ona wykorzystywac wszystkie dane przechowywane w jednej lub wielu tabelach lub tylko ich czesc. Kwerendy tworzace tabele sa uzywane do tworzenia tabel, które maja zostac wyeksportowane do innych baz danych Microsoft Access.
Kwerendy SQL Kwerendy SQL sa tworzoneza pomoca instntkcjijezyka SQL (np. SELECT - wybranie danych, UPDATE
-
zaktualizowanie danych, DELETE
-
usuniecie danych). Mozliwe
jest równiez stosowanie dodatkowych warunków (np. WHERE - wybranie rekordów spelniajacych warunek, ORDER BY - uporzadkowanie wedlug kryterium). Aby tworzyc kwerendy SQL, nalezy znac polecenia jezyka SQL, pozwalajacego na efektywne zarzadzanie baza danych.
Tworzenie kwerendy wybierajacej Projektowaniekwerendy nalezy rozpoczacod wybraniaz bazy tabel lub innychkwerend, które beda zródlem danych. W oknie Baza danych trzeba kliknac sekcje Kwerendy (rysunek 16.1). Po przelaczeniu bazy danych w tryb projektowania kwerendy dostepne sa dwie opcje. Wybranie polecenia UtWórzIcwerendeza pomoca kreatora spowoduje uruchomienie programu, który bedzie podpowiada', w jaki sposób wygenerowac kwerende. Opcja UtWórzIcwerendew widoku projeklU pozwala uzytkownikowi na pelna kontrole tworzenia kwerendy. Parametry uzywane do tworzenia kwerend nie sa skomplikowanenawet malo doswiadczony uzytkownik jest w stanie ustalic je poprawnie. Proponuje wybrac wariant UtWórzIcwerendew widoku projelcJu(rysunek 16.2).
130
ABC Access 2003 PL
Rysunek 16.1.
Przelaczaniew tryb wyswietlaniakwerend
..,.,
~~
.
~-
- --'-~-,""
UoJl MW"baz": Baza~)"Ch'{fonnllt pUkupr~"nul
<11"""" ,,_
Ac.;.
.:1_,)< I', :"I§]!III
::1 Tabe611: II1j
l..wQrrtabelr:::,.pomoc"t.reator.
l I
. ~~ I~~"-.-~ ~
K_encIyjilJLl:I'Ó',tabele.wpr~~dane ,J~ 1'ornI.N...: ':] DOStAWCA
lI R..lY , ~!l ~
I
3
I
L _~~
I ~ GAf\NJ,: ::I IUNT ::I JOWM , ~ TOWAR DOS1
oC
d
i..tJ ~
Rysunek 16.2. ProjekJowanie
kwerendy
:J :J
TOWARlN't
~
LV4ÓWIEN1f
,
.1:)'MÓj.t..noW" bila:
Baza "'''Yth'(fonnat pl.u ,roc,ramu A(..~
.3"""",,_ -
WNIC1WO
a;;..,-
:J ,
jI_1 " 1-. [§IiII!
I" ~~ ~ ,011~l-r.nd!:::l.porIIOC'lireItor.
dl -_I ~ '''''''"''j ~
lI.'I)On.y
~""'" ::2 M*.
~..
.---
Projektowanie kwerendyjest procesem odwrotnym do dzielenia bazy danych na tabele. Kwerenda umozliwia czerpanie informacji ze wszystkich tabel i zebranie ich w jednym miejscu. Po dwukrotnym kliknieciu opcji Utwór: Icwerendew widokuprojektu wyswietlane jest okno Pokazywanie tabeli. W nim widoczne sa nazwy tabel. Aby dodac tabele do kwerendy, nalezy zaznaczyc jej nazwe w oknie Pokazywanie tabeli i kliknac przycisk Dodaj (rysunek 16.3).
Rysunek 16.3. Wybieranie ,ahel do kwerendy
~ DOSTAWA
-."""
..... ""'"
'TOWAII. TOWAII. DOST . TOW'AR lN4
~-"-~~-,
~-- .-'
-J
Rozdzlal16. . Ktopyta, nie bladzi
131
Gdy wszystkie tabele zostana dodane do kwerendy, trzeba zamknac okno Pokazywanie tabeli (kliknieciem przycisku Zamknij). Dodane tabele lub zapytania pojawiaja sie w górnej czesci okna Kwerenda wybierajaca (rysunek 16.4). Rysunek16.4. Wybrane tabele
II
I
_.___n___ ......n..__..#_n._....__
bJlg;U\
.,
.
D-
1"-.
.,,..
fi __"p
!
J
""
v
,T""
v
""
"°l v
v
> ",",
Tabele:
.
-, Po""
J:;ryterla:
..,
v >
(,f,
Jezeli tabela jest niepotrzebna, mozna ja usunac. Po jej zaznaczeniu nalezy nacisnac przyc;sk Def.
Wybieranie pól z tabel Po wybraniu tabel nalezy wskazac, które z ich pól zostana wykorzystane przy tworzeniu kwerendy.Nazwy uzytych pól sa widoczne w dolnej czesci okna Kwerenda wybierajaca (rysunek 16.5). Rysunek16.5. Wybieranie pól ~
~~ 1
,T""
L v,
",", T_
-, ,
"'-, ..,
Nazwy pól najwygodniej jest wybierac z listy. Aby ja rozwinac, nalezy kliknac pierwsza wolna komórke widoczna w wierszu Pole. Nastepnie trzeba kliknac czarna strzalke skierowana w dól. Na liscie widoczne sa nazwy wszystkich pól wybranych tabel. Aby dodac pole do kwerendy, nalezy zaznaczyc jego nazwe.
132
ABC Access 2003 PL
Abydodac wszystkie pola tabeli do kwerendy,trzeba kliknac pozycje oznaczona nazwa tabeli i gwiazdka. Po wybraniu nazwy pola nalezy okreslic, z której tabeli ma ono byc odczytane. Lista tabel jest widoczna w wierszu Tabela (rysunek 16.6).
..,
Rysunek 16.6. Wybieranie nazwy tabeli
TobM: SOrtuj:.
~:
.."
~.
'WCA
W'!'OAWNfCTWO
>
Kryteria W kolejnym kroku projektowania kwerendy nalezy jeszcze bardziej uszczególowic wymagania. Do tej pory wskazalismy z której tabeli i z którego pola maja byc odczytywane dane. Teraz nalezy sprecyzowac, jakie warunki powinny spelniac dane, aby zostaly wyswietlone.
Warunki nalezy wpisac w wierszu Kryteria. Warunekjest funkcja logiczna. Informacja zostanie wyswietlona,jesli spelni zadany warunek. Do sformulawania warunków mozna uzyc operatorów zebranych w tabeli 16./. Tabela 16.1. Operatory uzywane doformulowania kryteriów
Operator >
Znaczenie
Przyklad
wiekszy
>0
wiekszy
<
>-1 -"ABC"
równy mniejszy mniejszy
<>
lub równy
<-l lub równy
<-O
rózny zawieranie w zbiorze wartosci
<>13
In Lik.
dopasowaniedo wzorca
l; ke
In ("Tygrysel(,'.
"Mis".
"Prosiaczek-)
"Tygry*"
Warunki, które powinny spelniac wyswietlane dane, nalezy wpisac z klawiatury w polu
Kryteria (rysunek 16.7). Rysunek 16.7. Ograniczanie liczby wyswietlanych rekordów
"'I> ""'"I' ,
T__:;('i"OWAA
Kr\IbIrL6:fijijl;
u"
Dane wygenerowane za pomoca kwerendy moga zostac posortowane wedlug kolejnosci alfabetycznej. Do uaktywnienia tej funkcji oraz wyboru sposobu sortowania sluzy
pole Sortuj.
Rozdzlal16.
. Kto pyta, nie bladzi
133
Po kliknieciu czarnej strzalki z rozwinietej listy mozna wybrac jedna z trzech opcji: Rosnaco, Malejaco lub bez sortowania (rysunek 16.8). Rysunek 16.8. Wybieranie kolejnosci sortowania
fde.: T' TabeIIJ,
."'* """"
kr)terIeo:
1Ib:
TOWAA
MaleMco
l$Ortow.lril'
Jezeli w kwerendzie maja byc wykorzystane inne pola, nalezy dla nich powtórzyc czynnosci opisane w rozdzialach: Wybieranie pól z tabel oraz Kryteria. />JJyuruchomic kwerende w widoku projektu, nalezy kliknac ikone Uruchom (rysunek 16.9).
Rysunek 16.9. Uruchamianie kwerendy w widoku projekJu
/>JJyuruchomic kwerende
16.10).
-
obiekt bazy danych. trzeba ja kliknac dwukrotnie (rysunek
Rysunek 16.10. Uruchamianie kwerendy - obiektu bazy danych
Tworzenie kwerendy aktualizujacej baze Kwerenda aktualizujaca pozwala na wprowadzanie
-
-
przy uzyciu pojedynczej operacji
globalnychzmian w grupierekordóww jednej lubwielutabelach.W przykladzie
kwerende wykorzystamy do wykonania obnizki cen towarów o piec procent. Przed uruchomieniem kwerendY zmieniajacej zawartosc bazy danych nalezy wykonac kopie danych. które beda modyfikowane.
Projektowanie kwerendy aktualizujacej nalezy rozpoczac od utworzenia kwerendy wybierajacej (rysunek 16.11). Kolejnym krokiem jest przetestowanie dzialania kwerendy. Musimy byc pewni, ze wybiera dokladnie te rekordy, które chcemy modyfikowac. Aby uruchomic kwerende w widoku projektu, nalezy kliknac ikone Uruchom (rysunek 16.9).
134
ABC Access 2003 PL
Rysunek 16.11Kwerenda wybierajaca
<1.J
'd" """',
TlbeIa:[Cernt
Pdiat:, 10,0.'" ..,
Po chwili wyswietlony zostanie rezultat dzialania kwerendy (rysunek 16.12). Rysunek 16.12. Wynik dzialania kwerendy wybierajacej
ik'W)iaaw'iikC: yo 10 ~ 101PSW 3DMAXB MAX4BI
Cena'detaliczn 125.00zl 22,50 zl 95.00 zl "5.00zl
CWMAX4
14.00zl
ABCACC ABCOEG ABCEXP ABCIN3 ABCHrM ABCSal ABCCSS ABSPIN ,AR(':l
15,OOzl 15.00 zl 12.00 zl 24.00 zl 17,10 zl 20.00 zl 29,70 zl 31.00 zl ?Clm,,1 ~
Relrad:'J!l..!Jr---T
J...ill
Teraz wyswietl kwerende w trybie projektowania. Wybierz polecenia: Kwerenda/Kwerenda aktualizujaca (rysunek 16.13). Rysunek 16.13. Tworzenie kwerendy aktualizujacej
.....
! -.. ll:u'it t:....mtIIer
'--
Ktworz..L..e... "If Kwwendo D. KwerencSedollpl"",
I:.WyIsg.
.
e,.ametry...
W oknie kwerendy pojawilo sie nowe pole Aklualizar;ja do. W nim nalezy wpisac tadana
zmiane. Chcemy, aby dotychczasowa wartosc - widoczna w wszystkich rekordach w polu Cena detaliczna byla zmniejszona o piec procent (rysunek 16.14).
-
135
Rozdzial16. . Kto pyta, nie bladzi Rysunek 16.14. Mnozenie wartosci aklualnej przez stalq
10
'?
TybJ~:',
C_detekzl'~~
~
~
v
(>1.
<:tr,1
P""
-"'"
~
TlIbeIa:' Cerw*
'tWan
02.00
~do:(cen.~J"O.95 I:lyterla: ..."
v <
)1
Po okresleniu sposobu modyfikacji bazy danych trzeba uruchomic kwerende. W tym ceJu kliknij ikone Uruchom (rysunek 16.9). Przed wykonaniem zmiany w bazie danych pojawi sie okno z zadaniem potwierdzenia wykonania operacji (rysunek 16.J5). Rysunek 16.15. Ostrzezenie o wprowadzeniu nieodwracalnych zmian
Po kliknieciu przycisku Nie kwerenda aktualizujaca nie zostanie wykonana. Klikniecie przycisku Tak spowoduje wprowadzenie zmian w bazie. Aby sprawdzic, czy modyfikacja zostala wykonana, trzeba otworzyc tabele bazy danych (rysunek 16.16). Rysunek 16.16. Otwieranie tabeli bazy danych
Aktualna zawartosc pola Cena delaliczna (rysunek 6.17) mozna porównac z wartoscia poprzednia (rysunek 16.J2). Po wykonaniu zmiany w bazie nalezy usunac kwerende aktualizujaca. Przypadkowe jej uruchomienie moze spowodowac wprowadzenie nieodwracalnych zmianw bazie danych.
136
ABC Access 2003 PL
Rysunek 16.17. Zmodyfikowana tabela
'c::*~;it;wydiwnlaw4~iromlbjjrr~be'il' ID .. NETCLR 101PSW
HUpraklyctny
3DMAXB MAX4BI
3D Studio MAX 3ds max 4. Tec
CWMAX4
3DS MAX.4.tv ABCAtces!.: ABC Delphi 6
ABCACC ABCDE6 ABCEXP ABCIN3 ABCHTM
T ulksi 1ki Cen.datalicz"
l w..gi
116,75zl
21,38 zl IPROMOCJA! hllp:/lhelion_PIII 90,25 zl hllp:Jlhebon.pVl .
"2,75 zl 13,]) zl U,25 zl
htlp:Jlhelionplllj
U,25 zl
hllp:Jlhelion,pVl
ABC E_cela 20 ABC Internelu.
11,.40 zl 22,SO zl
ABC jezyka HT;
16,25 zl !PROMOCJA!
Relrad:..!!1.iJl---i
. hl!..lz
"RL hllp:/fne'ion_p1l1
hllp:J/helion.plll hllp:Jlhelionplll: hllp:JJhelion,plll: hllp:llhelion"pVli hllp:/lhelion,pVlj'P
611
Tworzenie kwerendy usuwajacej rekordy Nawet najlepiej zaprojektowana baza danych zwieksza swoje rozmiary wraz ze wpisywaniem rekordów. Powoduje to wzrost rozmiarów plików, w których sa zapisywane informacje, a to z kolei znacznie spowalnia wszystkie operacje. Warto jednak miec pelna baze danych. Nalezy nagrac ja na oddzielny nosnik i przechowywac w bezpiecznym miejscu. Do pracy mozna uzywac wersji roboczej, z której usuniete zostaly rzadko uzywane informacje. Przez uruchomieniem kwerendy zmieniajacej zawartosc bazy danych nalezy wykonac kopie danych, które beda modyfikowane.
W przykladzie usuniemy z cennika liczacego ponad 600 pozycji rekordy dotyczace ksiazek na temat PHP 3. Projektowanie kwerendy aktualizujacej nalezy rozpoczac od utworzenia kwerendy wybierajacej (rysunek 16.18). Rysunek 16.18. Kwerenda wybierajaca
11{y';TAWU
Polo, Tabela: Sortuj; , ~1ll.e"PtP ,,",
137
Rozdzial16. . Kto pyta, nie bladzi
Korzystajac z niej, sprawdzimy poprawnosc kryterium. Aby uruchomic kwerende w widoku projektu, nale:!:)'kliknac ikone Uruchom (rysunek 16.9). Po chwili wyswietlony zostanie rezultat dzialania kwerendy (rysunek 16.19). Rysunek 16.19. Rekordy spelniajacekryterium
T utilai tkl .
.
PtP
3. Internetowe
aplikacje
bazod
rleIud:..!!.L!..Jr---T ~ l.. 1..1z
I
Po wyswietleniu kwerendy w trybie projektowania wybierz polecenia: Kwerenda/Kwerenda usuwajaca (rysunek 16.20). Rysunek 16.20.
i~",4J~:!~_~
Uaklywnianie Icwerendyusuwajacej
~
Po
j~ P9
1I:
.-~
t--l8l!!'1l*l...
k--*dal~..
)f ~
*"
W przypadku kwerendy usuwajacej trzeba okreslic dodatkowy parametr. Po rozwinieciu listy Usuwanie widoczne sa dwie opcje: Gdzie i Skad. Klikniecie pozycji Gdzie powoduje, ze usuwane beda rekordy spelniajace warunek podany w wierszu Kry/eria. Klikniecie pozycji Skad powoduje, ze usuwane beda rekordy z tabeli, której nazwa jest wpisana w wierszu Tabela. W przykladzie zaznaczamy opcje Gdzie (rysunek 16.21).
-'
Rysunek 16.21. Okreslanie usuwania rekordów spelniajacych dane kryteria
.
-,'"~
T": c.d:. ~:GdziIJ
Hol
W polu Kryteria nale:!:)'wpisac warunek identyczny z tym, który byl u:!:ytyw kwerendzie wybierajacej (rysunek 16.22).
-' - .... .
Rysunek 16.22. Kompletparametrów Icwerendyusuwajacej
'" [fi!
TIbeII: c.d
Hii
lCryt8rIa: .........
Aby uruchomic kwerende w widoku projektu, nale:!:)'kliknac ikone Uruchom (rysunek 16.9). Po chwili zostanie wyswietlone tadanie potwierdzenia usuwania. Jest to operacja nieodwracalna jedyna mozliwoscia przywrócenia poprzedniej wersji bazy danych jest wczytanie jej kopii zapasowej.
-
Aby wykonac operacje, nale:!:)'kliknac przycisk Tak (rysunek 16.23).
138
ABC Access 2003 PL
Rysunek16.23. Zqdonie potwierdzenia wprowadzenia nieodwracalnych zmian
Po wykonaniu zmiany w bazie nalety usunac kwerende usuwajaca. Przypadkowe jej uruchomieniemoze spowodowacwprowadzenienieodwracalnychzmian w bazie danych.
Rozdzial 17.
Formularze Formularze elektroniczne maja podobne przeznaczenie, jak papierowe zbieranie oraz prezentowanie informacji.
-
ulatwiaja
Formularz - obiekt bazy danych - nie moze istniec samodzielnie. Stanowi on tylko ogniwo posredniczace pomiedzy uzytkownikiem a programem (rysunek 17.1). Musi byc powiazany z tabela lub kwerenda. Rysunek 17.1Formu/arz
.
Ite&Ol
:u
Kareg.,!"fdatków' .J1!f~.~\!~"
Lacza miedzy formularzem a tabela lub kwerenda tworzy sie za pomoca formantów. Formantami sa obiekty graficzne, z którymi bezposrednio styka sie uzytkownik. Do formantów naleza np. pole tekstowe, pole wyboru, pasek przewijania i przycisk polecenia (rysunek 17.2).
Rysunek 17.2. Formanty - klocki. z kJórychbudowanyjestformularz
Za pomoca formantów uzytkownik moze sterowac programem. Najpopularniejszym typem formantu, uzywanym w celu wyswietlania danych z tabeli i ich wprowadzania, jest pole tekstowe.
140
ABC Access 2003 PL
Z czego sklada sie formularz Do budowy formularza mozna uzyc wszystkich obiektów widocznych w Przyborniku (rysunek 17.2). W zaleznosci od realizowanej funkcji mozna podzielicje na trzy grupy: 1. Pola zwiazane z danymi w bazie zawartosci bazy,
2. Pola poprawiajace
-
umozliwiaja edycje i przegladanie
-
czylelnosc formularza
symbole graficzne, tla itp.
naleZa do nich opisy pól,
3. Przyciski polecen - umozliwiaja uruchamianie polecen (rysunek 17.3). Rysunek 17.3. Elementyskladowe formularza
.. . ID
..
2
,A
' .N CLR.KIIOgIekspel1a
.TJf1IIA1\i7
ce..
118,75Zl I
.....1 UlU.
-
j;.
tETC'"
..
1
hltp:J1h8llon.pllkslazkllnllc:lr.hlm
3
Tworzenie formularza Istnieja trzy sposoby tworzenia formularza: 1. Na podstawie pojedynczej tabeli lub kwerendy - przy uzyciu polecenia AUloformularz. 2. Na podstawie tabel lub kwerend
-
przy uzyciu kreatora.
3. W widoku Projekt.
Tworzenie formularza przy uzyciu polecenia Autoformularz Tworzenie formularza przy uzyciu polecenia AUloformularz nalezy rozpoczac od wyswietlenia okna Baza danych. W sekcji Obiekty kliknij opcje Formularze, a nastepnie kliknij przycisk No1iy (rysunek 1704). Rysunek 17.4. Uruchamianie kreatora
id!OIw'n~~"",",[;! """" :J' Tabeli! jI K_endy CI.i<>".....
Po chwili wyswietlone zostanie okno dialogowe No1iyformularz (rysunek 17.5).
Rozdzial17. . Formularze
141
Rysunek 17.5. Wybieranie typu Au/olormu/arza
'I, ) .
lf='~.
~-
Ao.I:~:
--
T8beIr;any
1 AWlorm.Nn:: ArlruJ,zdlnych
1A1aofcnrUan::TlbeIe~ ' lAo.1:ofarm.Wl: Wybef prl--'ly .1~)krNt« . , KrMt
J
'
_
WybIIjrzt~UI~,., ;~~
~_~
Jt6I'ejpoct,odr"d."'u:OI,lotu: ~.,~"",_"",,
.
_.
W jego dolnej czesci znajduje sie lista dostepnych tabel lub kwerend. Rozwinja, a nastepnie zaznacz te, która bedzie powiazana z projektowanym formularzem.
W górnej czesci okna widoczne sa nazwy autoformularzy. Zostaly one opisane w tabeli 17.1. Tabela 17.1. UkJadyAu/oJormularzy Autoformularz
Szkic
Opis
Kolumnowy
KaZde pole wystepuje w oddzielnym wierszu. Etykieta znajduje sie po jego lewej stronie
Tabelaryczny
Pola w kazdym rekordzie sa wyswietlane w jednym wierszu. Etykiety sa umieszczone na poczatku fonnularza
Arkusz danych
Pola w kazdym rekordzie sa wyswietlane w fonnacie wierszy i kolumn. W kazdym wierszu wyswietlany jest jeden rekord. W kaZdej kolumnie wyswietlane jest jedno pole. Nazwy pól sa widoczne na górze kazdej kolumny
Tabela przestawna
Fonnulanjest otwierany w widoku Tabela przestawna. Pola moma dodawac przez przeciaganie ich z listy pól do obszarów widoku
Wykres przestawny I
..1..
~
I~
Fonnularzjest otwierany w widoku Wykres przestawny. Pola mozna dodawac przez przeciaganie ich z listy pól do obszarów widoku
W przykladzie wybierzmy Au/olormu/arz Kolumnowy. Po kliknieciu przycisku OK utworzony zostanie formularz (rysunek 17.6) Wyglad nowego formularza jest wzorowany na wygladzie ostatnio utworzonego. Aby zmienic wyglad formularza, nalezy otworzyc go w Widoku Projekt, a nastepnie z menu wybracpolecenia:Format,Autoformatowanie.W oknie Autoformatowanie mozna wybrac nowa szate graficzna formularza (rysunek 17.7).
142
ABC Access 2003 PL
Rysunek 17.6. Formu/orzutworzony za pomoca polecenia Au/oformu/orz
t,'ririlik'WydaWnktw,,'HlUOtfOZ;o)'
Hm1)M~~kl'
~
,.
~.NET CLR_ Ksl,gaeksperta 118,7521
hllp:Jihetion.pL/1(Siazldlnelclr.hlm
Rysunek 17.7. Zmianawygladu formularza
-. ,--....
Fom.Mupoformat~~
"""... ,.. ~~....Papierf"lttJwrt
'*W
-,
Qpc:JII»
J
J
J
Tworzenie formularza przy uzyciu kreatora Tworzenie formularza przy uzyciu kreatora nalezy rozpoczac od wyswietlenia okna Baza danych. W tym celu w sekcji Obiekty kliknij opcje Formularze. Dwukrotnie kliknij polecenie Utwórzformularz za pomoca kreatora (rysunek 17.8). Rysunek 17.8. Wlaczanie kreatoraformularzy
W oknie Kreator formularzy rozwin liste Tabele/Kwerendy. Kliknij nazwe tabeli, na podstawie której chcesz utworzyc formularz (rysunek 17.9). Rysunek 17.9. Wybieranie zródla danych
W dolnejczesci okna Kreatorformularzy znajduja sie dwa pola. Po lewej stronie widoczna jest lista dostepnych pól, a po prawej stronie wyswietlane sa nazwy pól, do których bedzie mozna uzyskac dostep za posrednictwem formularza. Aby wybrac pole, kliknij jego nazwe w okienku Dostepne pola. Nastepnie nacisnij przycisk oznaczony strzalka skierowana w prawo (rysunek 17.10).
Rozdzial17.
.
Rysunek 17.10. Wybieraniepól
143
Fonnularze
Kr..t.r formularz" "'pcl.NMby(W?
I_
',;
i"-
I
MoteszW'lbr«..tlbelUI"-end. I
.:J
r-'''''*--''''''
...-..-
.......-
,""..... """....... ...... ""
..... I
::<.:i
I
1!"oI>
I
......
I
Nazwa pola pojawi sie na liscie :zaznaczonychpól. Powtarnlj dodawanie pó~ at wszystkie niezbedne pola znajda sie w polu po prawej stronie okna. Aby przejSCdo kolejnego okna, nacisnij przycisk Dalej. Wybierz uklad formularza. Po kliknieciu widocznego po prawej stronie pola z nazwa po lewej stronie wyswietlany jest szkic wygladu formularza. W przykladzie wybrany zostal uklad Kolumnowy. Aby przejsc do kolejnego okna, nacisnij przycisk Dalej (rysunek 17.]]). Rysunek 17.11Okreslanie ukladupól [ormularza
lCf..torfonnuLarzy _1IIII\Medl-...l-?
-
_ .-- __t_O ---,-..'-__o ..-_...---.--- - . -- -f==-' -.'-'.. --- . --...-. -. --..,.,--.-
=='2:'
5
5:=-
=.
.....I
r-
I r,......,.." r...........
r_ r__
rT.l.l.prl--
<,.,...,
I .." Ill
...... I
W kolejnym oknie nalety wybrac styl formularza. W programie Access dostepne jest kilka predefiniowanych stylów. Klikniecie nazwy widocznej po prawej stronie okna powoduje wyswietlenie przykladowego szablonu po lewej stronie okna. W przykladzie wybrany zostal styl Standardowy. Aby przejsc do kolejnego okna, nacisnij przycisk Dalej (rysunek 17.12).
144
ABC Access 2003 PL
Rysunek 17.12. Wybieranie styluformularza
~oImiil UfIlWl~$l;~
-
J <><-
I ,;..,>~I
I
W kolejnym oknie mozna zmienic tytul formularza. Domyslnie jest on identyczny z nazwa tabeli (kwerendy), z która jest polaczony. lereli zaznaczymy opcje Otwórzformularz, aby przejrzec lub wprowadzic informacje, zaraz po utworzeniu formularza bedzie mozna za jego posrednictwem uzyskac dostep do bazy danych. Wybranie opcji Modyfikuj projek! formularza spowoduje, mozna wprowadzac zmiany w wygladzie formularza.
re zaraz
po utworzeniu bedzie
W przykladzie zostal wybrany wariant Otwórz formularz, aby przejrzec lub wprowadzic informacje.
Aby wygenerowac formularz, nacisnij przycisk Zakoncz (rysunek 17.13). Rysunek 17.13. Ostatnie okno kreatora
'k1"4torromWia~
ll' To~'~'WonNoaepotnebnejqNloroNdo-.tworleri4 a. Czychcesz~fornU.zkb~)tQOprojel;t} J (.'Qtw6rzklrrdr.r:.Cy~kb~Wormac~
_J
~ r~projel;tfonntHr:za
Po chwili na ekranie pojawi sie nowy formularz (rysunek 17.14).
Rozdzial17. . Fonnularze Rysunek 17.14. Nowyformularz
145 "-..nifWy~-lW.-lMlió-n'o1$1 .11[)
TjAl.lk~
I_NE'a.R.K.,.elup.la
Tworzenie formularza w widoku Projekt Tworzenie fonnularza w widoku Projekt nalezy rozpoczac od wyswietlenia okna Baza danych. W sekcji Obiekty kliknij opcje Formularze, a nastepnie kliknij przycisk Nowy (rysunek 17.4). Po chwili wyswietlone zostanie okno dialogowe Nowyformularz (rysunek 17.15). Rysunek 17.15. Okno Nowyformularz
c<
J
W jego dolnej czesci znajduje sie lista dostepnych tabel lub kwerend. Rozwin ja, a nastepnie zaznacz te, która bedzie powiazana z projektowanym fonnularzem. W górnej czesci okna zaznacz opcje Widok projektu. Kliknij przycisk OK.
Po chwili wyswietlone zostanie okno sluzace do projektowania formularza, tabela zródlowa oraz Przybornik (rysunek 17.16). Obiekty mozna umieszczac wewnatrz obszaru roboczego, przeciagajac je z tabeli i Przybornika (rysunek 17.17). Aby zmienic rozmiar formularza, nalezy naprowadzic kursor na jego krawedz. Gdy zmieni ksztalt ze strzalki na czama kreske z dwiema strzalkami, nalezy - przeciagajac go - wybrac nowy rozmiar obszaru roboczego. Domyslnie wyswietlana jest czesc formularza zatytulowana Szczególy. Aby wlaczyc wyswietlanie naglówka i stopki, trzeba wybrac polecenia: Widok/Naglówek/stopka
formularza.
146
ABC Access 2003 PL
Rysunek 17.16. Formularz w trybie projekJowania
L~I ' , . I . . t . , ' ~ . I
,.
4
., ., .
I
. . . , . 7 . , '. . , . . ' ,
... . . . I
fi
'1l'
c I 'D,...
:n
Rysunek 17.17. ProjekJowanie przez przeciaganie
Jr. "-1'
I' t. 1'3'
I"""'"
,- I' 7"'"
,.,..
'1O".n"
'!l'
I 'G,'"
Przybornik Pola tekstowe wraz z etykietamimotna umiescic na fonnulanu, przeciagajacje z tabeli. Pozostale elementy sterujace nalezy wybierac z Przybornika (rysunek 17.2). Jesli Przybornik nie jest widoczny na ekranie, wybierz polecenie Widok/Przybornik.
Przybornik zawiera przyciski, po wybraniu których motna tworzyc pola kontrolne. Po kliknieciu przycisku kursor zmieni wyglad. Postac kursora jest zaletna od nacisnietego przycisku. Aby utworzyc dane pole kontrolne, nalezy: . ustawic kursor w dowolnym miejscu fonnularza, . wcisnac i przytrzymac lewy przycisk myszki, . przesuwajac kursor, okreslic rozmiary pola kontrolnego, . zwolnic lewy przycisk myszki. Stosujacprzeciaganie,motna skorygowac zarównopolozenie,jak i rozmiary pól kontrolnych. W tabeli 17.2 znajduja sie opisy narzedzi dostepnych w Przyborniku.
Rozdzial17. . Fonnularze
147
Tabela 17.2. Narzedzia Przybornika
Ikona
Opis narzedzia Zaznacz obiekty
-
narzedzie slu.ty do wybierania elementów formularza
Kreatorzyformantów
-
jeuli przycisk jest wcisniety, do tworzenia pól kontrolnych beda
uzywani kreatorzy. Gdy przycisk jest zwolniony, wszystkie parametry pól moze definiowac projektant Etykieta - narzedzie do umieszczania na formularzu napisów objasniajacych. Pole mate przechowywac dowolny tekst i moze byc umieszczone w dowolnym miejscu formularza. Uzytkownik podczaskorzystaniaz formularzanie ma wplywu na zawartosctego pola
Pole teklitowe - narzedzie sluzace do tworzenia pól edycji. W polu edycji moga byc wyswietlane i edytowane informacje.któremozna zapisywacjako tekst. W tym polu uzytkownikwprowadzaz klawiatury dane Grupa opcji - narzedzieumozliwiawyrótnienie obszaruformularza,w którym zostanie umieszczone przynajmniej jedno pole reprezentujace wartosci logicme. np. przycisk przelacznika. Pole to jest wykorzystywane, gdy w bazie istnieje wielkosc, która moze przyjmowac kilka z góry znanych wartosci. W ramce moma umiescic liste wartosci; jednoczesnie moze byc wybrana tylko jedna z nich Przycisk przelacznika - narzadzie slutace do umieszczania na fonnularzu przycisków reprezentujacych jeden z dwóch stanów logicznych, np. PrawdalF olsz. Przycisku przelacznika moma takt<:u-tywac jako niezwiazanego formantu, slutacego do akceptacji danych wejsciowych wprowadzanych przez uzytkownika w niestandardowym oknie dialogowym lub we fragmencie opcji
~ ~
Przycisk opcji - tworzy obiekt o podobnych wlasnosciach, jak Przycisk przelacznika. Uzytkownik moze zaznaczyc tylko jedno pole opcji w danej grupie jednoczesnie. Pole wyboru - narzedzie tworzy obiekt o wlasnosciach podobnych do Przycisku opcji i Przycisku przelacznika. Uzytkownik moze zaznaczyc wiecej nit jedno pole opcji w danej grupie jednoczesnie. Pozycja ..wlaczony" odpowiada kwadratowi, w którym znajduje sie "ptaszek" (litera V)
-
Pole kombi narzedzie do tworzenia pól edycji w postaci listy polaczonej z polem tekstowym. Wartosc pola wpisujemy z klawiatury lub wybieramy z listy. Definiujac pole, okreslamy, skad Access ma pobierac dane, które beda zawarte na liscie Pole listy Lista
-
-
narzedzie do tworzenia listy, z której bedziemy wybierac dane.
w przeciwienstwie
do Pola kombi
-
jest stale widoczna
na ekranie.
Wartosci
mozna
wybierac jedynie z podanej listy. Nie ma mozliwosci wpisywania wartOsci z klawiatury Przycisk polecenia - narzedzie do umieszczania na formularzu przycisku z poleceniami. Do przycisku mozemy przypisac makro lub funkcje napisana w jezyku Visual Basic for Applications Nacisniecie przycisku spowoduje wykonanie wczesnie zaprogramowanych czynnosci Obraz - slu-ty do wyswietlenia statycznego obrazu w fonnularzu lub raporcie. Poniewaz obraz statyczny nie jest obiektem OLE, po dodaniu go do fonnularza lub raportu nie mozna juz edytowac jego wygladu w programie Microsoft Access Niezwiqzana ramka obiekru - narzedzie tworzy ramke, w której mozemy umiescic niezwiazany obiekt OLE, taki jak arkusz kalkulacyjny programu Microsoft Exce!. Obiekt nie zmienia sie przy przechodzeniu od rekordudo rekordu
1.48
ABC Access 2003 PL
Tabela 17.2. NarzedziaPrzybornikD- ciag dalszy Ikona
Opis narzedzia Zwiazana
ramka
obielcJu
-
narzedzie
tworzy
obiekt
podobny
do N;ezw;azanej
ramki
obiektu. Sluty do wyswietlania w formularzu lub raporcie obiektów OLE. np. serii rysunków. Ten fonnant jest przeznaczony dla obiektów przecbowywanych w polu rekordu zródlowego fonnulana lub raportu. Przy przechodzeniu od rekordu do rekordu fonnulana lub raportu wyswietlane obiekty zmieniaja sie
Padzial srrony - n~e
do dzielenia fonnulana na strony
-
narzedzie slu,ty do utworzenia formularza zawierajacego karty, zlomnego Forma/karla z kilku stron lub zawierajacego karty okna dialogowego. Do formantu typu karta mama kopiowac lub dodawac inne formanty. Po dwukrotnym kliknieciu formantu karty w siatce projektu mozna modyfikowac: liczbe stron, kolejnosc stron, wlasciwosci wybranej strony i wlasciwosci wybranego formantu karty
~ ~ ~ ~
PodJormularzlPodraporl- ~e lub raportu
sluzy do umieszczeniaw fonnularzu innego fonnulana
Linia - narzedzie umotliwia rysowanie linii na formularzu Prosloka1- ~e pozwala na kreslenieprostokatów.Elementygraficzne(Linia i Prostokat) nie maja wplywu na dzialanie fonnulana; slutajedynie poprawie wygladu i przejrzystosci Wiecejformantów
-
umotliwia wyswietlenie dodatkowych formantów
Instrukcja obslugi formularzy Formularz sklada sie z pól kontrolnych. Za ich pomoca wprowadzane sa dane. W lewym dolnym narozniku formularzamajduje sie Hemikrekondów(rysunek 17.18). Rysunek 17.18. Licznik reluJrdów
Rekord:
~
r
W polu tekstowym wyswietlany jest numer aktualnego rekordu. Na prawo od Hemika widoema jest calkowita liczba rekordów. Dostep do tabeli mozna uzyskac za pomoca formularza (rysunek 17.19) lub arkusza danych (rysunek 17.20). Rysunek 17.19. Dane przeglqdane za posrednictwem formularza
Fo
ul;"ri1':-F
ul8iz'
.Ie
Rozdzial17. . Formularze Rysunek 17.20. Dane przegladane bezposrednio w arkuszu
149
'bI.gg
~:J'ceilnikWidaWnKtWTl-liori'01:o~t~ ID
T utkai tki, Cenadelalitln
.1
.NETCLR. KSi\
101PSW
10lpraktyclny
3DMAXB MAX4BJ CWMAX4
3D Studio MAX 3ds mu.t. Tec' 3DS MAX4. tv ABC AcceSSI: ABC Delphi6 ABC Excela 20 ABC Intemetu.
ABCACC ASCDE6 ABCEXP ABCIN3
ABCHTM ABCSQL . ABCCSS ABSPIN ABCK03 ABCNAG ABCOVO ABCHAK ;08 COur . ~:...!.!UJr
. o..
116,75 zl 21,38 zl IPROMOCJA!
http://helion.plll
90,25 zl
http://helion.plllj http://helion,pllll
42,15 zl 13,3) zl 14,25zl 14,25 zl
http://helion,plll
11,40 zl
22,00 zl ABCj,zykIHT. 16,25 zl IPROMOCJAI zl ABC jezyka 8'19.00 28,22 zl IPROMOCJAI ABC kaskadow 'ABC kompulerl 29,45 zl ABC Komput.r~ 27.55 zl ABC nagrywani 23,75 zl ABC nagrywani 23,75 zl ABC ochrony k' 23,75 zl .A8COutlooka; . 1.425%1
T ..1.11..1, .....
URl
2132
hllp:/lhelion,plll hltp:f/helion.plll http://helion.plll http://helion.pll1 http:/htelion.plll, hUp:llhelion.pllli :http://helion.pllll htlp:/lhelion,plll htlp:llhelion.plll hllp:/lhelion.plll http://heJion.plll http://helion.plll http://helion,pllll
,.
htlo:/lhelion,ollll::J!1
Aby wyswietlic formularz, nalezy wybrac polecenia: Widok/Formularz. Aby obejrzec arkusz danych, trzeba wybrac polecenia: Widok, Arkusz.
150
ABCAccess 2003 PL
Rozdzial 18.
Raporty Tabele bazy danych mozna wydrukowac po wybraniu polecen: Plik/Drukuj. Nie mamy jednak wówczas duzego wplywu na wyglad wydruku. W Microsoft Access mozna utworzyc obiekt Raport. Raport jest dokumentem zoptymalizowanym pod katem drukowania danych znajdujacych sie w bazie. W raporcie mozliwe jest porównywanie, sortowanie i grupowanie danych przed ich wydrukowaniem. Funkcje te sa tym bardziej cenne, im wieksza jest baza danych. Raportysa tworzone wedlug bardzo podobnychzasad, co formularze. Uzywamy do tego celu niemal identycznych narzedzi,jak w przypadku formularzy. Nie jest to bledem, ale wynika z podobnego przeznaczenia obu typów obiektów. Formularze sa stosowane do wpisywania, edycji i przegladania informacji. Raporty natomiast sa uzywane jedynie do prezentacji danych zawartych w bazie.
Tworzenie nowego raportu Tworzenie nowego raportu nalezy rozpoczac od tworzenia bazy danych. Nastepnie na liscie obiektów trzeba kliknac pozycje Raporty (rysunek 18.1). Rysunek 18.1. Raporty sa obiektam; bazy danych
~
t:] TabM
rm ~~JJ~ lm
ltwórzraportl.pornGC.\~a
jjI,3 """""...
Kolejnym krokiem jest klikniecie przycisku Nowy (rysunek 18.2). Po chwili wyswietlone zostanie okno Nowy raport (rysunek 18.3).
152
ABC Access 2003 PL
Rysunek 18.2. Generowanie nowego raportu
Rysunek18.3.
-1.
Okno wyboru me/ody tworzenia raportu
O'
~-I Raport, podobniejak fonnulatz, nie moze istniec bez polaczenia z tabela lub kwerenda. W dolnej czesci okna Nowy raport widoczna jest lista dostepnych tabel i kwerend. Nalezy kliknieciem zaznaczyc te, której zawartosc ma byc prezentowana za pomoca tworzonego raportu. Raport mOZllawygenerowac: . za pomoca A u/oraporlu; . przy uzyciu kreatora raportów; . w widoku projektu.
Tworzenie raportu za pomoca Autoraportu Aby wygenerowac raport za pomocaAu/oraportu, wyswietl okno Nowy raport. Zaznacz tabele lub kwerende, która bedzie zródlem danych.
Po lewej stronie okna widoczne jest pole podgladu, a po prawej stronie znajduje sie lista dostepnych metod tworzenia raportów. Kliknieciejednej z nich powoduje wyswietlenie w polu podgladu miniatury raportu. W przykladzie wybierzemy uklad kolumnowy. Po zaznaczeniu go nalezy kliknac przycisk OK (rysunek l8.3). Po chwili na ektanie wyswietlony zostanie raport (rysunek 18.4). Wybranie ukladu tabelarycznego zamiast kolumnowego ma zasadnicze znaczenie dla wygladu generowanego dokumentu. Uklad tabelaryczny zajmuje mniej miejsca. Raport z tej samej tabeli w ukladzie kolumnowym zajmowal 102 strony, zas w ukladzie tabelarycznym zaledwie 30 stron (rysunek 18.5).
Rozdzial18.. Raporty
153
J Cell/lik TV:rdawl/ictJl'aHeliol/ 02-03 ~ !NetQ.R,K
I
'
l8 1181SJI
I
[
URL
taP:fl'IeIonlII*MlzWl'etCi'.ltrII
ID
~ "01IJ~ltr,d(lwnaiiOiilWI/'fIN
Rysunek 18.4. Raport w ukladzie kolumnowym
J
Cel/I/ik Wydawl/ictwa Heliol/ 02-03 ID flETCLR
~TCUtK.p~
1CJ1PSW
101~~d'1ne'NN
2t,38:1l IPROMOCJN
DM""
3OStucIolllA)l.C_.~wWnlll(J'.
90,25.
M"""
3dt1ll8X4.Te:lr*I~,SIIM
42,1521
""""". .oe
30S MAX4.CWC1lrilopntt,aJle
1J,30:Il
SI;rooa:.1!.l..iJr--t ~
118.753
~
Rysunek 18.5. Raport w ukJadzietabelarycznym
Tworzenie raportu za pomoca Kreatora Aby wygenerowac raport za pomoca Kreatora, wyswietl okno Nowy raport. Zaznacz tabele lub kwerende, która bedzie zródlem danych. Jako metode generowania raportu wybierz Kreator raportów. Kliknij przycisk OK (rysunek 18.6). Praca z Kreatorem polega na udzielaniu odpowiedzi na kolejno zadawane pytania. W pierwszym oknie trzeba wybrac pola, które maja zostac umieszczone w raporcie.
154
ABCAccess 2003 PL
Rysunek 18.6.
?o
Uruchamianie Kreatora raportów
W dolnej czesci okna Kreator raportówznajdujasie dwa polaoPo lewej stronie widoczna jest lista dostepnych pól, a po prawej stronie wyswietlane sa nazwy pól zawierajace dane, które zostana uzyte do wygenerowania raportuo Aby wybrac pole, kliknij jego nazwe w okienku Dostepne po/a. Nastepnie nacisnij przycisk oznaczony strzalka skierowana w prawo (rysunek 1807). Rysunek 18.7. Wybieranie póJ
>
»
Nazwa pola pojawi sie na liscie zaznaczonychp6L Powtarzaj dodawanie p61,az wszystkie niezbedne pola znajda sie w polu po prawej stronie okna. Aby przejsc do kolejnego okna, nacisnij przycisk Da/el W kolejnym oknie nalezy okreslic pola, wedlug których dane beda grupowane w raporcie. W przykladzie beda to pola Tytul ksiazki i Cena detalicznao Aby przejSC do kolejnego okna, nacisnij przycisk Da/ej (rysunek 18.8)0
W nastepnym oknie trzeba okreslic kryterium sortowania danych w grupie W przyo
kladzie informacje beda sortowane w kolejnosci rosnacej wedlug pól Uwagi oraz URLo Aby przejsc do kolejnego okna, nacisnij przycisk Dalej (rysunek 18.9). W nastepnym oknie trzeba okreslic sposób prezentacji danych Dostepne opcje widoczo
ne sa po prawej stronie okna. Po lewej stronie znajduje sie natomiast pole podgladu w nim wyswietlany jest szkic raportu z uwzglednieniem wprowadzonych zmiano W przykladzie wybrano pionowa orientacje arkusza i raport wyrównany do lewej Aby przejsc do kolejnego okna, nacisnij przycisk Dalej (rysunek 18.10).
-
o
Rozdzia/18.
155
_ Raporty
Rysunek 18.8. Okreslanie poziomów grupowania
-'
iJ(rMloi:r.pOHow
r--"""""'
Cz.ichteszdodKJal
I
I
rytUlk
2J
LO!.
_.LO!.
--
......
gpcje...
Rysunek 18.9. Wybieraniekryteriów sortowania
1>01o'>
<;«stecz
I
""""
I
"j(~fr14port6W UJ mi by(" porz.p,ksortolowDo
defelDrd6w Rel.ord)I
_.
szaeg6lowych? mom!I
sortowal
wed1,IQ Mjw)'teJ
cztere
liiii:
1.1iI_l
Rysunek 18.10. Rozplanowanie raportu na stronie
3-1
'F .ja" ,[
'3-I
'3 __I
.1
:
KlHtol'rapcrito
t"'od
-._n.
---------
_hKZDIDII__
-----------------
Itr_
r::
Ir_
r_l
,,
,1 KonIu..
r., 1..1 I
Gl
l J
f"Wy,ÓWMj
dO2
I>""""''''''''''''........, WRYStWe polab)oIyl'Iidocznena
......
I
......
,'""'"
I
"""" I>oIo1>1
I
156
ABC Access 2003 PL
Musimyjeszcze wybrac styl raportu. Po prawej stronie okna widoczne sa nazwy stylów, a po lewej znajduje sie pole podgladu. Klikniecie nazwy stylu powoduje wyswietlenie w polu podgladu fragmentu tekstu sformatowanego przy uzyciu wybranego stylu. W przykladzie wybrano styl Pogrubienie. Aby przejsc do kolejnego okna, nacisnij przycisk Dalej (rysunek 18.I I). Rysunek 18.11. Wybieranie styluraportu
MtOFiiiji,ifrt, W;1IWI~$I:-,l7
-' "-
T~'tul ~iiJ:.lCZ~ Fo~~
W ostatnim oknie kreatora mozna wpisac tytul raportu. Domyslnie jest on identyczny z tytulem tabeli lub kwerendy zródla danych. Jezeli zaznaczymy opcje Podglad raportu, zaraz po utworzeniu raportu bedzie mozna obejrzec go na ekranie.
-
Wybranie opcji Modyfikuj projekl raportu spowoduje, ze po wygenerowaniu raportu bedzie mozna wprowadzic zmiany w jego wygladzie. W przykladzie zostal wybrany wariant Podglad raportu. Aby wygenerowac raport, nacisnij przycisk Zakoncz (rysunek 18.12). Rysunek 18.12. Ostatniafaza projektowania raportu
To~~~patr:zaboe""NtotowIcbltwortenla ,.-,. Codlceszzrcl.ll.~k..LcrllkonayprlKt?
a.~;aportu ".f:1odyflujprojel;traportu
Po chwili wyswietlone zostanie okno podgladu raportu (rysunek I8.13). Dokument wymaga jeszcze kilku drobnych poprawek, ale wyglad majuz prawie profesjonalny.
157
Rozdzial 18. . Raporty
Cennik 'Vydawnictwa Helion 02-03 C
ad,talclIIa
T)'lUlk"dd
Stron8: ..!i.1.iJr--t"
l.r
Rysunek 18.13. Raport utworzony za pomoca Kreatora
Tworzenie raportu w widoku projektu Aby zaprojektowac raport w widoku projektu, wyswietl okno Nowy raport. Zaznacz tabele lub kwerende, która bedzie zródlem danych. Jako metode generowania raportu wybierz Widok projek/u. Nastepnie kliknij przycisk OK (rysunek 18./4). Rysunek18.14. Rozpoczynanie projekJowania raportu w widoku projekJu
~' "'
'"="'~
;AI.(orlP=rl:~ '!AlJ:oRlport:T~
t@J .
'd KrMtor.,.,wesclw
LTWlnYroowtraponbN
. uty(:\lIcrMtoi'a.
~.;
:
Kreatoretylolet
;I .1 ilL' ,
~~,.,+-,~J:j.
" .."
, . . '.
~=,,~::::i,
W)'biIIrltlbelc~ll de,z r::=~'"'~~"~"'~1 It(Qjpochodz..dlnliableltu: .
~""'J Po chwili wyswietlony zostanie pusty projekt, tabela zródlowa oraz Przybornik (rysunek 18./5). Pole raportu podzielone jest na trzy sekcje. Naglówek strony drukowany jest na poczatku kazdej strony - mOZllaw nim umiescic np. tytul dokumentu. Stopka strony drukowana
jest na koncu kazdej strony
-
tutaj mOZllaumiescic numer kolejny strony. W sekcji
Szczególy znajduje sie zasadnicza tresc raportu.
Rozmiarsekcji mozna zmieniac, przeciagajac krawedzobszaru za pomoca myszki.
Umieszczanie p61 i formantów w raporcie odbywa sie w ten sam sposób, jak w formularzu.
158 Rysunek 18.15. Raport w trybie projektowania
ABC Access 2003 PL
.",.,.!-,-,.,.,.,.,.,.,.,.}.,.,",
Skorowidz A Access, 12, 32 makia, 58 uruchamiani~ 41 Active Server Pag... 98 aktualizacja, 129, \33 architektura bazy danych, 31 arkusz kalkulacyjny, 70 Auloformularz, 140, 142 Autonumer. SO Autonumerowanie. 65. 69 parametty, 72 AUloraport, 152
B baza danych, 9, 10 architektura, 31 dBase, 97 edycja, III indeks. 33 kartotekowa, 12 klucz, 30 kwerendy, 52 modyfikacja, 84 obiekty, 49 ODBC, 98 pliki, 31 plaska, 12 pola, II projektowanie, \3 przechowywanie danych, 31 raporty, 56 reguly, 27 rekordy, II szablony, 42 szybkosc dzialania, 33
tabele, II, 17,24,49 tworzenie, 45 wczytywanie, 45 wpisywanie danych, 113 zapisywanie, 47 bledne dane, 94
D dane edycja, 113 eksport, 97 import, 91 laczenie, 88 sonowanie, 119 unikatowe,29 usuwanie, 113 wczytywanie, 90 wyszukiwanie, 119 zamiana, 120 Data/Godzina, 65, 67 dBase, 97, 100 DELETE,I29 dokumenty HTML, 98 XML, 98
E edycja, 86 bazy danych, III danych, I \3 formularze, III obiektów, 60 relacji, 125 skróty klawiaturowe, 115 tabel, 79,83
160
ABC Access 2003 PL
eksport danych, 97 arkusz, 100 bazy danych, 100 formatowanie, 101 obiekty OLE, 100 pliki tekstowe, 100 struktura tabel, 98 maki rozdzielajace, 102 etykieta, 147 Euro, 77 Excel, 65, 97
F filtrowanie,
115
kryteria,
118
jezyk SQL, 129 Visual Basic, 59
kartotekowa
baza danych,
12
karty, 148 kaskadowe aktualizacje, 126 usuwanie, 126 klucz, 30, 51 definiowanie, 81 dobieranie, 32
formanty, 139 Forma~ 72 formatowanie 101
tekstu, 73 formaty liczbowe, 77 formularze, 54, 139, 140 Autoformularz, 140, 142 formanty, 139 karty, 148 kreatory, l42 obsluga, 148
pola, 148 pola kontrolne, 146 projektowanie, 146 Przybornik, 146, 147 strony WWW, 58 styl,l44 tworzenie, 55, 140, 142 uklad Autoformularzy, 141 widok projektu, 145 zródlo danych, 142
G generowanie raportów. 87 gromadzenie danych, 87 grupa opcji, 147 grupowanie rekordów, 128
H Hiperlacze,65
J
K
wedlug formularza, 115, 117 wedlug wyboru, I l 6 zaawansowane, liS
eksport danych, no~ 73
import danych, 90, 91 pliki tekstowe, 95 indeks, 30, 33, 82 indeksowanie, 34, 75 lnterne~ 58
podstawowy, 81, 93 konstruktor wyrazen, 74 kreatory,42 bazy danych, 43 formularzy, 55, 56, 142 importu arkuszy, 92, 93 importu kluczy, 94 kwerend, 53 laczenia arkuszy, odnosników, 65
88
raportów,57,153 tabel, 51, 79 kryteria, 132 kursor, 109 kwerendy, 52, 127 aktualizujace, 129, 133, 134 dolaczajace, 129 funkcjonalne, 128 kolejnosc sortowania, 133 kryteria, 132 krzyzowe, 128 liczba wyswietlanych rekordów, parametrycme, 128 projektowanie, 130 SQL, 129 tworzace tabele, 129 tworzenie, 53, 129 usuwajace, 128, l36, 137 widok projektu, 133 wybierajace, 127, 129, 134 wybieranie pól z tabel, 131
132
Skorowidz
161
L Liczba, 65, 66, 77 formaty, 77 rozmiary pól, 76 licznik rekordów, 148 Lotus 1-2-3,98
l laczenie danych, 88
M makra, 58 makropolecenia, 58, 59 maski wprowadzanja.73 MicrosoftAccess, 12 MicrosoftExcel, 70 MicrosoftVisual Basic, 59 Microsoft Word, 70 moduly, 59 MS-DOS,loo
N nadmiarowosc, 27 nawigacja, 107 Nota, 65, 66
O Obiekt OLE, 65, 66, 70, 83 obiekty, 49 edycja, 60 formularze, 54 kwerendy, 52 makra, 58 moduly, 59 raporty, 56, 151 tabele, 49, 63 tworzenie, 79 obraz, 147 ODBC, 98 OLE, 65, 147 operatory, 132 ORDER BY, 129 otwieranietabel, 111
P Paradox, 98 parametry kwerendy usuwajacej, 137 relacji, 126 typów danych, 71 pasek przewijania, 139 PHP 3, 136 pliki, 31, 88 otwieranie,88 tekstowe, 95 podzial strony, 148 pola, Il, 25, 107 definiowanie. 81 dodawanie,86 kolejnosc, 86 kombi, 147 listy, 147 rozmiar,76 tekstowe, 139, 147 usuwanie,86 wstawianie,86 wyboru, 139, 147 poziom pojeciowy, 32 wewnetrzny, 31, 32 zewnetrzny, 32, 54 projektowanie, 13, 22 dane unikatowe, 29 formularzy, 146
klucz, 30 kreatory,43 kwerendy, 130 nadmiarowosc, 27
raportów, 154, 156, 157 reguly, 27 struktury, 25 tabel, 24, 64 przechowywanie danych, 31 przeszukiwanie,52 przetwarzanie danych, 41 Przybornik, 146, 147 przyciski opcji, 147 polecenia, 139, 147 przelacznika, 147
Q query, 52
ABCAccess 2003 Pl
162
R ramka obiektu, ]47 raporty, 13,56,127,128,148,151 Autoraport, 152 keatora, 153 naglówek strony, 157 poziomygrupowania, I SS projektowanie, 156, 157 sortowanie, ISS stopka strony, 157 sty~ 156 szczególy, ] 57 tworzenie, 151, 153, 157 uklad, 153 widok projektu, 157 zródlo danych, 152 reguty nadmiarowosc, 27
poprawnosci,74 rekordy, 11,24, 107 biay,II2 edycja, 112 relacje, 13, 24, 34, ]23 1-1,34, ]23 l-N, 35,123 dodawanie tabel, 125 edycja, 125 N-M,36 parametry, 126 relacyjna baza danych, ] 3 Rich Text Format, 98 rozmiar bazy danych, IS pola, 76
s SELECT, 129 selektor pola, 81 SharePoint Services, 98 sortowanie, 12, 14, 119 kryteriUm,119 raporty, I SS SQL, 129 strony,S8 WWW, 127 styl formularza, 144 szablony baz danych, 42 szata graliczna, 44
T tabele,13, 15, 17,23,24,49,63 definiowanie klucza, 81 deliniowanie pól, 81 edycja, 79, 83 eksport, 99 eksport stnIktury, 98 importu, 80 indeksowanie bazy, 82 klucz, SI klucz podstawowy, 81
laczy,80 otwieranie, 111 polaczone, 90 projektowanie, 24, SI, 64 relacje, 34 tworunie, SI, 79 typy danych, 80 widok projektu, 106 wybieranie pól, 131 zaletnosci, 34 zmiana stnIktury, 84 TaklNie, 65, 69 Tekst, 65, 66 parametry, 71 wlasciwosci, 72 testowanie, 2] tworzenie bazy danych, 43, 44, 45, ]27 formularzy, SS, 140 indeksu, 83 kwerend, 53 kwerendy aktualizujacej, 133 kwerendy usuwajacej, 136 kwerendy wybierajacej, 129 makra, 59 masek wprowadzania, 74 obiektów, 79 raportu, 56, 151 stron, 58 tabel, SI, 79, 129 typy danych, 63, 65, 66 Autonumerowanie, 69 Data/Godzina, 67 Liczba, 66 Nota, 66 Obiekt OLE, 70 parametry,7] TaklNie, 69 Tekst, 66 Waluta, 68
Skorowidz
163
u uklady Autoformularzy, 141 Unicode, 19 UPDATE,129 uruchamianieMS Access, 41 usuwanie, 128 danych, 113 wielu rekordów, 113
v
wybieranie pól, 43,131 wykres przestawny, 141 wyróznianie komórek, 107 wyszukiwanie, 13, 119 kierunek, 120 wielkosc liter, 120 zakres, 120 wyswietlanie, 105
x XML, 98
Visual Basic, 59
w Waluta, 65, 68 wczytywanie bazy danych, 45 danych,90 WHERE,129 widok, 105 arkusza danych, 79, 106 projektu, 79, 106, 145 tabeli, 105 wiezy integralnosci, 126 Windows, 107 Word, 12,65 wprowadzanie danych, 87, 113 maski, 73 regula poprawnosci, 74 wspó/u1ytkowana baza danych, 91 WWW, 127
z zamiana danych, 120 zapisywanie bazy danych, 47 zapytania, 13, 52 zarzadzanie baza danych, 12 zaznaczanie. 108 komórek, 109 kursor, 109 znaki, 66 formatujace,73 separujace, 103 Unicode, 19 zwiazana ramka obiektu, 148
z zródlo danych, 142