Vous êtes sur la page 1sur 7

Bazy danych Przykadowe pytania egzaminacyjne 2008

1. Narysowa diagram zwizkw encji dla bazy danych o relacjach Bary, Sprzedaje, Piwa, Lubi, Klienci, Odwiedza przedstawionych w postaci danych tabel.

2. Podaj przykad atrybutw w zbiorze encji. Zbir encji Piwa ma dwa atrybuty, nazwa i wytw (wytwrca). Kada encja Piwo ma swoje wartoci obu atrybutw, np. (Tyskie, Tychy) (Encja piwo, Atrbuty nazwa, wytw ; z tym ze w ilustrowaniu encja jest prostoktem a atrybuty owalami)

3. Jakiego typu jest zwizek midzy zbiorami encji Bary i Piwa w przykadowej bazie danych przedstawionej tabelarycznie. Odpowied uzasadni. Wiele do wielu. Jedno piwo moe by sprzedawane przez kilka barw, jeden bar moe sprzedawa kilka piw.

4. Podaj przykad zwizku wiele do jeden. Zwizek Ulubione, od Klienci do Piwa jest wiele do jeden. Klient ma co najwyej jedno ulubione piwo. Jednak dane piwo moe by ulubione przez dowoln liczb klientw, wcznie z zerem.

LUB Wytworca->piwo (jedno piwo moe by produkowane tylko przez jednego wytwrc ,jeden wytwrca moe produkowa wicej ni jedno piwo) Niektre zwizki dwuargumentowe s typu wiele do jeden. Kada encja pierwszego zbioru jest poczona z co najwyej jedn encj drugiego zbioru. Jednak encja drugiego zbioru moe by poczona z wieloma, z jedn, albo z adn encj drugiego zbioru.

5. Podaj przykad atrybutu zwizku. Niekiedy zwizek ma wasne atrybuty. Atrybut zwizku jest waciwoci krotek w zbiorze zwizkw, a nie atrybutem jednego ze zbiorw encji, ktrych dotyczy dany zwizek

Cena jest funkcj baru i piwa, ale oddzielne wskazanie baru albo piwa nie wystarcza do okrelenia ceny. jest przykadem atrybutu tego zwizku (Sprzedaje) 6. Podaj przykad podklasy zbioru encji. Zilustruj go diagramem zwizkw encji. Podklasa = przypadek szczeglny = mniej encji = wicej waciwoci. Przykad: Piwa ciemne s rodzajem piwa (skrt na schematach: Pciemne). Nie kade piwo jest ciemne, ale niektre s. Przypumy, e oprcz wszystkich innych waciwoci piw (atrybutw i zwizkw) piwa ciemne maj rwnie atrybut kolor. Zakadamy, e podklasy tworz drzewo. Tzn. nie ma dziedziczenia wielokrotnego (z wielu nadklas). Trjkty isa wskazuj zwizki midzy klas i jej podklasami. Wierzchoek trjkta wskazuje nadklas.

7. Podaj definicj i przykad klucza zbioru encji. Klucz jest to zestaw atrybutw danego zbioru encji, taki e adne dwie encje z tego zbioru nie maj identycznych wartoci wszystkich atrybutw klucza. Dla dwu rnych encji dopuszcza si rwno niektrych, ale nie wszystkich atrybutw kluczowych. Kady zbir encji musi mie swj klucz

8. Podaj przykad dwch rnych kluczy wieloargumentowych tego samego zbioru encji.

Zauwamy, e termin i sala rwnie mogyby suy jako klucz, ale musimy wybra dokadnie jeden klucz 9. Podaj schematy relacji Bary, Sprzedaje, Piwa, Lubi, Klienci, Odwiedza danych w postaci tabel.

