Podstawy Informatyki Wykład X Bazy danych Access - cz. II Copyright by Arkadiusz Rzucidło 1
Praca z polami Używanie Maski wprowadzania Własności Rozmiar pola Zmiana porządku pól w tabeli Listy i pola typu kombi w tabeli Ustalanie wartości domyślnych pól Korzystanie z własności Regułą poprawności oraz Komunikat o błędzie Copyright by Arkadiusz Rzucidło 2
Styl wprowadzania danych Nie jest to istotne w przypadku przechowywania surowych danych Gwarantuje jakość informacji w bazie danych Kontroluje wprowadzane dane przyjmując je lub odrzucając Maska wprowadzania szablon pola. Jest zbiorem literałów i znaków specjalnych, pozwalających na kontrolę informacji wprowadzanych do pola. Zapobiega uzupełnianiu pola niewłaściwymi danymi np. rok 12345 Przykład (###) ## - ## - ### Maska wprowadzania kontrolująca wprowadzanie numerów telefonicznych nawiasy myślniki są znakami literałowym, # jest znakiem specjalnym oznaczającym cyfrę Copyright by Arkadiusz Rzucidło 3
Maski wprowadzania Access a Trzy podstawowe elementy definicji maski: Pierwszy element - wygląd maski, przykład:?? -?? pozwala na wprowadzenie dowolnych czterech znaków, rozdzielonych myślnikiem. Access doda znak \ przed myślnikiem symbol znaku literałowego Drugi element zapamiętywanie znaków Znajduje się pop pierwszym średniku Pusty lub wartość 1 Access ma pamiętać jedynie wprowadzane znaki 0 Zapamiętywane są również znaki literałowe Trzeci element znaki specjalne Informuje, które z użytych znaków w definicji są znakami specjalnymi W przykładzie symbol _ jest znakiem specjalnym Znak _ jest znakiem domyślnym Sprawdzanie maski wprowadzania Copyright by Arkadiusz Rzucidło 4
Symbol Opis 0 Cyfra (od 0 do 9, pozycja wymagana; znaki plus [+] i minus [-] nie są dozwolone). 9 Cyfra lub spacja (pozycja opcjonalna; znaki plus i minus nie są dozwolone). # Cyfra lub spacja (pozycja opcjonalna; puste miejsca konwertowane na spacje, znaki plus i minus dozwolone). L Litera (od A do Z, pozycja wymagana).? Litera (od A do Z, pozycja opcjonalna). A a & C Litera lub cyfra (pozycja wymagana). Litera lub cyfra (pozycja opcjonalna). Dowolny znak lub spacja (pozycja wymagana). Dowolny znak lub spacja (pozycja opcjonalna).., : ; - / Dziesiętny symbol zastępczy oraz separatory tysięcy, daty i godziny. (Znak, który faktycznie zostanie użyty zależy od ustawień regionalnych określonych w Panelu sterowania systemu Microsoft Windows). < Powoduje, że wszystkie następujące po nim znaki są konwertowane na małe znaki. > Powoduje, że wszystkie następujące po nim znaki są konwertowane na duże znaki.! Powoduje, że znaki w masce wprowadzania są wyświetlane od strony prawej do lewej zamiast od lewej do prawej. Znaki wpisywane w masce wprowadzania zawsze wypełniają ją od strony lewej do prawej. Znaku wykrzyknika można użyć w dowolnym miejscu w masce wprowadzania. \ Powoduje, że kolejny znak jest wyświetlany jako znak literałowy. Jest on używany w celu wyświetlenia dowolnego znaku uwzględnionego w tej tabeli jako znak literałowy (na przykład, ciąg \A jest wyświetlany jako A ). Hasło Ustawienie właściwości Maska wprowadzania na wartość Hasło powoduje utworzenie pola tekstowego dla hasła. Dowolny znak wpisany w tym polu jest przechowywany jako znak, ale wyświetlany jako gwiazdka (*). Copyright by Arkadiusz Rzucidło 5
Zmiana kolejności pól Zmiana kolejności pól w tabeli nie musi mieć wpływu na kolejność ich wyświetlania w Arkuszu Danych, Formularzach lub Raportach Przemieszczanie pól Dotyczy ich porządku w strukturze tabeli Przemieszczanie pól realizuje się w Widoku Projekcie tabeli Przemieszczenie nie musi mieć wpływu na kolejność wyświetlania pól danych Zamiana porządku wyświetlania Dotyczy wizualizacji danych w widoku Arkusza Danych Ma na celu zmianę sposobu prezentacji Nie ma wpływu na porządek w strukturze tabeli Copyright by Arkadiusz Rzucidło 6
Zmiana szerokości i wysokości wierszy Własność Rozmiar pola wpływa na długość wprowadzanych danych lecz nie na sposób wyświetlania danych Zmiana gabarytów komórki pola realizowane jest podobnie jak w przypadku arkuszy danych Excel. Kiedy potrzebne? Przechowywanie w bazie danych rysunków np. zdjęcia Długie pola typu Tekst lub Nota (Memo) Copyright by Arkadiusz Rzucidło 7
Pola listy i pola kombi Prostsze i bezpieczniejsze wprowadzenie danych bezpośrednio w tabelach Działanie oparte o połączenie pomiędzy tabelami (klucze obce tabeli nadrzędnej) Znaczenie opcji integralności referencyjnej podczas tworzenia relacji Zapobiegają wprowadzania danych nie istniejących w tabelach pomocniczych (słownikowych) Pola, jak Tak/Nie posiadają ograniczone możliwości wyboru Copyright by Arkadiusz Rzucidło 8
Wartość domyślna pola Automatycznie wprowadzana do pola dla nowego rekordu Może być zmieniona przez użytkownika Mogą być definiowane za pomocą kodu lub funkcji wbudowanych Access a Przykład: now(), date(), itp. Copyright by Arkadiusz Rzucidło 9
Reguła poprawności i komunikat o błędzie Ograniczenie informacji wprowadzanych do pola do ściśle określonego zbioru wartości Przyład Opis =5 tylko wartość 5 Between 1And 5 Liczbyz przedziału od 1 do 5 Between #2/3/90# And #1/31/00# Daty z zakresu od 3 lutego 1990 do 31 stycznia 2000 Like "A[a-z]B" Tekst zaczynający się literą A, z dowolną literą od "a" do "z" w środku i kończący się literą B Like V"###" Tekst zacznajacyc się znakiem V, z czterema cyframi np. V5888 In ("Rzeszów","Sanok") Jeden z łańcuchów "Rzeszów" lub "Sanok" Not "Warszawa" "Warszawa" nie jest dopuszczalną wartością Not Between 1 And 10 Wszystkie liczby nie należące do przedziału od 1 do 10 Komunikat o błędzie jest tekstem informującym o niezgodności danych ze zdefiniowaną regułą poprawności Copyright by Arkadiusz Rzucidło 10
Przykładowa baza danych - Biblioteka Copyright by Arkadiusz Rzucidło 11
Tabele Copyright by Arkadiusz Rzucidło 12
Kwerendy bazy danych Kwerendy są przepisami w jaki sposób zapytać bazę danych aby uzyskać dane w celu ich prezentacji lub zmiany ich wartości. Rola kwerend: Wyciągają spełniające określone kryteria Wykonują określone działania na wyciągniętych danych Wiążą kilka tabel lub kwerend, aby w określony sposób przedstawić użytkownikowi dane pobrane z nich Wykonują grupowanie, porządkowanie i wyliczają dane znajdujące się w tabelach lub innych kwerendach Tworzenie kwerend: Samodzielny projekt Kreator Copyright by Arkadiusz Rzucidło 13
Widok kwerendy * Widok projekt QBE Widok arkusza danych Widok składni SQL Widok tabeli przestawnej Widok wykresu przestawnego Typy kwerend Wybierające Krzyżowe Tworzące tabele Aktualizująca Dołączająca Usuwająca */ widoki właściwe dla wersji Access 2002 Copyright by Arkadiusz Rzucidło 14
Widok QBE Widok SQL Copyright by Arkadiusz Rzucidło 15
Projektowanie Kwerendy Korzystając z pomocy kreatora Wykonując projekt kwerendy Wybieranie źródła Wybór pól dla kwerendy Opracowanie kryteriów Uruchomienie kwerendy Copyright by Arkadiusz Rzucidło 16
Przygotowanie kwerendy Wybieranie źródła Umieszczanie w kwerendzie tylko niezbędnych tabel i kwerend Dołączanie nowych tabel do istniejącej kwerendy Konieczność ustanowienia relacji pomiędzy współpracującymi tabelami w kwerendzie Wybór pól kwerendy Technika Drag&Drop Wybór pola z pola kombi po uprzednim określeniu źródła * oznacza wszystkie pola z tabeli Usuwanie pola Sortowanie rekordów kwerendy Określenie czy pole ma być widoczne Copyright by Arkadiusz Rzucidło 17
Określenie kryteriów Za pomocą konstruktora wyrażeń Odręcznie Kryteria z operatorami AND i OR Kryterium Opis "Kraków" "Rzeszów" or "Sanok" wartość pola jest Kraków wartość pola jest Rzeszów lub Sanok =#2005-02-02# wartość pola jest 2 luty 2005 r. Between #2005-01-01# and #2005-12-31# wartość pola ma mieścić się w przedziale czasu od 2005-01-01 do 2005-12-31 In ("Kraków","Rzeszów") Not "Warszawa" wartością pola ma być Kraków lub Rzeszów wartość pola nie może zawierać wartości Warszawa < Date()-30 wartość pola musi zawierać daty późniejsze niż 30 dni sprzed dzisiejszejszego dnia Year ([Data_ur])=1985 wartość pola daty urodzenia ma zawierać wszystkie daty z roku 1985 Like "C*" Like "*a" Like "[L-N]*" Left ([Miast],1)="O" tekst zacznający się od litery C tekst kończący się literą a Tekst zaczynający się na literę od L do N Tekst, którego pierwszyma znakiem od lewej strony jest litera "O" Copyright by Arkadiusz Rzucidło 18
Kwerendy parametryczne Umożliwiają interakcję z użytkownikiem podczas generowania zestawu rekordów Przykłady: Jeden parametr: > [ Podaj wartość dla pola:] Dwa parametry: Between [Podaj wartość początku:] and [Podaj wartość końca:] Parametry z symbolami wieloznacznymi: LIKE [Podaj pierwszy znak dla wartości: ] & "*" Copyright by Arkadiusz Rzucidło 19
Kwerendy usuwające Automatyzują proces globalnego usuwania rekordów z bazy danych Wybranie odpowiednich tabel dla konstrukcji kryteriów usuwania rekordów Opracowanie kryteriów usuwania Kryteria proste Kryteria parametryczne Podczas konstrukcji kryteriów należy zwrócić uwagę na ich poprawność (kwerenda wybierająca) Usuwanie Gdzie kryterium Skąd jakiej tabeli dotyczy operacja usunięcia Kwerenda usuwająca działa na całych rekordach (nie jest istotna liczba pól w kryterium) Copyright by Arkadiusz Rzucidło 20
Przykład: Biblioteka Copyright by Arkadiusz Rzucidło 21
Defragmentacja bazy danych Wiele operacji usuwania wiele dziur w bazie danych Access rezerwuje rozmiar pliku dla danych ale nie zmniejsza go jeśli dane są usuwane Proces defragmentacji usuwa puste miejsca ze struktury bazy danych Uruchomienie: Menu>>Narzędzia>>Narzędzia bazy danych>>kompaktuj i napraw bazę danych Copyright by Arkadiusz Rzucidło 22
Kwerenda dołączająca Pobiera dane z jednej tabeli lub kwerendy i dołącza je do innej tabeli Archiwizacja danych Copyright by Arkadiusz Rzucidło 23
Kwerendy znajdujące krańcowe wartości Copyright by Arkadiusz Rzucidło 24
Kwerendy aktualizujące Zmienia zawartość pól docelowej tabeli Działa na polach a nie na całych rekordach Usuwanie rekordów kwerenda usuwająca Usuwanie/zmiana wartości pól dla rekordów kwerenda aktualizująca Copyright by Arkadiusz Rzucidło 25
Kwerenda krzyżowa Jest dwuwymiarową macierzą z operacją matematyczną wykonywaną na każdym przesunięciu Copyright by Arkadiusz Rzucidło 26
Kwerenda tworząca tabelę (UNION) Składa zbiory rekordów pochodzących z różnych tabel w jeden element wynikowy - tabelę Copyright by Arkadiusz Rzucidło 27
Składanie SQL Kwerenda parametryczna SELECT Czytelnik.* FROM Czytelnik WHERE (((Czytelnik.Data_ur)=[Podaj datę])); Kwerenda usuwająca DELETE Czytelnik.*, Czytelnik.Miejscowosc FROM Czytelnik WHERE (((Czytelnik.Miejscowosc)="rzeszów")); Kwerenda dołączająca INSERT INTO [Kopia Czytelnik] SELECT Czytelnik.* FROM Czytelnik WHERE (((Czytelnik.Miejscowosc)="rzeszów")); Copyright by Arkadiusz Rzucidło 28
Kwerenda znajdująca krańcowe wartości SELECT TOP 5 Count(Zdarznia.data_wypozyczenia) AS PoliczOfdata_wypozyczenia, Czytelnik.Imie, Czytelnik.Nazwisko FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Imie, Czytelnik.Nazwisko HAVING (((Count(Zdarznia.data_wypozyczenia)) Is Not Null)) ORDER BY Count(Zdarznia.data_wypozyczenia) DESC; Kwerenda aktualizująca UPDATE Ksiazki SET Ksiazki.www = "http://www.helion.pl" WHERE (((Ksiazki.wydawnictow)="Helion")); Copyright by Arkadiusz Rzucidło 29
Kwerenda krzyżowa TRANSFORM Count(Zdarznia.ID_zdarzenia) AS PoliczOfID_zdarzenia SELECT Czytelnik.Nazwisko FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Nazwisko PIVOT Ksiazki.Klasa; Kwerenda tworząca tabelę nowa_tabela SELECT Czytelnik.Nazwisko, Ksiazki.Klasa, Count(Zdarznia.ID_zdarzenia) AS Wypozyczenia INTO nowa_tabela FROM Ksiazki INNER JOIN (Czytelnik INNER JOIN Zdarznia ON Czytelnik.ID_czytelnik = Zdarznia.ID_czytelnika) ON Ksiazki.ID_ksiazki = Zdarznia.ID_ksiazki GROUP BY Czytelnik.Nazwisko, Ksiazki.Klasa; Copyright by Arkadiusz Rzucidło 30
KONIEC Wykład XI Access cz.iii Copyright by Arkadiusz Rzucidło 31