bazy danych pierwsza zarowka id Nieznany

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 1

Wykład 1 (4.10.2010)

1. Definicja BD, Dane, SBD, SZBD

Bazy danych – zbiór danych, których zadaniem jest reprezentowanie pewnego fragmentu
świata rzeczywistego; jest projektowana, tworzona i utrzymywana z punktu widzenia
przydatności dla określonych zastosowao
Dana – to symbol lub zbiór symboli reprezentujący jakiś fakt (zdarzenie lub pojęcie); dana
posiadająca znaczenie (semantykę) to informacja; dane w bazach danych mają strukturę
zgodną z regułami właściwymi dla przyjętego modelu danych
SBD – System baz danych
System zarządzania bazą danych – zbiór programów umożliwiających zarządzanie baz
danych:

definiowanie – określenie typów i struktur danych

konstruowanie – umieszczanie danych na nośniku i przechowywanie ich

manipulowanie – zapytania i aktualizacje

udostępnianie wielu użytkownikom i aplikacjom

2. Podaj własności danych w bazach danych

Trwałośd

o dowolnie długi czas przechowywania
o niezależnośd od działania aplikacji
o nie mogą byd utracone

Duży rozmiar wolumenu

o dane nie mieszczą się w pamięci operacyjnej (wymagana pamięd zewnętrzna)
o danych jest zbyt dużo dla ich liniowego przeglądania przez użytkowników

Złożonośd

o złożonośd strukturalna i złożonośd zależności pomiędzy danymi
o złożonośd semantyczna (znaczeniowa)

3. Wymagania stawiane systemom baz danych

Spójnośd baz danych

Efektywne przetwarzanie danych

Poprawne modelowanie świata rzeczywistego

Autoryzacja dostępu do danych

Współbieżnośd dostępu do danych

Metadane

4. Jakie możliwości powinien oferować system zarządzania bazą danych?

Powinien mied następujące funkcjonalności:

język bazy danych – tworzenie, definiowanie, wyszukiwanie, pielęgnacje

struktury danych – efektywne składowanie i przetwarzanie dużych wolumenów

danych

optymalizacja dostępu do danych

współbieżny dostęp do danych

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 2

autoryzacja dostępu do danych

wielośd interfejsów dostępu do bazy danych

zapewnianie bezpieczeostwa danych zagrożonego awaryjnością środowiska

sprzętowo – programowego

5. Co oznacza spójność baz danych?

Jest to jedno z wymagao stawianych wobec systemu baz danych:

poprawnośd danych z punktu widzenia przyjętych kryteriów:

o wierne odzwierciedlenie
o spełnienie ograniczeo nałożonych użytkowników

odpornośd na anomalie będące wynikiem współbieżności dostępu do baz danych

odpornośd na błędy, awarie i inne anomalne sytuacje, wynikające z zawodności

środowiska sprzętowo – programowego

odpornośd na błędy użytkowników

6. Co to są metadane?

Jest to jedno z wymagao stawianych wobec systemu baz danych:

dane o danych, strukturach dostępu, użytkownikach i ich prawach

Wykład 2 (11. 10.2010)

1. Definicja modelu danych

Model danych – zbiór ogólnych zasad posługiwania się danymi dotyczący:

struktury danych

operacji na danych

ograniczeo integralności dla danych określający, które stany bazy danych są

poprawne

2. Cechy modelu relacyjnego

dane przedstawione w postaci dwuwymiarowych tabel (relacja)

każda relacja ma jednoznaczną nazwę

porządek kolumn nie jest istotny

porządek wierszy nie jest istotny

nie są dozwolone wiersze identyczne

wartości w kolumnach są atomowe

każda tabela zawiera zero lub więcej wierszy (krotka) i jedną lub więcej kolumn

(atrybut) określonego typu

można wprowadzad wartości unikalne, NULL, NOT NULL

zawiera kolumny z niepowtarzalnymi wartościami – określanymi jako kolumny-klucz

3. Operacja projekcji

przeznaczenie – wyodrębnienie wybranych atrybutów relacji

notacja:

π

atrybuty

(nazwa relacji)

- „atrybuty” jest podzbiorem atrybutów

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 3

Własności – operacja projekcji nie jest przemienna

Składanie operacji projekcji jest możliwe jeżeli lista2 zawiera wszystkie atrybuty lista1

π

lista1

lista2

(R)) = π

lista1

(R)

Przykłady:

o π

Nazwisko

(Pracownicy)

select Nazwisko from Pracownicy

o π

Nazwisko Etat Płaca

(Pracownicy)