10.Podaj definicj i przykad klucza relacji. K jest kluczem relacji R jeeli: Zbir atrybutw K okrela funkcyjnie kady atrybut relacji R Dla adnego podzbioru K zdanie (1) nie jest prawd. Przykad: Rozpatrzmy relacj Klienci(imi, ksywa, lubianePiwa, wytw, uluPiwo). {imi, lubianePiwa} jest nadkluczem, poniewa razem te atrybuty okrelaj wszystkie inne atrybuty. imi -> ksywa uluPiwo lubianePiwa -> wytw {imi, lubianePiwa} jest kluczem, bo ani {imi} ani {lubianePiwa} nie jest nadkluczem. imi nie -> wytw; lubianePiwa nie ->ksywa 11.Podaj przykad nadklucza nie bdcego kluczem relacji. 12.Znajc schemat relacji Piwa(nazwa, wytw) napisz zapytanie o to, ktre piwa s wytwarzane przez firm grupa-Tychy. SELECT nazwa FROM Piwa WHERE wytw=grupa-Tychy 13.Co zrobi, by odpowied na zapytanie SELECT, FROM, WHERE miaa nazw atrybutu inn ni w schemacie relacji? Podaj przykad. SELECT klient, lubi ywiec AS lubicy ywiec FROM Lubi WHERE piwo=ywiec 14.Podaj przykad zapytania o wynik prostej operacji arytmetycznej na wartociach jednego z atrybutw relacji. SELECT bar, piwo, cena * 120 AS CenaWjenach FROM Sprzedaje 15. Co zrobi, by w odpowiedzi na zapytanie SELECT, FROM, WHERE zawierajcej wykaz wartoci cen wystpia dodatkowo kolumna staych napisw z? Znajc schemat relacji Sprzedaje(bar, piwo, cena) podaj przykad dotyczcy cen piwa w barze u Zosi . SELECT piwo, cena, z AS cena w zotych

FROM Sprzedaje WHERE bar=u Zosi 16.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz zapytanie o cen piwa EBporter w barze u Jana. SELECT cena FROM Sprzedaje WHERE bar=u Jana and piwo=EB-porter 17.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz zapytanie o pary gatunkw piwa o tej samej cenie w danym barze. SELECT p1.piwo, p2.piwo FROM Sprzedaje p1, Sprzedaje p2 WHERE p1.cena=p2.cena AND p1.piwo < p2.piwo AND p1.bar=p2.bar 18.Znajc tabele Piwa i Lubi Lubi klient Ania Ania Ania Ewa Jan Janina Karol Karol Maria Robert Robert Wojtek Zosia Piwo ywiec Tyskie EB-porter ywiec Premium EB-porter EB-porter ywiec-Beza Tyskie Tatra Tyskie ywiec-Beza Premium Piwa piwo EB-porter Premium Tatra Tyskie ywiec ywiec-Beza wytw grupa-EB grupa-EB grupa-ywiec grupa-Tychy grupa-ywiec grupa-ywiec

napisz odpowied na zapytanie SELECT * FROM Piwa WHERE nazwa IN (SELECT piwo FROM Lubi WHERE klient="Robert"); Jaki jest sens tego zapytania? Odpowied na zapytanie: Tatra | grupa-ywiec Tyskie | grupa-Tychy Zapytanie zwrci nazwy piw oraz ich wytwrcw wybierajc z tabeli Piwa tylko te ktre pokrywaj si z ulubionymi piwami Roberta (dane z tabeli Lubi) 19.Znajc tabel Piwa Piwa nazwa EB-porter Premium Tatra Tyskie ywiec ywiec-Beza wytw grupa-EB grupa-EB grupa-ywiec grupa-Tychy grupa-ywiec grupa-ywiec

napisz odpowied na zapytanie SELECT nazwa FROM Piwa AS p1 WHERE NOT EXISTS (SELECT * FROM Piwa WHERE wytw=p1.wytw AND nazwa<>p1.nazwa); Jaki jest sens tego zapytania? Odpowied na zapytanie: Tyskie | grupa-Tychy

