Bazy danych Access - kiaps.ar.krakow.plinfor:wyklad_2_-_t... · Obiekty baz danych Access tabele...

44
Bazy danych Access Grzegorz Kowalski [email protected]

Transcript of Bazy danych Access - kiaps.ar.krakow.plinfor:wyklad_2_-_t... · Obiekty baz danych Access tabele...

Bazy danych Access

Grzegorz Kowalski

[email protected]

Obiekty baz danych Access

� tabele

� kwerendy (zapytania)

� formularze� formularze

� raporty

� makra

� moduły

Tabela

System baz danych MS Access

Kwerenda

Formularz Raport

Makro Moduł

Tabele

Pojemnik na surowe dane, zorganizowane w wierszach (rekordy) i kolumnach (pola)

Kwerendy

Umożliwiają przezukiwanie, sortowanie i wyświetlanie danych w zindywidualizowany sposób

Raporty

Służą do wyświetlania i drukowania sformatowanych danych oraz wyliczanych na ich podstawie sum i innych wartości

Formularze

Służą do wyświetlania, wprowadzania danych

Definiowanie bazy danych Acces

1. Definicja struktury tabeli

2. Definicja indeksów tabeli

3. Definicja związków pomiędzy tabelami

4. Wprowadzenie danych do tabeli4. Wprowadzenie danych do tabeli

5. Definicja zapytań (kwerend)

6. Budowa interfejsu użytkownika (formularzy)

7. Definicja makr i innych modułów

8. Tworzenie raportów

Projektowanie tabel

Wykorzystanie kreatora tabel:

� automatyczne definiowanie tabel

� standardowe wzorce tabel

� łatwość i duża szybkość definiowania poszczególnych tabel i ich pól

� konieczność uzupełniania definicji istniejących obiektów i ich elementów

� konieczność definiowania dodatkowych indeksów� konieczność definiowania dodatkowych indeksów

Projektowanie wg wymagań projektanta:

� możliwość dostosowania struktury tabeli do indywidualnych potrzeb użytkownika

� możliwość definiowania własności pól z użyciem dowolnych formatów dla danego typu danych

� możliwość definiowania indeksów opartych na dowolnych polach

� łatwy i przyjazny interfejs definiowania związków pomiędzy tabelami (relacje)

Projektowanie tabel - szczegóły

1. Określenie nazwy pola tabeli

2. Wskazanie typu danego pola – wybór z listy Typ

danych

3. Wprowadzenie opisu zawartości informacyjnej 3. Wprowadzenie opisu zawartości informacyjnej

(Opis)

4. Zdefiniowanie własności pola

5. Zapisanie tabeli pod odpowiednią nazwą

Projekt tabeli należy wykonać ze szczególną starannością

Właściwości pól

� Rozmiar pola

� Format – sposób wyświetlania wprowadzonych danych

� Maska wprowadzania – szczegółowy opis sposobu wprowadzania i wyświetlania danych

� Tytuł – etykieta pola

� Wartość domyślna – wartość przypisywana automatycznie do pola w � Wartość domyślna – wartość przypisywana automatycznie do pola w nowym rekordzie

� Reguła poprawności – warunek, który muszą spełniać wprowadzane dane

� Komunikat o błędzie – komunikat wyświetlany, jeżeli dane nie spełniają reguł poprawności

� Wymagane – czy pole musi być wypełnione

� Zerowa długość dozwolona

� Indeksowane – tworzenie indeksu opartego na tym polu

Indeksy

� posortowane ciągi pól

� przyspieszają wyszukiwanie danych w tabelach,

działanie kwerend

� umożliwiają określanie związków pomiędzy � umożliwiają określanie związków pomiędzy

tabelami (relacji)

� powinno się je tworzyć podczas definiowania

struktury danych

Indeksy

Atrybuty indeksów:

� podstawowy – klucz posiada własność klucza głównego

� unikatowy – każda wartość w polu musi być niepowtarzalna

� ignoruj Null – pozwala pominąć w indeksi wartości pól równe NULLrówne NULL

Rodzaje indeksów:

� proste – indeks oparty na jednym polu

� złożone – indeks oparty na wielu polach

Zasady nazewnictwa obiektów

� nazwa może zawierać max. 64 znaki

� może zawierać litery, cyfry i wiele znaków specjalnych

� nie może zawierać: kropki (.), wykrzyknika(!), nawiasów kwadratowych([]), cudzysłowu (')nawiasów kwadratowych([]), cudzysłowu (')

� duże i małe litery nie są rozróżnialne

� nazwy obiektów powinny być niepowtarzalne w poszczególnych grupach

Konwencje nazewnictwa obiektów

Obiekt prefix

Form frm

Form (dialog) fdlg

