Baz danych, Access - pomoc


1. Zdefiniować pojęcia baza danych, system zarządzania bazą danych.  

Pojęcia i definicje bazy danych:

Baza danych jest to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiajacy dostęp do danych i operowanie nimi wg określonych kryteriów.
Bazą danych może byc np. zbiór danych o uczniach i ich ocenach czy kartoteka pacjentów w przychodni lekarskiej.
System zarządzajacy danymi w bazie i umozliwiający ich przetwarzanie nazywany jest systemem zarządzania bazą danych (DBMS - Data Base Management System)

System bazy danych składa się z  bazy danych i systemu zarządzania bazą danych

Baza danych
- zbiór danych i obiektów związanych z określonym tematem lub zadaniem.
Baza danych może zawierać tabele, kwerendy, formularze, raporty, makra i moduły.

Baza danych - zbiór wzajemnie powiązanych ze sobą informacji, przechowywanych w pamięci zewnętrznej komputera, służących w sposób optymalny jednemu lub wielu zastosowaniom.

Baza danych jest abstrakcyjnym, informatycznycm odzwierciedleniem wybranego fragmentu rzeczywistosci, zwanego miniświatem.
Bazą danych moze być np. zbiór danych o uczniach i ich ocenach czy kartoteka pacjentów.
W ścisłej nomenklaturze baza danych oznacza zbiór danych, który zarządzany jest przez system  Systemem zarządzania bazą danych - DBMS.

Baza danychzbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych.
W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych.
Program taki (często pakiet programów) nazywany jest "Systemem zarządzania bazą danych" (ang. DataBase Management System, DBMS).
Bazy danych operują głównie na danych tekstowych i liczbowych, lecz większość współczesnych baz umożliwia przechowywanie danych binarnych typu: grafika, muzyka itp.
System zarządzania bazą danych  - program zarządzający dostepem do bazy danych
SZBD jest oprogramowaniem ogólnego przeznaczenia ułatwiajacym procesy definiowania, konstruowania i przetwarzania baz danych dla różnych aplikacji:
Baza danych to dane i tzw. schemat bazy danych.
Dane opisują cechy modelowanych obiektów miniświata. Nie mogą być jednack właściwie interpretowane bez schematu.
Schemat bazy danych jest opisem struktury (formatu) przechowywanych danych oraz powiązań między nimi
Schemat bazy danych to m.in. tabele i relacje.
Schemat bazy danych to również diagram powiązań (relacji) między relacjami (tabelami).
Schemat bazy danych opisuje  strukturę bazy w formalnym języku obsługiwanym przez system zarządzania bazami danych (DBMS).
W relacyjnej bazie danych, schemat definiuje m.in. tabele, pola , relacje , widoki , indeksy, procedury , funkcje, typy , sekwencje , zmaterializowane perspektywy
i inne elementy.


Schemat relacji
Schematem relacji nazywamy zbiór R = {A1, A2, …, An},
gdzie: A1, A2, …, An są atrybutami, reprezentowanymi w tabeli poprzez nazwy kolumn.

Nazwa relacji oraz zbiór jej atrybutów nazywają się schematem relacji.


2. Wymienić modele baz danych 

Bazy danych mogą róznić się sposobem, w jaki dane są zorganizowane i powiazane ze sobą.
Przez model danych rozumiemy zbiór pojęć stosowanych do opisu struktury bazy danych.

Model bazy danych to zbiór zasad (specyfikacji), opisujących strukturę danych w bazie danych.
Określane są również dozwolone operacje.
Definiuje się strukturę danych poprzez specyfikację reprezentacji dozwolonych w modelu obiektów (encji) oraz ich związków.

Wśród modeli danych mozna wyróżnić następujące kategorie:

W informatyce głównymi modelami baz danych są:


3. Scharakteryzowac pojęcia: tabela, rekord (krotka, encja),  atrybut (pole) relacji, relacja.  

Pojedyncza tabela może być reprezentacją pewnej encji (np. książek, mieszkań, ludzi), relacji między nimi, albo może stanowić zawartość całej bazy danych.
Pojedynczy wiersz tabeli nazywany jest rekordem i stanowi najczęściej zbiór danych o pojedynczym obiekcie (ew. grupie obiektów).


Dane w bazie danych przechowywane są w strukturach zwanych tabelami.
Tabele są podstawowymi obiektami baz danych. Przechowują one dane wykorzystywane przez inne obiekty, np. zapytania, formularze, raporty.


Relacyjna baza danych oparta jest zwykle o kilka tablic danych, które powiązane są ze sobą przez pole o wspólnej nazwie.
Przykładem moze być baza hurtowni, zawierająca dane o klientach, towarach i wystawionych faktuirach.
Wszystkie te tabele pozwalają na wprowadzanie danych, przechowywanie w pamieci masowej, sortowanie, wyszukiwanie, wydruk

Tabela (table) - zbiór powiązanych ze sobą danych w BD, przedstawiony w postaci poziomych wierszy zwanych rekordami (krotki)
i pionowych kolumn zwanych polami rekordu.
Tablice  -tabele -  najczęstszy zapis relacji - wiersze tablic odpowiadają krotkom (rekordom), a kolumny atrybutom
Rekord w bazie danych jest konstrukcją analogiczną do rekordu w języku programowania.
Posiada strukturę wewnętrzną — podział na pola o określonym typie.
Rekordem może być wiersz pliku tekstowego, a pola mogą być określone poprzez pozycję w wierszu lub oddzielane separatorami.

W relacyjnych bazach danych rekord to jeden wiersz w tabeli, czyli jedna krotka w relacji.
Podczas przetwarzania wyników zapytań do bazy danych, które mogą zawierać połączone dane z kilku tabel, pojedynczy wiersz również jest nazywany rekordem
Krotka t - lub rekord albo encja - wiersz tablicy -  ciąg wartości  atrybutów , oznaczany przez t. 

Przykładową krotką jest <Kowalski, Jan, 35, 12000>
Krotką  t  dla danego schematu relacji  R(A1..An)  nazywamy ciąg wartoości <a1,..,an>, takich że,
a1 należy do dom(A1), ... an należy do dom(An)
Krotka - rekord - wiersz tabeli
Każda krotka zawiera wartość co najmniej jednego atrybutu o określonej dziedzinie, przedstawionego w postaci kolumny tablicy.
Atrybut A - lub pole albo kolumna tablicy- rodzaj danych, oznaczany przez A (np. Nazwisko lub Imię lub Wiek).

Z każdym atrybutem jest związany zbiór wartości, np. z atrybutem Wiek związany zbiór liczb z zakresu od 0 do 110,
z atrybutem Nazwisko zbiór łańcuchów znaków (napisów) o długości do 30 znaków.
Relacja
skończony zbiór krotek (rekordów)
posiadających taką samą strukturę (schemat) i różne wartości, przedstawionych w postaci wierszy tablicy.