select Nazwisko, Etat, Płaca from Pracownicy

4. Operacja sumowania relacji

wynikiem tej operacji, oznaczonej przez R ᴗ S, jest relacja zawierająca wszystkie

krotki, które występują w R i wszystkie krotki, które występują w S, z wyłączeniem
duplikatów krotek

operacja sumy jest operacją przemienną

R ᴗ S = S ᴗ R

5. Operacja selekcji

przeznaczenie – wyodrębnienie podzbioru krotek relacji, które spełniają warunek

selekcji

notacja σ

warunek

relacji (nazwa relacji)

o warunek selekcji jest zbiorem predykatów postaci

<atrybut><operator relacyjny><literał> lub
<atrybut><operator relacyjny><atrybut>

predykaty są łączone operatorami logicznymi AND lub OR

własności – operacja selekcji jest przemienna
σ

war1

war2

(R)) = σ

war2

war1

(R))

6. Kompatybilność relacji

Dwie relacje: R(A

1

, …, A

n

) i S(B

1

, …, B

n

) są kompatybilne, jeżeli mają ten sam stopieo i

jeżeli dom(A

1

) = dom(B

1

) dla 1 < i < n

Wykład 3 (18. 10. 2010)

1. Co oznaczają skróty DDL, DML, DCL ?

DDL (Data Definition Language) – język definiowania danych:

o stosowany do tworzenia i usuwania struktur danych oraz do modyfikowania

istniejących struktur

o aktualizuje metadane przechowywane w słowniku danych
o polecenia (CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME)

DML (Data Manipulation Language) – język manipulowania danymi:

o stosowany przy określaniu transakcji wykonywanych na bazie danych
o używany do określania poleceo, które realizują działania wstawiania,

usuwania i zmian danych

o polecenia (SELECT, INSERT, DELETE, UPDATE)

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 4

DCL (Data Control Language) – język kontroli danych:

o przeznaczony do wykorzystywania przez administratora bazy
o stosowany do definiowania użytkowników BD oraz przyznawania im

uprawnieo

o polecenia (GRANT, REVOKE)

2. Kiedy stosuje się aliasy?

Jeżeli tworzymy zapytanie z kilku tabel to istnieje możliwośd, że nazwy pól w tych tabelach
pokryją się. W celu rozróżnienia tych pól można umieścid zaraz za nazwą pola lokalny alias (AS
nowa_nazwa), który jest aktualny tylko w czasie wykonywania zapytania. Aliasy lokalne
stosowane są również w sytuacji, gdy potrzebne jest uproszczenie nazwy tabeli, bądź jej
skrócenie w celu zwiększenia czytelności.

3. Kiedy można zmienić typ danych w kolumnie tabeli?

Wtedy i tylko wtedy, gdy tabela jest pusta lub zawiera jedynie pola o wartościach NULL.

4. Wymienić wszystkie warunki integralności

każdy rekord powinien byd powiązany z rekordem nadrzędnym właściwego typu

zawartośd każdego pola rekordu musi odpowiadad typowi danych z definicji danego

typu rekordu

Więzy integralności:

NOT NULL – pseudo-wartośd NULL nie jest dozwolona w danej kolumnie (domyślnie NULL
jest dopuszczalna)
PRIMARY KEY – kolumna stanowi klucz główny
FOREIGN KEY – kolumna stanowi klucz obcy
UNIQUE – kolumna stanowi klucz jednoznaczny (wartości w kolumnie nie powtarzają się)
CHECK – warunek jaki ma byd spełniony dla wartości w wierszu

5. Kiedy stosuje się klauzulę CONSTRAINT i gdzie się ją umieszcza?

bezpośrednio po specyfikacji kolumny, której dotyczy warunek:

CREATE TABLE nazwa_tabeli (... nazwa_kolumny typ [(rozmiar)]
{CONSTRAINT nazwa_warunku typ_warunku [warunek]}, ...);
CREATE TABLE ZESP (... nazwa varchar2(20) constraint
nazwa_wielkimi_literami CHECK (nazwa=UPPER(nazwa), ...);

po zdefiniowaniu całej tabeli:

typ_warunku [warunek]}, ...);
CREATE TABLE Prac (... definicje wszystkich kolumn … CONSTRAINT
etat_i_dodatki CHECK (placa_dod IS NULL or etat = ‘pilot’)
...);

6. Co oznacza słowo kluczowe CHECK ?

Jest to warunek jaki ma byd spełniony dla wartości w wierszu

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 5

7. Różnice między typami DATE i TIMESTAMP

