
07-09-2006, 15:01
|
|
|
|
חבר מתאריך: 08.01.05
הודעות: 123
|
|
|
שאלה באלגברה ותחשיב יחסים
שאלה 1
נתונים יחסים מתוך בסיס נתונים של חברת תעופה:
flight (flight-number, from, to, departure-datetime, arrival-datetime)
ticket (ticket-number, passenger-id, travel-agent)
itinerary (ticket-number, flight-number)
· היחס flight מכיל מידע על טיסות. לכל טיסה נשמר מספר טיסה, מקום ההמראה, יעד הטיסה, מועד ההמראה (ערך יחיד, הכולל גם תאריך וגם שעה), ומועד הנחיתה.
· היחס ticket כולל מידע על כרטיסי טיסה שנמכרו לנוסעים. לכל כרטיס נשמר מספר הכרטיס, מספר הזהות של הנוסע ושם סוכן הנסיעות שמכר את הכרטיס.
· היחס itinerary מכיל מידע הקושר בין כרטיסי טיסה לבין טיסות. כל כרטיס מתאים לטיסה יחידה, המפורטת ביחס flight.
נסחו את השאילתות הבאות, המתייחסות למערכת הטיסות לעיל, באלגברה של יחסים:
א. ערכו רשימה של מקומות המראה ונחיתה של טיסות, שאורכן למעלה מ-10 שעות. (כלומר, התוצאה צריכה להכיל שני שדות: מקום ההמראה ומקום הנחיתה.)
ב. ערכו את רשימת הנוסעים בטיסה 333.
ג. מצאו סוכני נסיעות שכל הכרטיסים שמכרו היו תמיד לטיסות מאותו מקור ולאותו יעד.
ד. מצאו מסלולים מתל אביב לשטוקהולם המורכבים משתי טיסות בדיוק, עם חניית ביניים של לא יותר מ-10 שעות. כלומר, הטיסה השניה יוצאת ממקום היעד של הטיסה הראשונה, ומועד ההמראה של הטיסה השניה מאוחר ממועד הנחיתה של הטיסה השניה, אך לא יותר מאשר 10 שעות. הניחו כי אפשר להשוות בין מועדים באמצעות סימני השוואה כגון ">", וכי פעולת חיסור בין מועדים נותנת את ההפרש בשעות, גם אם מדובר בתאריכים שונים. על התוצאה להכיל את שני מספרי הטיסה המתאימים למסלול.
תשובה
שאלה א
Π flight.from,flight.to(sarrival_datetime-departure_datetime>10(flight))
שאלה ב
Πpassenger-id (sflight-number="333" (itinerary))
שאלה ג
Πtravel-agent(ticket) - Πtravel-agent(sfrom=to(flight))
שאלה ד
אין לי שמץ משיהו יכול לעזור?? וגם לבדוק עם עשיתי נכון את הסעיפים למעלה......
שאלה2
נתונות תבניות של יחסים מתוך בסיס נתונים של אוניברסיטה:
takes (student, course)
offers (department, course)
- היחס takes מכיל מידע על רישום סטודנטים לקורסים. הוא מכיל זוגות של זיהוי סטטודנט וזיהוי קורס, כשהסטודנט רשום לקורס.
- היחס offers מכיל מידע על קורסים המוצעים על-ידי מחלקות. היחס מכיל זוגות של שם מחלקה ומזהה קורס.
נסחו את השאילתות הבאות בתחשיב יחסים. נסחו שתיים מהן בתחשיב לפי שורות, ושתיים בתחשיב לפי תחומים:
א. ערכו רשימת זוגות (student, department), כך שהסטודנט לומד קורס כלשהו במחלקה.
ב. מצאו סטודנטים הלומדים קורסים בשתי מחלקות שונות לפחות.
ג. מצאו (אם יש..) קורסים שאף סטודנט לא רשום אליהם.
ד. מצאו סטודנטים, שכל הקורסים שהם לומדים הם קורסים המוצעים על-ידי מחלקה למדעי המחשב.
שאלה זאת גם לא ברורה אז אם יש מצב לעזור תודה רבה מראש....
|