BazyDanychFINALL id 81765 Nieznany

background image

1. Różnie pomiędzy modelem obiektowym a relacyjnym.

Model relacyjny – płaski,

dane grupowane są w relacje, które reprezentowane są przez tablice,

Relacje zgrupowane są w tzw. schematy bazy danych. Relacją może być tabela zawierająca
dane teleadresowe

pracowników, zaś schemat może zawierać wszystkie dane dotyczące firmy.

Model obiektowy – bardziej złożony
- naturalne modelowanie encji,
- i relacji pomiędzy nimi
- dobra reprezentacja danych
- szybka nawigacja (np. nie trzeba tak biegać pomiędzy tabelami)
- dokładność modelowania
- bezpieczeństwo – które zapewnia hermetyzacja (a to mamy dzięki obiektowości)
- integracja z językami programowania
- w obiektowym mamy: klasy, obiekty

2. Nazewnictwo - co jest obiektem, co klasą etc.

Klasy – abstrakcyjna struktura danych, ma interfejs użytkownika, użytkownicy mają interfejs do
wykorzystywania
Obiekty – mają atrybuty, reprezentują dane i metody wykorzystywane na rzecz obiektów, wykonują
operacje na atrybutach,
Atrybuty – mogą być proste, lub złożone (czyli zdefiniowane przez twórców).

3. Co to jest OID (Object ID).

ID Obiektu (OID) – jest określony przez System Zarządzania Obiektową Bazą Danych (SZOBD).

4. CREATE TYPE.... CREATE TABLE

CREATE TYPE Można zdefiniować złożone typy danych i typy kolekcyjne (tabele zagnieżdżone i tablice
VARRAY). W poleceniu tworzenia typu można określić:
- typ nadrzędny, od którego dany typ dziedziczy (klauzula UNDER),
- atrybuty typu obiektowego i określenia ich typu,
- Specyfikację dziedziczenia (klauzuje OVERRIDING, FINAL, INSTANTABLE),
- Specyfikację podprogramów (klauzule MEMBER, STATIC),
- specyfikację funkcji MAP oraz ORDER.
CREATE TABLE Można za jego pomocą:
-określić wartości domyślne dla kolumn tabeli
-zdefiniować ograniczenia dla poszczególnych kolumn tabeli,
-określić sposoby identyfikacji obiektów (wierszy tabeli),
-określić sposób przechowywania tabel zagnieżdżonych i tablic VARRAY
CREATE TYPE osoba AS OBJECT
( nazwisko VARCHAR2(30),
telefon VARCHAR2(30) );

CREATE TABLE osoba_tab OF osoba;

CREATE TABLE osoba
( id NUMBER (4),
Os osoba);

5. Jakie warunki musi spełniać typ tablicowy, by mógł być wykorzystany jako tabela

zagnieżdżona?

background image

Musi być jednowymiarowy. Można modelować tablice wielowymiarowe, tworząc tabele
zagnieżdżone których elementy są również tabele zagnieżdżone.

6. Jak wypełnia się tabelę zbudowaną w oparciu o obiekty? Chodzi o wykorzystanie

konstruktora.

INSERT INTO klinet_obj_tab VALUES( klient_typ(102,’nowak’,’223243242345’) );

7. co to jest referencja? I jak jest realizowana? Podaj przykład.

Referencja: to wartość, która zawiera informacje o położeniu innej wartości w pamięci lub nośniku
danych.
CREATE TYPE osoba AS OBJCT
( nazwisko VARCHAR2(30), Manager REF osoba );

8. Jak budujemy strukturę danych, jeśli jest referencja? Chodzi o kolejność budowania typów

obiektowych i tabel i ich wypełniania.

DECLARE ZamowienieRef REF TO zamowienie;
SELECT REF (po) INTO ZamowienieRef
FROM zamowienie_tab po
WHERE po.id = 1000376;

9. Co robią polecenia związane z referencjami:

- IS DANGLING- sprawdzenie warunku, czy dana referencja jest zawieszona
- DEREF- dereferencja – dostęp do obiektu wskazywanego przez referencję

10. Dziedziczenie w typach obiektowych:

- UNDER- klauzula- typ nadrzędny, od którego dany typ dziedziczy

- OVERRIDING- Specyfikację dziedziczenia. W przeładowaniu metody wykorzystujemy słowo
kluczowe OVERRIDING

- FINAL- Specyfikację dziedziczenia. Domyślnie typy obiektowe są traktowane jako FINAL.

- INSTANTABLE- Specyfikację dziedziczenia. Domyślnie typ obiektowy jest INSTANTIABLE - można na
jego podstawie tworzyć obiekty.

11. Wartość NULL: obiekt o wartości NULL i obiekt zawierający wartości NULL - przedstaw i
opisz różnice.

Obiekt o wartości NULL to tzw. „atomowy NULL” (który nie istnieje) to nie to samo, co obiekt
zawierający atrybuty o wartości NULL.(ten ma puste atrybuty).
CRATE TYPE osoba AS OBJECT
( name VARCHAR2(30),
telefon VARCHAR2(30) );
CRATE TABLE kontakty
( kontakt osoba,
data DATE );
INSERT INTO kontakty VALUES (osoba(NULL,NULL),’23-jan-1020’);

background image

INSERT INTO kontakty VALUES ( NULL, ’23-jan-2010’);

12. Klauzula DEFAULT przy tworzeniu tabel - jak działa i jak zaimplementować (czyli: napisz
linijkę jak to ma wyglądać).

Określanie wartości domyślnej – przy deklaracji kolumny tabeli (jeśli ta kolumna jest obiektem lub
kolekcją!) Jak działa? to wywołanie konstruktora
CREATE TABLE kontakty (
Kontakt osoba DEFAULT osoba (‘Kowalski’,’235r4235324’)
);

13. Jak możemy zaimplemetować kolekcje w Oracle obiektowym? (odp. tabele zagnieżdżone i
tabele zmiennej długości, proszę znać również nazwy angielskie).

- tabele zagnieżdżone (ang. nested tables) To nieuporządkowany zbiór elementów tego samego
typu. Mają jedną kolumnę typu prostego lub obiektowego zdefiniowanego przez użytkownika. Gdy
kolumna jest obiektowa  tabela ta może być traktowana jako wielokolumnowa (poszczególne
kolumny odpowiadają atrybutom typu obiektowego).

-tabele o zmiennej długości (ang. varray) VARRAY – to wielopoziomowe tablice o zmiennej długości.
Mogą być przechowywane na dwa sposoby: 1) może to być tablica VARRAY elementów typu VARRAY
2) albo tablica VARRAY tablic zagnieżdżonych. Jeśli ma mniej niż 4 000 bajtów  jest przechowywana
razem z wierszem tabeli. Tablice o większych rozmiarach przechowywane są w obiekcie typu LOB
(ang. Large Object).

14. Wymień 2 cechy tabel zagnieżdżonych (slajd numer 3)

1. Mogą mieć dowolną liczbę elementów (wierszy), nie jest określona ich liczba i porządek. 2.
Dodawanie, usuwanie i pobieranie wierszy – jak w relacyjnej.

15. Wymień 2 cechy tabel zmiennej długości (slajd numer 4)

1. To uporządkowana kolekcja elementów. 2. Każdy ma swój indeks (numer) identyfikujący

16. Jak traktowana jest tabela zagnieżdżona? kiedy jako jednokolumnowa, a kiedy jako
wielokolumnowa?

Gdy kolumna jest obiektowa  tabela ta może być traktowana jako wielokolumnowa (poszczególne
kolumny odpowiadają atrybutom typu obiektowego).

17. Podaj jak definiujemy tabelę zagnieżdżoną (przykład)

CREATE TYPE nazwa_typu AS TABLE OF typ_kolumny; (AS TABLE nie AS OBJECT !!!)

18. Gdzie jest przechowywana tabela zagnieżdżona? (slajd numr 7)

Oracle przechowuje dane tabeli zagnieżdżonej dla wszystkich wierszy (obiektów) tabeli nadrzędnej w
jednej odrębnej tabeli (w tzw. tabeli składowej, ang. stored table).

19. Podaj przykład wykorzsytania tabeli zgnieżdżonej (czyli deklaracja typów obiektowych,
tablicowego i tabeli).

CREATE TYPE szczegóły_typ AS OBJECT (
towar CHAR(15),

background image

ilosc NUMBER,
cena NUMBER );

CREATE TYPE szczegoly_typtab AS TABLE OF szczegoly_typ;

CREATE TABLE zamowienia (
nr_zam CHAR(10),
klient CHAR (15),
data DATE,
szczegoly_zam szczegoly_typtab)
NESTED TABLE szczegoly_zam STORE AS tabela_skladowa;

20. Co to sa kolekcje wielopoziomowe?

Typy kolekcji wielopoziomowych to takie typy, których elementami są inne kolekcje:
- tabela zagnieżdżona w tabeli zagnieżdżonej,
- tabela zagnieżdżona w tabeli VARRAY,
- tablica VARRAY typu tabela zagnieżdżona,
- tablica VARRAY typu tablica VARRAY,
- tabela zagnieżdżona lub tablica VARRAY typu zdefiniowanego przez użytkownika, zawierająca
atrybut typu tabela zagnieżdżona lub VARRAY.
Tak samo, jak typy jednopoziomowe, typy wielopoziomowe mogą być używane dla kolumn tabel
relacyjnych oraz dla atrybutów tabel obiektowych.

21. Jakie są kombinacje dotyczące przechowywania tablic zmiennej długości? (slajd numer 15) i
jakie ograniczenia?

Mogą być przechowywane na dwa sposoby: 1) może to być tablica VARRAY elementów typu VARRAY
2) albo tablica VARRAY tablic zagnieżdżonych.

22. Co to jest metoda i do czego służy (w kontekście Oracle obiektowego).

Związane bezpośrednio z danym obiektem. Dzięki nim aplikacje uzyskują dostęp do atrybutów
obiektu. Mają wbudowany parametr SELF – wskazujący na instancję obiektu, dla którego metoda
została wywołana.Mogą odwoływać się do atrybutów i metod obiektu bez kwalifikatora SELF.
Przy definiowaniu – wskazuje na typ metody i nazwę, treść metody jest w CREATE TYPE BODY.

23. Zasady implementacji metody MEMBER.

W Create type jest ona implemetowana a w create body zostaje opisany sposób jej działania

24. Podaj przykład metody do wskazanego typu obiektowego.

CREATE TYPE liczba_wymierna AS OBJECT
( licznik INTEGER, mianownik INTEGER, MEMBER PROCEDURE normalizacja, …. );
CREATETYPE BODY liczba_wymierna AS --dla typu
MEMBER PROCEDURE normalizacja IS --wypisujemy treść procedury
g INTEGER;
BEGIN
g := gcd(SELF.num, SELF.den; --lub: g:= gcd(num,den);
num := num/g;
den := den/g;
END normalizacja;

background image

….
END;

25. Zasady implementacji metody MAP.

– można porównywać obiekty poprzez odwzorowanie (mapowanie, ang. mapping) instancji obiektu
na wartość skalarną DATE, NUMBER lub VARCHAR2
– Przy wywołaniu metody, dla każdego obiektu (każdej instancji obiektu) poszczególne obiekty są
‘rzutowane’ na oś – porządkowane zgodnie z klasycznymi mechanizmami porządkowania
– Funkcja MAP MEMBER jest baz parametrów, zwraca wartość skalarną jednego z typów prostych
– Jest wywoływana automatycznie przez system w momencie wykonywania poleceń SQL
zawierających klauzule DISTINCT, GROUP BY i ORDER BY.

26. Podaj przykład metody MAP do wskazanego typu obiektowego.

metoda MAP MEMBER o nazwie pole() – porównywanie info o prostokątach na podstawie pola
powierzchni:
CREATE TYPE prostokat_typ AS OBJECT
( dlugosc NUMBER, szerokosc NUMBER, MAP MEMBER FUNCTION pole RETURN NUMBER, …. );
CREATETYPE BODY prostokat_typ AS MAP MEMBER FUNCTION pole RETURN NUMBER IS
BEGIN
RETURN dlugosc*szerokosc;
END POLE;

END;

27. Zasady implementacji metody ORDER.

ORDER (ang.order methods) do bezpośredniego porównywania 2-ch obiektów (bieżącego z drugim,
przekazanym jako parametr), przechowują info, który obiekt jest ‘mniejszy’ a który ‘większy’ albo czy
‘równe’ na podstawie podanego kryterium. Metody zwracają: liczbę dodatnią (+), liczbę ujemną(-)
albo 0  ta liczba wskazuje, czy aktualny obiekt (SELF) jest większy, mniejszy czy równy temu z
parametrem. Metoda wykonywana automatycznie zawsze wtedy, gdy wykonywana jest operacja
porównywania obiektów. W typie obiektowym można zadeklarować co najwyżej jedną metodę
ORDER (lub MAP). Metodę ORDER można zadeklarować jedynie w takim typie obiektowym, który nie
jest dziedziczony z innego typu (czyli nie można deklarować w typie pochodnym)

28. Podaj przykład metody ORDER do wskazanego typu obiektowego.

CREATE TYPE klient_typ AS OBJECT
( id NUMBER, nazwisko VARCHAR2(30), adres VARCHAR2(30),
ORDER MEMBER FUNCTION porownaj (k klient_typ) RETURN INTEGER );
CREATE TYPE BODY klient_typ AS
ORDER MEMBER FUNCTION porownaj (k klient_typ) RETURN INTEGER IS
BEGIN
IF id < k.id THEN
RETURN -1; --moze byc dowolna liczba ujemna
ELSIF id > k.id THEN
RETURN 1; --moze byc dowolna dodatnia
ELSE
RETURN 0;

background image

ENDIF; --jak widać składnia podoba do tej z bash’a linuksowego
END;
END

29. Zasady implementacji metod typu STATIC.

Związane są z określonym typem obiektowym - a nie z instancją typu (czyli analogicznie: tak jakby
dotyczą całej klasy, a nie pojedynczych obiektów). Wykorzystywane do operacji globalnych dla typu
obiektowego, bez odwoływania się do konkretnej instancji.
Nie jest wykorzystywany parametr SELF.
Wywołanie:
nazwa_typu.metoda(parametry);

30. Zasady dziedziczenia

FINAL/NOT FINAL,
Aby umożliwić dziedziczenie z danego typu obiektowego, polecenie definicji typu musi zawierać
słowo kluczowe NOT FINAL:
CREATE TYPE osoba_objtyp AS OBJECT(
id NUMBER,
nazwisko VARCHAR2(30),
adres VARCHAR2(100)) NOT FINAL;
Jeżeli słowo kluczowe NOT FINAL nie będzie dołączone do definicji typu, to system przyjmie
domyślnie parametr FINAL co oznacza, że na podstawie tego typu nie będą mogły być tworzone typy
podrzędne
Parametr FINAL/NOT FINAL może być zmieniony za pomocą polecenia ALTER TYPE, np.:
ALTER TYPE osoba_objtyp FINAL;
Zmianę parametru NOT FINAL na FINAL można wykonać jedynie w przypadku, gdy dany typ nie
posiada typów pochodnych.
UNDER.
Tworzenie typu podrzędnego odbywa się przy pomocy polecenia CREATE TYPE z
parametrem UNDER:
CREATE TYPE student_objtyp UNDER osoba_objtyp(
id_wydz NUMBER,
kierunek VARCHAR2(30)) NOT FINAL;
Powyższe polecenie tworzy typ o nazwie student_objtyp jako typ podrzędny typu
ooba_objtysp. Typ ten dziedziczy wszystkie atrybuty zdefiniowane w definicji typu
osoba_objtyp lub odziedziczone przez ten typ, oraz wszystkie metody zdefiniowane w typie
osoba_objtyp i odziedziczone przez ten typ.

31. Zasady dziedziczenia po typie podrzędnym.

UNDER.
Tworzenie typu podrzędnego odbywa się przy pomocy polecenia CREATE TYPE z
parametrem UNDER:
CREATE TYPE student_objtyp UNDER osoba_objtyp(
id_wydz NUMBER,
kierunek VARCHAR2(30)) NOT FINAL;
Powyższe polecenie tworzy typ o nazwie student_objtyp jako typ podrzędny typu
ooba_objtysp. Typ ten dziedziczy wszystkie atrybuty zdefiniowane w definicji typu

background image

osoba_objtyp lub odziedziczone przez ten typ, oraz wszystkie metody zdefiniowane w typie
osoba_objtyp i odziedziczone przez ten typ.

32. Podaj przykład referencji obiektowej.

Rozumiemy jak wskaźnik do obiektu wierszowego.
CREATE TABLE osoba
( id NUMBER (4),
nazw_obj nazw_obj_typ,
adres_ref REF adres_obj_typ SCOPE IS adres_obj_tab);

33. co to jest OID? (pytanie jak w pliku z pytaniami numer W01)

ID Obiektu (OID) – jest określony przez System Zarządzania Obiektową Bazą Danych (SZOBD).

34. Co robi klauzula SCOPE FOR przy referencji?

ogranicza do przechowywania referencji wyłącznie do jednej tabeli obiektowej.
Podczas gdy referencje o nieograniczonym zakresie wymagają co najmniej 36 bajtów,
referencje o ograniczonym zakresie wymagają tylko tyle bajtów ile zawiera OID obiektu
wskazywanego i mogą zawierać mniej niż 16 bajtów (dla OID opartych na kluczu głównym).

35. Default i konstruktory - pytanie jak w pliku z pytaniami numer W01

Default
Określanie wartości domyślnej – przy deklaracji kolumny tabeli
(jeśli ta kolumna jest obiektem lub kolekcją!)
Jak działa? to wywołanie konstruktora
CREATE TABLE kontakty (
Kontakt osoba DEFAULT osoba (‘Kowalski’,’235r4235324’)
);
Konstruktory
Nazwa konstruktora = nazwa typu obiektowego, parametry = atrybuty typu.
CREATE TYPE klient_typ AS OBJECT
( id NUMBER,
nazwisko VARCHAR2(30),
tel VARCHAR2(30) );
Cust=klient_typ(103,’kowalski’,’344545234532’);
CREATE TABLEklient_obj_tab OF klient_typ;
INSERT INTO klinet_obj_tab VALUES
( klient_typ(102,’nowak’,’223243242345’) );

36. Co to jest PLSQL

PL/SQL (Procedural Language/SQL). Rozszerzenie języka SQL. Umożliwia wykorzystanie rozkazów SQL
do wykonywania operacji na danych i realizowania zapytań w strukturze proceduralnych bloków.
Narzędzie programowania transakcji (m.in.)

37. Jak są realizowane polecenia PLSQL?

PL/SQL nie jest samodzielnym produktem ORACLE, a stanowi technologię zaimplementowaną w
RDBMS i w niektórych programach narzędziowych ORACLE.

background image

Bloki PL/SQL są przekazywane i przetwarzane przez maszynę PL/SQL, która rezyduje albo w
programie narzędziowym albo w samym RDBMS.
O tym, która maszyna zostanie zastosowana decyduje miejsce wywołania PL/SQL.
Maszyna PL/SQL wykonuje rozkazy proceduralne, a rozkazy SQL przesyła do wykonania do
wykonawcy poleceń SQL w RDBMS.
Filtruje rozkazy SQL, pozostawiając do wykonania przez swojego wykonawcę pozostałe proceduralne
rozkazy.

38. Jak są realizowane wyjątki? Podaj przykład.

Wyjątki są identyfikatorami w PL/SQL, które mogą wystąpić podczas wykonania bloku, jako
zakończenie wykonywania głównej grupy działań . Wykonanie bloku zawsze jest kończone gdy wystąpi
sytuacja wyjątkowa, mamy jednak możliwość określenia procedury obsługi wyjątków dla wykonania
działań końcowych poprzedzających to zakończenie. Obsłużona sytuacja wyjątkowa nie
rozprzestrzenia się na blok lub środowisko, w którym działa.
DECLARE

V_ENAME

EMP.ENAME%TYPE;

V_JOB

EMP.JOB%TYPE;

BEGIN

SELECT ENAME,JOB

INTO

v_ename, V_JOB

FROM

EMP

WHERE HIREDATE BETWEEN '01-JAN-92' AND '31-DEC-92';

EXCEPTION

WHEN NO_DATA_FOUND

THEN INSERT INTO ERROR_TAB VALUES('Nobody in 92');

WHEN TOO_MANY_ROWS

THEN INSERT INTO ERROR_TAB VALUES('More then one person');

END;

39. co to jest serwer BD? (nazwy angielskie poproszę)

Serwer bazy danych Oracle (ang. database server) motor bazy + zaangażowane w obsługę danych
zasoby sprzętowe, pliki bazodanowe, dzienniki powtórzeń etc.

40. Co to jest silnik bazy danych?

Motor bazy (ang. database engine) określa zbiór procesów czy programów realizujących funkcje
związane z obsługą danych

41. Jakie zadania ma spełniać serwer BD? (slajd 5)

1.Praca w środowisku klient-serwer(przetwarzanie rozproszone)

Oddzielenie funkcji serwera bazy od zadań wykonywanych przez klienta
Serwer  do składowania i zarządzania zbiorem danych
Klient  formułowanie i wysyłanie zapytań o dane,

przetworzenia danych,

prezentacja danych,

modyfikowanie danych składowanych na serwerze

Funkcje klienckie może przejąć serwer (przechowuje i wykonuje elementy kodu aplikacji)
zalety:

background image

Słabsze maszyny jako klient
Zmniejszenie natężenia ruchu sieciowego

2.Praca w środowisku wielowarstwowym (serwery aplikacji)

Trójwarstwowa architektura

(MVC – Model-View-Controller):

3.Składowanie i zarządzania dużymi bazami danych

– Wykorzystania wysokowydajnych metod asynchronicznego zapisu na dyski
– Zapewnienia dostępu metodą raw devices
– Uporządkowania zasobów sprzętowych, buforów, PaO, procesorów

4.Obsługa wielu użytkowników jednocześnie
5.Możliwość przenoszenia danych
6.Zapewnienie dużej dostępności danych

w systemach produkcyjnych często 24 godziny/dobę
nie wymaga przerw w pracy bazy na kopie zapasowe, usuwania awarii systemu

7.Zapewnienie możliwości kontroli dostępu do danych

kontrola: role i przywileje
kontrola na poziomie dostępu
do tabeli i wiersza

8.Wymuszenie spójności danych

ważny: jednoczesny dostęp do danych bez zaburzenia logicznej struktury oraz zawartości

9.Realizacja przetwarzania rozproszonego Grid Computing

możliwe jest łączenie danych (składowanych fizycznie na różnych komputerach) w jedną
(logicznie) strukturę danych

10.Replikacja danych

replikacja obiektów, albo zbiorów danych,
przenoszenie części danych do innej instancji bazy danych Oracle, jak i do pokrewnych
magazynów danych (np. Oracle Lite)

42. co to jest INSTANCJA Oracle?

Grupa buforów Obszar globalny systemu (ang. System Global Area - SGA) wykorzystywana do obsługi
bazy
Procesy drugoplanowe (ang. Background Processes) działają asynchronicznie, wykonują czynności
związane z obsługą bazy i zapytaniami użytkowników
Inaczej: programy rezydujące w pamięci operacyjnej komputera, który pracuje jako serwer Oracle
Zazwyczaj: 1 instancja dla 1 bazy
jest możliwe otwarcie wielu instancji pracujących na danych jednaj bazy przy użyciu serwera
równoległego (ang. Parallel Server Option)

43. Co to jest SGA? I do czego służy?

System Global Area – Globalny obszar systemu.

jest obszarem pamięci współużytkowanej

wykorzystywanym przez Oracle’a do przechowywania informacji kontrolnych instancji Oracle’a. SGA
jest przydzielana podczas uruchamiania instancji i zwalniana podczas jej zatrzymywania

44. Wymień procesy działające na serwerze BD i ich zadania (podział z grubsza, nie wymieniać
wszystkich).

proces usługowy. Jego rolą jest obsługa żądań użytkowników

background image

45. Jakie pliki sa wykorzystywane w BD Oracle i co przechowują?

pliki konfiguracyjne (init files)
pliki kontrolne (control files) — binarne, bardzo ważne, zawierają informacje o położeniu
WSZYSTKICH plików bazy danych wraz z datą i godziną ich zamknięcia
pliki danych (data files) — przechowują dane w postaci binarnej, z danych w nich zawartych korzysta
się za pośrednictwem procesów serwera (tła)
pliki dziennika powtórzeń (redo-log files) — rejestrują wszystkie operacje wykonane na bazie

46. Co to są ekstenty?

Ekstent jest zbiorem ciągłych bloków. Taki zbiór bloków jest tworzony za każdym razem, kiedy do
obiektu wymagana jest dodatkowa przestrzeń

47. Zależności pomiędzy segmentami, ekstentami a blokami danych.

Segmenty są po prostu zbiorem ekstentów

48. Jakie znasz typy segmentów? Wymień 4.

Segment danych, indeksu, przywracania, tymczasowy

49. co to jest Process Global Area?

PGA – Process Global Area pamięć przydzielona każdemu procesowi, W niej są zawarte prywatne
obszary SQL. Ich maksymalna liczba to OPEN_CURSORS

50. Jak dzielimy język SQL (chodzi o DDL i DML).

Instrukcje manipulowania danymi (DML – ang. Data Manipulation Language)
Instrukcje definiowania danych (DDL – ang. Data Definition Language)

51. Omów działanie komend DDL. Wymień przykładowe komenty DDL.

Definiowanie obiektów BD (CREATE)
Zmiana struktury BD (ALTER)
Usuwania elementów BD (DROP)
Zmiana nazwy obiektów BD (RENAME)
Kasowanie danych bez usuwania obiektu (TRUNCATE)
Nadawanie i odbieranie uprawnień i ról (GRANT, REVOKE)
Włączanie/wyłączanie mechanizmów monitorowania BD (AUDIT, NOAUDIT)
Komentowanie obiektów BD (COMMENT)

52. Omów działanie komend DMmL. Wymień przykładowe komenty DML.

Do modyfikowania zawartości bazy (INSERT, UPDATE, DELETE)
Odczytywania zawartości (SELECT)
Blokowania dostępu (LOCK TABLE)
Wyświetlenia planu wykonania instrukcji (EXPLAIN PLAN)
Instrukcje definiowania danych

53. Wymień i omów własności transakcji (nazwy po polsku i ang.)

background image

Atomowość (atomicity) - w ramach jednej transakcji wykonują się albo wszystkie operacje, albo żadna
Spójność (consistency) - o ile transakcja zastała bazę danych w spójnym stanie, po jej zakończeniu stan
jest również spójny. (W międzyczasie stan może być chwilowo niespójny)
Izolacja (isolation) - transakcja nie wie nic o innych transakcjach i nie musi uwzględniać ich działania.
Czynności wykonane przez daną transakcję są niewidoczne dla innych transakcji aż do jej zakończenia.
Trwałość (durability) - po zakończeniu transakcji jej skutki są na trwale zapamiętane (na dysku) i nie
mogą być odwrócone przez zdarzenia losowe (np. wyłączenie prądu)

54. Co zaczyna transakcję w systemie Oracle?

pierwsze polecenie DML lub DDL

55. Co kończy transakcję w systemie Oracle?

COMMIT/ROLLBACK,
rozkaz DDL,
pewien typ błędu (np. zakleszczenie - „deadlock”),
zakończenie sesji (exit),
awaria komputera.

56. Podaj przykład transakcji (to pytanie będzie doszczegółowione).

polecenie przelewu pieniędzy pomiędzy kontami realizuje się przez odjęcie danej sumy z jednego
konta
i dodanie tej samej sumy do drugiego konta.
Obie czynności muszą być razem wykonane pomyślnie lub muszą zostać razem odwołane !!!

57. Zasady transakcji.

By zapamiętać zmiany  należy je zatwierdzić (rozkaz COMMIT)
Zmiany, które nie zostały jeszcze zatwierdzone  mogą być odwołane rozkazem ROLLBACK.
Rozkaz ROLLBACK powoduje, że baza wraca do stanu początkowego (czyli stanu, w jakim była po
ostatnim COMMIT)
Gdy poważny błąd (awaria systemowa), aktualna transakcja jest automatycznie odwoływana
Zapobiega to dopuszczeniu do wykonania częściowych zmian w bazie danych i przywraca stan tabel z
chwili ostatnio wykonanego COMMIT

58. Zasady działania COMMIT, ROLLBACK. Podaj przykład.

Commit-zatwierdza zmiany
Rollback-zmiany które nie zostały jeszcze zatwierdzone zostaną odwołane
polecenie przelewu pieniędzy pomiędzy kontami realizuje się przez odjęcie danej sumy z jednego
konta
i dodanie tej samej sumy do drugiego konta.
Obie czynności muszą być razem wykonane pomyślnie lub muszą zostać razem odwołane !!!

59. Zasady działania SAVEPOINT.

Ustawia punkt bezpieczeństwa

60. Zasady działania ROLLBACK TO SAVEPOINT.

Wycofuje do punktu bezpieczeństwa

61. Co to są transakcje tylko do odczytu?

zapewnia spójność na poziomie transakcji, nie można w nich dokonywać żadnych modyfikacji danych,
korzystają z mechanizmu wielowersyjności


Wyszukiwarka

Podobne podstrony:
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany
analiza ryzyka bio id 61320 Nieznany
pedagogika ogolna id 353595 Nieznany
Misc3 id 302777 Nieznany
cw med 5 id 122239 Nieznany
D20031152Lj id 130579 Nieznany
mechanika 3 id 290735 Nieznany

więcej podobnych podstron