Bazy danych Access - kiaps.ar.krakow.plinfor:wyklad_2_-_t... · Obiekty baz danych Access tabele...
-
Upload
nguyentruc -
Category
Documents
-
view
222 -
download
1
Transcript of Bazy danych Access - kiaps.ar.krakow.plinfor:wyklad_2_-_t... · Obiekty baz danych Access tabele...
Obiekty baz danych Access
� tabele
� kwerendy (zapytania)
� formularze� formularze
� raporty
� makra
� moduły
Raporty
Służą do wyświetlania i drukowania sformatowanych danych oraz wyliczanych na ich podstawie sum i innych wartości
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
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
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