Form (menu) fmnu

Form (message) fmsg

Obiekt prefix

Query (data definition) qddl

Query (delete) qdel

Query (form filter) qflt

Query (lookup) qlkpForm (message) fmsg

Form (subform) fsub

Macro mcr

Module bas

Query (any type) qry

Query (append) qapp

Query (crosstab) qxtb

Query (lookup) qlkp

Query (make-table) qmak

Query (select) qry (or qsel)

Query (union) quni

Query (update) qupd

Report rpt

Report (subreport) rsub

Table tbl

Konwencje nazewnictwa elementów

Element prefiks

Attachment att

Bound object frame frb

Chart (graph) cht

Check box chk

Element prefiks

List box lst

Option button opt

Option group grp

Page (on a Tab control) pge

Combo box cbo

Command button cmd

Custom control ocx

Frame fra

Hyperlink hlk

Image img

Label lbl

Line lin

Page break brk

Rectangle (shape) shp

Subform/report sub

Tab control tab

Text box txt

Toggle button tgl

Unbound object frame fru

Zasady odwoływania się do obiektów MS Access

[obiekt]![element_obiektu]

rodzaj_obiektu![obiekt]![element_obiektu]

[obiekt]![element_obiektu].własność_elementu

rodzaj_obiektu![obiekt]![element_obiektu].własność elementu

rodzaj_obiektu – nazwa rodzaju obiektu np. dla formularzy – Formularze

obiekt – nazwa obiektu np. Test_dane

element_obiektu – nazwa pola tabeli, pola kwerendy lub elementu formularza

własność_elementu – nazwa własności pola kwerendy, elementu formularza lub

raportu

Typy danych

Typy danych

Typ danych Opis

TEKST Znaki alfanumeryczne 0-255

NOTA Znaki alfanumeryczne 0-64000

LICZBA Bajt – liczby naturalne 0-255LICZBA Bajt – liczby naturalne 0-255

Liczba całkowita – liczby całkowite od -32768 do 32767 (-215 do

215-1)

Liczba całkowita długa - liczby całkowite od -2147486648 do

2147486647 ((-231 do 231-1))

Pojedyncza precyzja – liczby rzeczywiste od -3,402823×1038 do

3,402823×1038

Podwójna precyzja - liczby rzeczywiste od -1,7976931349×10308

do 1,7976931349×10308

Typy danych – c.d.

Typ danych Opis

DATA/GODZINA Data i czas

WALUTOWY Typ liczbowy (2 miejsca po przecinku)

