Presentation is loading. Please wait.

Presentation is loading. Please wait.

אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 1 ספרייה - דוגמאות הטבלאות: Customers(CId, CName, Faculty) Books(BId, BName, Year, MaxTime, Faculty, Pages)

Similar presentations


Presentation on theme: "אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 1 ספרייה - דוגמאות הטבלאות: Customers(CId, CName, Faculty) Books(BId, BName, Year, MaxTime, Faculty, Pages)"— Presentation transcript:

1 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 1 ספרייה - דוגמאות הטבלאות: Customers(CId, CName, Faculty) Books(BId, BName, Year, MaxTime, Faculty, Pages) Ordered(CId, BName, ODate) Borrowed(BId, CId, FDate, TDate) 1. מהם הכותרים הקיימים בספרייה (כולל המושאלים) שלהם יותר מעותק אחד (יש להדפיס את שם הכותר ומספר ההעתקים)? 2. מי הם כל הלקוחות שהזמינו כותר כלשהו אך עדין לא השאילו עותק שלו (יש להדפיס את שם הלקוח, שם הכותר המוזמן ותאריך ההזמנה)?

2 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 2 ספרייה : שאלה 1, SQL SELECT BName, COUNT(BId) FROM Books GROUP BY BName HAVING COUNT(BName) > 1; SELECT B.BName, COUNT(B.BName) FROM Books B WHERE 1 < (SELECT COUNT(BName) FROM Books WHERE BName = B.BName) GROUP BY B.BName;

3 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 3 ספרייה, שאלה 1: RA, TRC, DRC  BName (Books  Bname=name  BId  id  B(id,name,y,mt,f,p) Books) { t (1) |  u,v (u  Books  v  Books  u [BName] = v [BName]  u [BId]  v [BId]  u [BName] = t [BName] ) } { |  BId1,BId2,Y1,Y2,MT1,MT2,F1,F2,P1,P2 ( Books(BId 1, BN, Y 1, MT 1, F 1, P 1 )  Books(BId 2, BN, Y 2, MT 2, F 2, P 2 )  (BId 1  BId 2 ))}

4 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 4 ספרייה, שאלה 1: Datalog bookList(BName, nil). bookList(BName, pair(BId,Y))  books(BId,BName,F), bookList(BName,Y). illegal_bookList(BName,L)  bookList(BName,L), books(BId,BName,F), ¬in_once(L,BId). legal_bookList(BName,L)  bookList(BName,L), ¬illegal_ bookList(BName,L). more_than_1(BName, n)  legal_ bookList(BName,L), len(L,n), n>1.

5 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 5 ספרייה : שאלה 2, SQL 2. מי הם כל הלקוחות שהזמינו כותר כלשהו אך עדין לא השאילו עותק שלו ( יש להדפיס את שם הלקוח, שם הכותר המוזמן ותאריך ההזמנה )? SELECT C.CName, O.BName, O.ODate FROM Customers C, Ordered O WHERE C.CId = O.CId AND NOT EXISTS (SELECT * FROM Borrowed BR, Books B WHERE BR.BId = B.BId AND B.BName = O.BName AND BR.CId = O.CId AND O.ODate <= BR.FDate);

6 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 6 ספרייה, שאלה 2: RA, TRC  CName,BName,ODate (Ordered  Customers) \  CName,BName,Odate (Customers   ODate <= FDate (Ordered  Borrowed  Books)) { t (3) |  o,c (o  Ordered  c  Customers  o[CId] = c[CId]  c[CName] = t[CName]  o[BName] = t[BName]  o[ODate] = t[ODate]   w,z (w  Borrowed  z  Books  w[BId] = z[BId]  w[CId] = o[CId]  z[BName] = o[BName]  o[ODate ] <= w[FDate] ))}

7 אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 7 ספרייה, שאלה 2: DRC, Datalog { |  CId,F (Ordered(CId, BName, ODate)  Customers(CId, CName, F)   BId,FDate,TDate,Y,MT,F,P (Borrowed(CId, BId, FDate, TDate)  Books(BId, BName, Y, MT, F, P)  ODate <= FDate)))} borrowed_after(CId,Bname,Date)  books(BId,BName,Y,M,F, P), borrowed(BId,CId,FDate,TDate), FDate≥ Date. not_taken(Name,BName,ODate)  ordered(CId,BName,ODate), custmer(CId, Name,F), ¬borrowed_after(CId,BName,ODate).


Download ppt "אביב - תשס " ג 236363- DBMS, ספרייה - דוגמאות 1 ספרייה - דוגמאות הטבלאות: Customers(CId, CName, Faculty) Books(BId, BName, Year, MaxTime, Faculty, Pages)"

Similar presentations


Ads by Google