BAZA DANYCH - MS ACCESS
WYKŁADY
dr inż. Piotr Muryjas
Instytut Informatyki
Politechnika Lubelska
BAZA DANYCH ECDL
EGZAMINATORZY
Id-egzaminator TEKST (4)
Nazwisko TEKST (25)
Imię TEKST (15)
Kod-poczta TEKST (5)
Miasto TEKST (15)
Ulica TEKST (30)
Numer TEKST (8)
Tel TEKST (12)
Fax TEKST (12)
E-mail TEKST (30)
EGZAMINY
nr-egz LICZBA
Id-student <FK1> TEKST (7)
Id-przedmiot <FK2> LICZBA
Id-egzaminator <FK3> TEKST (4)
Data-egz DATA
Id-osrodek <FK4> LICZBA
zdał TAK/NIE
STUDENCI
Id-student TEKST (7)
Nazwisko TEKST (25)
Imię TEKST (15)
Data-ur DATA
Miejsce TEKST (15)
PESEL TEKST (11)
Kod-poczta TEKST (5)
Miasto TEKST (15)
Ulica TEKST (30)
Numer TEKST (8)
Tel TEKST (12)
Fax TEKST (12)
E-mail TEKST (30)
nr-ECDL TEKST (9)
data-ECDL DATA
OSRODKI
Id-osrodek LICZBA
nazwa-o TEKST (30)
Kod-poczta TEKST (5)
Miasto TEKST (15)
Ulica TEKST (30)
Numer TEKST (8)
PRZEDMIOTY
Id-przedmiot LICZBA
nazwa-p TEKST (40)
opis TEKST (200)
przeprowadza
zdaje
jest tematem
jest miejscem
©Piotr Muryjas,
Instytut Informatyki, Politechnika Lubelska
2
OBIEKTY BAZY DANYCH ACCESS
Baza danych - zbiór obiektów, umożliwiających gromadzenie, prezentowanie
i wykonywanie operacji na danych.
Rodzaje obiektów:
• tabele - miejsce przechowywania danych
• kwerendy (zapytania) - konstrukcje umożliwiające wykonywanie operacji na
danych (wyświetlanie, aktualizowanie, usuwanie, kopiowanie)
• formularze - elementy interfejsu użytkownika, umożliwiające prezentowanie
i wprowadzanie danych do BD
• raporty - konstrukcja umożliwiająca budowę zestawień danych w różnych
przekrojach informacyjnych
• makra - zbiory akcji wykonywanych na obiektach BD np. na formularzach,
zapytaniach
• moduły - zbiory funkcji i procedur wykonywanych w makrach lub podczas
zaistnienia zdarzeń skojarzonych z elementami formularzy
Z
ASADY NAZYWANIA OBIEKTÓW
BD A
CCESS
• nazwa obiektów zawiera max 64 znaki, łącznie ze spacjami
• nazwa nie może zawierać znaków "!" - wykrzyknik, "." - kropka, "[]" - nawiasy
prostokątne, "'" - cudzysłów
• w nazwach nie są rozróżniane duże i małe litery
• nazwy obiektów powinny być niepowtarzalne w poszczególnych grupach
obiektów
• nazwa obiektu powinna precyzyjnie określać rodzaj obiektu i wskazywać na jego
zawartość informacyjną
• nazwy nie powinny być zbyt długie
©Piotr Muryjas,
Instytut Informatyki, Politechnika Lubelska
3
Przykłady poprawnych nazw obiektów BD ACCESS:
1/
Egzaminy ECDL
2/
Egzaminy_ECDL
3/
1998 Egzaminy w Lublinie
Z
ASADY ODWOŁYWANIA SIĘ DO OBIEKTÓW
BD 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. Egzaminatorzy_dane
• element_obiektu - nazwa pola tabeli, pola kwerendy lub elementu formularza
• własność_elementu - nazwa własności pola kwerendy, elementu formularza lub
raportu
Przykłady:
1.
[Ośrodek]![Nazwa-o]
2.
Formularze![Egzaminatorzy_dane]![Id-egz]
3.
Formularze![Egzaminatorzy_dane]![Id-egz].Visible
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
4
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
5
TYPY DANYCH W BD ACCESS
Typ danych – zbiór możliwych wartości pola tabeli (dziedzina)
N
AZWA TYPU
O
PIS
TEKST
Typ znakowy o max liczbie n znaków; n - max 255
MEMO (NOTA)
Typ znakowy, max 65 535 znaków
LICZBA
Bajt – liczby naturalne od 0 do 255
Liczba całkowita – liczby całkowite od -32 768 do 32 767
Liczba całkowita długa – liczby całkowite od -2 147 483 648 do 2 147 647
Pojedyncza precyzja – liczby rzeczywiste od -3.402823E38 do 3.402823E38
Podwójna precyzja – liczby rzeczywiste od –1.7976931349E308 do
1.7976931349E308
DATA/GODZINA Data i czas
WALUTOWY
Typ liczbowy, 2 miejsca po przecinku
AUTONUMER
Typ liczbowy; kolejne lub losowe liczby automatycznie generowane przez
SZBD MS Access
TAK/NIE
Typ logiczny; przyjmujący tylko dwie wartości PRAWDA lub FAŁSZ
OLE OBJECT
Obiekt utworzony w dowolnej aplikacji posługującej się techniką OLE (np.
obrazy, wykresy)
HIPERŁĄCZE
Typ znakowy tworzących adres hiperłącza do strony WWW, pliku lub
miejsca w pliku
U
WAGI DOTYCZĄCE STOSOWANIA TYPÓW DANYCH
Typ TEKST:
• przeznaczony dla pól zawierających ciągi dowolnych znaków lub pól
zawierających liczby (cyfry), które nie podlegają operacjom matematycznym np.
kod pocztowy, numer telefonu, numer domu i mieszkania
Typ WALUTOWY:
• przeznaczony dla pól zawierających wartości wyrażone w jednostkach
monetarnych lub procentach
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
6
Typ LICZBA:
• przeznaczony dla danych, na których będą wykonywane obliczenia matematyczne
(z wyjątkiem danych reprezentujących wartości wyrażone w jednostkach
monetarnych)
• należy wybierać typ, którego zakres jest zgodny z przewidywanym zakresem
zmienności wartości pola
• wybór rozmiaru typu większego niż jest to konieczne wydłuża czas przetwarzania
danych oraz powoduje zwiększenie zajętości pamięci dyskowej
Typ AUTONUMER:
• liczby generowane w sposób ciągły począwszy od 1 lub wybierane losowo
• zapewnia niepowtarzalność wartości w danym polu
• używany dla pól, które są elementem klucza głównego (PRIMARY KEY)
Typ HIPERŁĄCZE:
• umożliwia odwoływanie się z poziomu bazy danych do danych typu strona
WWW, określone miejsce na stronie WWW, dokument, zakładka dokumentu,
arkusz kalkulacyjny (konkretna komórka lub blok komórek), prezentacja
graficzna lub jej wskazany slajd, formularz lub raport bazy danych MS Access
• dana typu HIPERŁĄCZE może składać się z trzech części oddzielonych znakiem
#:
tekst_wyświetlany#adres_danych#podadres
np. WSPA#www.wspa.lublin.pl
BD#D:\WSPA\WYKŁADY\bazy.doc
ECDL#D:\WSPA\ecdl.mdb#Form
Egzaminowani
Slajd#D:\WSPA\prezent.ppt#5
Oceny#D:\WSPA\zaliczenie.xls#OCENY
dana typu HIPERŁĄCZE musi obowiązkowo zawierać część adres_danych;
pozostałe części są opcjonalne
•
• każda część adresu może zawierać max 2048 znaków
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
7
K
ONWERSJA TYPÓW DANYCH
Z
Na
Uwagi
Wszystkie typy
Memo
Usunięcie indeksów
Tekst
Długość typu - max 255 znaków
Tekst Liczba,
Waluta Tekst zawiera tylko cyfry
Data/Godzina
Tekst zawiera datę w akceptowanym formacie
Tak/Nie
Tekst zawiera słowa: Tak, Nie, Prawda, Fałsz,
True, False
Liczba Waluta Brak ograniczeń konwersji
Tak/Nie
Liczby z przedziału <-0,5; 0,5> lub wartość NULL
zamieniana jest na wartość Nie; każda inna
wartość - na Tak
Data/Godzina Liczba
Brak ograniczeń konwersji
Walutowy Liczba
Brak ograniczeń konwersji
Tak/Nie
Ograniczenia jak dla konwersji Liczba
→ Tak/Nie
Autonumer Liczba
Brak ograniczeń konwersji
Tak/Nie Liczba,
Waluta Wartość Tak
→ -1, Nie → 0
F
ORMATY DANYCH
Format 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 określony jest w definicji tabeli dla każdego pola typu Tekst,
Memo, Liczba, Walutowy, Data/Godzina oraz Tak/Nie.
• Format danych dotyczy wszystkich wartości przechowywanych w danym polu.
• Format danych zdefiniowany w tabeli stosowany jest także w graficznej
reprezentacji tych danych w formularzach lub raportach (tzw. formantach).
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
8
F
ORMATY DANYCH NUMERYCZNYCH I LOGICZNYCH
Formaty standardowe:
• Liczba ogólna – wyświetlanie liczby w postaci, w jakiej ją wprowadzono
• Walutowy – wyświetlanie liczby w formacie waluty, zgodnie z ustawieniami
środowiska MS Windows
• Stałoprzecinkowy – wyświetlanie liczby z dokładnością do dwóch miejsc po
przecinku
• Standardowy – format stałoprzecinkowy z wprowadzeniem separatora grup
tysięcy
• Procent – liczba wyświetlana ze znakiem %
• Wykładniczy – wyświetlanie liczb w postaci nEm tzn. n10
m
Formaty niestandardowe:
• , (przecinek) – separator części dziesiętnej np. 999,99 (zgodnie z ustawieniami
w środowisku MS Windows)
• spacja – separator grup tysięcy np. 999 999
• 0 – wyświetla cyfry lub zera wiodące, jeśli na pozycji nie występuje cyfra np.
099,00
• # – wyświetla cyfry lub nic, jeżeli na pozycji nie występuje cyfra np. ##,##
P
RZYKŁADY ZASTOSOWANIA FORMATÓW DANYCH NUMERYCZNYCH
Dana
Format
Rezultat wyświetlany
190665,505 Liczba
ogólna
190665,505
190665
Waluta
190 665,00 zł
190665,65 Stałoprzecinkowy 190665,65
190665,65 Standardowy
190
665,65
0,5 Procent 50%
190665 Wykładniczy 1,91E05
190665
000 000,00
190 665,00
19066
### ###,##
19 066,
-0,5 00,00
-00,50
-0,65 ##,##
-,65
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
9
F
ORMATY DANYCH TYPU
DATA/GODZINA
• C lub Data ogólna - data wyświetlana w postaci skróconej np. 19-06-65 15:30
• DDDDDD lub Data pełna - postać daty: Wtorek 19 czerwca 1965
• Data średnia - postać daty: 19 VI 1965
• DDDDD lub Data krótka - postać daty: 65-06-19 (zgodnie z ustawieniami
środowiska MS Windows) (tylko daty od 00-01-01 do 29-12-31 dotyczą XXI
wieku)
• Godzina pełna - godzina wraz z sekundami np. 15:30:55
• Godzina średnia - godzina zapisana w notacji anglosaskiej np. 03:30PM
• Godzina krótka - godzina wraz z minutami np. 15:30
• znaki "-", "/", "," - separatory dni, miesięcy, roku w dacie
• znak ":" - separator godzin i minut
• D - dzień miesiąca (1-31)
• DD - dzień miesiąca (01-31)
• DDD - skrócona nazwa dnia tygodnia (Pon, Śro, Sob)
• DDDD - pełna nazwa dnia tygodnia (Poniedziałek, Środa, Sobota)
• W - numer dnia w tygodniu (1-7)
• WW - numer tygodnia w roku (1-54)
• M - numer miesiąca (1-12)
• MM - numer miesiąca (01-12)
• MMM - numer miesiąca (I-XII)
• MMMM - pełna nazwa miesiąca (Stycznia, Listopada)
• R - numer dnia w roku (1-366)
• RR - Rok (00-99)
• RRRR - Rok (0100-9999)
• G - godzina (0-23)
• GG - godzina (00-23)
• M - minuty (0-59)
• MM - minuty (00-59)
• AM/PM - oznaczenie pory dnia
P
RZYKŁADY ZASTOSOWANIA FORMATÓW TYPU DATY
Dana
Format
Rezultat wyświetlany
19-06-1965 DD-MM-RRRR
19-06-1965
19-06-1965 DD/MM/RR
19/06/65
19-06-1965 DDDD
DD-MM-RR Wtorek 19-06-65
12-10-1967 DD-MMM-RR
12-X-67
24-04-1998
DD, MMMM RRRR
24, kwietnia 1998
12-10-1967 RRRR/MM/DD
1967/10/12
12-10-1967 DDDDD
12-10-67
10:45 GG:MM
10:45
15:45 GG:MM
15:45
15:45
GG:MM AM/PM
03:45 pm
F
ORMATY DANYCH TYPU
TEKST
• @ - wyświetlany jest wprowadzony tekst lub znak; jeśli nie ma znaku
wyświetlana jest spacja z lewej strony
• & - wyświetlany jest wprowadzony tekst lub znak; jeśli nie ma znaku nic nie jest
wyświetlane
• > - wprowadzony tekst wyświetlany jest jako duże litery (faktycznie
przechowywane są znaki tak jak je wprowadzono)
• < - wprowadzony tekst wyświetlany jest jako małe litery (uwaga j.w.)
P
RZYKŁADY ZASTOSOWANIA FORMATÓW DANYCH TYPU
TEKST
Dana
Format
Rezultat wyświetlany
Jan
@@@@@
Jan
Jan &&&&&
Jan
Adam >
ADAM
ADAM <
adam
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
10
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
11
O
GÓLNE FORMATY WYŚWIETLANIA DANYCH
a) mogą być użyte w definicji formatu dla danych dowolnego typu
b) modyfikują formaty wyświetlania zdefiniowane przez użytkownika (formaty
niestandardowe)
c) dotyczą następujących możliwości:
• wyświetlania dowolnego ciągu znaków w polu poprzez umieszczenie tekstu
pomiędzy znakami "" np. "Dnia" DD-MM-RR
• wyświetlania dowolnego jednego znaku w polu poprzez umieszczenie go po
znaku \ (backslash)
• wyświetlania w polu znaku spacji
• wymuszenia lewostronnego wyrównania danych w polu - znak !
• wypełniania wolnego miejsca w wyświetlanym polu podanym znakiem - *
znak
• wyświetlanie wartości pola w określonym kolorze - umieszczenie koloru
w nawiasach prostokątnych np. [czerwony], [zielony], [niebieski], [błękitny],
[purpurowy]
P
RZYKŁADY ZASTOSOWANIA OGÓLNYCH FORMATÓW DANYCH
Dana
Format
Rezultat wyświetlany
14-02-2002
"Dnia: " DDDDD
Dnia: 14-02-02
0500324 "PL-"@@@@@ PL-0500324
Adam >
[Niebieski]
ADAM
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
12
M
ODYFIKACJA FORMATU WYŚWIETLANIA DANYCH
a) modyfikacja dotyczy różnego sposobu wyświetlania danych w zależności od
wartości pola tabeli
b) modyfikacja formatu polega na umieszczeniu definicji formatu w sekcjach
oddzielonych znakiem średnika (od jednej do czterech sekcji)
c) dla danych liczbowych i walutowych definicja formatu może być umieszczona
w 4-ech sekcjach i dotyczy kolejno sposobu wyświetlania liczb (kwot) dodatnich,
liczb (kwot) ujemnych, wartości zero lub nieokreślonej
d) dla danych tekstowych definicja formatu może być umieszczona w 3-ech
i dotyczy kolejno sposobu wyświetlania ciągu znaków o niezerowej długości,
ciągu znaków o zerowej długości (dwa znaki "") oraz wartości nieokreślonej
e) dla danych typu logicznego definicja formatu może być umieszczona w 3-ch
sekcjach; pierwszej sekcji nie definiuje się, w drugiej sekcji określony jest sposób
wyświetlania wartości PRAWDA, w trzeciej - wartości FAŁSZ
f) możliwe jest pominięcie definicji w dowolnej sekcji; wówczas domyślnie jest
przyjmowana definicja z sekcji poprzedniej
P
RZYKŁADY MODYFIKACJI FORMATÓW
Dana
Format
Rezultat wyświetlany
-150 ###;"Debet";"Stan
zerowy"
Debet
0
###;"Debet";"Stan zerowy"
Stan zerowy
NULL
###;"Debet";###; "Nieznane saldo"
Nieznane saldo
NULL
>; "Brak"; "Nieznany"
Nieznany
""
>; "Brak"; "Nieznany"
Brak
PRAWDA ;"Zapłacono";"Do zapłacenia" Zapłacono
FAŁSZ ;"Zapłacono";"Do zapłacenia" Do
zapłacenia
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
13
M
ASKA WPROWADZANIA DANYCH
Maska - szczegółowy sposób określenia sposobu wprowadzania i wyświetlania
danych
a) maska pozwala dokładnie określić rodzaj znaków (litery, cyfry, spacje), które
muszą zostać wprowadzone w danym miejscu pola
b) symbole
używane w maskach:
0 - dowolna cyfra (bez znaku), która musi zostać wprowadzona (wymagalność
wprowadzenia)
9 - dowolna cyfra (bez znaku), która może zostać wprowadzona lub puste miejsce
(opcjonalność wprowadzenia)
# - dowolna cyfra (ze znakiem lub bez) lub nic (opcjonalność wprowadzenia)
L - dowolna litera, która musi zostać wprowadzona (wymagalność
wprowadzenia)
? - dowolna litera lub nic (opcjonalność wprowadzenia)
A - dowolna litera lub cyfra, która musi być wpisana (wymagalność
wprowadzenia)
a - dowolna litera, cyfra lub nic (opcjonalność wprowadzenia)
& - dowolny znak, który musi być wpisany (wymagalność wprowadzenia)
C - dowolny znak lub nic (opcjonalność wprowadzenia)
> - zamiana liter następujących po znaku na duże
< - zamiana liter następujących po znaku na małe
! - wypełnianie pola od prawej do lewej
Password - ukrycie wprowadzanych znaków
c) maska
umożliwia kontrolę poprawności danych tylko na etapie ich
wprowadzania do pola tabeli lub modyfikacji, nie umożliwia kontroli
poprawności wartości dla danych już przechowywanych w bazie danych
d) maska wykorzystywana jest także podczas wprowadzania danych
w formularzach (w tzw. formantach)
e) maska ignorowana jest podczas importowania danych z plików zewnętrznych
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
14
P
RZYKŁADY ZASTOSOWANIA MASKI WPROWADZANIA
Dana
Maska
Rezultat
wl5188999 LL00000
wl5188999
wl5188999 >LL0000000 WL5188999
wl5188999 <L>L0000000 wL5188999
LBN5485
LLL 000A
LBN 5485
WXG800R LLL000A
WXG800R
20141 00\-000 20-141
815252046 \(00\)
000\-00\-00 (81)
525-20-46
65061900060 00000000000
65061900060
beata >L<??????????
Beata
U
WAGI DOTYCZĄCE STOSOWANIA MASKI WPROWADZANIA DANYCH
• Zdefiniowanie maski dla danych typu tekstowego wymaga, by ilość znaków maski
była równa rozmiarowi pola; jeśli rozmiar pola jest większy od ilości znaków
maski, wówczas nie będzie możliwe wprowadzenie większej liczby znaków równej
zadeklarowanemu rozmiarowi pola.
• Jeśli dla danego pola zdefiniowano format oraz maskę wprowadzania, to wyższy
priorytet posiada definicja formatu wyświetlania (maska nie jest brana pod
uwagę).
• Definicja maski zazwyczaj nie jest przechowywana w BD; jednak można ją
zapamiętać stosując postać maski składającą się z sekcji (0 - oznacza
zapamiętanie maski, 1 - pominięcie):
00\-000;0 lub 00\-000;1
• Istnieje możliwość zmiany standardowego sposobu szablonu wprowadzania
danych ze znaku podkreślenia _ na inny znak; wymaga to wskazania w trzeciej
sekcji definicji maski nowego znaku wyświetlania:
00\-000;1;# lub 00\-000;1;*
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
15
DEFINIOWANIE BAZY DANYCH ACCESS
1. Definicja struktury tabeli.
2. Definicja indeksów w tabeli.
3. Definicja związków pomiędzy tabelami.
4. 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.
Definiowanie obiektów BD odbywa się z poziomu centrum sterowania, w którym
dostępne są różne kategorie obiektów (tabele, kwerendy, formularze, raporty, makra,
moduły).
D
EFINIOWANIE TABEL
1. Wykorzystanie kreatora tabel:
• automatyczne definiowanie tabel,
• łatwość i duża szybkość definiowania poszczególnych tabel i ich pól,
• standardowe wzorce tabel,
• konieczność uzupełnienia definicji istniejących obiektów i ich elementów,
• konieczność wprowadzenia warunków integralności dla poszczególnych pól,
• konieczność definiowania dodatkowych indeksów.
2. Definiowanie tabel według wymagań projektanta:
• dostosowania struktury tabel do indywidualnych potrzeb użytkownika BD,
• definiowanie własności pól z użyciem dowolnych formatów dla danego typu
danych,
• możliwość definiowania indeksów opartych na dowolnych polach,
• przyjazny interfejs definiowania związków pomiędzy tabelami (tzw. relacji)
oraz określanie rodzaju związku.
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
16
T
ECHNIKA DEFINIOWANIA STRUKTURY TABEL
1. Określenie nazwy pola tabeli (kolumna Nazwa pola).
2. Wskazanie typu danego pola (kolumna Typ danych) poprzez wybór z listy.
3. Opcjonalnie wprowadzenie opisu zawartości informacyjnej pola (kolumna Opis).
4. Zdefiniowanie własności pola (wykorzystanie kreatorów).
5. Powtórzenie kroków 1-4 dla kolejnych pól tabeli.
6. Zapisanie tabeli pod właściwą nazwą.
Uwagi dotyczące definiowania pól tabeli:
a) dla każdego pola należy zdefiniować własności, które szczegółowo charakteryzują
pola i ułatwiają wprowadzanie wartości do tabeli
b) rodzaj właściwości zależy od wybranego typu danych
c) projekt tabeli powinien być wykonany ze szczególną starannością
d) na etapie definiowania tabeli często wykonuje się także określenia jej indeksów
W
ŁAŚCIWOŚCI PÓL
• Rozmiar pola - max liczba znaków (255) lub zakres liczb
• Format - sposób wyświetlania wprowadzonych danych np. @@@@@ lub Bajt
• Maska wprowadzania - szczegółowy sposób wyświetlania danych podczas ich
wprowadzania np. LL0000000, ###,##
• Tytuł - etykieta pola, wyświetlana podczas prezentowania danych z tabeli (zamiast
nazwy pola)
• Wartość domyślna - wartość przypisywana automatycznie do pola w nowym
rekordzie
• Reguła poprawności - warunek jaki muszą spełniać wprowadzane dane
• Komunikat o błędzie - komunikat wyświetlany w sytuacji, gdy wprowadzone dane
nie spełniają reguł poprawności
• Wymagane - czy pole musi być wypełnione w rekordzie (Tak/Nie)
• Zerowa długość dozwolona - dozwolony ciąg znaków o zerowej długości tj. ""
• Indeksowane - tworzenie indeksu opartego na danym polu
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
17
D
EFINIOWANIE REGUŁ POPRAWNOŚCI
Reguły poprawności:
• to warunki, jakie muszą spełniać wartości wprowadzane do pola danych
(własność pola tabeli) np. Data-ECDL = Date()
• to warunki, jakie muszą spełniać dane w całym rekordzie tzn. odwołujące się do
innych pól w rekordzie (własność tabeli) np. Data-ur < Data-ECDL
• można definiować przy pomocy kreatora wyrażeń lub bezpośrednio z klawiatury
• nie mogą zawierać więcej niż 255 znaków
Operatory używane w regułach poprawności:
• operatory porównania: <, >, <=, >=, <>
• operator LIKE - możliwe porównanie z zadanym wzorcem, zdefiniowanym przy
pomocy znaków ? (pojedynczy znak), * (dowolny ciąg znaków), # (pojedyncza
cyfra), [k-z] dowolny znak z podanego zakresu, [!k-z] - dowolny znak nie
należący do podanego zakresu
• operatory SQL:
IN (lista_wartości) np. IN (0; 0,07; 0,22), IN (0; 1)
BETWEEN ... AND ... np. BETWEEN #19-06-65# AND #19-06-98#
IS [NOT] NULL np. nr-ECDL IS NULL
• operatory logiczne AND i OR używane do łączenia wielu warunków (operator
AND ma wyższy priorytet od operatora OR)
Przykłady:
1.
LIKE "[M]*" OR LIKE "[K]*"
2.
NOT LIKE "[p-z]*"
3. <
"Nowak"
4.
Data-ur < #19-06-65#
5.
Data-ECDL > Data-ur
6.
nr-modulu BETWEEN 1 AND 7
7.
IN ("Gotówka"; "Czek")
8.
IN (100; 200)
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
18
K
ONTROLA REGUŁ POPRAWNOŚCI
• reguły poprawności należy określać podczas definiowania struktury tabel
• reguły poprawności sprawdzane są podczas modyfikacji istniejących rekordów
lub wprowadzania danych do nowych rekordów
• nowe reguły dla tabel zawierających dane mogą być sprawdzane podczas ich
zapisu do BD
• modyfikacja reguł w tabeli zawierającej dane może doprowadzić do ich
odrzucenia lub akceptacji
• akceptacja nowych reguł w sytuacji istnienia rekordów, które ich nie spełniają nie
powoduje usunięcia tych rekordów z BD
• nowe reguły poprawności obowiązują dla tych rekordów, które są modyfikowane
lub wprowadzane po zdefiniowaniu reguł
D
EFINIOWANIE WARTOŚCI DOMYŚLNEJ
•
nadawanie wartości domyślnej ułatwia i przyspiesza wypełnianie pól
• wartość domyślna może być ciągiem znaków (tekstem), liczbą, wyrażeniem lub
funkcją wbudowaną w MS Access
• wartość domyślna jest przypisywana do pól tylko dla nowych rekordów
• nadawanie wartości domyślnej może odbywać się przy wykorzystaniu kreatora
wyrażeń
• wartość domyślna może być określona dla wszystkich typów z wyjątkiem typu
AUTONUMER i OLE OBJECT
Przykłady:
1. =
0,07
2. =Date()
3. =Now()
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
19
P
RECEDENSY PÓL PUSTYCH I PRAWIE PUSTYCH
Wymagane
Zerowa długość
Znak w polu
Wartość pola
Enter
Puste
(NULL)
Nie Nie
Spacja
Puste
(NULL)
""
Błąd
Enter
Puste
(NULL)
Nie Tak
Spacja
Puste
(NULL)
""
""
Enter
Błąd
Tak Nie
Spacja
Błąd
""
Błąd
Enter
Błąd
Tak Tak
Spacja
""
""
""
• pole puste zawiera wartość NULL, natomiast pole prawie puste - ciąg znaków
o zerowej długości tzn. ""
• pola puste i prawie puste są jednakowo wyświetlane na ekranie
• pola puste i prawie puste można formatować zgodnie z regułami podanymi dla
poszczególnych sekcji typów danych, prowadząc w ten sposób do rozróżnienia
tych dwóch wartości
T
WORZENIE INDEKSÓW
Indeksy to konstrukcje, które:
• przyspieszają wyszukiwanie danych w tabelach;
• umożliwiają określanie związków między tabelami tzn. definiowanie relacji;
• można definiować na etapie tworzenia tabeli, poprzez określenie własności
Indeksowane jako Tak lub w dowolnym momencie istnienia BD poprzez wybór
opcji umożliwiającej indeksowanie;
• powinno się tworzyć podczas definiowania struktury danych.
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
20
Atrybuty indeksów:
• Podstawowy - klucz posiada własność Primary Key tj. klucza głównego
• Unikatowy (Unique) - każda wartość w polu jest niepowtarzalna (unikalna)
• Ignoruj Null - pozwala pominąć w indeksie wartości pól równe NULL
(zmniejszenie rozmiaru indeksu)
Rodzaje indeksów:
• proste - indeks oparty na jednym polu; indeksy proste można definiować poprzez
ustawienie własności Indeksowane jako Tak
• złożone - indeks oparty na wielu polach (max 10); konieczne jest wykorzystanie
opcji Widok/Indeksy
Uwagi dotyczące tworzenia indeksów:
• dla jednej tabeli można utworzyć max 32 indeksy
• indeksy identyfikowane są poprzez niepowtarzalne nazwy, które można dowolnie
zmieniać (nie zaleca się zmiany nazwy zastrzeżonej Primary Key dla klucza
głównego)
• dla indeksów prostych domyślną nazwą indeksu jest nazwa pola, na którym
oparty jest indeks
• indeksy proste, definiowane przy pomocy własności pola Indeksowane mogą mieć
jeden z atrybutów: Tak(Duplikaty OK), Tak(Bez duplikatów) lub Nie
• definicja indeksów złożonych wymaga przyporządkowania do jednej nazwy
indeksu wielu pól wchodzących w skład indeksu
• indeksy proste i złożone charakteryzują się określonymi atrybutami
• próba zdefiniowania indeksu unikalnego dla pola zawierającego wartości
powtarzające się kończy się niepowodzeniem
• w definicji indeksów określa się także porządek sortowania rekordów (Rosnąco
lub Malejąco)
• nie można usunąć indeksu typu Primary Key lub unikatowego, jeśli wchodzi on
w skład definicji związków między tabelami (konieczne jest uprzednie usunięcie
relacji)
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
21
M
ODYFIKACJA DEFINICJI TABEL
Obejmuje operacje:
1/ wykonywane na polach tabeli:
• zmiana nazwy pól – wykonywana bez ograniczeń
• zmiana rozmiaru pola – możliwość utraty informacji na skutek zmniejszenia
rozmiaru pola
• zmiana typu danych w polach – ograniczenia wynikające z konwersji danych
oraz istniejących związków między tabelami
• zmiana wartości domyślnej – wykonywana bez ograniczeń
• zmiana reguł poprawności – brak ograniczeń wykonania, jednak może
prowadzić do naruszenia zasad integralności dla już istniejących danych lub
odrzucenia nowej definicji reguł
• wprowadzenia indeksowania – ograniczenia wykonania dla indeksów
unikalnych oraz indeksu głównego
• zmiany innych właściwości pola (Format, Tytuł, ...) – brak ograniczeń
wykonania
2/ wykonywane na całej tabeli:
• zmiana kolejności pól w strukturze tabeli (zaznaczenie pól i przesunięcie na
odpowiednią pozycję)
• usunięcie pola (poprzez zaznaczenia wiersza z definicją pola, wciśnięcie
klawisza Delete)
• dodanie pola (wskazanie wiersza, przed którym nastąpi wstawienie nowego
pola a następnie wciśnięcie klawisza Insert)
• wprowadzenie lub usunięcie indeksu (wybór opcji lub ikony, określenie
własności Indeksowane dla pola)
• zmiana reguł poprawności – możliwe naruszenie zasad integralności
istniejących danych lub odrzucenie nowej definicji reguł
• zmiany komunikatu wyświetlanego przy naruszenia reguł poprawności
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
22
U
SUWANIE TABEL
• odbywa się w centrum sterowania
• nie jest możliwe usunięcie tabeli jeśli jest ona elementem relacji (konieczne jest
uprzednie usunięcie relacji)
• usunięcie tabeli jest operacją odwracalną (opcja Cofnij)
Z
WIĄZKI MIĘDZY TABELAMI
-
RELACJE
Relacje
– związki między tabelami, umożliwiające powiązanie danych w wielu
tabelach
Rodzaje relacji:
• jeden-do-jeden - jednemu rekordowi z pierwszej tabeli odpowiada dokładnie
jeden rekord z drugiej tabeli
• jeden-do-wielu - jednemu rekordowi z pierwszej tabeli odpowiada wiele rekordów
z drugiej tabeli
Typy połączeń:
a) równozłączenie (złączenie zawężające):
• złączenie oparte na równości wartości w polach tabel łączonych
• umożliwia wybieranie tylko tych rekordów z obu tabel, dla których wartości
w połączonych polach są równe
b) złączenie rozszerzające:
• lewe połączenie rozszerzające - umożliwia wybieranie wszystkich rekordów
z pierwszej tabeli i tylko tych rekordów z drugiej tabeli, dla których wartości
w połączonych polach są równe
• prawe połączenie rozszerzające - umożliwia wybieranie wszystkich rekordów
z drugiej tabeli i tylko tych rekordów z pierwszej tabeli, dla których wartości
w połączonych polach są równe
c) samopołączenie - powiązanie różnych pól tej samej tabeli.
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
23
T
WORZENIE RELACJI
a) wymaga istnienia kluczy indeksowych typu Primary Key lub unikatowego
b) wykonywane przez projektanta w oknie Relacje
Liczba związków łączących n tabel: n-1
Technika definiowania relacji:
1. Z poziomu centrum sterowania wybór ikony Relacje lub opcji Narzędzia/Relacje.
2. Wybór tabel, dla których będą definiowane relacje (o ile tabele te nie istnieją
jeszcze w schemacie relacji).
3. Użycie techniki drag-and-drop (złap i upuść) w celu wskazania pól wiążących
tabele.
4. Jeśli to konieczne, wymuszenie zachowania więzów integralności dotyczących
kaskadowego aktualizowania i/lub usuwania rekordów powiązanych.
5. Jeśli to konieczne, określenie typu połączenia między tabelami.
Uwagi dotyczące definiowania relacji:
• relacje umożliwiają kontrolę warunków integralności referencyjnej (tzn. dla
wartości pola po stronie "wiele" istnieje taka sama wartość po stronie "jeden"
związku między tabelami)
• relacja mogą być oparte tylko na polach mających zgodne typy danych
• definiowanie relacji opartych na kluczach złożonych wymaga zgodności liczby pól
w indeksach obu tabel
• relacja między tabelami odwzorowana jest graficznie za pomocą linii ciągłej
łączącej pola wiążące tabele
• wszystkie relacje zdefiniowane są w tzw. schemacie relacji, który jest graficzną
reprezentacją związków między tabelami
• usunięcie tabeli ze schematu nie powoduje usunięcia relacji, w skład której
wchodzi usuwana tabela; związki zdefiniowane między tabelami istnieją
niezależnie od faktu ich odwzorowania w postaci graficznej
• usunięcie lub modyfikacja relacji wymaga uprzedniego jej wskazania
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
24
• w schemacie relacji istnieje możliwość wyświetlania relacji bezpośrednich dla
danej tabeli (tj. takich, których elementem jest dana tabela) lub wszystkich relacji
• modyfikacja własności relacji następuje po dwukrotnym kliknięciu na linii będącej
graficzną reprezentacją związku i ustawieniu nowych własności
E
DYCJA DANYCH
Edycja danych może odbywać się w arkuszu danych lub w formularzu i obejmuje:
• modyfikację istniejących danych,
• wprowadzanie danych do tabeli,
• usuwanie danych z tabeli.
W
YŚWIETLANIE DANYCH W ARKUSZU DANYCH
a) dane wyświetlane są w postaci tabelarycznej (wiersz – rekord, kolumna – pole
tabeli)
b) możliwa jest modyfikacja sposobu wyświetlania danych (opcja Format) poprzez:
• zmianę czcionki (opcja Czcionka) lub sposobu wyświetlania komórki (opcja
Komórki)
• zmianę wysokości i szerokości kolumn (opcje Wysokość wiersza i Szerokość
kolumny)
• ukrycie kolumn - wskazane kolumny nie są wyświetlane w arkuszu danych
(opcja Ukryj kolumny)
• zablokowanie kolumn - zablokowane kolumny są widoczne z lewej strony okna
i nie znikają podczas poziomego przewijania arkusza (opcja Zablokuj kolumny)
• wyświetlenie lub wyłączenie siatki arkusza danych (opcja Linie siatki)
c) możliwa jest zmiana kolejności wyświetlanych kolumn (technika drag-and-drop)
d) przywrócenie wyświetlania arkusza danych w pierwotnej postaci - opcja
Format/Odkryj kolumny lub Format/Odblokuj kolumny
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
25
Globalna definicja standardowego sposobu wyświetlania danych w arkuszu danych
(opcja Narzędzia/Opcje) dotyczy:
• domyślnego wyświetlania/wyłączenia siatki, w której wyświetlane są wartości pól;
• domyślnej szerokości wszystkich kolumn arkusza danych;
• nazwy, rozmiaru i stylu domyślnej czcionki;
• efektu wyświetlania komórek.
N
AWIGACJA W ARKUSZU DANYCH
Nawigacja - proces poruszania się pomiędzy polami oraz rekordami
Nawigacja może odbywać się przy wykorzystaniu następujących klawiszy:
• F5 - przeniesienie kursora do pola numeru rekordu; możliwe wprowadzenie
numeru rekordu, do którego nastąpi przejście
• TAB lub ENTER - przejście do następnego pola
• SHIFT-TAB - przejście do poprzedniego pola
• END - przejście do ostatniego pola w rekordzie
• HOME - przejście do pierwszego pola w rekordzie
• Ctrl-END - przejście do ostatniego pola w ostatnim rekordzie
• Ctrl-HOME - przejście do pierwszego pola w pierwszym rekordzie
• Ctrl+
↓
- przejście do tego samego pola w ostatnim rekordzie
• Ctrl+
↑
- przejście do tego samego pola w pierwszym rekordzie
W
PROWADZANIE DANYCH W ARKUSZU DANYCH
• odbywa się poprzez wypełnianie arkusza danych, którego kolumny są kolejnymi
polami tabeli, a wiersze – rekordami
• rekord aktualnie edytowany jest oznaczony znakiem selektora rekordów
• pola posiadające wartość domyślną są automatycznie wypełnione
• wprowadzenie danych do rekordu, które jeszcze nie zostały zatwierdzone
sygnalizowane jest znakiem ołówka
• zatwierdzenie danych w rekordzie następuje w momencie przejścia do innego
rekordu lub zamknięcia tabeli
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
26
• miejsce wprowadzania nowego rekordu oznaczone jest symbolem gwiazdki
• podczas wprowadzania danych można otworzyć okno dialogowe Powiększ -
<Shift+F2>
• wstawianie nowych rekordów następuje domyślnie na końcu arkusza danych;
może odbywać się także poprzez zaznaczenie rekordów źródłowych i wklejenie
zawartości schowka
• wstawianie rekordów uprzednio skopiowanych do pamięci (schowka) wymaga
zastosowania techniki Wklej lub Dołącz i wklej
• wstawienie rekordów może powodować naruszenia klucza głównego, unikatowego
tabeli lub reguł poprawności
M
ODYFIKACJA DANYCH W ARKUSZU DANYCH
• wymagane jest przejście do rekordu, który będzie modyfikowany (nawigacja)
• jeśli to konieczne, należy przełączyć się z trybu nawigacji do trybu edycji przy
pomocy klawisza <F2>
• możliwe wykorzystanie opcji Edycja/Zamień
• nowe dane zostają utrwalone w tabeli tylko wówczas, jeśli spełniają reguły
poprawności zdefiniowane dla poszczególnych pól jak i dla całej tabeli
• nie można modyfikować wartości pola typu AUTONUMER
• podczas wprowadzania i modyfikacji danych numerycznych lub typu daty należy
zachować format wprowadzania zdefiniowany w środowisku MS Windows
• modyfikacja lub wprowadzanie danych typu logicznego może odbywać się poprzez
wstawienie jednej z wartości: 0, Nie, Wyłączony, Fałsz lub 1, Tak, Włączony,
Prawda
U
SUWANIE DANYCH W ARKUSZU DANYCH
• konieczne przejście do rekordu lub zaznaczenie grupy rekordów, które będą
usuwane (nawigacja)
©Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska
27
• usunięcie rekordu z jednej tabeli może prowadzić do usunięcia wielu rekordów
w innych tabelach powiązanych relacjami (własność relacji Kaskadowo usuwaj
powiązane rekordy)
• usunięcie rekordów jest operacją nieodwracalną