AUTONUMER Typ liczbowy (kolejne lub losowe liczby automatycznie AUTONUMER Typ liczbowy (kolejne lub losowe liczby automatycznie

generowane przez MS Access)

TAK/NIE Typ logiczny (PRAWDA/FAŁSZ)

OLE OBJECT Obiekt utworzony w dowolnej aplikacji (np. obraz, wykres itp.)

HIPERŁĄCZE Typ znakowy, adres hiperłącza strony WWW, pliku lub miejsca w

pliku

Typy danych - uwagi

Typ TEKST:

� pola zawierać mogą dowolne znaki lub liczby, które

nie podlegają działaniom matematycznym

� znaki zawsze zajmują wcześniej zdefiniowaną � znaki zawsze zajmują wcześniej zdefiniowaną

wielkość pola (brakujące są uzupełniane spacjami)

Typ NOTA:

� pola o zmiennej długości

� wolniejsze wyszukiwanie niż w polach tekstowych

Typy danych - uwagi

Typ LICZBOWY:

� do przechowywania danych, na których będą wykonywane

obliczenia matematyczne

� należy wybierać typ zgodny z zakresem zmienności pola

� wybór rozmiaru typu większego niż jest to konieczne

wydłuża czas przetwarzania danych i powoduje zwiększenie

zajętości na dysku

Typ WALUTOWY:

� odmiana pól liczbowych

� wartości wyrażone w jednostkach monetarnych

Typy danych - uwagi

Typ AUTONUMER:

� liczby generowane automatycznie przez program

począwszy od 1

� zapewnia niepowtarzalność wartości w danym polu

� używany jako identyfikator tabel nie mających klucza

głównego

Typ LOGICZNY:

� używane do przechowywania danych dwustanowych

� w tabeli zapisywane są dwie wartości -1 (TAK) oraz 0 (NIE)

Formaty danych

Sposób wyświetlania lub drukowania danych przechowywanych w

bazie danych (format danych nie decyduje o sposobie

przechowywania danych w bazie danych)

� Format danych jest określony w definicji każdego typu pola

� Formaty wpływają tylko na wygląd danych, a nie na sposób

ich przechowywania

� Istnieją formaty standardowe i formaty niestandardowe

(użytkownika)

Formaty tekstowe i memo

@ - wyświetlany jest wprowadzany znak lub spacja

& - wyświetlany jest wprowadzany znak (opcjonalny)

< - wymuszane małe litery

> - wymuszane duże litery

Dane FormatWyświetlany

rezultat

Beata @@@@@@@ Beata

Beata &&&&&&& Beata

Adela > ADELA

ADELA < adela

Formaty liczbowe

, - separator części dziesiętnej

spacja - separator grup tysięcy

0 - wyświetla cyfry lub zera wiodące

# - wyświetla cyfry lub nic

Typ formatu Dane Rezultat Definicja

Ogólny 987654,321 987654,321 ######,###

Walutowy 987654,321 987.654,321 zł ###.##0,00 zł

Stałoprzecinkowy 987654,321 987654,321 ######,###

Standardowy 987654,321 987.654,321 ###.###,###

Procentowy 0,321 98,7% ###,##%

Wykładniczy 987654,321 9,87654321E+05 #,####E+00

Formaty danych typu DATA/GODZINA

Format Rezultat

Data ogólna lub C 13-04-10 15:32

Data pełna* dddddd Wtorek 13 kwietnia 2010

Data średnia 13 kwi 2010

Data krótka* ddddd 13-04-2010

Godzina pełna* ttttt 15:32:16

Godzina średnia 03:32

Godzina krótka 15:32

* - zgodnie z ustawieniami Windows

Formaty danych typu DATA/GODZINA

Format Opis

d, dd dzień miesiąca 1-31 lub 01-31

ddd pon, wto, śro, …

ddd Poniedziałek, Wtorek, …

w numer dnia tygodnia

ww numer tyg. w roku

m, mm miesiąc 1-12 lub 01-12

mmm sty, lut, mar, …

mmmm styczeń, luty, …

q numer kwartału

Formaty danych typu DATA/GODZINA c.d.

Format Opis

r numer dnia w roku

rr rok (0-99)

rrrr rok (0100-9999)rrrr rok (0100-9999)

h, hh godziny 1 lub 2 cyfry (0-23)

n, nn minuty 1 lub 2 cyfry (0-59)

s, ss sekundy 1 lub 2 cyfry (0-59)

am/pm zegar w systemie anglosaskim

AM/PM zegar w systemie anglosaskim

Przykłady zastosowania formatów typu DATA

Dane Format Rezultat

2010-04-13 dd-mm-rrrr 13-04-2010

2010-04-13 dd/mm/rr 13/04/10

2010-04-13 dddd dd-mm-rr wtorek 13-04-10

2010-04-13 dd-mmm-rrrr 13 kwi 2010

2010-04-13 dd mmmm rrrr 13 kwietnia 2010

2010-04-13 ddddd 2010-04-13

11:04 gg:mm 11:04

13:04 gg:mm 13:04

13:04 gg:mm am/pm 01:04 pm

Maska wprowadzania danych

Maska wprowadzania – szczegółowy opis sposobu wprowadzania i

wyświetlania danych

� pozwala określić rodzaj znaków, które mogą (muszą) być

wprowadzone

� korzysta się z symboli zastępczych

� maski umożliwiają tylko kontrolę danych na etapie ich

wprowadzania; nie mają wpływu na istniejące już dane w BD

� wykorzystywane są w formularzach

� ignorowane są przy imporcie danych ze źródeł zewnętrznych

� można korzystać z Kreatora masek wprowadzania

Maska wprowadzania danych – symbole zastępcze

Symbol Opis

0 dowolna cyfra (wartość wymagana)

9 dowolna cyfra lub spacja (wartość opcjonalna)

# dowolna cyfra lub spacja (wartość opcjonalna)*

L litera (A-Z wymagane)

? litera (A-Z opcjonalne)

A litera lub cyfra (wymagane)

a litera lub cyfra (opcjonalne)

& dowolny znak (wymagane)

C dowolny znak (opcjonalne)

* - puste miejsca przekształcane w spacje

Maska wprowadzania danych – symbole zastępcze

Symbol Opis

< wymuszanie małych liter

> wymuszanie dużych liter

! wypełnianie pola od prawej do lewej (włączenie w ! wypełnianie pola od prawej do lewej (włączenie w

dowolnym miejscu maski)

\ Znaki po ukośniku występują literalnie (np. \A daje A)

.,:;-/ separatory dziesiętne, tysięcy, daty i godziny

Password ukrycie wprowadzanych znaków

Maska wprowadzania danych - przykłady

Dane Maska Rezultat

ab1234567 LL0000000 ab1234567

ab1234567 >LL0000000 AB1234567

ab1234567 <L>L0000000 aB1234567

kra1rt5 >LLL AAAA KRA 1RT5

30121 00\-000 30-121

126624762 \(00\) 000\-00\-00 (12) 662-47-62

65062112345 00000000000 65062112345

7351379054 000\-000\-00\-00 735-137-90-54

dorota >L<?????????????? Dorota

Reguły poprawności danych

� warunki jakie muszą spełniać wartości

wprowadzane do pola danych

� definiuje się je za pomocą Kreatora wyrażeń i

klawiaturyklawiatury

� należy określać podczas definiowania struktury

tabeli

� należy równocześnie zdefiniować komunikat

pojawiający się w wyniku niespełnienia reguły

poprawności

Reguły poprawności danych - operatory

� operatory porównania: =, <, >, <=, >=, <>

� LIKE – porównanie z wzorcem z pomocą znaków

? (pojedynczy znak), * (dowolny ciąg znaków),

# (pojedyncza cyfra), [b-t] (dowolny znak z

zakresu)

� operatory SQL:� IN (lista wartości) - np. IN (0; 0,1; 0,5)

� BETWEEN … AND … - np. BETWEEN #13-07-74# AND #13-07-98#

� IS [NOT] NULL – np. testy IS NULL

� operatory logiczne AND i OR

Wartość domyślna

� wartość domyślna jest wyświetlana automatycznie w

polu w chwili dodawania nowego rekordu

� wartość może być liczbą, ciągiem znaków,

wyrażeniem lub funkcją wbudowaną w MS Access

Przykłady:

� =0,05

� =Date()

� =Now()

Modyfikacja definicji tabel

Wykonywane na polach tabeli:

� zmiana nazwy pól

� zmiana rozmiaru pola

� zmiana typu danych w polach� zmiana typu danych w polach

� zmiana wartości domyślnej

� zmiana reguł poprawności

� wprowadzenie indeksowania

� zmiany innych właściwości pola

Modyfikacja definicji tabel

Wykonywane w całej tabeli:

� zmiana kolejności pól w strukturze tabeli

(zaznaczenie i przesunięcie)

� usunięcie pola

� dodanie pola (dodawane przed zaznaczonym

wierszem)

� wprowadzenie lub usunięcie indeksu

� zmiana reguł poprawności

� komunikat przy naruszenia reguł poprawności

Relacje – związki pomiędzy tabelami

Relacje – związki między tabelami umożliwiające logiczne

powiązanie danych w wielu tabelach

Relacje - rodzaje

� jeden-do-jeden

� jeden-do-wielu

� wiele-do-wielu� wiele-do-wielu

Tworzenie relacji

� wymagane jest istnienie kluczy podstawowych

(Primary Key)

� wskazane jest aby w jednej z tabel istniał tzw. klucz

obcy, który jest polem wspólnym z tabelą nadrzędną

� wykonywane są w oknie Narzędzia/Relacje techniką � wykonywane są w oknie Narzędzia/Relacje techniką

drag-and-drop lub za pomocą Kreatora odnośników

� można wskazać więzy integralności dotyczące

kaskadowego aktualizowania i/lub usuwania

rekordów powiązanych

� można wskazać typ połączenia między tabelami

Relacje - uwagi

� relacje mogą być oparte tylko na polach mających zgodne typy danych

� relacje umożliwiają kontrolę warunków intergralności referencyjnej (taka sama wartość pola po stronie "wiele" jaka istniej po stronie "jeden")

� w przypadku relacji opartych o klucze złożone wymagana jest � w przypadku relacji opartych o klucze złożone wymagana jest zgodność liczby pól w indeksach obu tabel

� wszystkie relacje widoczne są w tzw. schemacie relacji, który jest graficzną formą prezentacji związków pomiędzy tabelami

� usunięcie lub modyfikacja relacji wymaga jej wcześniejszego wskazania

� modyfikacja własności relacji jest możliwa po dwukrotnym kliknięciu na linii będącej reprezentacją graficzną związku

Wprowadzanie danych w arkuszu danych

� wypełnianie arkusza danych poprzez wpisywania danych, kolumny

są polami tabeli, a wiersze – rekordami

� aktualny rekord oznaczony jest znakiem selektora rekordów �

� zatwierdzenie (zapisanie) danych w rekordzie następuje w

momencie przejścia do innego rekordu lub zamknięcia tabelimomencie przejścia do innego rekordu lub zamknięcia tabeli

� miejsce wprowadzania nowego rekordu oznaczone jest symbolem

gwiazdki

� podczas wprowadzania danych można otworzyć okno dialogowe

Powiększ - <Shift+F2>

� nowe rekordy wstawiane są domyślnie na końcu arkusza danych

� nowe rekordy można wstawiać poprzez zaznaczenie rekordów

źródłowych i wklejenie zawartości schowka