SPRAWY ORGANIZACYJNE 2 Zaliczenie a) projekt stworzenie małej aplikacji z wykorzystaniem programu Access praca samodzielna lub w zespole maksymalnie dwuosobowym b) przepisanie oceny z innej uczelni po okazaniu sylabusa (programu zajęć) WPROWADZENIE DO ZAJĘĆ Jakub Światłowski WPROWADZENIE DO ZAJĘĆ CELE KSZTAŁCENIA 3 TREŚCI ZAJĘĆ (I) 4 Cele kształcenia a) przekazanie wiedzy z zakresu projektowania baz danych b) nabycie praktycznych umiejętności tworzenia prostych baz danych w określonym środowisku informatycznym c) kształtowanie umiejętności definiowania zadań dla działu informatyki 1. Wprowadzenie (W) 2. Baza danych, systemy zarządzania bazami danych (W) Rozwój i rodzaje baz danych (W) Ograniczenia w przetwarzaniu danych osobowych (W) Relacyjne bazy danych (W) 3. Projektowanie aplikacji bazodanowych (W) MS Access tabele (W+D) MS Access kwerendy (W+D) Wprowadzenie do projektu (W+K) 4. MS Access raporty (W+D) MS Access formularze (W+D) MS Access właściwości raportów I formularzy (W+D) 5. MS Access obsługa zdarzeń; makra, moduły elementarz (W+D) MS Access rozdzielanie bazy danych (W+D) MS Access sterowanie aplikacją (W+D) TREŚCI ZAJĘĆ (II) 5 LITERATURA 6 1. MS Access tabele (C) 2. MS Access kwerendy (C) 3. MS Access raporty (C) 1. Hernandez M.J., Projektowanie baz danych dla każdego. Przewodnik krok po kroku, Helion 2014 2. Moryk R. Podstawowy kurs systemów baz danych, Helion 2011 3. Mendrala D., Szeliga M., Access 2013 PL. Kurs, Helion 2013 4. Alexander M., Kusleika D., Acces2013 PL. Biblia, Helion, 2014 4. MS Access formularze, obsługa zdarzeń (C) 5. MS Access sterowanie aplikacją (C) 6. Prezentacja projektu/konsultacje projektu (Z+K) 1
BAZA DANYCH 8 BAZY DANYCH SYSTEMY ZARZĄDZANIA BAZAMI DANYCH 1. Ustawa z dnia 27 lipca 2001 r. o ochronie baz danych Zbiór danych lub jakichkolwiek materiałów i elementów zgromadzonych według określonej systematyki lub metody, indywidualnie dostępnych w jakikolwiek sposób, w tym środkami elektronicznymi, wymagający istotnego, co do jakości lub ilości, nakładu inwestycyjnego w celu sporządzenia, weryfikacji lub prezentacji jego zawartości. 2. PN-ISO/IEC 2382-1:1996 Zbiór danych zorganizowany zgodnie z pojęciową strukturą opisującą charakterystyki tych danych oraz związki między ich elementami, stosowany w jednym lub wielu zastosowaniach. 3. Definicja nieformalna Zbiór danych o określonej strukturze wewnętrznej utworzony w celu efektywnego wykorzystania dużej liczby danych. W węższym znaczeniu pojęcie obejmuje zbiory danych przetwarzanych elektronicznie Jakub Światłowski BAZA DANYCH 9 MODELE BAZY DANYCH BAZY PROSTE 10 1. Pojęcie bazy danych pojawiło się w 1963 r. 2. Pierwsze systemy bazodanowe pojawiły się w latach 60. XX w. a) Oparte na kartach perforowanych lub nośnikach taśmowych b) W konsekwencji: dostęp szeregowy do danych 3. Wczesne lata 70. XX w. relacyjny model danych a) Początkowo problemy techniczne z realizacją b) Próbne wdrożenia 1976 c) Wdrożenia komercyjne ok. 1980 (Oracle, DB2) d) Wdrożenia na mikrokomputery pierwsza połowa lat 80. XX w. (dbase) 1. Kartotekowe jedna tabela danych 2. Hierarchiczne a) Struktura drzewiasta b) Przykład struktura plików na dysku 3. Sieciowe (modyfikacja hierarchicznej) a) Struktura drzewiasta b) Dodatkowo jeden element może mieć więcej niż jednego rodzica BAZA HIERARCHICZNA A SIECIOWA 11 MODELE BAZ DANYCH BAZY ZŁOŻONE 12 A1 A11 A12 A13 A A2 A21 A22 A3 A31 1. Relacyjne a) Dane grupowane w relacje (pojęcie z teorii mnogości); b) Relacje można utożsamiać z tabelami c) Na bazę danych składa się wiele tabel 2. Temporalne a) Zazwyczaj wersja relacyjnych baz danych b) Dane opatrzone stemplem czasowym określającym czas ważności danych c) Umożliwiają automatyczne usuwanie danych 3. Obiektowe a) Dane przechowywane w strukturach obiektowych (klasach) b) Brak znanych rozwiązań komercyjnych 2
BAZY DANYCH PODZIAŁ FUNKCJONALNY 13 SYSTEM ZARZĄDZANIA BAZĄ DANYCH (SZBD) 14 1. Operacyjne pozwalają na gromadzenie i modyfikowanie danych 2. Analityczne (hurtownie danych) gromadzą dane z baz operacyjnych, nie pozwalają na modyfikacje danych 1. Oprogramowanie służące do realizacji operacji na danych 2. Przykładowe operacje na danych a) Dodawanie i usuwanie danych b) Modyfikowanie danych c) Wyszukiwanie danych d) Prezentowanie danych danych e) Przechowywanie danych f) Przetwarzanie danych g) Kodowanie danych PRZYKŁADOWE ZADANIA SZBD 15 ARCHITEKTURA KLIENT-SERWER 16 1. Tworzenie nowych baz danych 2. Wykonywanie operacji na danych 3. Zapewnienie dostępu do danych za pomocą odpowiedniego języka zapytań 4. Zapewnienie ochrony danych przed niepowołanym dostępem 5. Zapewnianie integralności danych 6. Przechowywanie zbiorów danych wraz z zapewnieniem im bezpieczeństwa 7. Zapewnienie wielodostępu 1. Serwer a) Baza danych b) SZBD 2. Klient a) Interfejs użytkownika b) Oprogramowanie realizujące połączenie z serwerem 3. Cechy charakterystyczne a) Serwer Przetwarzanie danych Ochrona danych Udostępnianie danych b) Klient Przyjmowanie zleceń operatora Przekazywanie zleceń do serwera Przyjmowanie wyników z serwera 17 EUROPEJSKA KONWENCJA PRAW CZŁOWIEKA 18 Art. 8. Prawo do poszanowania życia prywatnego i rodzinnego 1. Każdy ma prawo do poszanowania swojego życia prywatnego i rodzinnego, swojego mieszkania i swojej korespondencji. 2. Niedopuszczalna jest ingerencja władzy publicznej w korzystanie z tego prawa z wyjątkiem przypadków przewidzianych przez ustawę i koniecznych w demokratycznym społeczeństwie z uwagi na bezpieczeństwo państwowe, bezpieczeństwo publiczne lub dobrobyt gospodarczy kraju, ochronę porządku i zapobieganie przestępstwom, ochronę zdrowia i moralności lub ochronę praw i wolności osób. OCHRONA DANYCH OSOBOWYCH 3
KONSTYTUCJA RP 19 USTAWA O OCHRONIE DANYCH OSOBOWYCH 20 Art. 47 1. Każdy ma prawo do ochrony prawnej życia prywatnego, rodzinnego, czci i dobrego imienia oraz do decydowania o swoim życiu osobistym. Art. 51 1. Nikt nie może być obowiązany inaczej niż na podstawie ustawy do ujawniania informacji dotyczących jego osoby. 2. Władze publiczne nie mogą pozyskiwać, gromadzić i udostępniać innych informacji o obywatelach niż niezbędne w demokratycznym państwie prawnym. 3. Każdy ma prawo dostępu do dotyczących go urzędowych dokumentów i zbiorów danych. Ograniczenie tego prawa może określić ustawa. 4. Każdy ma prawo do żądania sprostowania oraz usunięcia informacji nieprawdziwych, niepełnych lub zebranych w sposób sprzeczny z ustawą. Art. 1. 1. Każdy ma prawo do ochrony dotyczących go danych osobowych. 2. Przetwarzanie danych osobowych może mieć miejsce ze względu na dobro publiczne, dobro osoby, której dane dotyczą, lub dobro osób trzecich w zakresie i trybie określonym ustawą. PRZETWARZANIE DANYCH OSOBOWYCH 21 DANE OSOBOWE 22 1. Przetwarzanie danych (w sensie ustawy) a) jakiekolwiek operacje wykonywane na danych osobowych, takie jak zbieranie, utrwalanie, przechowywanie, opracowywanie, zmienianie, udostępnianie i usuwanie, a zwłaszcza te, które wykonuje się w systemach informatycznych b) Ustawa dotyczy także przetwarzania danych w nieinformatycznych zbiorach danych: kartotekach, księgach, skorowidzach, ewidencjach 1. Dane osobowe to wszelkie informacje dotyczące zidentyfikowanej lub możliwej do zidentyfikowania osoby fizycznej 2. Osobą możliwą do zidentyfikowania jest osoba, której tożsamość można określić np. przez a) powołanie się na numer identyfikacyjny b) jeden lub kilka czynników określających jej cechy fizyczne, fizjologiczne, umysłowe, ekonomiczne, kulturowe lub społeczne 3. Informacji nie uważa się za umożliwiającą określenie tożsamości osoby, jeżeli wymagałoby to nadmiernych kosztów, czasu lub działań. 4. Dane osobowe dotyczą wyłącznie osób fizycznych 5. Dane osobowe dotyczą tylko osób żyjących (stanowisko GIODO) 23 DANE WRAŻLIWE 24 1. Danymi osobowymi są np.. a) imię, nazwisko, adres osoby; b) NIP, PESEL; c) linie papilarne, DNA, wzór siatkówki d) adres mailowy w postaci jakub.swiatlowski@wsl.com.pl, (ale już w postaci jbuziaczek@op.pl nie) e) adres IP komputera jeżeli da się powiązać z konkretną osobą (bez nadmiernych nakładów) 1. Dane potocznie nazywane wrażliwymi wymienione w ustawie o ochronie danych osobowych a) dane rasowe lub etniczne; b) poglądy polityczne; c) przekonania religijne lub filozoficzne; d) stan zdrowia; e) przynależność partyjna, związkowa lub wyznaniowa; f) kod genetyczny; g) nałogi; h) życie seksualne; i) skazania i orzeczenia dotyczące mandatów i kar 2. W odniesieniu do danych wrażliwych stosowane są odrębne zasady ich przetwarzania 4
OBOWIĄZEK STOSOWANIA POSTANOWIEŃ USTAWY O OCHRONIE DANYCH OSOBOWYCH 25 DOPUSZCZALNOŚĆ PRZETWARZANIA DANYCH OSOBOWYCH 26 1. Obowiązek stosowania postanowień ustawy o ochronie danych osobowych dotyczy: a) organów państwowych i samorządowych; b) państwowych i komunalnych jednostek organizacyjnych; c) podmiotów niepublicznych realizujących zadania publiczne; d) osób fizycznych i prawnych które przetwarzają dane w związku z działalnością zarobkową, zawodową lub statutową 2. Obowiązek stosowania postanowień ustawy o ochronie danych osobowych nie dotyczy a) osób fizycznych, przetwarzających dane wyłącznie w celach osobistych. 3. Częściowe ograniczenia stosowania ustawy dotyczą a) działalności dziennikarskiej, literackiej lub artystycznej b) zbiorów danych tworzonych doraźnie ze względów technicznych lub szkoleniowych tworzonych w związku z dydaktyką w szkołach wyższych pod warunkiem niezwłocznego ich usunięcia lub animizacji po wykorzystaniu 1. Przetwarzanie danych jest dopuszczalne gdy: a) osoba, której dane dotyczą, wyrazi na to zgodę (nie dotyczy usunięcia danych); b) jest to niezbędne dla zrealizowania uprawnienia lub spełnienia obowiązku wynikającego z przepisu prawa; c) jest to konieczne do realizacji umowy, gdy osoba, której dane dotyczą, jest jej stroną lub gdy jest to niezbędne do podjęcia działań przed zawarciem umowy na żądanie osoby, której dane dotyczą; d) jest niezbędne do wykonania określonych prawem zadań realizowanych dla dobra publicznego; e) jest to niezbędne dla wypełnienia prawnie usprawiedliwionych celów realizowanych przez administratorów danych albo odbiorców danych, a przetwarzanie nie narusza praw i wolności osoby, której dane dotyczą w szczególności marketingu bezpośredniego własnych produktów lub usług; dochodzenia roszczeń z tytułu prowadzonej działalności gospodarczej OBOWIĄZKI PRZY GROMADZENIU DANYCH 27 DOPUSZCZALNOŚĆ PRZETWARZANIA DANYCH WRAŻLIWYCH 28 1. W przypadku zbierania danych osobowych administrator danych jest obowiązany poinformować o: a) adresie swojej siedziby i pełnej nazwie, a w przypadku gdy administratorem danych jest osoba fizyczna o miejscu swojego zamieszkania oraz imieniu i nazwisku; b) celu zbierania danych, a w szczególności o możliwych odbiorcach c) prawie dostępu do treści swoich danych oraz ich poprawiania; d) dobrowolności albo obowiązku podania danych (podstawa prawna). 1. Obowiązuje generalny zakaz przetwarzania danych wrażliwych 2. Istnieje szereg wyjątków od zakazu: a) osoba, której dane dotyczą, wyrazi na to zgodę na piśmie; b) przepis innej ustawy zezwala na przetwarzanie takich danych; c) przetwarzanie takich danych jest niezbędne do ochrony żywotnych interesów osoby, której dane dotyczą, gdy osoba, której dane dotyczą, nie jest zdolna do wyrażenia zgody; d) jest to niezbędne do wykonania zadań kościołów, stowarzyszeń, fundacji lub innych instytucji o celach niezarobkowych wyłącznie w odniesieniu do członków tych organizacji e) przetwarzanie dotyczy danych, które są niezbędne do dochodzenia praw przed sądem; f) przetwarzanie jest niezbędne do wykonania zadań związanych z zatrudnieniem pracowników, a zakres przetwarzanych danych jest określony w ustawie; g) przetwarzanie jest prowadzone w celu ochrony zdrowia, przez osoby trudniące się zawodowo leczeniem DOPUSZCZALNOŚĆ PRZETWARZANIA DANYCH WRAŻLIWYCH 29 ZBIÓR DANYCH OSOBOWYCH 30 1. Wyjątki cd.: a) przetwarzanie dotyczy danych, które zostały podane do wiadomości publicznej przez osobę, której dane dotyczą; b) jest to niezbędne do prowadzenia badań naukowych (publikowanie wyników musi nastąpić z zachowaniem anonimowości osób, których badania dotyczą) c) przetwarzanie danych jest prowadzone przez stronę w celu realizacji praw i obowiązków wynikających z orzeczenia sądowego lub administracyjnego 1. Zbiór danych osobowych każdy, posiadający określoną strukturę zestaw danych osobowych 2. Pojedyncze dane,o ile są umieszczone w systemie informatycznym, traktowane są jako zbiór danych 3. Zbiory danych osobowych muszą być chronione środkami technicznymi i organizacyjnymi w szczególności przed dostępem osób niepowołanych 4. Administrator danych prowadzi a) dokumentację sposobu przetwarzania danych b) dokumentację sposobu ochrony danych c) ewidencję osób upoważnionych do przetwarzania danych 5
REJESTROWANIE ZBIORÓW DANYCH OSOBOWYCH 31 ZWOLNIENIE Z OBOWIĄZKU REJESTROWANIA ZBIORÓW DANYCH OSOBOWYCH 32 1. Administrator danych jest obowiązany zgłosić zbiór danych do rejestracji Generalnemu Inspektorowi, Danych Osobowych 2. Zgłoszenie zbioru powinno zawierać a) wniosek b) oznaczenie administratora danych (firma, osoba fizyczna) c) cel przetwarzania danych d) opis kategorii osób, których dane dotyczą, oraz zakres przetwarzanych danych e) sposób zbierania i udostępniania danych f) opis technicznych i organizacyjnych środków ochrony; 3. Rejestr ma charakter publiczny 1. Zwolnienia z obowiązku rejestrowania danych osobowych dotyczą a) zbiorów stanowiących tajemnicę państwową b) zbiorów uzyskane w wyniku czynności operacyjnych upoważnionych służb, c) Krajowy Rejestr Karny, zbiory danych sądów, prokuratur d) zbiorów danych GIIF, zbiory SI Schengen, zbiory Wizowego SI e) zbiory danych kościołów i związków wyznaniowych, f) zbiorów danych pracodawców dotyczące pracowników g) zbiorów danych szkół i uczelni dotyczące uczniów i studentów h) zbiorów danych związane z zawartymi umowami cywilno-prawnymi i) zbiorów danych stowarzyszeń, fundacji dotyczące ich członków j) list wyborców k) zbiorów danych dotyczących usług medycznych, notariatu, adwokatury, doradców podatkowych, biur rachunkowych l) zbiorów tworzonych wyłącznie na potrzeby wystawienia faktury i sprawozdawczości finansowej m)powszechnie dostępnych (np. księgi wieczyste) 33 RELACYJNE BAZY DANYCH TERMINOLOGIA 34 1. Tabela, relacja logicznie wydzielony zbiór danych 2. Kolumna, atrybut, pole fragment tabeli posiadający własną nazwę i zawierający dane jednego typu 3. Wiersz, rekord zbiór danych o pojedynczym obiekcie 4. Wartość RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH ZAŁOŻENIA 35 TABELE POZYTYWNE 36 1. Dane przechowywane są w dwuwymiarowych relacjach (tabelach) 2. Każda tabela w bazie ma swoją własną niepowtarzalną w bazie danych nazwę 3. Każda kolumna w tabeli ma swoją własną niepowtarzalną w obrębie tabeli nazwę 4. Wartości w danej kolumnie tabeli są tego samego typu 5. W tabeli nie istnieją dwa identyczne wiersze (wiersze są rozróżnialne) 6. W tabelach przechowywane są dane proste (atomowe) 7. Kolejność kolumn i kolejność wierszy w tabeli nie mają znaczenia 8. Dane z różnych tabel można łączyć za pomocą kluczy 9. Dane, które można wyliczyć z innych danych są pomijane Pracownicy Imię Nazwisko Dział Jan Kowalski Pr Jan Nowak Pr Ewa Stasiak Ks Anna Biała Z Działy Dział Opis Telefon Pr Produkcja 222333444 Ks Księgowość 222333555 Z Zarząd 222333222 6
TABELE NEGATYWNE 37 TABELE NEGATYWNE 38 Pracownicy Imię Nazwisko Dział Jan Kowalski Pr Jan Kowalski Pr Ewa Stasiak Ks Anna Biała Z Działy Dział Opis Telefon Pr Produkcja 222333444 222333555 Księgowość Ks Zarząd Z 222333222 Pracownicy Imię Nazwisko Dział Jan Kowalski Pr Jan Kowalski Pr Ewa Stasiak Ks Anna Biała Z TABELE NEGATYWNE 39 DOSTĘP DO DANYCH KLUCZ 40 Pracownicy Imię Nazwisko Dział Języki Jan Kowalski Pr Angielski Jan Nowak Pr Angielski Niemiecki Ewa Stasiak Ks Angielski Anna Biała Z Angielski Niemiecki Duński 1. Wartości są dostępne przez wskazanie: a) Tabeli b) Kolumny c) Klucza identyfikującego wiersz 2. Klucz atrybut lub minimalny zestaw atrybutów jednoznacznie identyfikujący wiersz a) Klucz prosty złożony z jednego atrybuty b) Klucz złożony składa się z wielu atrybutów c) Klucz obcy atrybut (lub zbiór atrybutów) występujący w tabeli będący kluczem w innej tabeli Pracownicy Imię Nazwisko Dział Jan Kowalski Pr Jan Nowak Pr Ewa Stasiak Ks Anna Biała Z Działy Dział Opis Telefon Pr Produkcja 222333444 Ks Księgowość 222333555 Z Zarząd 222333555 PROSTA REALIZACJA KLUCZA 41 NORMALIZACJA BAZ DANYCH PIERWSZA POSTAĆ NORMALNA (1NF) 42 Pracownicy IDPrac Imię Nazwisko Dział 1 Jan Kowalski Pr 2 Jan Nowak Pr 3 Ewa Stasiak Ks 4 Anna Biała Z Wszystkie dane w tabeli są danymi prostymi a) Przykład negatywny Pracownicy Imię Nazwisko Dział Języki Jan Kowalski Pr Angielski Anna Biała Z Angielski Niemiecki Duński b) Rozwiązanie utworzenie odrębnej tabeli Języki Imię Nazwisko Język Jan Kowalski Angielski Anna Biała Angielski Anna Biała Niemiecki Anna Biała Duński 7
NORMALIZACJA BAZ DANYCH DRUGA POSTAĆ NORMALNA (2NF) 43 NORMALIZACJA BAZ DANYCH TRZECIA POSTAĆ NORMALNA (3NF) 44 Tabela jest w pierwszej postaci normalnej oraz dodatkowo wszystkie kolumny niekluczowe nie są zależne od klucza głównego a) Przykład negatywny Oferta Tytuł Wydawnictwo Miejscowość Ulica Excel ABC Poznań Biała 3 Access ABC Poznań Biała 3 Excel BCA Poznań Czarna 7 Access BCA Poznań Czarna 7 b) Rozwiązanie utworzenie odrębnych tabel Wydawnictwa Wydawnictwo Miejscowość Ulica ABC Poznań Biała 3 BCA Poznań Czarna 7 Tabela jest w drugiej postaci normalnej oraz dodatkowo wszystkie atrybuty są bezpośrednio (funkcjonalnie, merytorycznie) zależne od klucza głównego a) Przykład negatywny Wynagrodzenia Nazwisko Kategoria zaszeregowania Stawka godzinowa Kowalski 3 15 Nowak 3 15 Silska 4 18 b) Rozwiązanie utworzenie odrębnej tabeli Kategorie Kategoria zaszeregowania 3 15 4 18 Stawka godzinowa NORMALIZACJA BAZ DANYCH 45 PROSTA REALIZACJA KLUCZA (KLUCZ SZTUCZNY) 46 1. Normalizacja baz danych a) Zwiększa liczbę tabel w bazie b) Redukuje lub likwiduje nadmiarowość (redundancję) danych c) Ułatwia zachowanie integralności danych 2. Normalizacja jest stosowana w operacyjnych bazach danych 3. Przeciwieństwem podejścia normalizacyjnego jest tzw. podejście wielowymiarowe stosowane czasami w hurtowniach danych (bazy analityczne) Pracownicy IDPrac Imię Nazwisko Dział 1 Jan Kowalski Pr 2 Jan Nowak Pr 3 Ewa Stasiak Ks 4 Anna Biała Z WARTOŚĆ NULL 47 48 1. Wartość Null (wartość pusta ) specyficzna wartość oznaczająca brak danych brak dostępu do danych, lub niecelowość podawania danych. Wartość taka może mieć charakter czasowy lub stały 2. Przykłady: a) Imię i nazwisko małżonka u osób samotnych b) Numer telefonu osoby, która tego numeru nie podała c) Pojemność skokowa silnika w przypadku samochodów elektrycznych 3. Wartość Null jest różna od 0, spacji czy pustego ciągu znaków PROJEKTOWANIE APLIKACJI BAZODANOWYCH 8
OBIEKTY W BAZACH DANYCH PROGRAMU MS ACCESS 49 ETAPY PROJEKTOWANIA BAZ DANYCH 50 1. Tabele zbiory danych 2. Kwerendy (zapytania) pobieranie wybranych danych, modyfikacja danych, generowanie nowych danych 3. Formularze służą do wprowadzania danych, czasami do ich wyprowadzania w postaci wydruku 4. Raporty służą do wyprowadzania danych 5. Strony umożliwiają dostęp do danych przez Internet 6. Makra proste elementy automatyzacji aplikacji, służą np. do wywoływania raprotów, formularzy,, ale także ciągu instrukcji manipulujących danymi 7. Moduły elementy automatyzacji programu tworzone w języku VBA 1. Projektowanie systemu 2. Projektowanie raportów 3. Projektowanie danych 4. Projektowanie tabel i relacji 5. Projektowanie pól 6. Projektowanie formularzy 7. Projektowanie sterowania (menu) PROJEKTOWANIE SYSTEMU 51 PROJEKTOWANIE SYSTEMU PRZYKŁAD (I) 52 1. Projektowanie systemu to inaczej określenie zakresu projektu 2. Projektowanie systemu tworzy się na podstawie wywiadu z Klientem (lub całej ich serii) 3. Z Klientem (przyszłym użytkownikiem) należy określić (i spisać) wszystkie funkcjonalności (zadania) tworzonego systemu. 4. W przypadku większych projekt systemu może zawierać także etapowanie systemu 5. W wielu przypadkach warto także określić (i spisać) te funkcjonalności, których przyszły system nie będzie realizował. Wprowadzenie a) Firma X prowadzi działalność polegającą na wywozie odpadów niesegregowanych od osób fizycznych oraz odpadów segregowanych z pojemników ustawionych w miejscach publicznych, a także odpadów segregowanych od osób prawnych. b) Odpady niesegregowane odbierane są w workach foliowych i wywożone są na podstawie umów zawierających określenie daty wywozu w postaci np. 1 i 3 wtorek miesiąca. c) Odpady segregowane odbierane z miejsc publicznych gromadzone są w pojemnikach różnego typu. Obecnie są to pojemniki typu: 1100 i dzwon. pojemniki te mogą być przeznaczone na szkło, plastik lub makulaturę. d) Odpady segregowane odbierane od osób prawnych pakowane są w kontenery, pojemniki, worki BIG BAG. Odpady te muszą być różnicowane na karton/papier, tworzywa sztuczne PET, tworzywa sztuczne folia, tworzywa sztuczne tworzywa plastikowe, szkło. PROJEKTOWANIE SYSTEMU PRZYKŁAD (II) 53 PROJEKTOWANIE RAPORTÓW 54 System powinien a) ewidencjonować umowy wywozu odpadów niesegregowanych wraz ze wskazaniem adresu i terminu wywozu odpadów b) tworzyć wydruki dla pracowników na poszczególne terminy wywozu odpadów zawierające adresy nieruchomości z których odpady mają być wywiezione c) tworzyć raporty dla gmin zawierające imię i nazwisko właściciela nieruchomości, adres i termin wywozu odpadów d) ewidencjonować pojemniki ustawiane w miejscach publicznych wraz ze wskazaniem typu pojemnika i rodzaju odpadów e) ewidencjonować firmy, z którymi zawarto umowy na wywóz odpadów segregowanych, wraz ze wskazaniem typu pojemnika i rodzaju System nie musi a) umożliwiać wystawiana faktur i prowadzenia rozrachunków z klientami b) ewidencjonować wszystkich kontaktów z klientami 1. Projektowanie raportów to projektowanie wyjść z aplikacji bazodanowej 2. Projektowanie raportów polega na: a) w wersji minimalnej określeniu zawartości raportów (wydruków) b) w wersji maksymalnej określeniu ich postaci graficznej 3. Przy tworzeniu raportów określa się: a) elementy stałe (tzw. etykiety) b) dane elementy zmienne pobierane z tabel (wartości poszczególnych pól) c) dane wyliczalne elementy zmienne wyliczalne wartości określane na podstawie innych wartości d) inne istotne informacje np. sposób sortowania raportów 4. Projektowanie raportów pomaga doprecyzować projekt ogólny, przez zadanie szeregu pytań Klientowi 5. Projektowanie raportów pomaga określić zawartość tabel danych. 9
PROJEKTOWANIE RAPORTÓW PRZYKŁAD 55 PROJEKTOWANIE DANYCH 56 1. Raport Faktura zawiera musi zawierać następujące elementy: a) wskazanie towaru (np. nazwę towaru) b) ilość towaru c) cenę jednostkową netto pobieraną z osobnej tabeli cennika d) wartość netto (iloczyn ilości i ceny) e) stawkę VAT pobieraną z tabeli zawierającej informacje o towarach f) wartość podatku VAT (iloczyn wartości netto i stawki VAT) g) wartość brutto (sumę wartości netto i wartości podatku VAT) 2. Czy przedstawiony wyżej opis raportu Faktura można uznać za poprawny? 1. Projektowanie danych to kilka etapów a) zestawienie wszystkich danych, które występują na raportach wraz ze wskazaniem, na jakich raportach występują, oraz określeniem typu z punktu widzenia raportu (dane zapisane w tabelach i dane wyliczalne) b) ujednolicenie i zróżnicowanie ich nazw c) analiza danych pod względem ich wyliczalności z punktu widzenia bazy danych,; d) analiza danych pod względem ich powtarzalności, e) przyporządkowanie danych do tabel, z uwzględnieniem dobrych obyczajów, f) określenie sposobu łączenia danych z różnych tabel wprowadzenie jednoznacznego identyfikatora rekordu w tabeli. 2. Projektowanie danych przykład PROJEKTOWANIE TABEL 57 PROJEKTOWANIE PÓL 58 1. Normalizacja bazy danych proces optymalizowania sposobu przechowywania danych 2. Pierwsza postać normalna (1NF) dane powtarzające się należy umieścić w odrębnych tabelach 3. Druga postać normalna w każdej tabeli należy utworzyć klucz główny Klucz główny to takie pole lub kombinacja pól dzięki którym każdy rekord w tabeli jest unikalny 4. Trzecia postać normalna pola niezwiązane z kluczem głównym należy umieścić w odrębnych tabelach 1. Projektowanie nazw nazwa powinna określać funkcję jakie pole pełni 2. Projektowanie zawartości polega na określeniu co dane pole będzie zawierać 3. Projektowanie reguł wprowadzania danych określenie, m.in. które dane są obowiązkowe, które muszą być unikatowe, określanie więzów integralności (np. zakres wartości, jakie mogą być do pól wpisywane) PROJEKTOWANIE FORMULARZY 59 PROJEKTOWANIE STEROWANIA (MENU) 60 1. Projektowanie formularzy to projektowanie wejść ekranów pozwalających na wprowadzanie danych 2. Na formularzach występują a) elementy informacyjne etykiety b) elementy służące do wprowadzania danych: pola tekstowe pola kombi i pola listy przyciski opcji pola wyboru przyciski akcji itp. c) elementy graficzne 1. Projektowanie sterowania polega na utworzeniu narzędzi do wywoływania formularzy i raportów. 2. W programie Access zazwyczaj narzędzie to przyjmuje postać panelu sterowania - formularza zawierającego przyciski do wywoływania odpowiednich elementów aplikacji 10
Etapy tworzenia baz danych 61 62 1. Tworzenie tabel 2. Tworzenie formularzy 3. Tworzenie kwerend 4. Tworzenie raportów 5. Tworzenie menu 6. Rozdzielanie bazy danych 7. Tworzenie dokumentacji technicznej 8. Tworzenie instrukcji dla użytkownika MS ACCESS TWORZENIE TABEL ACCESS 63 TABELA (RELACJA) 64 1. Pierwsze wydanie: 1997 (Word: 1983, Excel 1985) Tabela (relacja) obiekt fizycznie przechowujący dane, wizualizowany zazwyczaj w postaci tabeli TWORZENIE (DEFINIOWANIE) TABELI WIDOK PROJEKTU 65 ELEMENTY DEFINICJI POLA 66 1. Nazwa pola 2. Typ danych 3. Format 4. Maska wprowadzania 5. Tytuł 6. Wartość domyślna 7. Reguła sprawdzania poprawności 8. Wymagane 9. Indeksowane 11
TYPY DANYCH 67 TYPY DANYCH LICZBOWYCH 68 1. Tekst znaki alfanumeryczne w liczbie do 255 2. Nota znaki alfanumeryczne w liczbie do 65 536 3. Liczba wartości liczbowe 4. Data/Godzina daty i czas (de facto odmiana danych liczbowych) 5. Walutowy wartości pieniężne (de facto odmiana danych liczbowych) 6. Tak/Nie wartości logiczne Tak/Nie lub Prawda/Fałsz 7. Obiekt OLE rysunki, dźwięki, dokumenty itp. 8. Hiperłącze łącze do zasobów sieciowych 9. Autonumerowanie liczba całkowita zwiększana automatycznie 1. Bajt liczba całkowita od 0 do 255 2. Liczba całkowita liczba całkowita od -32768 do +32767 3. Liczba całkowita długa liczba całkowita od -21 47 483 648 do + 21 47 483 647 4. Pojedyncza precyzja liczba z zakresu od -3,4 10 38 do +3,4 10 38, 7 miejsc dziesiętnych 5. Podwójna precyzja liczba z zakresu od -1,797 10 308 do +1,797 10 308, 15 miejsc dziesiętnych 6. Dziesiętne liczby zapisywane z precyzją do 28 cyfr znaczących, 15 miejsc dziesiętnych FORMATY DANYCH TEKSTOWYCH 69 FORMATY DANYCH LICZBOWYCH 70 1. Znak > sygnalizuje zamianę wprowadzanych znaków na wielkie litery 2. Znak < sygnalizuje zamianę wprowadzanych znaków na małe litery 3. Znak @ sygnalizuje, że znak jest wymagany 4. Znak & sygnalizuje, że znak jest niewymagany 1. Sześć predefiniowanych formatów a) Liczba ogólna b) Walutowy c) Euro d) Stałoprzecinkowy e) Standardowy f) Procentowy g) Wykładniczy MASKI WPROWADZANIA DANYCH 71 INNE ELEMENTY DEFINICJI POLA 72 1. 0 tylko cyfry znak wymagany 2. 9 tylko cyfry lub spacje, znak nie wymagany 3. # tylko cyfry lub spacje, dozwolone znaki + i -, znak nie wymagany 4. L tylko litery alfabetu, spacje niedozwolone, znak wymagany 5.? tylko litery alfabetu, spacje niedozwolone, znak niewymagany 6. A znaki alfabetu lub cyfry, spacje niedozwolone, znak wymagany 7. a znaki alfabetu lub cyfry, spacje niedozwolone, znak niewymagany 8. & dowolny znak lub spacja, znak wymagany 9. C dowolny znak lub spacja, znak niewymagany 10. < zmienia wszystkie następne znaki na małe litery 11. > zmienia wszystkie następne znaki na wielkie litery 1. Tytuł nazwa alternatywna, pojawiająca się w widoku tabeli, na formularzach i raportach 2. Wartość domyślna 3. Reguła sprawdzania poprawności (np. >0) 4. Wymagane 5. Indeksowane indeksowanie przyspiesza wyszukiwanie danych i pozwala na ochronę przed duplikatami w kolumnie (polu) 12
73 SPRZĘŻENIA (RELACJE) 74 SPRZĘŻENIA (RELACJE) MIĘDZY TABELAMI 1. Sprzężenia między tabelami określają sposób łączenia danych umieszczonych w różnych tabelach. 2. Do określanie sprzężeń używa się kluczy głównych jednej tabeli, które są umieszczone jako klucze obce w innej tabeli 3. Najprostszą realizacją klucza głównego jest numeryczny identyfikator wiersza. 4. Wyróżnia się cztery typy sprzężeń a) jeden do jednego jeden element tabeli A związany jest dokładnie z jednym elementem tabeli B i vice versa bardzo rzadko spotykana b) jeden do wielu jeden element tabeli A związany z wieloma elementami tabeli B; a jeden element tabeli B związany jest z jednym elementem tabeli A; przykład: na jednej fakturze może być wiele pozycji, poszczególne pozycje na fakturze związane są z konkretną fakturą, jedna osoba dysponuje kilkoma numerami telefonów; poszczególny telefon przyporządkowany jest do konkretnej osoby c) wiele do jednego w pewnym sensie odwrócenie sprzężenia jeden do wielu, wiele elementów z tabeli A związanych jest z jednym elementem tabeli B d) wiele do wielu dane z tabel A i B połączone są na różne sposoby za pomocą tabeli C łączącej i zawierającej klucze obce z obu tabel. TWORZENIE SPRZĘŻEŃ W ACCESSIE 75 WŁAŚCIWOŚCI SPRZĘŻEŃ 76 1. Tworzenie sprzężeń może odbyć sią na poziomie a) bazy danych b) kwerendy 2. Przy tworzeniu sprzężeń na poziomie bazy danych możliwe jest wymuszenie więzów integralności kaskadowego modyfikowania danych i usuwania rekordów; na poziomie kwerend jest to niemożliwe. 3. Jeżeli określimy sprzężenia na poziomie bazy danych wówczas będą one domyślnie stosowane na poziomie kwerend 4. Access domyślnie wprowadza do kwerend sprzężenia a) określone na poziomie bazy danych b) opierając się na identycznych nazwach pól w różnych tabelach 1. Właściwości sprzężeń decydują o sposobie postępowania z elementami tabeli A niepasującymi do żadnych danych z tabeli B i vice versa. a) Sprzężone pola z obu tabel są równe pomija te pola z tabeli A i tabeli B dla których nie ma odpowiednika w tabeli sprzężonej b) Uwzględnia wszystkie rekordy z tabeli A i dołącza do nich dane z tabeli B; jeżeli do rekordów z tabeli A nie są dołączone żadne dane z tabeli B to rekordy z tabeli A są uwzględniane; pominięte zostają te dane z tabeli B, które nie są dołączone do żadnych rekordów z tabeli A. c) Uwzględnia wszystkie rekordy z tabeli B odwrócenie sytuacji w/w 2. Przy braku sprzężenia uwzględnione zostają wszystkie możliwe kombinacje tabeli A i B 77 KWERENDA 78 1. Kwerenda (zapytanie) czynność polegająca na wyszukiwaniu, zbieraniu lub generowaniu informacji w bazie danych. Kwerendą nazywa się także obiekt, który tą czynność realizuje 2. Rodzaje kwerend: a) wybierające pobierające dane i w ograniczonym zakresie generujące informacje b) funkcjonalne manipulujące danymi (usuwanie, dodawanie, modyfikowanie) KWERENDY MS ACCESS 13
KWERENDY WYBIERAJĄCE 79 KWERENDY WYBIERAJĄCE Z POLAMI WYLICZALNYMI 80 1. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria, Stawka_VAT i Cena_netto. Informacje mają dotyczyć tylko towarów dostępnych i mają być posortowane według nazwy towaru. Pole informujące o dostępności ma być niewidoczne 2. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria i Cena_netto. Informacje mają dotyczyć tylko towarów o cenie poniżej 100 i mają być sortowane według ceny malejąco 3. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria i Cena_netto. Informacje mają dotyczyć tylko towarów o cenie z przedziału od 100 do 200 4. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria i Cena_netto. Kwerenda ma zadać pytanie o nazwę serii do wyświetlenia. 5. Utwórz kwerendę wybierającą z tabeli Klienci pola Nazwisko, Imie, Kod. Wyświetlani mają być tylko klienci posiadający kod 16-301 6. Utwórz kwerendę wybierającą z tabeli Klienci pola Nazwisko, Imie, Miejscowosc, Telefon. Informacje mają być posortowane według nazwisk i imion. Wyświetlani mają być tylko ci klienci, dla których numer telefonu jest nieznany 7. Utwórz kwerendę wybierającą z tabeli Klienci pola Nazwisko, Imie, Ulica. Wyświetlani mają być tylko klienci mieszkający przy ulicy Agatowej 1. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria, Cena_netto, Stawka_VAT oraz dwa pola wyliczalne: VAT (Cena_netto Stawka_VAT) oraz Cena_brutto (Cena_netto+VAT) 2. Utwórz kwerendę wyprowadzającą z tabeli Klienci dwa pola wyliczalne: połączone pola Nazwisko i Imie ze spacją pośrodku oraz połączone pola Kod i Miejscowosc ze spacją pośrodku KWERENDY WYBIERAJĄCE DANE Z KILKU TABEL 81 KWERENDY PODSUMOWUJĄCE 82 1. Utwórz kwerendę, która na podstawie danych z tabel Klienci i Faktury wyprowadzi dane zawierające pola Nazwisko, Imie, Numer_faktury, Data_sp. Informacje mają być sortowane według nazwisk i imion 2. Utwórz kwerendę, która na podstawie danych z tabel Klienci i Faktury wyprowadzi dane zawierające pola Nazwisko, Imie, Numer_faktury, Data_sp. Informacje mają być sortowane według nazwisk i imion. Wyświetlane mają być tylko dane dotyczące osób, którym wystawiono choć jedną fakturę 1. Utwórz kwerendę, która na podstawie danych z tabel Towary i PozycjeF wyznaczy dla każdego towaru w ofercie łączną ilość sprzedaną. Powinny być wyświetlane pola Seria, Nazwa_towaru, Łączna_ilosc, Dane powinny być sortowane według łącznej ilości 2. Utwórz kwerendę, która na podstawie danych z tabel Towary i PozycjeF wyznaczy dla każdego towaru w ofercie liczbę transakcji danym towarem. Powinny być wyświetlane pola Seria, Nazwa_towaru, Liczba transakcji, Dane powinny być sortowane według liczby transakcji KWERENDY FUNKCJONALNE DOŁĄCZAJĄCE 83 KWERENDY FUNKCJONALNE TWORZĄCE TABELE 84 1. W bazie Oferta PIK utwórz kwerendę, która dołączy wszystkie rekordy tabeli Oferta do tabeli Towary w bazie danych Baza. 1. Utwórz kwerendę, która na podstawie tabeli Towary utworzy nową tabelę o nazwie Aktualna_oferta zawierającą informacje o dostępnych towarach: Nazwa towaru, Serię, Cenę netto. Nowa tabela ma zawierać tylko towary dostępne 14
KWERENDY FUNKCJONALNE AKTUALIZUJĄCE 85 KWERENDY FUNKCJONALNE USUWAJĄCE 86 1. Utwórz kwerendę, która w tabeli Towary zaktualizuje pole Dostęp do wartości Tak dla wszystkich towarów 2. Utwórz kwerendę, która w tabeli Towary zmieni dla wszystkich towarów stawkę VAT na 23% 1. Z tabeli Towary usuń wszystkie towary należące do serii Trefl KWERENDY WYBIERAJĄCE KRZYŻOWE 87 TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA 88 1. Na podstawie tabel Faktury, Klienci, PozycjeF i Towary utwórz kwerendę wybierającą zawierającą numer faktury, datę sprzedaży, identyfikator klienta, pole obliczeniowe NI (połączone nazwisko i imię klienta ze spacją pośrodku, identyfikator towaru, nazwę towaru, nazwę serii, ilość towaru Cenę netto sprzedaży i pole obliczeniowe wartosc (ilość przemnożona przez cenę. Zapisz kwerendę pod nazwą Podstawa 2. Na podstawie kwerendy Podstawa utwórz kwerendę krzyżową wyprowadzającą w wierszach nazwę towaru, w kolumnach nazwę serii, a na przecięciu wiersza i kolumny wyprowadzającą łączną ilość sprzedanych towarów TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA Z PARAMETREM 89 TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA Z POLAMI WYLICZALNYMI 90 15
TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA DANE Z KILKU TABEL 91 TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA PODSUMOWUJĄCA 92 TWORZENIE KWEREND W MS ACCESS KWERENDA WYBIERAJĄCA KRZYŻOWA 93 TWORZENIE KWEREND W MS ACCESS KWERENDA FUNKCJONALNA DOŁĄCZAJĄCA 94 TWORZENIE KWEREND W MS ACCESS KWERENDA FUNKCJONALNA TWORZĄCA TABELE 95 TWORZENIE KWEREND W MS ACCESS KWERENDA FUNKCJONALNA MODYFIKUJĄCA 96 16
TWORZENIE KWEREND W MS ACCESS KWERENDY FUNKCJONALNE: SKŁADAJĄCA, PRZEKAZUJĄCA, DEFINIUJĄCA DANE 1. Tworzone w języku SQL 97 98 RAPORTY MS ACCESS RAPORTY WPROWADZENIE 99 RODZAJE RAPORTÓW RAPORTY TABELARYCZNE 100 1. Raporty to obiekty pozwalające przeglądać, drukować i eksportować dane z bazy 2. Raporty nie pozwalają na wprowadzanie i modyfikowanie danych 3. Raporty pozwalają na grupowanie danych i ich podsumowywanie (niezależnie od kwerend) 4. Raporty pozwalają też prezentować dane w postaci wykresów (teoretycznie,,,) 1. Prezentują dane w postaci tabeli. Mogą zawierać grupowania danych i ich podsumowania. 2. Odmiana tych raportów zawiera same podsumowania RODZAJE RAPORTÓW RAPORTY KOLUMNOWE 101 RODZAJE RAPORTÓW ETYKIETY 102 1. Prezentują dane z jednego rekordu w postaci kolumny, często każdy rekord drukowany jest na osobnej stronie 2. Odmiana tych raportów służy do generowania korespondencji seryjnej 1. Etykiety pozwalają na drukowanie samoprzylepnych etykiet lub na druk na kopertach 17
STRUKTURA RAPORTU 103 TYPOWE ELEMENTY RAPORTU 104 1. Nagłówek raportu występuje wyłącznie na pierwszej stronie, może stanowić osobną stronę 2. Stopka raportu występuje na ostatniej stronie raportu może stanowić osobną stronę 3. Nagłówek strony występuje na początku każdej strony, zawiera np. numerację stron, logo, nagłówki kolumn 4. Stopka strony występuje na końcu każdej strony 5. Nagłówki grup występują na początku każdej grupy danych, zawierają zazwyczaj nazwę grupy, czasami nagłówki kolumn 6. Stopki grup występują po każdej grupie danych, zawierają zazwyczaj podsumowania 7. Sekcja Szczegóły zawiera informacje o poszczególnych rekordach 1. Etykiety elementy zawierające stałe opisy są identyczne dla poszczególnych rekordów 2. Pola tekstowe elementy wyprowadzające dane z poszczególnych rekordów wbrew nazwie nie służą do wyprowadzania tylko tekstów wyprowadzają także liczby, daty, wartości logiczne 3. Elementy graficzne służą poprawie estetyki raportów; w wielu firmach są definiowane przez system identyfikacji wizualnej firmy przy często drukowanych raportach należy minimalizować liczbę elementów graficznych i ich kolory (zużycie tonera/tuszu) 4. Każdy element może być indywidualnie formatowany (czcionka, obramowanie, kolory itp.) METODY TWORZENIA RAPORTÓW 105 KREATOR RAPORTÓW KROKI 106 1. Ręczne Projekt raportu a) wymagane jest otwarcie okna Właściwości i wskazanie źródła raportu b) następnie rozmieszcza się na raporcie poszczególne elementy etykiety danych i pola tekstowe; w przypadku pól tekstowych określa się ich źródło danych c) zalety pełna kontrola nad wszystkimi etapami tworzenia raportu d) wady bardzo duża pracochłonność przy tworzeniu raportu 2. Automatyczne Raport, Pusty raport a) zaleta minimum pracochłonności przy tworzeniu raportu b) wady bardzo duża pracochłonność przy modyfikowaniu raportu duża rozrzutność raportów ze względu na miejsce na wydruku 3. Półautomatyczna Kreator raportów a) zalety rozsądny kompromis między pracochłonnością na etapie tworzenia raportu a pracochłonnością na etapie modyfikowania raportu b) wady duża rozrzutność raportów ze względu na miejsce na wydruku 1. Wybór źródła danych i pól raportu 2. Wybór sposobu grupowania danych 3. Wybór sposobu sortowania danych i sposobu podsumowywania 4. Wybór układu graficznego 5. Modyfikacja raportu w widoku projektu raportu TWORZENIE RAPORTÓW 107 TWORZENIE RAPORTÓW 108 1. Utwórz kwerendę wybierającą z tabeli Towary pola Nazwa_towaru, Seria i Cena_netto. Stawka_VAT i zawierającą pole obliczeniowe Cena brutto: Cena_netto (1+Stawka_VAT). Kwerenda powinna wyprowadzać tylko towary dostępne 2. Na podstawie utworzonej kwerendy utwórz raport Oferta według serii wyprowadzający w kolumnach nazwę serii, nazwę towaru, cenę netto i cenę brutto. Raport powinien być sortowany według nazwy serii, a następnie według nazwy towaru. Uzupełnij raport o pola tekstowe zawierające Twoje imię i nazwisko oraz logo firmy (utwórz w programie graficznym). Sformatuj elementy raportu zmień czcionkę, kolor czcionki, kolor tła 3. Wyeksportuj utworzone raporty do plików PDF (zapisuj je na pulpicie) obejrzyj zapisane pliki 4. Wyeksportuj utworzone raporty do plików Worda (zapisuj je na pulpicie) obejrzyj zapisane pliki 1. Utwórz kwerendę prezentujące zestawienie wystawionych faktur. Kwerenda powinna zawierać numer faktury, datę sprzedaży, identyfikator klienta, nazwisko i imię klienta połączone w jedno pole, wartość netto faktury i wartość brutto faktury. Potrzebne dane znajdziesz w tabelach Faktury, PozycjeF, Klienci. Kwerenda powinna zadawać pytanie o zakres dat sprzedaży: od do 2. Na podstawie utworzonej kwerendy sporządź raport drukujący zestawienie faktur za podany okres. W raporcie powinny się znaleźć data sprzedaży, numer faktury, wartość netto i wartość brutto. Raport powinien grupować dane według daty sprzedaży i zawierać podsumowania wartości netto i wartości brutto. Sformatuj raport tak, aby zajmował jak najmniej stron zwróć uwagę na sekcję Szczegóły 18
109 FORMULARZE WPROWADZENIE 110 1. Formularze służą do przeglądania, edytowania, dodawania i usuwania danych 2. Formularze z wieloma przyciskami mogą służyć w charakterze menu (tzw. panel przełączania) 3. Elementy składające się na formularz to formanty 4. Z wykorzystaniem języka VBA istnieje możliwość praktycznie dowolnego oprogramowania formularzy FORMULARZE MS ACCESS TYPY FORMULARZY 111 FORMULARZ KOLUMNOWY JEDEN REKORD 112 1. Ze względu na charakter a) związane (z tabelą) służą do manipulowania danych b) niezwiązane najczęściej służą jako menu, mogą też służyć do wprowadzania danych niezapisywanych w tabelach (np. nazwa i hasło użytkownika przy logowaniu) 2. Ze względu na postać a) Najczęściej używane, kolumnowy jeden rekord wyjustowany jeden rekord tabelaryczny wiele rekordów b) Spotykane arkusz danych wiele rekordów dzielony tabela przestawna wykres ELEMENTY FORMULARZY SILNIE ZWIĄZANE Z PROGRAMEM ACCESS 113 FORMULARZ WYJUSTOWANY JEDEN REKORD 114 1. Selektory rekordów element występujący przy krawędzi formularza, pozwalający na wybór rekordu 2. Przyciski nawigacyjne elementy występujące na dole formularza, pozwalające na poruszanie się między rekordami, dodawanie i usuwanie rekordów 3. Duży nagłówek formularza 19
FORMULARZ TABELARYCZNY WIELE REKORDÓW 115 FORMULARZ W UKŁADZIE ARKUSZA DANYCH 116 FORMULARZ DZIELONY 117 FORMANTY WYSTĘPUJĄCE NA FORMULARZACH PODSTAWOWE 118 1. Etykieta element zawierający stały tekst 2. Pole tekstowe element wyświetlający zawartość pola, pozwala na edycję jego zawartości 3. Pole listy pole wyświetlające wiele elementów i pozwalające na wybór jednego z nich 4. Pole kombi pole rozwijalne, wyświetlające wiele elementów i pozwalające na wybór jednego z nich; pola kombi mogą pozwalać na wprowadzanie elementów z pola listy FORMANTY WYSTĘPUJĄCE NA FORMULARZACH USPRAWNIAJĄCE DZIAŁANIE FORMULARZA 119 WYBRANE ELEMENTY FORMULARZA 120 1. Przycisk akcji (polecenia) element służący do wywołania odpowiedniej reakcji: np: zamknięcie formularza, otwarcie innego formularza, wykonanie raportu; przy wywoływaniu odpowiednich akcji można korzystać z odpowiedniego kreatora lub też samodzielnie oprogramować przycisk z wykorzystaniem makr lub języka VBA 2. Przycisk przełącznika element o dwóch stanach (włączony/wyłączony); wymaga odpowiedniego oprogramowania (VBA) 3. Przycisk przełącznika pole o dwóch stanach; wymaga odpowiedniego oprogramowania (VBA) 4. Przycisk opcji przycisk w postaci kółka o dwóch (trzech) stanach, zazwyczaj wymaga odpowiedniego oprogramowania (VBA) 5. Pole wyboru 6. Podformularz pole pozwalające wyświetlić dodatkowy formularz na głównym formularzu 7. Karta element pozwalający wyświetlać wiele stron jednego formularza 20
FORMANTY WYSTĘPUJĄCE NA FORMULARZACH WYŚWIETLAJĄCE OBRAZY I GRAFIKĘ 121 WŁAŚCIWOŚCI 122 1. Linia element graficzny, porządkujący informację 2. Prostokąt element graficzny wyróżniający informację 3. Obraz wyświetla obraz 4. Związana ramka obiektu element pozwalający wyświetlać element osadzony (dokument, wykres) niezwiązany z wyświetlanym przez formularz rekordem tabeli 5. Niezwiązana ramka obiektu element pozwalający wyświetlać element osadzony (dokument, wykres) niezwiązany z wyświetlanym przez formularz rekordem tabeli 1. Właściwości służą do precyzyjnego określania wyglądu i zachowania kwerend, raportów i formularzy 2. Największa liczba właściwości związana jest z formularzami 3. Właściwości są dostępne przy włączonym Arkuszu właściwości 4. Właściwości związane są a) za całymi kwerendami, raportami, formularzami b) z pojedynczymi formatami tych obiektów (etykietami, polami tekstowymi, przyciskami) 5. Właściwości pogrupowane są w arkuszu na kartach (dotyczy raportów i formularzy): a) format decydują o wyglądzie b) dane decydują o wyprowadzanych danych i dozwolonych operacjach na tych danych c) zdarzenia decydują o obsłudze zdarzeń (np. kliknięcie na danym elemencie) d) inne decydują o różnych aspektach działania obiekt WYBRANE WŁAŚCIWOŚCI FORMULARZA 123 WYBRANE WŁAŚCIWOŚCI FORMANTÓW 124 1. Format a) Tytuł tekst na belce tytułowej b) Widok domyślny sposób wyświetlania rekordów c) Styl obramowania rodzaj obramowania; w szczególności obramowanie Dialog nie pozwala zmieniać rozmiaru formularza d) Selektory rekordów ustala widoczność selektorów rekordów e) Przyciski nawigacyjne ustala widoczność przycisków nawigacyjnych f) Wprowadzanie danych ustala, czy widoczne są wszystkie rekordy, czy tylko rekordy dodane 2. Dane a) Dodawanie dozwolone czy formularz będzie pozwalał na dodawanie rekordów b) Usuwanie dozwolone czy formularz będzie pozwalał na usuwanie rekordów c) Edycja dozwolona czy formularz będzie pozwalał na edycję danych 3. Inne a) Podręczny formularz będzie wyświetlany przed innymi formularzami b) Modalny wymaga zamknięcia formularza przed otwarciem innych 1. Właściwości różnych formantów są różne 2. Format a) Widoczny czy formant będzie widoczny 3. Dane a) Włączony czy w polu tekstowym można umieścić kursor b) Zablokowany czy stan formantu (w tym pola tekstowego) można zmieniać 4. Inne a) Tekst etykietki formantu tekst komentarza widocznego po zatrzymaniu kursora myszy na formancie METODY TWORZENIA FORMULARZY 125 KREATOR FORMULARZY KROKI 126 1. Ręczne Projekt formularza a) wymagane jest otwarcie okna Właściwości i wskazanie źródła formularza b) następnie rozmieszcza się na formularzu poszczególne elementy etykiety danych i pola tekstowe; w przypadku pól tekstowych określa się ich źródło danych c) zaleta pełna kontrola nad wszystkimi etapami tworzenia formularza d) wada bardzo duża pracochłonność przy tworzeniu formularza 2. Automatyczne Formularze, Pusty formularz a) zaleta minimum pracochłonności przy tworzeniu formularza b) wada tworzony jest formularz kolumnowy 3. Półautomatyczna Kreator formularzy a) zaleta rozsądny kompromis między pracochłonnością na etapie tworzenia raportu a pracochłonnością na etapie modyfikowania raportu 1. Wybór źródła danych i pól formularza 2. Wybór układu formularza 3. Określenie tytułu formularza 4. Modyfikacja formularza w widoku projektu 21
TWORZENIE FORMULARZY 127 TWORZENIE FORMULARZY 128 1. Utwórz formularz kolumnowy zawierający wszystkie pola tabeli Towary (z wyjątkiem pola Id_Towar). Zapisz go pod nazwą Towary1. Przetestuj działanie formularza (edycja i dodawanie rekordów usuwaj tylko te rekordy, które wcześniej dodałeś) 2. Utwórz formularz wyjustowany zawierający wszystkie pola tabeli Towary (z wyjątkiem pola Id_Towar). Zapisz go pod nazwą Towary2 i przetestuj. 3. Utwórz formularz tabelaryczny zawierający wszystkie pola tabeli Towary. Zapisz go pod nazwą Towary3 i przetestuj. 4. Utwórz kopię formularza Towary1 zapisując ją pod nazwą Towary11. Zmień widok domyślny na Formularze ciągłe. Przetestuj. 5. Utwórz kopię formularza Towary2 zapisując ją pod nazwą Towary21. Zmień widok domyślny na Formularze ciągłe. Przetestuj 6. Utwórz kopię formularza Towary3 zapisując ją pod nazwą Towary31. Zmień widok domyślny na Formularz pojedynczy. Przetestuj 7. Utwórz kopię formularza Towary1 zapisując ją pod nazwą Towary12. Zmień widok domyślny na Formularz dzielony. Przetestuj. 8. Utwórz kopię formularza Towary1 zapisując ją pod nazwą Towary13. Usuń selektory rekordów i sekcję nagłówka. 1. Utwórz kopię formularza Towary13 zapisując ją pod nazwą Towary131. Ustal styl obramowania na Dialog i właściwości Podręczny i Modalny na Tak. Otwórz formularz i spróbuj wywołać inny formularz. 2. Utwórz kopię formularza Towary131 zapisując ją pod nazwą Towary131W. Ustaw właściwość Wprowadzanie danych tak, aby wyświetlał tylko dodawane rekordy. Przetestuj działanie formularza. 3. Utwórz kopię formularza 131 zapisując ją pod nazwą 131P. Wstaw na formularzu przyciski a) Cofnij zmiany powodujący cofnięcie wprowadzonych zmian b) Usuń powodujący usunięcie rekordu (przy testowaniu usuwaj tylko rekordy dodane w poprzednim punkcie c) Zamknij zamykający formularz 129 ZDARZENIA WPROWADZENIE 130 OBSŁUGA ZDARZEŃ MAKRA TWORZENIE APLIKACJI 1. Zdarzenie wydarzenie zewnętrzne wobec programu, obiektu (raportu, formularza) lub formantu, np.. a) kliknięcie b) otwarcie raportu c) zamknięcie formularza d) osiągnięcie przez zegar systemowy określonego czasu 2. W Accessie zdefiniowanych jest kilkadziesiąt różnych zdarzeń 3. Poszczególne obiekty Accessa (formularze, raporty, formanty) wyposażone są w różne zbiory zdarzeń 4. Reakcją na zdarzenie może być obsługa tego zdarzenia 5. Obsługę zdarzenia określa się z wykorzystaniem a) makr b) procedur obsługi w języku VBA c) w przypadku przycisków akcji można korzystać z wbudowanego kreatora udostępniającego typowe polecenia (np. otwarcie raportu, formularza) 6. Obiektami nie posiadającymi procedur obsługi zdarzeń są tabele i kwerendy PODZIAŁ ZDARZEŃ (NIEFORMALNY) 131 WYBRANE ZDARZENIA FORMULARZA 132 1. Zdarzenia związane z oknami (formularz, raport) np. otwieranie, zamykanie, zmiany rozmiaru okna. 2. Zdarzenia związane z danymi np. usuwanie, aktualizowanie 3. Zdarzenia związane z fokusem np. aktywacja, wejście, wyjście 4. Zdarzenia związane z klawiaturą np. wciśnięcie, zwolnienie klawisza 5. Zdarzenia związane z myszą np. kliknięcie, kliknięcie podwójne, ustawienie kursora myszy nad obiektem 6. Zdarzenia związane z wydrukiem np. wydruk 7. Zdarzenia związane z obsługą błędu wystąpienie błędu w procedurze 8. Zdarzenia związane z czasem wywoływane o określonej godzinie 1. Przed wstawieniem przed wstawieniem nowego rekordu do tabeli związanej 2. Po wstawieniu po wstawieniu nowego rekordu do tabeli związanej 3. Przed aktualizacją przed aktualizacją zmienionych danych w tabeli związanej 4. Po aktualizacji po aktualizacji danych 5. Przy załadowaniu przy załadowaniu formularza do pamięci, ale przed otwarciem 6. Przy otwarciu przy otwarciu formularza, przed wyświetleniem pierwszego rekordu 7. Przy utracie fokusu przy przejściu do innego okna 8. Przy kliknięciu 9. Przy dwukrotnym kliknięciu 10.On Mouse Wheel przy przesuwaniu rolki myszy 11.Przy błędzie po wystąpieniu błędu 22
WYBRANE ZDARZENIA PÓL TEKSTOWYCH 133 WYBRANE ZDARZENIA PRZYCISKÓW 134 1. Przed aktualizacją przed aktualizacją zmienionych danych - może służyć do weryfikacji poprawności danych 2. Przy uzyskaniu fokusu po uzyskaniu fokusu może służyć do wyświetlania dodatkowych komunikatów 3. Przy utracie fokusu - analogicznie 1. Przy kliknięciu po kliknięciu na przycisk METODY TWORZENIA OBSŁUGI ZDARZEŃ KREATOR FORMANTÓW 135 METODY TWORZENIA OBSŁUGI ZDARZEŃ ARKUSZ WŁAŚCIWOŚCI FORMULARZA/RAPORTU 136 1. Kreator formantów tylko zdarzania związane z elementami typu Przycisk; definiuje zdarzenie Przy kliknięciu pozwalając wybrać najczęściej wykonywane operacje. W przypadku innych formantów (pole listy, pole kombi) Kreator ułatwia stworzenie samych formantów 1. Arkusz właściwości formularza/raportu obsługa wszystkich zdarzeń. 2. Dwa tryby tworzenia: a) makro konstruowanie (powstaje makro osadzone, dostępne tylko wewnątrz danego obiektu) przypisanie makra utworzonego wcześniej b) procedura zdarzenia procedura zapisana w języku VBA MAKRA 137 TWORZENIE MAKR (2007) 138 1. Makro polecenie lub ciąg poleceń służących do obsługi zdarzenia 2. Makra mogą być a) osadzone ściśle związane z obiektami Accessa b) publiczne dostępne dla wszystkich obiektów Accessa 3. Tworzenie makr polega na wybraniu a) akcji do wykonania (np. otwarcie formularza) b) argumenrów (parametrów) akcji,np. nazwy formularza, trybu pracy dodawanie, edycja 4. Nazwy akcji i graficzna realizacja tworzenia makr zmieniają się pomiędzy różnymi wersjami Accessa 23
WYBRANE MAKRA (I) 139 WYBRANE MAKRA (II) 140 1. AnulujZdarzenie anuluje zdarzenie które wywołało makro ; nie posiada argumentów 2. Maksymalizuj/Minimalizuj maksymalizuje/minimalizuje aktywne okno; nie posiada argumentów 3. OknoKomunikatu wyświetla odrębne okno z komunikatem; argumenty: a) treść komunikatu b) sygnalizacja dźwiękiem c) typ okna d) tytuł okna 4. OtwórzFormularz otwiera formularz; argumenty a) nazwa formularza b) typ widoku c) nazwa filtru d) warunek WHERE (wyrażenie SQL) e) tryb danych f) tryb okna 5. OtwórzKwerendę uruchamia/otwiera kwerendę; argumenty a) nazwa kwerendy b) typ widoku c) tryb danych 6. OtwórzRaport otwiera raport; argumenty: a) nazwa raportu b) typ widoku c) nazwa filtru d) warunek WHERE e) tryb okna 7. OtwórzTabelę otwiera tabelę danych; argumenty: a) nazwa tabeli b) typ widoku c) tryb danych WYBRANE MAKRA (III) 141 WYBRANE MAKRA (IV) 142 8. SygnalizujDźwiękiem sygnał dźwiękowy; bez argumentów 9. UruchomMakro wywołuje inne makro a) nazwa makra b) liczba powtórzeń c) wyrażenie powtarzające 10.WyprowadźObiekt (Eksport..) eksport danych; argumenty a) typ obiektu b) nazwa obiektu c) format docelowy d) plik docelowy e) tryb danych f) autostart g) plik szablonu h) kodowanie i) jakość wyjściowa 11.WyślijObiekt umieszcza obiekt w określonym formacie w skrzynce mailowej; ma argumenty 12.Zakończ (ZamknijBazęDanych) kończy pracę programu Access; argumenty a) opcje 13.Zamknij obiekt (ZamknijOkno) zamyka wskazany obiekt; argumenty a) typ obiektu b) nazwa obiektu c) zapisz MAKRA 143 KONWERSJA MAKR NA PROCEDURY VBA 144 1. Utwórz makro eksportujące dowolny raport do pliku Excela 2. Utwórz makro eksportujące dowolny raport do pliku PDF 3. Utwórz makro wywołujące dowolny formularz edycyjny w trybie dodawania danych 1. W widoku projektu makra można przekonwertować makro na procedurę VBA 2. Wykorzystuje się w tym celu polecenie Zapisz jako/konwertuj makra na język VBA (w zależności od wersji Accessa 24
145 PANEL STEROWANIA 146 1. Panel sterowania zawiera na wyłącznie przyciski wywołujące formularze, raporty, kwerendy w odpowiednim trybie danych (edycja, dodawanie) 2. Na panelu sterowania powinien zostać umieszczony przycisk kończący aplikację PANEL STEROWANIA TWORZENIE PANELU STEROWANIA 147 PANEL STEROWANIA PRZYKŁAD 148 1. Panel sterowania jest formularzem niezwiązanym (tj. niepołączonym z żadną tabelą) 2. Tworzy się go a) albo jako pusty formularz w widoku projektu b) albo z wykorzystaniem polecenia Formularze Nawigacja 1. Utwórz formularz niezwiązany 2. Umieść na formularzu formant karta zawierający cztery strony: Formularza, Raporty, Makra, Aplikacja 3. Na karcie Formularze umieść przyciski otwierające formularze 4. Na karcie Raporty umieść przyciski wywołujące raporty 5. Na karcie Makra umieść przyciski wywołujące makra 6. Na karcie Aplikacja umieść przycisk zamykający aplikację. 149 ROZDZIELENIE DANYCH I APLIKACJI 150 1. Zalecane jest rozdzielenie bazy danych tak, aby tabele znajdowały się w odrębnym pliku i do aplikacji były jedynie podłączone a) umożliwia to umieszczenie danych na serwerze i dostęp z wielu stanowisk b) ułatwia to też modyfikacje aplikacji CZYNNOŚCI KOŃCOWE 25