TIMESTAMP – typ przeznaczony dla daty i czasu. Połączenie typów DATE i TIME. Jego
długośd wynosi z separatorami 19 pozycji (z opcją WITH TIME ZONE - 25) . Dodatkowo można
sprecyzowad ułamkowe części sekund. Zakres: 1970-01-01 00:00:00 do roku 2037.

DATE – typ używany do przechowywania daty. Składa się z 3 pól: YEAR (rok), MONTH
(miesiąc), DAY (dzieo). Razem z separatorami ilośd pozycji wynosi 10. Zakres: 1000-01-01 do
9999-12-31.

Wykład 4 (25. 10. 2010)

1.

Podaj przykład zastosowania funkcji konwertującej

select to_char('255','xxx') from dual

Konwersja liczby na string w formacie HEX. Pierwszym argumentem jest liczba, którą chcemy
przekonwertowad, natomiast drugim jest maska formatowania (liczba wynikowych znaków
jaką możemy wyświetlid).

2. Obliczyć ilość dni od początku roku do dnia dzisiejszego

SELECT ROUND(CURRENT_DATE - to_date('01-01-2010', 'DD-MM-
YYYY')) FROM dual

3. Jak zamienić w napisie wszystkie znaki $ na & ?

SELECT REPLACE('$$$ff$$', '$', '&') FROM dual

Pierwszy parametr to tekst, który ulegnie transformacji, drugi, to jaką wartośd zamienid, a
trzeci, to docelowa wartośd.

4. Kiedy stosuje się klauzulę GROUP BY ?

Kiedy trzeba dzielid wiersze tablicy na grupy, np. w celu zliczenia ilości różnych etatów
pracowników.

5. Różnice w interpretacji dwóch cyfr roku dla formatów YY i RR

Format DD-MM-YY zawsze określa dwie cyfry roku w bieżącym stuleciu, kiedy więc wpiszemy
28-05-08, rok zostanie przetłumaczony na 2008.

Format DD-MM-RR jest formatem domyślnym w BD Oracle. Ostatnie dwie cyfry roku będą
tłumaczone w następujący sposób:

Dwie ostatnie cyfry

bieżącego roku mieszczą się

w przedziale:

Podane dwie ostatnie cyfry roku mieszczą się w przedziale:

0-49

50-99

0-49

zwracana jest data w

bieżącym stuleciu

zwracana jest data w

poprzednim stuleniu

50-99

zwracana jest data w

następnym stuleciu

zwracana jest data w

bieżącym stuleciu

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 6

6. Jak policzyć ilość wierszy zwracanych przez SELECT ?

Poprzez użycia słowa kluczowego COUNT(*), np.:
SELECT COUNT(*) as 'Liczba klientów' FROM customer;

Wykład 5 (8. 11. 2010)

1. Definicja złączenia naturalnego

Specjalny rodzaj połączenia równościowego. W wyniku złączenia naturalnego kolumna (albo
kolumny) złączeniowe występuje tylko raz.
Warunki równości dotyczą wszystkich par kolumn o takich samych nazwach:
- SELECT * FROM prac NATURAL JOIN zesp;
Warunki równości dotyczą jednej pary kolumn:
- SELECT * FROM prac JOIN zesp USING (id_zesp);
- SELECT nazwa, count(*) FROM prac p NATURAL JOIN zesp z GROUP
BY nazwa;
Tak więc złączeniem naturalnym relacji jest zbiór wszystkich możliwych połączeo krotek
relacji, przy których ich wspólne atrybuty mają takie same wartości.

2. Różnice między złączeniem wewnętrznym a zewnętrznym

Złączenie wewnętrzne kojarzy ze sobą rekordy występujące w dwóch lub więcej tabelach
i zwraca w wyniku tylko pasujące rekordy. W złączeniu wewnętrznym występuje słowo
kluczowe INNER JOIN - w tabeli, powstającej w wyniku złączenia, znajdują się jedynie wiersze,
które spełniają warunki złączenia.

Złączenie zewnętrzne rozszerza rezultat złączenia wewnętrznego o te wiersze jednej lub obu
tabel, dla których nie odnaleziono odpowiedników w drugiej tabeli. Wiersze stanowiące
rozszerzenie są wypełnione wartością NULL. W złączeniu zewnętrznym występuje słowo
kluczowe OUTER JOIN - w tabeli powstającej w wyniku złączenia, mogą znajdowad się
wszystkie wiersze z jednej lub wielu tabel nawet te, które nie spełniają warunku złączenia.

3. Do czego służy operator EXISTS ?

EXISTS jest używany w podzapytaniach. Za jego pomocą określa się czy podzapytanie zwróciło
jakiekolwiek rekordy (jeżeli szukane rekordy istnieją, to w przypadku polecenia SELECT są one
wyświetlane na ekranie). Operator EXISTS zwraca wartośd TRUE jeżeli podzapytanie zwraca
co najmniej jedną wartośd, w przeciwnym wypadku jest to wartośd FALSE.

4. Co to jest podzapytanie ?

Zapytanie wewnątrz innego zapytania (polecenie SELECT zagnieżdżone w innym

poleceniu SELECT)

Operatory: = ,<, >, <>, <= , >= , IN, ANY , ALL

Może wystąpid wszędzie tam, gdzie system spodziewa się zbioru wartości czyli

w klauzulach SELECT, HAVING, WHERE, FROM

SELECT kol_1, kol_2 FROM nazwa_tabeli WHERE kol_n operator
‘wartość’ AND kol_m operator_2 (SELECT kol_i FROM nazwa_tabeli
WHERE warunek) ORDER BY kol_j;

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 7

5. W jakiej części polecenia SELECT może wystąpić podzapytanie?

Podzapytanie najczęściej umieszcza się w warunkach w klauzulach WHERE i HAVING
zapytania zewnętrznego, niektóre SZBD dopuszczają również stosowania podzapytao
w klauzulach SELECT i FROM.

6. Definicja podzapytania skorelowanego

jest wykonywane raz dla każdego wiersza przeglądanego przez zapytanie zewnętrzne

operuje na wartościach atrybutów przekazanych przez zapytanie zewnętrzne

zawsze posiada odwołanie do atrybutu zapytania zewnętrznego

może obsłużyd wartośd null

SELECT kol1, kol2, … FROM tabela WHERE koln >= (SELECT kolx
FROM tabela WHERE kolx = kol2);

Wykład 6 (15.11.2010)

1. Czym jest SQL*PLUS ?

SQL*Plus umożliwia:

wykonywanie

instrukcji

SQL

pobierających,

modyfikujących,

dodających

i usuwających dane z BD

formatowanie, zapamiętywanie, drukowanie w formie raportów i wykonywanie

obliczeo na wynikach zapytania

wykonywanie instrukcji SQL do tworzenia zmieniania i usuwania tabel BD

tworzenie bloków anonimowych, podprogramów i wyzwalaczy przy użyciu języka

PL/SQL

2. Zmienne tymczasowe

definiuje się wewnątrz instrukcji przez podanie nazwy poprzedzonej znakiem &

służy do interaktywnego podstawiania wartości oraz nazw tabel i kolumn

SELECT nazwisko FROM prac WHERE id_zesp=&numer_zespolu;
SELECT nazwisko, &n_kol FROM &n_tab WHERE &n_kol=&n_war;

można uniknąd powtarzania wpisywania wartości zmiennej stosując &&

SELECT nazwisko &&n_kol FROM &n_tab WHERE &&n_kol=&n_war;

3. Podać 3 sposoby tworzenia zmiennej zdefiniowanej

1. Sposób:

Definiowana poleceniem DEFINE do momentu jej usunięcia przez stwórcę lub
zakooczenia programu SQL*PLUS.

Tworzenie : DEFINE nr_zespolu = 20
Usunięcie: UNDEFINE nr_zespolu
Użycie: SELECT * FROM prac WHERE id_zesp = &nr_zespolu;

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 8

2. Sposób:

VARIABLE zm NUMBER (lub CHAR lub VARCHAR) – deklaracja zmiennej zm
EXECUTE :zm := wyrażenie – ustawianie wartości dla zmiennej zm
PRINT zm – wypisanie wartości zmiennej zm

Po ustaleniu wartości dla zmiennej można jej używad w instrukcjach SQL i PL/SQL
poprzedzając nazwę dwukropkiem (w tym wypadku - :zm )

3. Sposób:

Deklaracja:
ACCEPT nazwa_zmennej[typ][FORMAT format][PROMPT tekst][HIDE]
Przykład deklaracji:
ACCEPT id_pracownika FORMAT 99 PROMPT ‘Podaj numer
pracownika’
Przykład użycia:
SELECT * FROM prac WHERE id_prac=&id_pracownika

4. Blok anonimowy

Fragment kodu, który nie jest zachowywany, ani nie ma nazwy (wykonywany tylko
w aktualnej sesji lub umieszczony w skrypcie). Budowa bloków:

DECLARE
deklaracje obiektów PL/SQL jak zmienne, stałe, wyjątki, procedury, funkcje
BEGIN
ciąg instrukcji do wykonania
EXCEPTION
obsługa wyjątków (błędów)
END;

5. Które instrukcje SQL można umieszczać w blokach PL/SQL ?

SELECT, INSERT, UPDATE, DELETE, COMMIT, ROLLBACK.

6. Jak wyświetlić wartość zmiennej w bloku PL/SQL ?

SET SERVEROUTPUT ON
DECLARE
zmienna NUMBER(9,2) := 23;
BEGIN
DBMS_OUTPUT.PUT_LINE (zmienna);
END;

7. Jak wyświetlić wartość zmiennej z bloku PL/SQL poza tym blokiem ?

VARIABLE zmienna NUMBER
BEGIN
:zmienna := 23;
END;
/
PRINT zmienna;

background image

P y t a n i a i o d p o w i e d z i n a E g z a m i n – B a z y D a n y c h I b y W e e R ( m o d B o l e k )

Strona 9

Wykład 7 (22.11.2010)

1. Instrukcja SQL%ROWCOUNT

Instrukcja ta służy do pokazania, ile wierszy zwróciło dane (ostatnie) zapytanie.

2. Różnice między zmienną typu wierszowego a zmienną rekordową

Typy rekordowe mogą byd zagnieżdżone. Typ ten nie musi byd związany z istniejącą strukturą
jakiejkolwiek tabeli. Może mied dowolną ilośd pól – oszczędnośd pamięci (natomiast typ
wierszowy ma dokładnie tyle pól ile kolumn ma odpowiadająca tabela). Przy stosowaniu
typu rekordowego, jeśli zmienimy specyfikację kolumn w tabeli, nie ma potrzeby
aktualizowania kodu (w przypadku zmiennej wierszowej taka potrzeba jest).

3. Różnice między funkcją a procedurą

procedura wykonuje określone akcje bez zwracania konkretnej wartości, natomiast

funkcja wykonuje obliczenia i zwraca konkretną wartośd do środowiska, które ją
wywołało

funkcje można wywoływad bezpośrednio poprzez zapytanie SQL, natomiast

procedury nie

4. Procedura składowana

Procedura składowana to jeden z elementów implementacji bazy danych. Procedura jest
umiejscowiona bezpośrednio w systemie bazy danych, a nie po stronie klienta. Zwiększa to
szybkośd jej działania i upraszcza opracowanie oraz implementację systemu. Możliwe jest
zagnieżdżanie procedur - wywoływanie jednej procedury z kodu innej. Stosuje się je do
wykonywania powtarzających się, logicznie takich samych operacji na bazie danych, nie
wymagających ingerencji ze strony użytkownika.

tworzenie:

CREATE PROCEDURE nazwa_procedury (parametry) [tutaj instrukcje
do wykonania]

odwołanie się do niej:

CALL nazwa_procedury ('Argumrnt’);

usunięcie:

DROP PROCEDURE nazwa_procedury;

5. Typy parametrów w definicji podprogramu

parametr domyślny := lub DEFAULT

można określid tryb w jakim wartości są przekazywane do podprogramu:

o IN (domyślnie) - wewnątrz parametr zachowuje się jak stała, nie można zmienid

wartości

o OUT - wewnątrz parametr zachowuje się jak zmienna, która nie została zdefiniowana,

jej wartośd jest przekazywana do jednostki nadrzędnej

o IN OUT - możliwe przekazywanie wartości do podprogramu i na zewnątrz

dla trybu OUT i IN OUT można użyd NOCOPY - przesyłanie przez referencje a nie przez
wartośd


Wyszukiwarka

Podobne podstrony:
Bazy Danych [tryb zgodnosci] id Nieznany (2)
Bazy danych w03 07 id 81702 Nieznany
Bazy danych w02 07 id 81701 Nieznany
Bazy danych w13 07 id 81707 Nieznany
Bazy danych w12 07 id 81706 Nieznany (2)
Bazy danych w07 07 id 81703 Nieznany
Bazy danych w10 07 id 81705 Nieznany
Bazy danych i mysql od podstaw Nieznany (3)
instrukcja pierwszej pomocy id Nieznany
Krotki kurs pierwszej pomocy id Nieznany
bazy danych jako model rzeczywi Nieznany (2)
Bazy danych i MySQL Od podstaw Nieznany (2)
Bazy danych zbior zadan id 81459 (2)
Bazy danych i mysql od podstaw Nieznany (3)
instrukcja pierwszej pomocy id Nieznany

więcej podobnych podstron