Bazy Danych
Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle kopiujesz i wklejasz dane pomiędzy różnymi dokumentami? czy pracownicy różnych działów w Twojej firmie powielają czynności ewidencyjne? czy często zajmujesz się żmudnym tworzeniem okresowych, cyklicznych sprawozdań, zestawień i raportów? czy wszelkich danych dotyczących jednego zagadnienia musisz szukać w wielu różnych miejscach?
Co otrzymujemy Zastosowanie systemu bazy danych sprawia, że: znacznie podnosi się wydajność pracy; zmniejsza się ilość błędów i liczba dodatkowych, niepotrzebnych dokumentów; wszystkie potrzebne dane znajdują się uporządkowane w jednym, łatwo dostępnym miejscu; potrzebne informacje są zawsze łatwo dostępne i to tylko dla wybranych osób z odpowiednimi poziomami uprawnień; prosta staje się analiza sytuacji i zarządzanie w firmie; rośnie komfort pracy, wynikający z korzystania z nowoczesnych technologii.
Definicje Celem programu zarządzającego danymi ACCESS, jest umożliwienie użytkownikowi przetwarzania danych w informacje. Dane to pozycje w tabeli;to co z nich wynika to informacje. Dane to na przykład lista zawierająca zestawienie wyborców i sposób ich głosowania.
Przykładowa metoda projektowania BAZY DANYCH Ogólny projekt systemu Projektowanie raportów Podstawowy projekt danych Projekt tabel Projekt interfejsu użytkownika
Normalizacja danych 1. Pierwsza postać normalna Każda komórka w tabeli musi zawierać pojedynczą wartość. W tabeli nie mogą występować powtarzające się grupy danych 2. Druga postać normalna Dane które nie zależą bezpośrednio od klucza głównego tabeli należy przenieść do osobnej tabeli 3. Trzecia postać normalna Powinno się usunąć z tabeli dane które można uzyskać na podstawie danych zawartych w innych polach tabeli
Podstawowe zadania tworzenia bazy danych W każdej tabeli umieszczamy pole klucza podstawowego Klucz podstawowy wybieraj spośród znajdujących się w tabeli danych. Na początku, dokładnie określ z jakich pól będziesz chciał korzystać później do pobierania i sortowania danych. W twoich danych np. jeżeli firma posiada wiele produktów, ale każdy z produktów jest tworzony tylko przez jedną firmę, dane powinny być przedstawione w taki sposób, aby w jednej tabeli istniało pole IDfirmy jako pole klucza podstawowego, a w tabeli przechowującej dane o produktach-jako pole klucza obcego.
Pasek narzędzi Obszar roboczy Interfejs programu Pasek menu Okno relacji Panel narzędzi
Przykładowa Baza Danych
Tabela podstawa Bazy Widok projektu Pole bazy Wartość pola
Tabel w widoku projektu Nazwa pola Typ pola Właściwości pola Klucz podstawowy Widok tabeli
Struktura i relacje Tabela Klucz podstawowy Relacja
Relacje Właściwie stworzona relacja jest podstawą prawidłowego działania Bazy Danych. Możemy wyróżnić kilka rodzajów relacji: 1. Relacja jeden do jednego (jednemu rekordowi z jednej tabeli odpowiada tylko jeden rekord z drugiej tabeli) 2. Relacja jeden do wielu (jednemu rekordowi z jednej tabeli odpowiada wiele rekordów z drugiej tabeli) 3. Relacja wiele do wielu (wielu rekordom z jednej tabeli odpowiada wiele rekordów z drugiej tabeli)
Przykładowy formularz
Formaty niestandardowe Liczby +; liczby-; 0; puste;
Symbol Formaty niestandardowe Opis. Separator dziesiętny spacja Separator tysięczny 0 Symbol zastępczy cyfry # Symbol zastępczy cyfry. Cyfra lub puste $ lub \ Znak w dosłownej postaci % Wartość pomnożona przez 100 i znak procentu tekst Wyświetlany jest dowolny tekst [kolor] Wyświetla tekst w określonym kolorze
Wyrażenia określające kryteria w Between and In ( Łódź, Warszawa ) IsNull Like Cas?le Like *s Like s* Like [A-C]?? kwerendach Od do Rekordy z wybranymi Rekordy puste Dowolna litera w słowie Ciąg znaków kończący się na s Ciąg znaków zaczynający się na s Trzy znaki z których pierwsze to A,B,C???? Dowolne 4 znaki Len ([Surname])=4 Left, Right ([Surname],2)= is Nazwiska o długosci 4 liter Nazwiska o początkowych/końcowych literach is
Typ danych Rozmiar Zakres wartości Byte (bajt) 1 bajt Od 0 do 255 Boolean (logiczny) 2 bajty True lub False (prawda lub fałsz) Integer (całkowity) 2 bajty Od 32 768 do 32 767 Long (długi całkowity) 4 bajty Od 2 147 483 648 do 2 147 483 647 Single (zmiennoprzecinkowy pojedynczej pozycji) 4 bajty Wartości ujemne: od -3,402823E38 do -1,401298E-45 Wartości dodatnie: od 1,401298E-45 do 3,402823E38 Double (zmiennoprzecinkowy podwójnej precyzji) 8 bajtów Wartości ujemne: Od -1,79769313486231E308 Do -4,9406564581247E-324 Wartości dodatnie: od 4,94065645841247E-324 do 1,79769313486232E308 Currency (walutowy) 8 bajtów od 922 337 203 685 477, 5808 do 922 337 203 685 477, 5807 Decimal (dziesiętny) -podtyp typu Variant 14 bajtów +/- 79 228 162 514 264 337 593 543950 335 +/- 7,9228162514264337593543950335 z 28 miejscami dziesiętnymi Najmniejsza liczba niezerowa: +/- 0,0000000000000000000000000001 Date (data) 8 bajtów Od 1 stycznia 100 roku do 31 grudnia 9999 roku Object (obiekt) 4 bajty Referencja do dowolnego obiektu String (łańcuch znaków) zmiennej długości 10 bajtów+ długość łańcucha Od 0 do ok. 2 miliardów znaków String (łańcuch znaków) stałej długości długość łańcucha Od 0 do ok.65 400 znaków Variant (zawierający liczby) 16 bajtów każda wartość z zakresu liczby typu Double Variant (zawierający znaki) String 22 bajty + Długość łańcucha Identyczny jak łańcuch o zmiennej długości Zdefiniowany przez użytkownika Liczba wymagana przez zawartość Zakres każdego elementu jest określony przez jego typ
Operatory artmetyczne Operator Opis Przykład zastosowania ^ potegowanie 2 ^ 3 = 8 - znak liczby -5 * mnożenie 2 * 3 = 6 / dzielenie 3 / 2 = 1,5 \ dzielenie całkowite 3 \ 2 = 1 wynikiem jest liczba całkowita nie wieksza niż wynik dzielenia { / } Mod Dzielenie modulo 3 Mod 2 = 1 wynikiem jest reszta z dzielenia { / } + dodawanie 2 + 3 = 5 - odejmowanie 3-1 = 2
Operator łączenia Operator Opis Przykład zastosowania & konkatenacja /łaczenie/ "Przykład" & " zastosowania" = "Przykład zastosowania" operator ten działa tylko na zmiennych typu String
Operatory logiczne Operator Opis Przykład zastosowania = równe <> różne od > wieksze od < mniejsze od >= <= Like wieksze lub równe mniejsze lub równe porównanie zwraca True gdy wartości są równe np: 2 = 2 => True 2 = 3 => False "Napis" = "Napis1" => False zwraca True gdy wartości są różne np: 2 <> 2 => False 2 <> 3 => True "Napis" <> "Napis1" => True Zwraca True jeżeli wartość po lewej jest wieksza od wartosci po prawej stronie znaku : np 3 > 2 => True Zwraca True jeżeli wartość po prawej jest mniejsza od wartosci po lewej stronie znaku : np 2 < 3 => True Zwraca True jeżeli wartość po lewej jest wieksza lub równa wartosci po prawej stronie znaku : np 2 >= 2 => True Zwraca True jeżeli wartość po prawej jest mniejsza lub równa wartosci po lewej stronie znaku : np 2 <= 2 => True Operator ten służy do porównywania ciągów.jeżeli ciąg pasuje do wzorca, wynikiem jest wartość True; w przypadku braku dopasowania, wynikiem jest wartość False. Jeżeli ciąg lub wzorzec ma wartość Null, wynikiem jest wartość Null. Przykład
Spójniki logiczne Operator Opis Przykład zastosowania Not negacja Zwraca logiczną negację wyrażenia: Not True = False And iloczyn logiczny, koniunkcja Zwraca logiczną koniungcje dwóch wyrażeń: Przykłady Or Suma logiczna alternatywa Zwraca logiczną alternatywę dwóch wyrażeń: Przykłady Xor nierównoważność Zwraca logiczną różnicę symetryczną dwóch wyrażeń: Przykłady Eqv równoważność Zwraca logiczną równoważność dwóch wyrażeń: Przykłady Imp implikacja Zwraca logiczną implikację dwóch wyrażeń: Przykłady
Instrukcja warunkowa IF.. THEN
Instrukcja SELECT CASE Select Case wyrażenie Case wartość1 instrukcje, gdy wartość1 równa wyrażeniu Case wartość2 instrukcje, gdy wartość2 równa wyrażeniu Case wartość3 instrukcje, gdy wartość3 równa wyrażeniu Case wartość4 instrukcje, gdy wartość4 równa wyrażeniu... Case Else ' nie musi wystepować instrukcje gdy poprzednie wartości nie pasowały End Select
Pętla FOR..TO..NEXT For licznik = początek To koniec [Step krok] [instrukcje] [Exit For] [instrukcje] Next [licznik]
Pętle warunkowe Do While... Loop Sprawdza warunek na początku Wykonuje pętle jeżeli warunek jest prawdziwy Do Until... Loop Sprawdza warunek na początku Wykonuje pętle jeżeli warunek jest nieprawdziwy Do... Loop While Sprawdza warunek na końcu Wykonuje pętle jeżeli warunek jest prawdziwy Do... Loop Until Sprawdza warunek na końcu Wykonuje pętle jeżeli warunek jest nieprawdziwy