r(A1,...,An) = {<a1,..,an>: a1 (- dom(A1), .. an (- dom(An)}
gdzie r(A1,..,An) jest relacją określoną na schemacie relacji R(A1,...,An)
Przykładową relacją jest
{<Kowalski, Jan, 35, 1200>, <Nowak, Piotr, 36, 2000>, <Zielińska, Anna, 25, 1400>}
Krotki relacji nie są uporządkowane, można zmieniać ich kolejność.

Na modelu relacyjnym oparta jest relacyjna baza danych (RDBMS ang. Relational Database Management Systems) - baza danych, w której dane są przedstawione w postaci relacyjnej.
Relacja reprezentowana jest przez tablicę (tablica=relacja, stąd nazwa)
a tablice są pewnym zbiorem rekordów o identycznej strukturze i wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi.

Relacje -
powiązania między parą tabel relacyjnej  bazy danych za pomoca klucza podstawowego jednej tabeli i odpowiadajacego mu klucza obcego drugiej tabeli


4. Scharakteryzować modele baz  danych. 

Wśród modeli implementacyjnych wyróżniamy m.in.  modele:

W modelu hierarchicznym  baza ma strukturę drzewiasta z jednym punktem początkowym i wieloma rozgałezieniami, podobną do struktury drzewa folderów w komputerze.
Zbiór nadrzędny nazywany rodzicem zawiera podzbiory zwane potomkami.
Np.
Szkoła
Klasa                         Klasa                    Klasa
Uczeń Uczeń         Uczeń     Uczeń

Model sieciowy jest odmianą modelu hierarchicznego. Dowolny podzbiór danych może być powiązany z każdym innym  Np. uczeń - nauczyciel.

Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych - relacji.
W modelu relacyjnym bazy danych,  dane są przedstawione w postaci relacyjnej.
Dane są przechowywane w wielu tabalach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami.
Relacja reprezentowana jest przez tablicę (tablica=relacja, stąd nazwa)
a tablice są pewnym zbiorem rekordów o identycznej strukturze i wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi.
Relacje - powiązania między parą tabel relacyjnej  bazy danych za pomoca klucza podstawowego jednej tabeli i odpowiadajacego mu klucza obcego drugiej tabeli

Dostęp do danych w modelu relacyjnym  jest realizowany za pomocą algebry relacji - poprzez operatory relacyjne takie jak:
rzutowanie, selekcja, złączenie, suma, różnica, produkt kartezjański .
Ograniczenie redundancji danych dokonuje się w procesie przejścia do kolejnych postaci normalnych.
Zbiory danych powiązane są logicznie za pomocą encji. W ten sposób uniezależnia się widziany przez użytkownika obraz bazy danych od jej postaci fizycznej.
Ograniczenie redundancji danych dokonuje się w procesie przejścia do kolejnych postaci normalnych.
Zbiory danych powiązane są logicznie za pomocą encji. W ten sposób uniezależnia się widziany przez użytkownika obraz bazy danych od jej postaci fizycznej.

Model relacyjny obsługuje różne typy kluczy. Każda relacja (tabela) posiada przynajmniej jeden klucz kandydujący.
Klucz ten jest unikatowym identyfikatorem relacji i może być kombinacją atrybutów, często jednak obejmuje jeden atrybut (kolumnę).
Klucz ma za zadanie jednoznacznie identyfikować każdą krotkę (wiersz). Klucz kandydujący jest zawsze kombinacją lub zbiorem atrybutów (kolumn).


Model  obiektowy.
Bazy opierajace się na modelu obiektowym łączą cechy programów komputerowych tworzonych za pomocą nowoczesnych języków programowania obiektowego z cechami aplikacji bazodanowych.
Obiektowe bazy danych (ODBMS)
Obiektowe bazy danych nie są określone żadnym oficjalnym standardem, nie ma żadnych teorii, czy nawet ogólnie przyjętego zbioru zasad dotyczących konstruowania obiektowych systemów zarządzania bazami danych (OSZBD).
Nie ma, tak jak jest to w przypadku relacyjnych baz danych, ogólnie przyjętej metody projektowania takich baz, ani jednolitej terminologii dotyczącej tej tematyki.
Obiektowe bazy danych są efektem połączenia koncepcji opracowanych na gruncie: bazy danych, obiektowych języków programowania i ogólnych rozważań na temat obiektowego postrzegania świata. Jednym z podstawowych celów tego typu bazy danych jest bezpośrednie odwzorowanie obiektów i powiązań między nimi wchodzących w skład aplikacji na zbiór obiektów i powiązań w bazie danych.
Cechą ODBMS jest to, że pozwala na przechowywanie danych o dowolnej strukturze, zdefiniowanej przez projektanta, co powoduje że taka baza sprawdza się wszędzie tam,
gdzie relacyjna baza danych napotyka trudności, przede wszystkim chodzi tutaj dynamicznie rozwijający się Internet i WWW.



5. Zaanalizowac przykładowy (dowolny) schemat bazy danych (pola i typy pól)

Uczniowie (IDUcznia, IMUcznia, NazwUcznia, Klasa)
Pola:  IDUcznia, IMUcznia, NazwUcznia, Klasa
Typy pól: IDUcznia - numeryczne (całkowite), typu integer
IMUcznia - tekstowe - np. text(20)
NazwUcznia - tekstowe, np. text(20),
Klasa - np. tekstowe - text(20)

Ksiazki (IDKsiazki, ImAutor, NazwAutor, Tytiul, Wydawn)
Wypozyczenia (IDwypoz, IDUcznia, IDKaiazki, DataWypoz, DataZwrotu)
Pola DataWypoz, DataZwrotu - typu daty


6. Przedstawić pojęcie selekcji i projekcji

Selekcja - poziomy podzbiór - wybór krotek relacji spełniających określone warunki, np. płeć M
Selekcja (restrykcja) - wybór krotek (wierszy):
w(R) = {K ∈ R : w(k)}
gdzie w jest warunkiem selekcji

Projekcja - podzbiór pionowy - wybrane atrybuty
Wybór atrybutów (kolumn): S′ (R) = {k(S′) : k ∈ R}
gdzie S ′ jest podzbiorem schematu S



7. Narysować schemat bazy danych w różnych modelach
Baza hierqarchiczna

Baza sieciowa
Baza kartotekowa

Przykładowa relacja
w postaci tablicy
Nazwisko Imię Wiek Pensja
Kowalski Jan 35 2000
Nowak Piotr 36 1500
Zielińska Anna 25 1000
TABELA w relacyjnej bazie danych


8. Narysować diagram encja - relacja

Diagramy Obiekt-Relacja-Atrybut (Entity Relationship Diagrams — ERD) (Model Związków Encji)
Diagram Obiekt-Relacja-Atrybut zwany często diagramem ERD jest używany do modelowania danych     

Przykłady:

Diagram 1  - wykładowcy, kursy, klienci
Encje


Diagram 2 - studenci, wykładowcy, kursy

Diagram związków encji



Diagram 3 - Twarzystwo ubezpieczeniowe, klienci, agenci, składki, polisy

Encje

Utworzenie tabel w SQL do powyższego diagramu
CREATE TABLE PU(KOD number(10)  NOT NULL,OPIS varchar2(50)  NOT NULL);
CREATE TABLE TU(KODTU number(10)  NOT NULL,NAZWA varchar2(40)  NOT NULL);
CREATE TABLE AGENT(KODAG number(10)  NOT NULL,NAZWISKO varchar2(30)  NOT NULL,ADRES varchar2(40)  NOT NULL);
CREATE TABLE POLISA(NR number(10)  NOT NULL,WYSUB number(15, 2)  NOT NULL,DATAWYST date  NOT NULL,KODAG number(10)  NOT NULL,IDKL number(15)  NOTNULL);
CREATE TABLE SKLADKA(NRSKL number(10)  NOT NULL,KWOTAWPL number(10)  NOT NULL,DATAWPL date  NOT NULL,NR number(10)  NOT NULL);
CREATE TABLE KLIENT(IDKL number(15)  NOT NULL,NAZWKL varchar2(40)  NOT NULL,ADRESKL varchar2(40)  NOT NULL);
CREATE TABLE AGENTPU(KOD number(10)  NOT NULL,KODAG number(10)  NOT NULL);
ALTER TABLE PU ADD (  CONSTRAINT PK11PRIMARY_KEY PRIMARY KEY ( KOD ) USING INDEX );
ALTER TABLE TU ADD (  CONSTRAINT PK10PRIMARY_KEY PRIMARY KEY ( KODTU ) USING INDEX );
ALTER TABLE AGENT ADD (  CONSTRAINT PK8PRIMARY_KEY PRIMARY KEY ( KODAG ) USING INDEX );
ALTER TABLE POLISA ADD (  CONSTRAINT PK12PRIMARY_KEY PRIMARY KEY ( NR ) USING INDEX );
ALTER TABLE SKLADKA ADD (  CONSTRAINT PK13PRIMARY_KEY PRIMARY KEY ( NRSKL ) USING INDEX );
ALTER TABLE KLIENT ADD (  CONSTRAINT PK9PRIMARY_KEY PRIMARY KEY ( IDKL ) USING INDEX );
ALTER TABLE AGENTPU ADD (  CONSTRAINT PK16PRIMARY_KEY PRIMARY KEY ( KOD, KODAG ) USING INDEX );
CREATE  INDEX I14TU ON PU ();
ALTER TABLE PU ADD ( CONSTRAINT I14TUFOREIGN KEY REFERENCES TU( KODTU));
CREATE  INDEX I15AGENT ON POLISA (KODAG ASC );
CREATE  INDEX I19KLIENT ON POLISA (IDKL ASC );
ALTER TABLE POLISA ADD ( CONSTRAINT I15AGENTFOREIGN KEY( KODAG) REFERENCES AGENT( KODAG));
ALTER TABLE POLISA ADD ( CONSTRAINT I19KLIENTFOREIGN KEY( IDKL) REFERENCES KLIENT( IDKL));
CREATE  INDEX I20POLISA ON SKLADKA (NR ASC );
ALTER TABLE SKLADKA ADD ( CONSTRAINT I20POLISAFOREIGN KEY( NR) REFERENCES POLISA( NR));
CREATE  INDEX I17PU ON AGENTPU (KOD ASC );
CREATE  INDEX I18AGENT ON AGENTPU (KODAG ASC );
ALTER TABLE AGENTPU ADD ( CONSTRAINT I17PUFOREIGN KEY( KOD REFERENCES PU( KOD));
ALTER TABLE AGENTPU ADD ( CONSTRAINT I18AGENT FOREIGN KEY ( KODAG ) REFERENCES AGENT( KODAG));

Diagram 4 - Studenci, Egzaminatorzy, Egzaminy, Ośrodki, Przedmioty

Encje



9. Podać rozszerzenie plików dBase

Pliki bazy danych, zawierające relacje w DBase mają rozszerzenie DBF.
Notatki zapisuje się do oddzielnego pliku o rozszerzeniu DBT.
Poza plikami bazy danych, zawierającymi relacje (pliki o rozszerzeniu DBF) i plikami notatek (DBT), 
w systemie istnieją inne typy plików, zawierajace informacje wspomagające działanie programu. 

Największe znaczenie mają pliki indeksowe o nazwach określonych przez użytkownika i rozszerzeniach NDX.
Pliki o rozszerzeniu MEM zawierają dane i zmienne, trzymane podczas działania programu w pamięci operacyjnej.
Pliki FMT zawierają szablony, wg których wyświetlana jest informacja z bazy na ekranie monitora.
Pliki FRM zawierają schematy tworzenia raportów przez drukarki.
Pliki PRG - programy



10 Wymienić podstawowe typy pól w dBase

C - znakowe
N - numeryczne
L - logiczne
D - data
M - notatnikowe (memo)
F - numeryczne (float) - w dBase IV



11. Opisać metody zakładania bazy danych w dBase - choć jedną (polecenie lub z asystentem)


12 Opisać polecenia dBase: tworzenie, przeglądanie, modyfikowanie bazy danych

create - tworzenie bazy

Przegladanie:

list lubl list off - przeglądanie (listowanie)
list for imie='Adam' nr, imie, nazwisko off  - kryteria
goto top
display rest
dsiplay

Modyfikowanie bazy

Zmiana rekordu bieżącego jest możliwa poleceniem goto
goto/go [record] <wyrażenie> [bottom/top]
Np.
goto 10

go top
goto bottom

Delete - zaznacza bieżący rekord do skasowania

Pack usuwa fizycznie z bazy danych rekordy zaznaczone do skasowania

Indeksowanie:
index on <wyrażenie> to <plik_indeksowy> [unique]

np.
index on nazwisko+imie to nazw

Aby możliwa była automatyczna zmiana indeksów, bazę należy otwierać poleceniem:

use znajomi index nazw

Wykonanie polecenia:
list nr, imie, nazwisko, telefon off
po indeksowaniu bazy wg pola nazwisko i imie spowoduje wyświetlenie listy posortowanej wg nazwisk i imion w ramach wspólnych nazwisk.

Do sortowania bazy danych stosuje się polecenie:
sort to nowy_plik on nazwa_polaPisanie programu

Program można napisać pod dowolnym edytorem ASCII a można wykorzystać edytor tekstowy bazy poleceniem:
modify command plik_programu
np. modify command dopisz.
Po wpisaniu naciśniecie Ctrl End zapisuje program na dysku, dodając rozszerzenie prg, tutaj dopisz.prg.

Uruchomienie programu następuje w linii poleceń:

do plik.prg
np. do dopisz



13 Umieć wprowadzić i modyfikować dane w dBase

Uruchomienie: Nazwa programu dBase, np. dBase.exe
Utworzenie bazy: Create
Modyfikacja, np. Browse, Append, Edit, Change


14 Umieć napisać i uruchomić program w dBase - podać rozszerzenie pliku programu, uruchomienie edytora, przykład krótkiego pragramu i jego uruchomienie

Edycja programu:
modify command plik_programu
np. modify command dopisz.
Po wpisaniu naciśniecie Ctrl End zapisuje program na dysku, dodając rozszerzenie prg, tutaj dopisz.prg.

Przykład programu
set talk off
set bell off
use znajomi
index on nazwisko+imie to nazw
use
use znajomi index nazw
clear
mnazwisko=space(20)
mimie=space(20)
@2,4 say 'Podaj nazwisko'
@2,30 get mnazwisko
@4,4 say 'Podaj imie'
@4,30 get mimie
read
seek mnazwisko+mimie
if .not. found()
append blank
replace nazwisko with mnazwisko
replace imie with mimie
else
edit
endif
set talk on
set bell on

Uruchomienie programu  (np. plik.prg) następuje w linii poleceń:

do plik.prg  

np.
do dopisz

 



15. Znać podstawowe funkcje dBase - działania arytmetyczne i funkcje matematyczne oraz sposób wykorzystania - podać przykłady

? abs(-5)
? int(2.34)
? mod(7,5) - reszta z dzielenia
? sqrt(16) - pierwiastek
? chr(65) - wynik A - zamiana kodu znaku na znak
? asc('A') - znak na nr kodu
? val ('123') - tekst na liczbę
? str(25.345,2) - liczba na tekst
? ctod('05/03/95') - takst na datę
? date() - data
d=date()
? dtoc(d)


Funkcje do napisów
tekst='Ucze sie dBase'
? left(tekst,6)
? right(tekst,5)
? lower('NAUKA')
? upper(tekst)
? len('Ala ma kota')
? ltrim (' utnij spacje')
? replicate('*+',40)

p=space(15)

Daty
d=date()
d1=d+10
d2=d-400
? cdow(d)
? cmonth(d)
? day(d2)
? month(d2)
? year(d2)
? dow(d)
? time()



16 Zdefiniować pojęcie relacyjnej bazy danych

Bazy danych dzielimy na płaskie (flat) i relacyjne.
Płaska baza danych (typu flat) składa się z pojedynczej tabeli, złozonej z wielu wierszy i kolumn.
Termin flat odnosi się do dwuwymiarowych baz danych - nie są z nim związane żadne inne tabele.
Przykładem bazy tego typu jest arkusz kalkulacyjny.
Bazy danych typu flat są odpowiednie dla prostych i ograniczonych zastosowań.

Relacyjna baza danych - baza danych złożona z dwóch lub więcej tabel powiązanych ze sobą za pomocą relacji;
celem tworzenia relacyjnych baz danych jest istotne zmniejszenie ich rozmiarów w stosunku do kartotekowych baz danych i uelastycznienie ich konstrukcji.

W relacyjnej bazie danych, dane są przechowywane w wielu tabelach powiązanych ze sobą relacjami.
Większość baz danych projektowanych na PC jest w formie relacyjnej.

Relacyjna baza danych (ang.database)
zbiór danych w postaci tabel połączonych relacjami.

Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych - relacji.
W modelu relacyjnym bazy danych,  dane są przedstawione w postaci relacyjnej.:  w wielu tabelach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami.

Relacja
reprezentowana jest przez tablicę (tablica=relacja, stąd nazwa)
a tablice są pewnym zbiorem rekordów o identycznej strukturze i wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi.

Relacje -
powiązania między parą tabel relacyjnej  bazy danych za pomoca klucza podstawowego jednej tabeli i odpowiadajacego mu klucza obcego drugiej tabeli

W uproszczeniu 
relacyjne bazy danych  można przedstawić za pomocą tablic (nazywanych relacjami) powiązanych między sobą
poprzez kolumny, w których występują wspólne dane.

Odszukanie określonego rekordu (wiersza) w jednej tablicy pozwala poprzez kolumny zawierające wspólne dane wybrać odpowiedni rekord drugiej tablicy.
Jedną dużą bazę lub tabelę  można podzielić na mniejsze, a następnie łączyć informacje w miarę potrzeby.
Bazy relacyjne są bazami wieloplikowymi  (np. dBase) lub wielotabelowymi - nowsze bazy danych, np. Access.
Programy zarządzania relacyjnymi bazami danych zawierają zbiór rozkazów, które umożliwiają wykonywanie operacji na całej bazie.

Relacyjne bazy danych obsługuje się za pomocą jezyka SQL
W relacyjnych bazach danych każda kolumna ma swoją nazwę a pole danych może być różnego typu.
W relacyjnych bazach danych można przechowywać m.in. teksty, liczby, daty a nawet obrazki .
Relacyjne bazy danych oferują klucze podstawowe, które pozwalają jednoznacznie zidentyfikować dany rekord.

Operacje wykonywane są w oparciu o algebrę relacji, bez względu na położenie wiersza tabeli.
Wiersze w relacyjnej bazie danych przechowywane są w porządku zupełnie dowolnym



17. Wymień co najmniej 4 typy danych w bazach danych

znakowe - tekstowe
liczbowe - numeryczne - Dane liczbowe, na których są przeprowadzane obliczenia matematyczne, z wyjątkiem obliczeń walutowych (należy użyć typu Waluta).
logiczne (Tak/Nie) - Pola zawierające tylko jedną z dwóch możliwych wartości, na przykład Tak/Nie, Prawda/Fałsz, Wł/Wył. Wartości Null nie są dozwolone.
daty lub data/godzina
nota (memo) - długiie teksty, np. notatki
Waluta - Stosowany dla wartości walut i w celu zapobiegania zaokrąglaniu podczas obliczeń.
autonumerowanie (Access) - Unikatowe sekwencje (o przyroście równym 1) lub liczby losowe wstawiane automatycznie podczas dodawania rekordu.
Przechowuje 4 bajty; 16 bajtów tylko dla identyfikatora replikacji (GUID).
Obiekt OLE - Stosowany dla obiektów OLE (na przykład dokumentów Microsoft Word, arkuszy kalkulacyjnych Microsoft Excel, obrazów, dźwięków
lub innych danych binarnych) utworzonych w innych programach przy pomocy protokołu OLE. Maksymalnie 1 gigabajt (ograniczeniem jest też miejsce na dysku).



18. Podaj definicję klucza podstawowego.

Klucz podstawowy
(ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli.
Taka cecha klucza nazywana jest unikatowością. Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli.
Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli. Na przykład, w bazie pracowników kluczem podstawowym może być numer ewidencyjny pracownika.

Do jednoznacznej identyfikacji wierszy stosuje klucz główny (ang. primary key), czyli jedną z kolumn lub ich grupę, których wartości są unikatowe w całej tabeli (dzięki czemu jednoznacznie identyfikują wiersz).

Aby w bazie danych możliwe było szybkie wyszukiwanie i łączenie danych z tabel (np. zapytań), każdy rekord tabeli powinien zawierać pole,
za pomocą którego rekord byłby jednoznacznie identyfikowany w bazie.
Pole takie pole lub taki zestaw pól określa się mianem klucza podstawowego. 
Klucz podstawowy -   pole lub taki zestaw pól  tworzony jest w oparciu o nie powtarzajace się dane.
Klucz podstawowy jest polem lub zestawem pól w tabeli dającym programowi bazodanowemu (np. Microsoft Office Access)  unikatowy identyfikator dla każdego wiersza.
W relacyjnej bazie danych, takiej jak baza danych programu Office Access , informacje są rozdzielane do osobnych tabel według tematów.
Następnie można użyć relacji między tabelami i kluczy podstawowych w celu ich ponownego złączenia.
Program Access używa pól klucza podstawowego do szybkiego kojarzenia danych z wielu tabel i łączenia tych danych w logiczną całość.

Aby pole nadawało się na klucz podstawowy, musi mieć kilka cech.
Program Access używa pól klucza podstawowego do szybkiego zestawiania danych z wielu tabel.

Klucz prosty - jeśli zbiór identyfikujacy relacji jest jednoelementowy, w przeciwnym razie to klucz złożony.



19. Wyjaśnij pojęcie relacji.

W relayjnych bazach danych pomiędzy odpowiednimi polami rekordów róznych tabel tworzone jest powiązanie zwane relacją.
Relacja - powiązanie między parą tabel bazy danych za pomocą klucza podstawowego jednej tabeli i odpowiadajacego mu klucza obcego drugiej tabeli.

Relacja - podstawowa struktura danych w modelu relacyjnym bazy danych.
Relacja - skończony zbiór krotek (typles) posiadajacych taką samą strukturę (schemat) i różne wartosci, przedstawione w postaci wierszy tablicy.
Każda krotka (rekord) zawiera wartosć co najmniej jednego atrybutu o określonej dziedzinie, przedstawionego w postaci kolumny tablicy.


20
Opisz na czym polega relacja jeden-do-jednego?

Relacja jeden do jednego (1-1) - jednemu rekordowi pierwszej tabeli odpowiada jeden rekord w drugiej tabeli.
W relacji jeden-do-jednego każdy rekord w w jednej tabeli jest powiązany bezpośrednio z jednym rekordem w innej tabeli.

Relacja 1-1
Przykładem jest tabela Pracownicy i tabela firmy Piłkarze.
Pracownik jest wymieniony w tabeli Piłkarze tylko raz i odwrotnie.




21. Opisz na czym polega relacja jeden-do-wielu?

Relacja jeden do wielu
(1 - nieskończoności) - jednemu rekordowi pierwszej tabeli odpowiada wiele rekordów z drugiej tabeli
ale każdemu rekordowi drugiej tabeli odpowiada tylko jeden rekord w pierwszej tabeli.

W relacji jeden-do-wielu rekord w jednej tabeli jest powiązany z wieloma rekordami w innej tabeli, ale rekordy w drugiej tabeli są powiązane tylko z jednym rekordem w pierwszej tabeli.

1 do wiele
Przykładem jest tabela Dostawcy i tabela Produkty.
Jeden dostawca może być jedynym źródłem wielu produktów, z których wszystkie są powiązane tylko z tym dostawcą.

Tabela po stronie "jeden" to tabela podstawowa, a po stronie "wiele" to tabela połaczona.



22. Opisz na czym polega relacja wiele-do-wielu?

W relacji wiele-do-wielu rekord w jednej tabeli jest powiązany z wieloma rekordami w innej tabeli, a  rekord w drugiej tabeli jest powiązany z wieloma rekordami w pierwszej tabeli.
Ten typ relacji wymaga trzeciej tabeli zwanej tabelą skrzyżowań.
W tabeli skrzyżowań znajdują się klucze podstawowe z pozostałych dwóch tabel, które są kluczami obcymi tej tabeli.

Relacja wiele do wiele

Na przykład między tabelami Zamówienia i Produkty istnieje relacja typu wiele-do-wielu.
Jedno zamówienie może zawierać wiele produktów, a każdy produkt może występować w wielu zamówieniach.

Trzecia tabela — w tym przykładzie, Szczegóły zamówień, — zawiera klucze podstawowe z tabel Zamówienia i Produkty.
Tabela Szczegóły zamówień jest tabelą skrzyżowań obu tych tabel.

Ponieważ każdy element tabeli Zamówienia i każdy element tabeli Produkty może być wyświetlany wiele razy w tabeli Szczegóły zamówień, między obiema tymi tabelami
a tabelą Szczegóły zamówienia istnieje relacja typu jeden-do-wielu.
Wszystkie tabele skrzyżowań łączą tabele, które są powiązane relacjami typu jeden-do-wielu z tabelami skrzyżowań, a klucze podstawowe tych połączonych tabel są kluczami obcymi w tabeli skrzyżowań.



23. W jakim celu stosuje się indeksowanie pola?

Indeksowanie jest technicznym sposobem uporządkowania rekordów.
Indeksowanie polega na tworzeniu informacji (np. w postaci pliku na dysku) o tym, w jakiej kolejności powinny być podawane rekordy, aby spełniały kryterium uporządkowania.
Indeksowanie może się odbywać wg jednego lub kilku pól.

Indeksy to konstrukcje, które:
Rodzaje indeksów:
Dla jednej tabeli można utworzyć maks. 32 indeksy


24. Podaj definicję sortowania i filtrowania.

Sortowanie (sort) - funkcja systemu zarządzania bazą danych polegajaca na odpowiednim ułozeniu rekordów bazy danych według żądanej kolejnosci (np. rosnaco) i sposobu
(np. według jednego lub kilku pól rekordów)

Sortowanie pozwala uporządkować rekordy wpisane do bazy danych np. w porządku alfabetycznym:
Sortowaniem rekordów nazywamy ich porządkowanie według jakiegoś kryterium.
Kryterium to nazwa lub nazwy pól według których odbywa się sortowanie.
Przykładowo może być to sortowanie rosnące (sortuje wartości w porządku rosnącym (od A do Z, od 0 do 9) lub sortowanie malejące (sortuje wartości w porządku malejącym od Z do A, od 9 do 0).

Filtrowanie (filter) -
funkcja systemu zarządzania BD, pozwalająca selekcjonować rekordy wg zadanych kryteriów.
W wyniku działania filtru widoczne są jedynie rekordy, które spełniają kryterium filtrowania.


25. Opisać co zawiera każde pole danych oprócz nazwy i sklasyfikować typy pól w Accessie
Każde pole bazy danych zawiera nazwę i typ danych

Typy pól
Typ danej (ang. data type) - rodzaj danej, czyli forma zapisu informacji:

26. Opisz na czym polega doprowadzenie tabeli danych do tabeli relacyjnej bazy danych w I postaci normalnej

Relacja jest w pierwszej postaci normalnej, jeśli każda wartość atrybutu w każdej krotce (rekordzie) jest wartoscią elementarną czyli nierozkładalną.
Tabela reprezentująca tę relację nie zawiera powtarzających się grup informacji.
Z definicji pierwszej postaci normalnej wynika, ze każdemu elementowi relacji na przecięciu dowolnej krotki i atrybutu odpowiada pojedyncza wartość a nie zbiór wartosci.

Przykład:

Tabela przed normalizacją  - to nie jest relacja
Płeć Imię
Męska Jan, Piotr, Tomasz
Żeńska Anna, Ewa

Tabela znormalizowana - I postać normalna
Płeć Imię
Męska Jan
Męska Piotr
Męska Tomasz
Żeńska Anna
Żeńska Ewa


27. Zdefiniuj pojęcie redundancji w bazie danych

Redundancja (łac. redundantia – nadmiar, zbytek), inaczej nadmiarowość w stosunku do tego, co konieczne lub zwykłe.
Bazy danych są zwykle normalizowane, czyli doprowadzane do postaci bez nadmiarowości.
W szczególności w odniesieniu do relacyjnych baz danych dąży się do sytuacji, gdy każda relacja zawiera unikalne informacje oraz klucze łączące z innymi relacjami.
W szczególnych przypadkach, w celu przyśpieszenia obróbki danych, relacje bywają denormalizowane, jednak może to być źródłem błędów i wewnętrznej niespójności bazy.

Główne zadanie w projektowaniu relacyjnej bazy danych to pogrupowanie atrybutów w relacje w sposób, który minimalizuje redundancję danych
– efektem jest zmniejszenie wymagań pamięciowych dla plików implementujących bazowe relacje.


27. Opisz na czym polega dalsza normalizacja baz danych - do wyższych postaci normalnych

Normalizacja jest to formalna technika oparta na kluczach głównych oraz na zależnościach funkcyjnych.
Często realizowana w serii kroków, z których każdy odpowiada specyficznej postaci normalnej o ustalonych własnościach.
Relacje otrzymują wówczas coraz bardziej ograniczony format, stając się tym samym coraz mniej podatne na anomalie aktualizacj

Normalizacja bazy danych jest to proces mający na celu eliminację powtarzających się danych w relacyjnej bazie danych.
Główna idea polega na trzymaniu danych w jednym miejscu, a w razie potrzeby linkowania do danych.
Taki sposób tworzenia bazy danych zwiększa bezpieczeństwo danych i zmniejsza ryzyko powstania niespójności (w szczególności problemów anomalii).

Istnieją sposoby ustalenia czy dany schemat bazy danych jest "znormalizowany", a jeżeli jest to jak bardzo.
Jednym ze sposobów jest przyrównanie danej bazy do schematów zwanych postaciami normalnymi (ang. normal forms lub NF).
Normalizacja bazy danych do konkretnej postaci może wymagać rozbicia dużych tabel na mniejsze i przy każdym wykonywaniu zapytania do bazy danych ponownego ich łączenia.
Zmniejsza to wydajność, więc w niektórych przypadkach świadoma denormalizacja (stan bez normalizacji) jest lepsza - zwłaszcza w systemach niekorzystających z modelu relacyjnego (np. OLAP).

Normalizacja nie usuwa danych, tylko zmienia schemat bazy danych.
Normalizacja przeprowadza bazę danych z jednego stanu spójnego (przed normalizacją) w inny stan spójny (po normalizacji).
Jedyna różnica polega na innym układzie danych i relacji pomiędzy nimi, ale bez utraty danych (ewentualnie dodawane są nowe klucze główne).

Pierwsza postać normalna. Jej jedynym warunkiem jest aby każda składowa w każdej krotce była atomowa (nie dawała podzielić się na mniejsze wartości).
Atomowość danych jest ściśle powiązana z ich typem (nazwanym i skończonym zbiorem wartości).
Ważną cechą relacji utworzonych zgodnie z modelem relacyjnym jest to, że zawsze są znormalizowane - spełniają 1NF.

Relacja jest w pierwszej postaci normalnej, jeżeli każda wartość atrybutu w każdej krotce tej relacji jest wartością elementarną, czyli nierozkładalną.
Z definicji pierwszej postaci normalnej relacji wynika, że każdemu elementowi relacji znajdującemu się na przecięciu dowolnej krotki i dowolnego atrybutu odpowiada pojedyncza wartość,
a nie zbiór wartości.

Druga postać normalna

Aby przedstawić 2-gą postać normalną należy wprowadzić kilka pojęć

Zbiór identyfikujący relacji
taki zbiór atrybutów tej relacji, których kombinacje wartości jednoznacznie identyfikują każdą krotkę relacji
Klucz relacji
taki zbiór identyfikujący relacji, którego żaden podzbiór nie jest zbiorem identyfikujacym relacji

Wyróżnia się klucze proste i złożone. Klucz jest kluczem prostym, jeśli zbiór identyfikujący relacji jest zbiorem jednoelemantowym, w przeciwnym razie klucz jest złożony.
W ogólności, w relacji można wyróżnić wiele kluczy, które nazywamy kluczami potencjalnymi. Wybrany klucz spośród kluczy potencjalnych nazywamy kluczem głównym.

Zależność funkcjonalna

Atrybut B relacji r jest funkconalnie zależny od atrybutu A tej relacji, jeśli zawsze każdej wartości a atrybutu A odpowiada nie więcej niż jedna wartość atrybutu B. Inaczej A identyfikuje B.
Np. Id_Dostawcy jest funkcjonalnie zależny od atrybutu Nr_Zamowienia, gdyż jedno zamówienie jest kierowane tylko do jednego dostawcy, a zatem numer zamówienia jednoznacznie określa identyfikator dostawcy. Odwrotna zależność nie jest prawdziwa.

Pełna zależność funkcjonalna

Atrybut B relacji r jest w pełni funkcjonalnie zależny od zbioru atrybutów X, jeśli jest funkcjonalnie zależny od niego, ale nie jest funkcjonalnie zależny od żadnego podzbioru zbioru X.

Druga postać normalna:
Dana relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcjonalnie zależny od wszystkich kluczy potencjalnych.

W celu uzyskania drugiej postaci normalnej należy podzielić relację na zbiór takich relacji, których wszystkie atrybuty będą w pełni funkcjonalnie zależne od kluczy.

Przechodnia zależność funkcjonalna

Niech X, Y i Z będą 3 roz łącznymi podzbiorami atrybutów danej relacji.
Podzbiór atrybutów Z jest przechodnio funkcjonalnie zależny od podzbioru atrybutów X, jeśli podzbiór atrybutów Z jest funkcjonalnie zależny od podzbioru atrybutów Y,
podzbiór atrybutów Y jest funkcjonalnie zależny od podzbioru atrybutów X, natomiast podzbiór atrybutów X nie jest funkcjonalnie zależny od Y lub podzbiór atrybutów Y nie jest funkcjonalnie zależny od Z.

Trzecia postać normalna relacji

Dana relacja jest w trzeciej postaci normalnej, jeśli jest ona w drugiej postaci normalnej i każdy jej atrybut nie wchodzący w skład żadnego klucza potencjalnego nie jest przechodnio funkcjonalnie zależny od żadnego klucza potencjalnego tej relacji.

Aby uzyskać trzecią postać normalną relacji, której atrybuty pozostają w przechodniej zależności funkcjonalnej, należy podzielić ją na 2 relacje.

Wyróżnia się jeszcze czwartą i piątą postać normalną relacji



28. Scharakteryzuj relacyjne bazy danych i wyjaśnij na czym polega projektowanie i normalizacja baz danych

Model relacyjny - podstawowe założenia :
Baza danych składa się z prostokątnych tablic, każda o określonej liczbie kolumn i dowolnej liczbie wierszy.
Takie tablice sa okreslane jako relacje. Wiersz relacji jest nazywany krotką.

Elementy krotek są atomowe (niepodzielne) i są bezpośrednio wartościami.
Niedozwolone jest tworzenie wskaźników prowadzących do innych krotek.
Niedozwolone jest, aby element krotki był zbiorem wartości. Jest to tzw pierwsza forma normalna (1NF).
Porządek krotek nie ma znaczenia. Porządek kolumn również nie ma znaczenia.

Jakiekolwiek cechy odnoszące się do reprezentacji relacji lub usprawnienia dostępu do relacji są ukryte przed użytkownikiem.

Relacje i ich kolumny posiadają nazwy.
Nazwy kolumn są określane jako atrybuty.

Każda relacja posiada wyróżniony atrybut lub grupę atrybutów określną jako klucz.
Wartość klucza w unikalny sposób identyfikuje krotkę relacji.
Jakakolwiek inna identyfikacja krotki (np. wewnętrzny identyfikator) jest niewidoczna dla użytkownika.

Manipulacja relacjami odbywa się w sposób makroskopowy przy pomocy operatorów algebry relacji lub innego tego rodzaju języka.
Przetwarzanie “krotka po krotce” jest niedozwolone.


Relacyjna baza danych (ang.database) – zbiór danych w postaci tabel połączonych relacjami.

Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych - relacji.
W modelu relacyjnym bazy danych,  dane są przedstawione w postaci relacyjnej.:  w wielu tabelach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami.

Przy projektowaniu bazy danych :
Punktem wyjścia są informacje zebrane przez projektanta o wymaganych atrybutach bazy danych,  celem jest natomiast zdefiniowanie schematów relacji,
które mają być przechowywane w bazie danych.
Trzeba tak zaprojektować rozdział zbioru atrybutów na schematy relacji, aby uzyskać pewne pożądane właściwości bazy danych.
Niewłaściwe zaprojektowanie schematów relacji może byc przyczyną dublowania się danych, ich niespójności i anomalii podczas ich aktualizowania.

Projektowanie bazy danych

  1. Okreslenie celu któremu ma służyć baza danych aby sformułować zadania realizowane przez BD
  2. Przeanalizowanie danych, które bedą w BD. Należy określić, które są niezbędne, a które zbyteczne (nadmiarowe).
    W oparciu o analizę projektujemy tabele i ich pola.
    Określenie tabel - najtrudniejsze w procesie projektowania BD: 
    ta sama informacja nie powinna być wprowadzana wielokrotnie do jednej lub kilku tabel 
    każda tabela powinna zawierać informacje tylko na 1 temat
  3. Określenie pól w tabelach
    należy powiązać każde pole bezpośrednio z zagadnieneim tabeli
    nie nalezy wprowadzać danych pośrednich lub obliczonych
    należy uwzględniać wszystkie potrzebne informacje
    informacje należy przechowywać w możliwie najmniejszych jednostkach (np. Imie i Nazwisko a nie Dane_Personalne)
  4. Przypisanie polom jednoznacznych wartosci, określenie kluczy. 
    Zaprojektowanie kluczy podstawowych i indesków
  5. Określenie relacji miedzy tabelami
  6. Wprowadzenie danych i innych obiektów BD - gdy tabele (struktura tabel) spełniają powyższe kryteria,
    mozna wprowadzić wszystkie dane do tabel i utworzyć dwolne kwerendy, formularze i inne obiekty bazy danych
W ramach projektowania schematów baz danych, najistotniejszą czynnością jest
normalizacja relacji, czyli doprowadzenie relacji do odpowiedniej postaci normalnej.




29. Zapisz schemat relacji dla tabeli o podanej nazwie i polach oraz ich typach

Schematem relacji nazywamy zbiór R = {A1, A2, …, An},
gdzie: A1, A2, …, An są atrybutami, reprezentowanymi w tabeli poprzez nazwy kolumn.

Nazwa relacji oraz zbiór jej atrybutów nazywają się schematem relacji.
W modelu relacyjnym projekt składa się z jednego lub wielu schematów relacji.
Zbiór schematów relacji projektu jest określany schematem relacyjnej bazy danych


 Przykład relacji
Schemat relacji: Osoba(PESEL, imię, nazwisko)

Osoba

PESEL

imię

nazwisko

12345678901

Jan

Kowalski

23456789012

Alicja

Bednarska

34567890123

Krzysztof

Ziemiński


Osoba (PESEL, imię, nazwisko)



Inne schematy:

UCZNIOWIE
(NRU, nazwisko, imie)
Oceny (NrKolejny, NRPrzedmiotu, NrUcznia)


30. Wybierz klucz podstawowy z przykładowej relacji:

Uczniowe (NrUcznia , Nazwisko, Imie),  i wskaż klucz obcy w relacji
Oceny (NrKolejny, NRPrzedmiotu, NrUcznia)

NrUcznia - klucz podstawowy w relacji/tabeli  Uczniowie
NrUcznia - klucz obcy w relacji Oceny
NrKolejny - klucz podstawowy w tabeli Oceny


31. Podaj co jednoznacznie definiuje rekord w bazie danych

Każda relacja posiada wyróżniony atrybut lub grupę atrybutów określną jako klucz.
Wartość klucza w unikalny sposób identyfikuje krotkę relacji.


32. Sklasyfikować klucze relacji oraz typy relacji.


Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli.
Klucz podstawowy jednopolowy, przypisany do pola o niepowtarzalnych danych, np. PESEL, NIP, nr dowodu osobistego
Klucz podstawowy wielopolowy (złożony) - tworzony w tabelach, gdy brak pola jednoznacznie identyfikujacego rekord.
Klucze obce - z innej powiązanej tabeli

Typy relacji:
  1. Jeden do jednego:  jednemu rekordowi pierwszej tabeli odpowiada 1 rekord w drugiej tabeli (np. piłkarze i ich pseudonimy)
  2. Relacja jeden do wielu (1 - nieskończoności) - jednemu rekordowi pierwszej tabeli odpowiada wiele rekordów z drugiej tabeli ale każdemu rekordowi drugiej tabeli odpowiada tylko jeden rekord w pierwszej tabeli. 
    Te relacje występują najczęściej
  3. Wiele do wielu - wiele rekordów z pierwszej tabeli jest powiązancyh z wieloma rekordami drugiej tabeli. Ten typ relacji wymaga trzeciej tabeli zwanej tabelą skrzyżowań.
    W tabeli skrzyżowań znajdują się klucze podstawowe z pozostałych dwóch tabel, które są kluczami obcymi tej tabeli.


33. Sklasyfikować podstawowe operacje na relacjach

Operacje na danych
W teoretycznym opisie modelu relacyjnego operacje na danych definiuje się w terminach tzw. algebry relacyjnej.
Operatory algebry relacyjnej mają za argumenty jedną lub więcej relacji, a wynikiem ich działania zawsze jest też relacja.

Operacje wykonywane na pojedynczych tabelach:

Operacje wykonywane na 2 tabelach

Przy załozeniu, że są 2 tabele: jedna ma 20 wierszy a druga 10 wierszy, operacje będą miały następujacą liczbę wierszy w tabelach wynikowych:


Selekcja. Selekcja jest operacją jednoargumentową, określoną przez warunek dotyczący wartości kolumn danej relacji.
Wynikiem jej jest relacja zawierające te wszystkie encje (wiersze) wyjściowej relacji, których atrybuty spełniają dany warunek.

Rzut - projekcja. Rzut to operacja jednoargumentowa określona przez podzbiór zbioru kolumn danej relacji, dająca w wyniku tabelę składającą się z tychże kolumn wyjściowej relacji.

Iloczyn kartezjański. Argumentami są dwie relacje, wynikiem -- relacja, ktorej wiersze są zbudowane ze wszystkich par wierszy relacji wyjściowych. Operacja o znaczeniu raczej teoretycznym.
Równozłączenie, połaczenie. Argumentami są dwie relacje, posiadające kolumny o tych samych dziedzinach np. klucz główny jednej z nich i klucz obcy drugiej.

Wynikiem jest tabela otrzymana z iloczynu kartezjańskiego relacji wyjściowych poprzez selekcję za pomocą warunku równości tych ,,wspólnych'' atrybutów.
Złączenie naturalne. Powstaje z równozłączenia dwóch tabel poprzez rzutowanie usuwające powtarzające się kolumny złączenia.
Rzeczywiście jest to operacja bardziej ,,naturalna'' aniżeli równozłączenie.

Złączenia zewnętrzne. Tu sprawa się komplikuje. Złączenia zewnętrzne tworzone są podobnie jak złączenie naturalne, lecz z pozostawieniem w tabeli wynikowej także wierszy,
dla których nie zachodzi równość atrybutów złączenia:
W przypadku złączenia lewostronnego złączenie naturalne uzupełnia się o wiersze z pierwszego argumentu nie posiadające odpowiednika (wierszu o równym atrybucie złączenia)
w drugim argumencie; ,,brakujące'' atrybuty przyjmują wartość NULL.
W złączeniu prawostronnym robi się to samo, ale względem drugiego argumentu.
Wreszcie złączenie obustronne obejmuje obydwie tabele wyjściowe tą samą operacją.

Suma. Suma jest operatorem działającym na dwóch zgodnych relacjach (to jest o tych samych kolumnach), produkującym relację której wiersze są sumą teoriomnogościową wierszy z relacji wyjściowych.

Przecięcie. Przecięcie znowu wymaga dwóch zgodnych tabel, wynikiem jest tabela zawierająca wiersze wspólne dla obu argumentów.

Różnica. Różnica jest określona dla dwóch zgodnych relacji i odpowiada dokładnie różnicy teoriomnogościowej zbiorów wierszy tabel wyjściowych.

Algebra relacyjna może być uważana za proceduralny język zapytań modelu relacyjnego.
To znaczy, że dowolna informacja jaka jest do uzyskania z relacyjnej bazy danych może być wydobyta za pomocą ciągu operacji algebry relacyjnej.

W praktyce w programowaniu aplikacji opartych na relacyjnych bazach danych nie korzysta się na ogół z języka proceduralnego,
lecz z deklaratywnego języka opartego na tzw. rachunku relacyjnym (na ogół jest to SQL).
Różnica polega na tym, że w języku proceduralnym formułuje się sekwencję kroków prowadzących do pożądanego wyniku,
natomiast język deklaratywny służy do sformułowania tego, jaki wynik chcemy otrzymać.
Oczywiście zapytanie sformułowane w języku deklaratywnym musi zostać przełożone na pewną procedurę aby mogło być wykonane -- jest to zadaniem implementacji DBMS.
Bez znajomości żargonu algebry relacyjnej trudno jest jednak chociażby zrozumieć dokumentację systemów zarządzania baz danych (czy nawet opisy składni SQL).

Operacje na relacjach można podzielić na 2 grupy:
Operacje relacyjne: selekcja, projekcja, złączenie, podzielenie
Operacje mnogościowe: suma, róznica, przekrój, dopełnienie


Operacje zawężenia: selekcja eliminuje pewne wiersze, a rzutowanie pewne kolumny
selekcja
- podzbiór poziomy - wybór pełnych spełniajacych określone warunki (usunięcie pewnych wierszy)
projekcja (rzutowanie) - podzbiór pionowy - pobranie wartości wybranych atrybutów ze wszystkich krotek (usunięcie pewnych kolumn)

Selekcja - nie zmieniając schematu relacji R tworzy nową relację zawierającej podzbiór krotek R spełniających pewien logiczny warunek
Rzutowanie - projekcja - Tworzy nową relację z relacji R przez usunięcie z niej pewnych kolumn

Złączenie naturalne:
 polega na połączeniu w pary tych krotek z relacji R i S, które mają identyczne wartości dla wszystkich wspólnych atrybutów i jest oznaczane R S
 w rezultacie powstaje relacja, której schemat zawiera atrybuty relacji R i relacji S, przy czym wspólna część uwzględniana jest tylko raz
złaczenie

Typy złączeń:
Operacje komponowania krotek z róźnych relacji: np. iloczyn kartezjański

połączenie - łączenie krotek wielu relacji
klasyczne operatory teorii mnogości:: suma mnogościowa, iloczyn kartezjański, itp.

Iloczyn kartezjański - produkt.
Umożliwia konkatenację krotek 2 lub więcej relacji w taki sposób, że kazda krotka pierwszej relacji jest łaczona z każdą krotką drugiej relacji.
Operacja na relacjach, której wynikiem jest tabela zbudowana ze wszystkich par wierszy relacji wyjściowych to: iloczyn kartezjański (product).

Połączenie - konkatenacja krotek 2 lub więcej relacji z zastosowaniem określonego warunku łączenia. Wynikiem jest podzbiór iloczynu kartezjańskiego.
Jeżeli argumentami operacji są dwie relacje, posiadające kolumny o tych samych dziedzinach, a wynikiem jest tabela otrzymana z iloczynu kartezjańskiego relacji wejściowych i selekcję za pomocą warunku równości „wspólnych” atrybutów to jest to: równozłączenie (equi-join).

Operacja działająca na dwóch zgodnych relacjach, produkująca relację której wiersze są sumą teoriomnogościową wierszy z relacji wejściowych to: suma (union).
Operacja, która wymaga dwóch zgodnych tabel, a wynikiem jest tabela zawierająca wiersze wspólne dla obu tabel jest: przecięcie (intersection).
Operacja, która wymaga na dwóch zgodnych relacjach i odpowiada dokładnie różnicy teoriomnogościowej zbiorów wierszy tabel wejściowych to: różnica (difference).

Działania teoriomnogościowe:
R+S – suma zbiorów R i S jest zbiorem krotek, z których każda należy do R lub S lub do obu razem; jeżeli krotka występuje w obu relacjach to w ich sumie pojawia się tylko raz
RxS – przecięcie zbiorów R i S jest zbiorem krotek, które należą zarówno do R jak i S
R-S – różnica zbiorów R i S zawiera krotki nalezące do R i nie należące do S
Relacje R i S muszą mieć identyczne schematy


34. Umieć utworzyć relację między parą tabel , typu 1 do 1 i 1 do wielu


35. Utworzyć iloczyn kartezjański 2 relacji

Iloczyn kartezjański. Argumentami są dwie relacje, wynikiem - relacja, ktorej wiersze są zbudowane ze wszystkich par wierszy relacji wyjściowych.
Operacja o znaczeniu raczej teoretycznym.

Przykład

R1
Pole1 Pole2
A
B

R2
Pole3 Pole4
a
b
c

R1 x R2
A a
A b
A c
B a
B b
B c




36. Wymienić podstawowe obiekty baz danych MS Access

Access jest systemem zarządzania bazami danych, działającym w środowisku WINDOWS.
Dzięki specyficznej organizacji bazy danych w postaci jednego pliku o rozszerzeniu .mdb
Access oferuje znacznie bogatsze konwencje dotyczące nazewnictwa obiektów bazy danych niż systemy, w których pojedynczym obiektom odpowiadają osobne pliki.
Został on pomyślany tak, aby pomagać w zbieraniu, odzyskiwaniu i prezentowaniu danych.
Access oferuje użytkownikom sześć zasadniczych rodzajów obiektów przeznaczonych do budowy systemu bazy danych.

Obiekty w Access:  tabele, zapytania, formularze, raporty, makropolecenia i moduły.

Każdemu z tych elementów można nadać nazwę składającą się maksymalnie z 64 znaków.
Dozwolone są przy tym wszystkie znaki alfanumeryczne ( litery i cyfry ), spacje i znaki specjalne.

Tabela (table) - zbiór (kolekcja) powiązanych ze sobą danych w bazie danych, przedstawiony jako układ poziomych wierszy (rekordy, krotki) i pionowych kolumn (pola rekordu)

Zapytanie (query) - obiekt bazy danych, umozliwiajacy wyszukiwanie danych w bazie według określonych kryteriów oraz umożliwiajacy przeprowadzanie ich analizy i modyfikacji.

Formularz (form) - obiekt systemu zarządzania bazą danych, który umożliwia w przystępny sposób przeglądanie, wprowadzanie, usuwanie i edycję danych.

Raport (report) - obiekt systemu zarządzania bazą danych, którego zadaniem jest pobieranie danych z bazy (tabeli, zapytania) w celu ich wyświetlenia na ekranie lub wydrukowania.



37. Zdefiniować pojęcie makra i modułu w Accessie, podać do czego służą

Makro - akcja lub ciąg akcji, w których każda wykonuje jakąś operację
(na tabelach, formularzach, raportach, kwerendach uruchamianych przyciskami umieszczonymi w oknie np. formularza lub gdy wystąpi jakieś zdarzenie np. kasowanie rekordu.)

Moduł to podprogram w systemie bazy danych, który wykonuje wiele funkcji użytkowych powiązanych ze sobą tematycznie
np. obsługa danych personalnych pracowników lub obliczanie kwot wypłat albo wydruk listy płac.
Funkcje te umieszcza się zwykle w menu głównym aplikacji służącej do przetwarzania danych.
W niektórych bazach danych aplikacja ta jest nazywana programem wykonawczym bazy (ang. run-time system).
Moduł - zbiór deklaracji i procedur języka np. Visual Basic for Application pzrechowywanych razem jako jedna całosć

38. Scharakteryzować tabelę, kwerendę i formularz,  opisać przeznaczenie

Tabelą
w bazie danych nazywamy zbiór rekordów opisujących obiekty
np. pracownicy zawierających informacje o tych obiektach w sposób ujednolicony.
Tabela (ang. table) - nazywamy zbiór rekordów opisujących obiekty w sposób ujednolicony tj. każdy rekord posiada te same nazwy pól.
Tabela (table) - zbiór (kolekcja) powiązanych ze sobą danych w bazie danych, przedstawiony jako układ poziomych wierszy (rekordy, krotki) i pionowych kolumn (pola rekordu)

Zapytanie - kwerenda (query) - obiekt bazy danych, umozliwiajacy wyszukiwanie danych w bazie według określonych kryteriów oraz umożliwiajacy przeprowadzanie ich analizy i modyfikacji.
Kwerenda bazy danych - zapytanie do bazy danych, umożliwiające znalezienie i wyświetlenie informacji żądanych przez użytkownika bazy.
Kwerend można użyć do wyświetlania, zmiany i analizy danych. Można ich też uzywać jako źródło rekordów dla formularzy i raportów.

Formularz (form) - obiekt systemu zarządzania bazą danych, który umożliwia w przsytępny sposób przeglądanie, wprowadzanie, usuwanie i edycję danych.
Za ich pomoca można wprowadzać, przeglądać, prezentować i edytować dane w bazie.
Formularzy można używać w wielu zastosowaniach. Większoć informacji zawartych pochodzi z odpowiedniego źródła rekordów.
Pozostałe informacje przechowywane są w projekcie formularza.


39. Podaj definicję kwerendy tj. zapytania.

Kwerenda bazy danych - zapytanie do bazy danych, umożliwiające znalezienie i wyświetlenie informacji żądanych przez użytkownika bazy oraz  modyfikację danych
Zapytanie - kwerenda (query) - obiekt bazy danych, umozliwiajacy wyszukiwanie danych w bazie według określonych kryteriów oraz umożliwiajacy przeprowadzanie ich analizy i modyfikacji.
Kwerend można użyć do wyświetlania, zmiany i analizy danych.
Można ich też uzywać jako źródło rekordów dla formularzy i raportów.



40. Wyjaśnij, które obiekty bazy danych mogą modyfikować dane w bazie

Dane mogą być modyfikowane przez Tabele, zapytania, formularze


41. Pokaż na schemacie relacji powiązanie miedzy tabelami za pomocą pola wiążącego - np. na przykładzie Uczniowie i Oceny

Jeżeli mamy dwie relacje jeden do wielu,  tabelkami Klienci i Zamówienia,
gdzie polem wiążącym będzie pole IDKlienta, a drugą pomiędzy tabelkami Zamówienia i Artykuły, gdzie polem wiążącym będzie pole IDArtykułu
Po wykonaniu relacji jeśli otworzymy tabelkę Klienci, a potem Artykuły.
Na lewo od pola IDKlienta lub na lewo od pola IDArtykułu znajduje się pole z znakami „+”.
Klikając na znak „+” można dowiedzieć się na temat szczegółów zamówień danego klienta lub szczegółów zamówień danego artykułu

Przykład  - tabele Uczniowie, Przedmioty, Oceny
Polem wiążacym między tabelami Uczniowie i Oceny jest NRU (NumerUcznia)
Polem wiążacym między tabelami Przedmioty i Oceny jest NRP (NumerPrzedmiotu)

Powiązanie miedzy tabelami



42. Zaprojektuj układ formularza kolumnowego do wprowadzania danych tabeli Uczeń


43. Zaprojektuj co ma się ukazać w wyniku przykładowej kwerendy dotyczącej ucznia i jego ocen

44. Podać rozszerzenie plików w Accessie

Pliki bazy danych w Accessie mają rozszerzenie  mdb


45. Podaj co oznacza znak > oknie projektowym tabeli oraz co oznacza wartość domyślna (np. płeć M)
Wprowadzony tekst jest wyświetlany jako duże litery. Faktycznie przechowywane znaki jak wprowadzono.

46. Wyjaśnij pojęcia: nazwa pola, typ danych i opis w oknie projektowym tabeli

Nazwa pola to inaczej nazwa atrybutu - kolumny w tabeli bazy danych. Długość nazwy nie może przekroczyc 64 znaków.
Zwykle w nazwach pól nie stosujemy spacji, np. zamiast Kod Pocztowy przypisujemy nazwę KodPocztowy

Typ danych - zbiór możliwych wartości tabeli (dziedzina)
Dla każdego pola tabeli w kolumnie Typ danych określany jest typ przechowywanych w polu danych. 
Np. dla pola Nazwisko bedzie to typ Tekst, dla pola DataUrodzenia typ związany z datą - Data/Godzina.
W dolnej części okna projektu tabeli ustawiamy właściwości pola, np. maks. długość dla pola łańcucha znaków czy liczbę miejsc dziesiętnych.
W programie Access są m.in. następujace typy danych:
Opis jest opcjonalny. Pomaga w określaniu pola i jest wyświetlany na pasku stanu, gdy pole to zostanie wybrane na formularzu.



47. Umieć utworzyć klucz w tabeli, wprowadzać dane, przemieszczać się miedzy rekordami i polami.


48. Umieć przy projektowaniu tabeli uwzględniać reguły poprawności, wartosci domyślne i sumy kontrolne.


49. Wymienić tryby pracy w Accessie i podać w jakim trybie jest wykonywane definiowanie pól a w jakim wprowadzanie damych

Generalnie są 2 tryby: Widok Projektu (Design View)  i  Widok Arkusza Danych (Datasheet) - wprowadzania/edycji danych - 

Obiekty bazy danych mają z reguły 3 formy otwarcia:
Tryb Nowy umożliwia załozenie nowego obiektu, Projekt - modyfikacja istniejacego, Otwórz - otawarcie istniejacego obiektu.

Pola tabeli danych definiujemy w trybie projektowym a dane wprowadzamy w widoku Arkusza danych

50 Opisać pojęcia: format, maska wprowadzania, tytuł, wartość domyslna, reguła poprawności i inne właściwości pola w oknie projektowym pól tabeli

Format danych - sposób wyświetlania lub drukowania danych przechowywanych w bazie danych (nie decyduje on o sposobie przechowywania w BD)
Np. @@@@@ lub bajt.
@ - wyświetlany wprowadzony tekst lub znak, jesli nie ma znaku to spacja z lewej strony
Format danych określony jest w definicji tabeli dla każdego pola typu: Tekst, Liczba, Walutowy, Data/Godzina, Mem, Tak/Nie.
Przykłady:
Liczba ogólna - wyświwtlanie liczby w postaci jak wprowadzono
Walutowy - w formacie waluty, zgodnie z ustawieniami Windows
stałoprzecinkowy - 2 miejsca po przecinku
standardowy - stałoprzecinkowy z separatorem grup tysiecy
procent - ze znakiem %
wykładniczy - w postaci wykładniczej nEm

Data/Godzina:
C lub Data ogólna - np. 19-06-98 14:20
DDDDDD lub Data pełna - np. Wtorek 21 maja 2010
DDDDD lub Data krótka - np. 98-05-12

Maska wprowadznia - szczegółowy sposób określania sposobu wprowadzania i wyświetlania danych podczas ich wprowadzania
np. LL0000000,  ###,##
gdzie L - dowolna litera, # - dowolna cyfra

Tytuł - etykieta pola, wyświwtlana zamiast nazwy pola

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

Reguła poprawności - warunek jaki muszą spełniać wprowazane dane

Rozmiar pola - maks. liczba znaków (255) lub zakres liczb
Komunikat o błędzie - wyśiwtlany gdy wprowadzone dane nie spełniają reguł poprawności
Wymagane - czy pole musi być wypełnione
Zerowa długość dozwolona - ciąg znaków o zerowej długosci czyli ""
Indeksowane - tworzenie indeksu opartego na danym polu


51. Umieć kopiować, modyfikować, usuwać oraz sortować i filtować dane

Kopiowanie

W polu rekordu bieżącego mozna powielić wartość znajdujacą się w tym samym polu rekordu poprzedniego.
W celu skopiowania do pustego rekordu (na końcu tabeli) do pola Nazwisko warość z poprzedniego rekordu:
W celu skopiowania pola Imię z rekordu numer 5 do ostatniego rekordu
W celu skopiowania do nowego rekordu na końcu tabeli zawartosci rekordu 15
Skoczyć do rekordu nr 15 i kliknąć jego selektor
Wybrać opcję Edycja/Kopij lub Ctrl C
Kliknąć przycisk Nowy
Nowy [|>*]
Wybrać opcję Edycja/Dołacz i wklej lub na prawym przycisku myszy Wklej  lub Ctrl V

Usuwanie rekordu - jest operacją nieodwracalną!
Zaznaczyć rekord i wcisnąć DEL ly\ub wybór Edycja Wytnij lub na prawym przycisku Wytnij.

Sortowanie
Kliknąć myszką w polu, wg którego ma być sortowanie (np. Nazwisko)
Kliknąć przycisk Sortuj rosnąco lub Rekordy Sortowanie

Filtrowanie
Z menu Rekordy wybrać polecenie Filtr, Zaawansowany filtr/sortowanie



52. Znajomość praktyczna definiowania relacji między tabelami, określanie lub zmienianie własności sprzężeń



53. Podać do czego służy kwerenda

Zapytanie dotyczące danych przechowywanych w tabelach lub żądanie wykonania akcji dotyczącej danych.
Kwerenda umożliwia połączenie danych z wielu tabel i wykorzystanie ich jako danych źródłowych dla formularza lub raportu.

W programie Microsoft Access można tworzyć i uruchamiać następujące rodzaje kwerend:
Kwerenda przekazująca
Kwerenda określana wyłącznie w języku SQL, za pomocą której można wysyłać polecenia bezpośrednio do serwera SQL (na przykład Microsoft SQL Server).
Dzięki kwerendom przekazującym, zamiast przyłączać tabele do bazy danych programu Microsoft Access, pracuje się z nimi na serwerze.

Kwerenda bazy danych - zapytanie do bazy danych, umożliwiające znalezienie i wyświetlenie informacji żądanych przez użytkownika bazy.

Zapytanie - kwerenda (query) - obiekt bazy danych, umozliwiajacy wyszukiwanie danych w bazie według określonych kryteriów
oraz umożliwiajacy przeprowadzanie ich analizy i modyfikacji.

Kwerend można użyć do wyświetlania, zmiany i analizy danych. Można ich też uzywać jako źródło rekordów dla formularzy i raportów.
Kwerendy tworzy się najcześciej na podstawie tabel. Tabela, która służy do tworzenia kwerendy, jest obiektem źródłowym dla tej kwerendy.
Kwerenda umożliwia wybór informacji według kryteriów zdefiniowanych przez użytkownika oraz łaczenie informacji z kilku źródeł.
Kwerendy umożliwiają porządkowanie danych i wykonywanie obliczeń na danych.
Są również pomocne przy aktualizacji danych (zmiana wartości w określonych rekordach, usuwanie i dołączanie rekodów, tworzenie nowych tabel).
Mozna również tworzyć kwerendy na podstawie innych kwerend lub na podstawie kwerend i tabel.


54. Zdefiniować przynajmniej 2 sposoby tworzenia kwerend w Accessie

Kwerendy w Accessie można tworzyć:
  1. przez wykorzystanie okna projektu kwerendy i formatu QBE (query By Example) - w sposób wizualny (graficzny) -  nie wszystkie rodzaje kwerend
  2. przy pomocy języka SQL (Structured Query Language) - strukturalny język programowania, zorientowany problemowo
  3. przy pomocy języka VBA

W bazie danych Access mamy nastepujace
metody tworzenia kwerend:

Kwerenda w MS Access jest to albo

Access oferuje następujące metody tworzenia kwerend: Niektóre rodzaje kwerend nie są realizowane przez postać graficzną



55. Wymienić i sklasyfikować rodzaje kwerend

Kwerenda w MS Access jest to albo

Kwerendy wybierające - służą do uzyskania informacji z BD według określonych kryteriów.
W wyniku działania zostaną utworzone wirtualne tabele - perspektywy.
Kwerendy wybierajace mogą także wykonywać obliczenia.
Do kwerend wybierajacych zaliczamy też kwerendy podsumowujace, oparte na funkcjach agregujacych.
Nalezą do nich też kwerendy krzyżowe.
Na kwerendach - zwracanych informacjach można budować wykresy.

Kwerendy funkcjonalne

Kwerendy SQL
Konieczna jest znajomość instrukcji jezyka SQL.
Służą do zaawansowanych operacji na danych, m.in. w bazach pracujących w systemach klient-serwer.





56. Opisać do czego służą kwerendy wybierające.

Kwerendy wybierające - służą do uzyskania informacji z BD według określonych kryteriów.
W wyniku działania zostaną utworzone wirtualne tabele - perspektywy.
Kwerendy wybierajace mogą także wykonywać obliczenia.
Do kwerend wybierajacych zaliczamy też kwerendy podsumowujace, oparte na funkcjach agregujacych.
Nalezą do nich też kwerendy krzyżowe.
Na kwerendach - zwracanych informacjach można budować wykresy.

Kwerenda wybierająca (select query)
W wyniku wykonania kwerendy wybierającej otrzymuje się tak zwany dynamiczny zestaw wyników, który ma postać
tabeli.
Nie jest on zapamiętywany na stałe w bazie danych, tylko zostaje
wyświetlony w postaci arkusza danych.
Kwerenda wybierająca w MS Access odpowiada instrukcji języka SQL

rozpoczynającej się od słowa kluczowego
SELECT.

Wynik wykonania kwerendy wybierającej nie jest zapisywany na stałe, natomiast każda kwerenda 
(w sensie „przepisu realizacji zadania”) może zostać nazwana i zapisana w bazie jako obiekt swojej klasy

Kwerendy wybierające
- najczęściej używane.
Umożliwiają wybieranie rekordów, tworzenie nowych pól obliczeniowych i podsumowywanie danych.

Kwerendy tego typu są podobne do filtrów, jednak umożliwiają również:


57. Zdefiniować pojęcie jezyka SQL


Język SQL (Structured Query Language)
- strukturalny język programowania, zorientowany problemowo



58. Opisać kwerendy funkcjonalne

Kwerendy funkcjonalne - modyfikujace

Cztery rodzaje kwerend funkcjonalych - modyfikujących: usuwająca, aktualizująca, dołączajca i tworząca tabele.

Kwerenda tworząca tabelę
Tworzy nową tabelę z wszystkich lub części danych znajdujących się w jednej lub kilku tabelach. Kwerendy tworzące tabele są przydatne w następujących sytuacjach:

 Kwerenda dołączająca
Dodaje grupę rekordów z tabeli lub tabel na końcu innej tabeli lub tabel.
Na przykład jeśli firmie przybywają nowi klienci, których dane znajdują się w osobnej bazie danych, aby uniknąć wpisywania wszystkich tych informacji, można dołączyć je do tabeli "Klienci".

Kwerenda usuwajaca
Usuwa grupę rekordów z jednej lub kilku tabel.
 Kwerenda usuwająca może być użyta na przykład do usunięcia produktów, które zostały wycofane z oferty i na które nie ma zamówień.
Użycie kwerendy usuwającej powoduje usunięcie całych rekordów, nie zaś wybranych pól w rekordach.

Kwerenda aktualizująca
Dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach.
Na przykład można podwyższyć o 10% ceny wszystkich produktów mlecznych lub dać pięcioprocentową podwyżkę wszystkim pracownikom należącym do określonej kategorii zawodowej.
Za pomocą kwerend aktualizujących można zmieniać dane w istniejących tabelach.



59. Scharakteryzować pola wyliczeniowe

Pole wyliczeniowe to takie pole (atrybut opisujący transakcję), którego wartość, w odróżnieniu od pola stałego, nie jest pamiętana w bazie danych .
Wartości pól wyliczeniowych są przeliczane automatycznie na podstawie wartości pól stałych, przy pomocy których pole wyliczeniowe zostało zdefiniowane.
Pola wyliczeniowe definiuje oddzielnie dla poszczególnych typów transakcji. 

W kwerendach można wykorzystać pola wyliczeniowe, a więc zażądać wyświetlania informacji obliczanej na podstawie danych zawartych w rekordzie.
Wyrażenia definiujące odpowiednie wartości wpisuje się najwygodniej korzystając z konstruktora wyrażeń (dostępnego z menu podręcznego - prawy przycisk myszy) lub menu;
można tez wpisać je bezpośrednio w pole.

Przykłady:

Netto: [CenaJedn]*[Ilość]
WartVAT: [Netto]*[VAT]/100
Brutto: [Netto]+[WartVat]


60. Umieć tworzyć kwerendy wybierające


61. Umieć tworzyć kwerendy z parametrem i wyjaśnić na czym to polega

Kwerenda parametryczna moze być zarówno wybierajaca jak i funkcjonalna.
W kwerendzie parametrycznej wartość kryterium jest przekazywana za pomocą parametru.
Przykład:
<[Określ graniczną datę realizacja zadania] - w polu kryteria
Nawiasy kwadratowe oznaczają, zę kryterium kwerendy jest parametr.
Po uruchomieniu kwerendy Access wyświetla okno dialogowe: Wprowadź wartość parametru, aby pobrać jego wartość.
Tekst ujęty w nawiasach kwadratowych pojawi się jako komunikat w tym oknie.


W kwerendzie programu Microsoft Access można użyć kryteriów do ograniczenia zestawu rekordów zwracanego przez kwerendę.
Aby przy każdym uruchomieniu danej kwerendy pytać o różne rekordy, można utworzyć kwerendę monitującą o wprowadzenie pewnych kryteriów, na przykład „od daty” i „do daty”.
Kwerenda monitująca o kryteria nazywana jest kwerendą parametryczną.

Kwerenda parametryczna wyświetla własne okno dialogowe monitujące o podanie informacji.
W oknie projektowym kwerendy, w polu kryterium wpisujemy pytanie w nawiasach kwadratowych.
Można utworzyć kwerendę monitującą o jedną informację, na przykład numer części, lub o wiele informacji, na przykład dwie daty.
W takim przypadku program Microsoft Access znajdzie wszystkie rekordy zawierające ten numer części lub wszystkie rekordy z podanego zakresu dat.

Kwerend parametrycznych można także używać jako podstawy do tworzenia formularzy, raportów i stron dostępu do danych.
Na podstawie kwerendy parametrycznej można na przykład utworzyć raport miesięcznych zarobków
drukowaniu raportu program Access wyświetli okno dialogowe z zapytaniem o miesiąc, który ma być ujęty w raporcie.
Po wprowadzeniu miesiąca wydrukowany zostanie odpowiedni raport.

Przykład:

Kwernda z parametrem

Po uruchomieniu kwerendy należy podać wartosć parametru NRU (NrUcznia).



62. Umieć wczytać gotowy program SQL do Accessa

Zapytanie/kwerenda, Nowe zapytanie
zamykamy wybór tabel, Widok SQL
wpisujemy treść kwerendy w jezyku SQL, kończymy średnikiem, zapisujemy, uruchamiamy znakiem !
Przykład:
SELECT DISTINCTROW PrzerPrac.NrPrac, PrzerPrac.Nazwisko, PrzerPrac.Imie, Dzienn2.Umowa, Sum(PrzerPrac.P1) AS [Suma:P1], Sum(PrzerPrac.Prem) AS [Suma:Prem]
FROM PrzerPrac INNER JOIN Dzienn2 ON PrzerPrac.NrPrac = Dzienn2.NrPrac
GROUP BY PrzerPrac.NrPrac, PrzerPrac.Nazwisko, PrzerPrac.Imie, Dzienn2.Umowa;



63. Tworzenie kwerend z zastosowaniem pól wyliczeniowych

W kwerendach można wykorzystać pola wyliczeniowe, a więc zażądać wyświetlania informacji obliczanej na podstawie danych zawartych w rekordzie.
Wyrażenia definiujące odpowiednie wartości wpisuje się najwygodniej korzystając z konstruktora wyrażeń (dostępnego z menu podręcznego (prawy przycisk myszy) lub menu;
można tez wpisać je bezpośrednio w pole.

Edycja pola: Shift F2 lub prawy przycisk myszy: Zoom lub Buduj.
Można ustawić własciwości pola, np. ilość miejsc po przecinku


Przykłady:

Netto: [CenaJedn]*[Ilość]
WartVAT: [Netto]*[VAT]/100
Brutto: [Netto]+[WartVat]
StawkaDodF: [Stawka]+[DodFunk]


64. Tworzenie kwerend z zastosowaniem podsumowania (suma, średnia, min, max, Zlicz...)

Zazwyczaj zestaw rezultatów kwerendy zawiera tak wiele informacji, że czsem jest dla użyt­kow­nika bezużyteczny
Aby to zmienić, Access umożliwia tworzenie podsumowania da­nych za pomocą kwerend podsumowujących

W widoku Projekt kwerendy kliknąć znajdujący się na pasku narzędzi przycisk Sumy lub wybrać tę opcję z menu Widok.
Wiersz podsumowania pojawi się w siatce kwe­rendy z wybraną dla obu pól opcją
Grupuj według.

Można korzystać z opcji Grupuj według nawet dla dziesięciu pól, pamiętająć jednak, że uży­cie tej opcji dla każdego zbędnego pola spowalnia pracę kwerendy
i powoduje wy­świe­tlenie dodatkowych wierszy w zestawie rezultatów.

Opcja Sumy jest rozbudowana i posiada wiele innych możliwości.
Wprowadzając do kwe­rendy wiersz
Podsumowanie, masz do dyspozycji dwanaście opcji.
Dziewięć z nich to funkcje agregujące, co oznacza, że wykonują one na danych różne obliczenia




Funkcje agregujące wykorzystywane są przede wszystkim podczas operowania na tabelkach powiązanych relacją jeden-do-wiele.
Przy ich wykorzystaniu możemy:

Funkcja agregująca Policz
Po uruchomieniu kwerendy agregującej ważne jest, by nie znajdowało się w niej nic zbędnego.
Prawie wszystko co znajduje się w siatce QBE może mieć wpływ na dzia­łanie funkcji agregującej.


Funkcje agregujące Minimum i Maksimum
Funkcje Min/Maks mogą być przydatne, aby uzyskać największą wartość w da­nym polu

Funkcje agregujące Pierwszy i Ostatni 

Na pierwszy rzut oka, funkcje Pierwszy i Ostatni mogą przypominać Minimum i Mak­si­mum,
w rzeczywistości jednak bardzo się od siebie różnią.
Minimum i Maksimum oce­nia­ją przedstawiane dane.
Pierwszy
i Ostatni pobierają pierwszą lub ostatnią war­tość napotkaną przez kwerendę, co czasami daje zaskakujące rezultaty.
Użycie tych opcji na nieposortowanej lub posortowanej w nie­właś­ci­wy
sposób tabeli da subiektywne wyniki.
Stanie się tak dlatego, że dla funkcji
PierwszyOs­tatni najważniejsza jest kolejność przedstawienia pól, a powiązania danych z innymi polami są nieważne.

Funkcje agregujące Odchylenie standardowe i Wariancja
 
Odchylenie standardowe (OdchStd) i Wariancja dokonują obliczeń na wartościach da­ne­go pola.
Wystarczy utworzyć kwerendę grupującą dane w dowolny sposób. Zaznaczyć od­po­wied­nie pole i ustawić opcję wiersza
Podsumowanie na OdchStd lub Wariancja.
 
Odchy­le­nie standardoweWariancja wykorzystują metodę próbkowania opartą na mianowniku (n – 1), gdzie n równe jest liczbie rekordów w zestawie rezultatów.
Metoda ta używana jest w analizie statystycznej.

Funkcje agregujące Średnia
 
Np. Aby zobaczyć średnią cenę danej kategorii produktów, trzeba utworzyć kwerendę opartą jedynie na tabeli Produkty

Przykład:
 Wyświetlić średnią ocen wybranego ucznia (kwerenda wybierająca z parametrem)

Średnia


Ø




65. Tworzenie kwerend funkcjonalnych

Kwerendy funkcjonalne - modyfikujace

Rodzaje zapytań/kwerend funkcjonalnych

  1. Aktualizujace. Zapytanie takie zmienia istniejące rekordy i tabele.
    Można np. uaktualnić ceny produktów, zwiększając je o 5%
  2. Tworzące tabelę (powielające). Zapytania tego typu tworzą nowe tabele na podstawie istniejących danych innych zbiorów.
    Są one przydatne szczególnie, gdy chcemy łączyć informacje z 2 tabel i utworzyć trzecią.
  3. Dołączajace. Zapytania takie dodają rekordy do istniejących tabel.
    Gdy dołączamy dane, to tabele których dotyczy zapytanie nie muszą mieć takiej samej struktury, choć typ danych dołączanych musi być zgodny
    (z wyjątkiem pól licznikowych, które można dołączać do pól Long Integer).
    Przy dołączaniu elementy tabeli wyjściowej pozostają bez zmiany.
  4. Usuwające. Usuwają całe rekordy istniejącej bazy danych.


Cztery rodzaje kwerend funkcjonalych - modyfikujących: usuwająca, aktualizująca, dołączajca i tworząca tabele.

Ad. 1  Kwerenda aktualizująca
Dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach.
Na przykład można podwyższyć o 10% ceny wszystkich produktów mlecznych lub dać pięcioprocentową podwyżkę wszystkim pracownikom należącym do określonej kategorii zawodowej.
Za pomocą kwerend aktualizujących można zmieniać dane w istniejących tabelach.

Każde zapytanie aktualizujące przygotowuje się w 2 etapach.

Uruchomienie zapytania aktualizującego spowoduje zastąpienie dotychczasowych wartości obiektu źródłowego nowymi wartościami.


Ad. 2 Kwerenda tworząca tabelę  - powielajace
Tworzy nową tabelę z wszystkich lub części danych znajdujących się w jednej lub kilku tabelach.
Zapytanie powielające pozwala na przekształcenie zestawu dynamicznego przygotowanego w oparciu o zapytanie wyboru lub zapytanie wielotabelowe na tabelę.

Tworzenie zapytania powielającego przebiega również w 2 etapach:
Uruchomienie zapytania powielającego (tworzącego tabelę) spowoduje skopiowanie danych z zestawu dynamicznego do tabeli.


Ad. 3  Kwerenda dołączająca
Dodaje grupę rekordów z tabeli lub tabel na końcu innej tabeli lub tabel.
Na przykład jeśli firmie przybywają nowi klienci, których dane znajdują się w osobnej bazie danych, aby uniknąć wpisywania wszystkich tych informacji, można dołączyć je do tabeli "Klienci".
Zapytanie dołączające (append query) uzupełnia istniejącą tabelę o dane wybrane z innych tabel lub zapytań, dołączając na jej końcu nowe wiersze.
Musi być zachowana zgodność typu dopisywanych danych z typem pól tabeli docelowej oraz zachowana jednoznaczność wartości klucza głównego tej tabeli.
Po włączeniu opcji Dołączające z menu Zapytanie do szablonu QBE wybieramy z obiektów źródłowych pola, których wartości będziemy chcieli przenieść do tabeli docelowej,
a także te, których wartości posłużą nam za kryteria.
Access nie wymaga, by w budowanym zapytaniu liczba pól była zgodna z liczbą pól tabeli docelowej.


Ad. 4  Kwerenda usuwajaca
Usuwa grupę rekordów z jednej lub kilku tabel.
Kwerenda usuwająca może być użyta na przykład do usunięcia produktów, które zostały wycofane z oferty i na które nie ma zamówień.
Użycie kwerendy usuwającej powoduje usunięcie całych rekordów, nie zaś wybranych pól w rekordach.

Zapytanie usuwające ułatwia usuwanie danych wg określonego kryterium.

Uruchomienie zapytania usuwającego spowoduje wykasowanie określonych informacji z obiektu źródłowego.



66. Tworzenie kwerend z zastosowaniem języka SQL

Zapytanie/kwerenda, Nowe zapytanie
zamykamy wybór tabel, Widok SQL
wpisujemy treść kwerendy w jezyku SQL, kończymy średnikiem, zapisujemy, uruchamiamy znakiem !

Przykłady:

Kopiowanie danych między tabelami, za pomocą kwerendy:
Załóżmy, że w bazie danych mamy tabele:

Baza1


Baza2


i że chcemy przekopiować rekordy z tabeli osoby1 do tabeli osoby2.
Aby zrealizować to zadanie należy wykonać następujące zapytanie SQL:
INSERT INTO osoby2 SELECT * FROM osoby1;

W jaki sposób powiększyć (pomniejszyć) wartość w kolumnie przechowującej wartości liczbowe?
Załóżmy, że w tabeli osoby1 z poprzedniego zadania chcemy powiększyć wartość w kolumnie wiek o 10.
Oto kwerenda MS Access realizująca postawione zadanie:
UPDATE osoby1 SET wiek = wiek + 10 ;
Aby pomniejszyć o 10 wartość w kolumnie wiek należy wykonać zapytanie:
UPDATE osoby1 SET wiek = wiek - 10 ;

W jaki sposób dodać do pól tekstowych stały tekst?
Załóżmy, że chcemy dla wszystkich osób z tabeli osoby1 mieszkających w Bydgoszczy dodać w kolumnie info tekst 'aktualizacja'.
Oto kwerenda realizująca podane zadanie:
UPDATE osoby1 SET info = info + 'aktualizacja' WHERE miasto='Bydgoszcz' ;

W jaki sposób wyświetlić dane, które spełniają określony zakres dat?
i chcemy wyświetlić osoby urodzone między 1986-01-01 a 1989-06-01.
Zadanie to można zrealizować za pomocą następującej kwerendy SQL:
SELECT * FROM osoby1 WHERE datediff('d',data_urodzenia,'1986-01-01')<=0 AND datediff('d',data_urodzenia,'1989-06-01')>=0 ;

W jaki sposób wyświetlić dane, które spełniają określony warunek dat?
Np. osoby ze stycznia 1988 roku
SELECT * FROM osoby1 WHERE datepart('yyyy',data_urodzenia) = 1998 AND datepart('m',data_urodzenia) =1

Zamiana pierwszej litery na wielką.
Załóżmy, że posiadamy tabelę osoby1 i chcemy aby we wszystkich wierszach w kolumnie miasto pierwsza litera była wielka.
Realizuje to zapytanie:
UPDATE osoby1 SET miasto=UCASE(LEFT(miasto,1))+LCASE(RIGHT(miasto,LEN(miasto)-1)) ;

W jaki sposób powielić dane w tabeli, za pomocą kwerendy Accessa?
INSERT INTO osoby1 (imie, nazwisko, miasto, data_urodzenia, info) SELECT imie, nazwisko, miasto, data_urodzenia, info FROM osoby1 ;

W jaki sposób zsumować wartości w kolumnach?

Załóżmy, że w bazie danych mamy tabelę osoby: chcemy aby w kolumnie info pojawiła się połączona zawartość kolumn imię i nazwisko przedzielone spacją.
Zadanie można wykonać za pomocą następującej kwerendy:
UPDATE osoby SET info = imie+' '+nazwisko ;

W jaki sposób wyświetlić zestawienie ilościowe rekordów?
Załóżmy, że chcemy dla podanego zbioru danych pokazać zestawienie ilościowe: listę miejscowości z podaną ilością osób w niej mieszkających.
Aby uzyskać zamierzony efekt należy wykonać następująca kwerendę:
SELECT miasto , COUNT(*) AS ilosc FROM osoby1 GROUP BY miasto ORDER BY COUNT(*) ;




67. Podaj definicję systemu zarządzani bazami danych.

System zarządzania bazą danych  - program zarządzający dostepem do bazy danych
SZBD jest oprogramowaniem ogólnego przeznaczenia ułatwiajacym procesy definiowania, konstruowania i przetwarzania baz danych dla różnych aplikacji:
System bazy danych składa się z  bazy danych i systemu zarządzania bazą danych


System zarządzania bazą danych
, SZBD (ang. Database Management System, DBMS) nazywany też serwerem baz danych,
 SZBD to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych.
Systemy baz danych mogą być sieciowymi serwerami baz danych lub udostępniać bazę danych lokalnie.


Większość obecnie spotykanych systemów działa w trybie klient-serwer, gdzie baza danych jest udostępniana klientom przez SZBD będący serwerem.
Serwer baz danych może udostępniać dane klientom bezpośrednio lub przez inny serwer pośredniczący (np. serwer WWW lub aplikacji).

Systemy bazy danych w architekturze klient-serwer to m.in.:


SZBD bez podziału na klienta i serwer 

Czasem jednak stosowanie serwera nie jest konieczne.
Istnieją bazy danych, które nie muszą być współdzielone przez wielu użytkowników w tym samym czasie.

Do takich zastosowań używa się baz danych nie rozróżniających podziału na klienta i serwer, np. takie jak: