BazyDanychFINALL

  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

  1. 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).

  1. Co to jest OID (Object ID).

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

  1. 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);

  1. Jakie warunki musi spełniać typ tablicowy, by mógł być wykorzystany jako tabela zagnieżdżona?

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

  1. 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’) );

  1. 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 );

  1. 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;

  1. 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’);

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),

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;

….

 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;

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

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.

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:

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

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

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.)

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:
WYK6 BazyDanych
Microsoft PowerPoint IP5 bazydanych tryb zgodnosci
BazyDanychCw2
BazyDanychFINALL id 81765 Nieznany
BazyDanych MySQL 4
ITA 101 BazyDanych podręcznik kursuMSSQL
bazydanych zbiorcze pyt i odp
Microsoft PowerPoint IP5 bazydanych [tryb zgodnosci]
Bazydanych Manual
BazyDanych KM wykłady Normalizacja 1 2x1
bazydanych, WAT, semestr VI, Hurtownie danych
BazyDanychCw3
BazyDanych KM przeglad SQL v2
01a Anomalie BazyDanych
bazydanych
bazydanychHurtownie2011v 2
BazyDanychCw2
BazyDanych - MySQL - 3, Nauka, studia infa, Semestr 3, Bazy danych, 1 MYSQL

więcej podobnych podstron