Zapytanie zwrci te piwa, ktrych producent nie produkuje innych piw (nie mona wybra pary z drugiego SELECT) 20.Znajc tabel Sprzedaje Sprzedaje bar piwo u Jana ywiec u Jana Tyskie u Jana Tatra u Jana Premium u Zosi ywiec u Zosi EB-porter u Zosi ywiec-Beza u Zosi Premium u Zosi Tyskie cena 10 10 8 8 11 12 6 9 10

napisz odpowied na zapytanie SELECT piwo FROM Sprzedaje WHERE cena >= ALL (SELECT cena FROM Sprzedaje); Jaki jest sens tego zapytania? Odpowied na zapytanie: EB-porter Zapytanie wyszuka piwo o najwyszej cenie. 21.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz zapytanie o redni cen piwa EB-porter. SELECT AVG (cena) FORM Sprzedaje WHERE piwo=EB-porter 22.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz zapytanie o redni cen kadego piwa. SELECT nazwa, AVG (cena), FROM Sprzedaje GROUP BY nazwa 23.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz zapytanie o bar sprzedajcy piwo Premium po najniszej cenie. SELECT bar FROM Sprzedaje WHERE cena<=ALL(SELECT cena FROM Sprzedaje WHERE piwo=premium); 24.Napisz instrukcj SQL wstawiajc do relacji Lubi(klient, piwo) informacj, e Ania lubi piwo Tyskie. INSERT INTO Lubi (Ania,Tyskie); LUB INSERT INTO Lubi (klient, piwo) VALUES (Ania,Tyskie); 25.Napisz instrukcj SQL kasujc w relacji Lubi(klient, piwo) informacj, e Ania lubi piwo Tyskie. DELETE FROM Lubi WHERE klient=Ania AND piwo=Tyskie; 26.Znajc schemat relacji Sprzedaje(bar, piwo, cena) napisz instrukcj SQL zmieniajc wszystkie ceny piwa wiksze od 9.00 z na 9.00 z.

UPDATE Sprzedaje SET cena=9.00 WHERE cena>9.00 27.Podaj przykad deklaracji klucza relacji za pomoc instrukcji SQL. CREATE TABLE Piwa ( Nazwa CHAR(15) PRIMARY KEY, Wytw CHAR(30) ); 28.Podaj przykad instrukcji SQL dodajcej do relacji nowy atrybut. ALTER TABLE piwa ADD opis CHAR(30); 29.Podaj przykad instrukcji SQL usuwajcej z relacji jeden z jej atrybutw. ALTER TABLE piwa DROP opis; 30. Podaj przykad instrukcji SQL definiujcej perspektyw. CREATE VIEW DostPiwa AS SELECT klient, piwo FROM Odwiedza, Sprzedaje WHERE Odwiedza.bar=Sprzedaje.bar 31.Podaj przykad instrukcji SQL z wyodrbnion deklaracj klucza obcego. CREATE TABLE Sprzedaje ( Bar CHAR(20), Piwo CHAR(20), Cena REAL, FOREIGN KEY (piwo) ); LUB CREATE TABLE Sprzedaje ( Bar CHAR(20), Piwo CHAR(20) FOREIGN KEY, Cena REAL, ); 32.Podaj przykad instrukcji SQL z deklaracj wizw CHECK dotyczcych pojedynczego atrybutu. CREATE TABLE Sprzedaje ( Bar CHAR(20), Piwo CHAR(20) CHECK (piwo IN (SELECT nazwa FROM Piwa)); Cena REAL CHECK (cena<=15.00) ); 33.Dlaczego wyzwalacze nazywa si reguami ECA? Poniewa jest to inna nazwa wyzwalacza czyli regua zdarzenie- warunek- akcja. 34.Wymie 6 moliwych klauzul opisujcych zdarzenia w definicji wyzwalacza. WHEN, FOR EACH, ORDER, REFERENCING, (BEFORE | AFTER | RESOLVE) 35.Podaj przykad akcji w definicji wyzwalacza

CREATE TRIGGER usuwanie_prac AFTER DELETE ON Pracownicy FOR EACH ROW EXECUTE PROCEDURE komunikat();

Vous aimerez peut-être aussi