plik


ÿþ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 ) WykBad 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 reprezentujcy jaki[ fakt (zdarzenie lub pojcie); dana posiadajca znaczenie (semantyk) to informacja; dane w bazach danych maj struktur zgodn z reguBami wBa[ciwymi dla przyjtego modelu danych SBD  System baz danych System zarzdzania baz danych  zbiór programów umo|liwiajcych zarzdzanie baz danych: ·ð definiowanie  okre[lenie typów i struktur danych ·ð konstruowanie  umieszczanie danych na no[niku i przechowywanie ich ·ð manipulowanie  zapytania i aktualizacje ·ð udostpnianie wielu u|ytkownikom i aplikacjom 2. Podaj wBasno[ci danych w bazach danych ·ð TrwaBo[d o dowolnie dBugi czas przechowywania o niezale|no[d od dziaBania aplikacji o nie mog byd utracone ·ð Du|y rozmiar wolumenu o dane nie mieszcz si w pamici operacyjnej (wymagana pamid zewntrzna) o danych jest zbyt du|o dla ich liniowego przegldania przez u|ytkowników ·ð ZBo|ono[d o zBo|ono[d strukturalna i zBo|ono[d zale|no[ci pomidzy danymi o zBo|ono[d semantyczna (znaczeniowa) 3. Wymagania stawiane systemom baz danych ·ð Spójno[d baz danych ·ð Efektywne przetwarzanie danych ·ð Poprawne modelowanie [wiata rzeczywistego ·ð Autoryzacja dostpu do danych ·ð WspóBbie|no[d dostpu do danych ·ð Metadane 4. Jakie mo|liwo[ci powinien oferowa system zarzdzania baz danych? Powinien mied nastpujce funkcjonalno[ci: ·ð jzyk bazy danych  tworzenie, definiowanie, wyszukiwanie, pielgnacje ·ð struktury danych  efektywne skBadowanie i przetwarzanie du|ych wolumenów danych ·ð optymalizacja dostpu do danych ·ð wspóBbie|ny dostp do danych Strona 1 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 ) ·ð autoryzacja dostpu do danych ·ð wielo[d interfejsów dostpu do bazy danych ·ð zapewnianie bezpieczeostwa danych zagro|onego awaryjno[ci [rodowiska sprztowo  programowego 5. Co oznacza spójno[ baz danych? Jest to jedno z wymagao stawianych wobec systemu baz danych: ·ð poprawno[d danych z punktu widzenia przyjtych kryteriów: o wierne odzwierciedlenie o speBnienie ograniczeo naBo|onych u|ytkowników ·ð odporno[d na anomalie bdce wynikiem wspóBbie|no[ci dostpu do baz danych ·ð odporno[d na bBdy, awarie i inne anomalne sytuacje, wynikajce z zawodno[ci [rodowiska sprztowo  programowego ·ð odporno[d na bBdy u|ytkowników 6. Co to s metadane? Jest to jedno z wymagao stawianych wobec systemu baz danych: ·ð dane o danych, strukturach dostpu, u|ytkownikach i ich prawach WykBad 2 (11. 10.2010) 1. Definicja modelu danych Model danych  zbiór ogólnych zasad posBugiwania si danymi dotyczcy: ·ð struktury danych ·ð operacji na danych ·ð ograniczeo integralno[ci dla danych okre[lajcy, które stany bazy danych s poprawne 2. Cechy modelu relacyjnego ·ð dane przedstawione w postaci dwuwymiarowych tabel (relacja) ·ð ka|da relacja ma jednoznaczn nazw ·ð porzdek kolumn nie jest istotny ·ð porzdek wierszy nie jest istotny ·ð nie s dozwolone wiersze identyczne ·ð warto[ci w kolumnach s atomowe ·ð ka|da tabela zawiera zero lub wicej wierszy (krotka) i jedn lub wicej 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  wyodrbnienie wybranych atrybutów relacji ·ð notacja: Àatrybuty (nazwa relacji) -  atrybuty jest podzbiorem atrybutów Strona 2 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 ) ·ð WBasno[ci  operacja projekcji nie jest przemienna ·ð SkBadanie operacji projekcji jest mo|liwe je|eli lista2 zawiera wszystkie atrybuty lista1 Àlista1 (Àlista2 (R)) = Àlista1 (R) ·ð PrzykBady: o ÀNazwisko (Pracownicy) select Nazwisko from Pracownicy o ÀNazwisko Etat PBaca (Pracownicy) select Nazwisko, Etat, PBaca from Pracownicy 4. Operacja sumowania relacji ·ð wynikiem tej operacji, oznaczonej przez R  S, jest relacja zawierajca wszystkie krotki, które wystpuj w R i wszystkie krotki, które wystpuj w S, z wyBczeniem duplikatów krotek ·ð operacja sumy jest operacj przemienn R  S = S  R 5. Operacja selekcji ·ð przeznaczenie  wyodrbnienie podzbioru krotek relacji, które speBniaj warunek selekcji ·ð notacja Ãwarunek relacji (nazwa relacji) o warunek selekcji jest zbiorem predykatów postaci <atrybut><operator relacyjny><literaB> lub <atrybut><operator relacyjny><atrybut> ·ð predykaty s Bczone operatorami logicznymi AND lub OR ·ð wBasno[ci  operacja selekcji jest przemienna Ãwar1 (Ãwar2(R)) = Ãwar2(Ãwar1(R)) 6. Kompatybilno[ relacji ·ð Dwie relacje: R(A1, & , An) i S(B1, & , Bn) s kompatybilne, je|eli maj ten sam stopieo i je|eli dom(A1) = dom(B1) dla 1 < i < n WykBad 3 (18. 10. 2010) 1. Co oznaczaj skróty DDL, DML, DCL ? ·ð DDL (Data Definition Language)  jzyk definiowania danych: o stosowany do tworzenia i usuwania struktur danych oraz do modyfikowania istniejcych struktur o aktualizuje metadane przechowywane w sBowniku danych o polecenia (CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME) ·ð DML (Data Manipulation Language)  jzyk manipulowania danymi: o stosowany przy okre[laniu transakcji wykonywanych na bazie danych o u|ywany do okre[lania poleceo, które realizuj dziaBania wstawiania, usuwania i zmian danych o polecenia (SELECT, INSERT, DELETE, UPDATE) Strona 3 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 ) ·ð DCL (Data Control Language)  jzyk 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, bdz jej skrócenie w celu zwikszenia 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 powizany z rekordem nadrzdnym wBa[ciwego typu ·ð zawarto[d ka|dego pola rekordu musi odpowiadad typowi danych z definicji danego typu rekordu Wizy integralno[ci: NOT NULL  pseudo-warto[d NULL nie jest dozwolona w danej kolumnie (domy[lnie NULL jest dopuszczalna) PRIMARY KEY  kolumna stanowi klucz gBówny FOREIGN KEY  kolumna stanowi klucz obcy UNIQUE  kolumna stanowi klucz jednoznaczny (warto[ci w kolumnie nie powtarzaj si) CHECK  warunek jaki ma byd speBniony 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 caBej 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 sBowo kluczowe CHECK ? Jest to warunek jaki ma byd speBniony dla warto[ci w wierszu Strona 4 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 ) 7. Ró|nice midzy typami DATE i TIMESTAMP TIMESTAMP  typ przeznaczony dla daty i czasu. PoBczenie typów DATE i TIME. Jego dBugo[d wynosi z separatorami 19 pozycji (z opcj WITH TIME ZONE - 25) . Dodatkowo mo|na sprecyzowad uBamkowe cz[ci sekund. Zakres: 1970-01-01 00:00:00 do roku 2037. DATE  typ u|ywany do przechowywania daty. SkBada si z 3 pól: YEAR (rok), MONTH (miesic), DAY (dzieo). Razem z separatorami ilo[d pozycji wynosi 10. Zakres: 1000-01-01 do 9999-12-31. WykBad 4 (25. 10. 2010) 1. Podaj przykBad zastosowania funkcji konwertujcej 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 pocztku 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 wic wpiszemy 28-05-08, rok zostanie przetBumaczony na 2008. Format DD-MM-RR jest formatem domy[lnym w BD Oracle. Ostatnie dwie cyfry roku bd tBumaczone w nastpujcy sposób: Dwie ostatnie cyfry Podane dwie ostatnie cyfry roku mieszcz si w przedziale: bie|cego roku mieszcz si 0-49 50-99 w przedziale: zwracana jest data w zwracana jest data w 0-49 bie|cym stuleciu poprzednim stuleniu zwracana jest data w zwracana jest data w 50-99 nastpnym stuleciu bie|cym stuleciu Strona 5 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 ) 6. Jak policzy ilo[ wierszy zwracanych przez SELECT ? Poprzez u|ycia sBowa kluczowego COUNT(*), np.: SELECT COUNT(*) as 'Liczba klientów' FROM customer; WykBad 5 (8. 11. 2010) 1. Definicja zBczenia naturalnego Specjalny rodzaj poBczenia równo[ciowego. W wyniku zBczenia naturalnego kolumna (albo kolumny) zBczeniowe wystpuje 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 wic zBczeniem naturalnym relacji jest zbiór wszystkich mo|liwych poBczeo krotek relacji, przy których ich wspólne atrybuty maj takie same warto[ci. 2. Ró|nice midzy zBczeniem wewntrznym a zewntrznym ZBczenie wewntrzne kojarzy ze sob rekordy wystpujce w dwóch lub wicej tabelach i zwraca w wyniku tylko pasujce rekordy. W zBczeniu wewntrznym wystpuje sBowo kluczowe INNER JOIN - w tabeli, powstajcej w wyniku zBczenia, znajduj si jedynie wiersze, które speBniaj warunki zBczenia. ZBczenie zewntrzne rozszerza rezultat zBczenia wewntrznego o te wiersze jednej lub obu tabel, dla których nie odnaleziono odpowiedników w drugiej tabeli. Wiersze stanowice rozszerzenie s wypeBnione warto[ci NULL. W zBczeniu zewntrznym wystpuje sBowo kluczowe OUTER JOIN - w tabeli powstajcej w wyniku zBczenia, mog znajdowad si wszystkie wiersze z jednej lub wielu tabel nawet te, które nie speBniaj warunku zBczenia. 3. Do czego sBu|y operator EXISTS ? EXISTS jest u|ywany w podzapytaniach. Za jego pomoc okre[la si czy podzapytanie zwróciBo 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 wewntrz innego zapytania (polecenie SELECT zagnie|d|one w innym poleceniu SELECT) ·ð Operatory: = ,<, >, <>, <= , >= , IN, ANY , ALL ·ð Mo|e wystpid wszdzie 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; Strona 6 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 ) 5. W jakiej cz[ci polecenia SELECT mo|e wystpi podzapytanie? Podzapytanie najcz[ciej umieszcza si w warunkach w klauzulach WHERE i HAVING zapytania zewntrznego, niektóre SZBD dopuszczaj równie| stosowania podzapytao w klauzulach SELECT i FROM. 6. Definicja podzapytania skorelowanego ·ð jest wykonywane raz dla ka|dego wiersza przegldanego przez zapytanie zewntrzne ·ð operuje na warto[ciach atrybutów przekazanych przez zapytanie zewntrzne ·ð zawsze posiada odwoBanie do atrybutu zapytania zewntrznego ·ð mo|e obsBu|yd warto[d null SELECT kol1, kol2, & FROM tabela WHERE koln >= (SELECT kolx FROM tabela WHERE kolx = kol2); WykBad 6 (15.11.2010) 1. Czym jest SQL*PLUS ? SQL*Plus umo|liwia: ·ð wykonywanie instrukcji SQL pobierajcych, modyfikujcych, dodajcych i usuwajcych dane z BD ·ð formatowanie, zapamitywanie, 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 jzyka PL/SQL 2. Zmienne tymczasowe ·ð definiuje si wewntrz instrukcji przez podanie nazwy poprzedzonej znakiem & ·ð sBu|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 uniknd powtarzania wpisywania warto[ci zmiennej stosujc && 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 usunicia przez stwórc lub zakooczenia programu SQL*PLUS. Tworzenie : DEFINE nr_zespolu = 20 Usunicie: UNDEFINE nr_zespolu U|ycie: SELECT * FROM prac WHERE id_zesp = &nr_zespolu; Strona 7 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 ) 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 poprzedzajc nazw dwukropkiem (w tym wypadku - :zm ) 3. Sposób: Deklaracja: ACCEPT nazwa_zmennej[typ][FORMAT format][PROMPT tekst][HIDE] PrzykBad deklaracji: ACCEPT id_pracownika FORMAT 99 PROMPT  Podaj numer pracownika PrzykBad 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, staBe, wyjtki, procedury, funkcje BEGIN cig instrukcji do wykonania EXCEPTION obsBuga wyjtków (bBdó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; Strona 8 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 ) WykBad 7 (22.11.2010) 1. Instrukcja SQL%ROWCOUNT Instrukcja ta sBu|y do pokazania, ile wierszy zwróciBo dane (ostatnie) zapytanie. 2. Ró|nice midzy zmienn typu wierszowego a zmienn rekordow Typy rekordowe mog byd zagnie|d|one. Typ ten nie musi byd zwizany z istniejc struktur jakiejkolwiek tabeli. Mo|e mied dowoln ilo[d pól  oszczdno[d pamici (natomiast typ wierszowy ma dokBadnie tyle pól ile kolumn ma odpowiadajca 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 midzy 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 wywoBaBo ·ð funkcje mo|na wywoBywad bezpo[rednio poprzez zapytanie SQL, natomiast procedury nie 4. Procedura skBadowana Procedura skBadowana to jeden z elementów implementacji bazy danych. Procedura jest umiejscowiona bezpo[rednio w systemie bazy danych, a nie po stronie klienta. Zwiksza to szybko[d jej dziaBania i upraszcza opracowanie oraz implementacj systemu. Mo|liwe jest zagnie|d|anie procedur - wywoBywanie jednej procedury z kodu innej. Stosuje si je do wykonywania powtarzajcych si, logicznie takich samych operacji na bazie danych, nie wymagajcych ingerencji ze strony u|ytkownika. ·ð tworzenie: CREATE PROCEDURE nazwa_procedury (parametry) [tutaj instrukcje do wykonania] ·ð odwoBanie si do niej: CALL nazwa_procedury ('Argumrnt ); ·ð usunicie: 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) - wewntrz parametr zachowuje si jak staBa, nie mo|na zmienid warto[ci o OUT - wewntrz parametr zachowuje si jak zmienna, która nie zostaBa zdefiniowana, jej warto[d jest przekazywana do jednostki nadrzdnej o IN OUT - mo|liwe przekazywanie warto[ci do podprogramu i na zewntrz ·ð dla trybu OUT i IN OUT mo|na u|yd NOCOPY - przesyBanie przez referencje a nie przez warto[d Strona 9

Wyszukiwarka

Podobne podstrony:
liczby pierwsze
Internet Pierwsza pomoc
Powstał pierwszy, stabilny tranzystor na bazie pojedynczego atomu
PIERWSZE
Pierwsza ofiara ukraińskiego faszyzmu
Pierwszy wyklad 14?z tła
FIT PL pierwszy w Polsce portal fitness
Pierwsze kroki w cyfrówce cz4
notatki finanse pierwsze zagadnienia

więcej podobnych podstron