0% found this document useful (0 votes)
10 views3 pages

Sample Final

Uploaded by

ali abedini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views3 pages

Sample Final

Uploaded by

ali abedini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

‫به نام خدا‬

‫اصول طراحی پایگاه دادهها‬


‫دانشکده مهندسي برق و کامپيوتر‪ -‬دانشگاه تهران‬

‫نمونه سواالت پایان ترم‬

‫سوال ‪1‬‬

‫چهار رابطه ‪ A, B, C, D‬با مشخصات زیر را در نظر بگيرید‪:‬‬

‫‪Relation‬‬ ‫‪# of tuples‬‬ ‫‪# of distinct values‬‬


‫)𝑌 ‪𝐴(𝑋,‬‬ ‫‪𝑇(𝐴) = 2000‬‬ ‫‪𝑉(𝐴, 𝑋) = 400‬‬ ‫‪𝑉(𝐴, 𝑌) = 200‬‬

‫)𝑍 ‪𝐵(𝑌,‬‬ ‫‪𝑇(𝐵) = 5000‬‬ ‫‪𝑉(𝐵, 𝑌) = 100‬‬ ‫‪𝑉(𝐵, 𝑍) = 500‬‬

‫)𝑇 ‪𝐶(𝑌,‬‬ ‫‪𝑇(𝐶) = 1000‬‬ ‫‪𝑉(𝐶, 𝑌) = 250‬‬ ‫‪𝑉(𝐶, 𝑇) = 50‬‬

‫)𝑊 ‪𝐷(𝑇,‬‬ ‫‪𝑇(𝐷) = 4000‬‬ ‫‪𝑉(𝐷, 𝑇) = 500‬‬ ‫‪𝑉(𝐷, 𝑊) = 400‬‬

‫اندازه هر یک از عبارتهای زیر را تخمين بزنيد‪.‬‬

‫الف) ))𝐷 ⋈ 𝐶( ⋈ )𝐵 ⋈ 𝐴((‬

‫ب) 𝐷 ⋈ )𝐶( ‪𝜎𝑌=20‬‬

‫پ) 𝐷 ⋈ )𝐴( ‪𝜎𝑋=4∨𝑋=5‬‬

‫سوال ‪2‬‬
‫فرض کنيد چهار صفحه در حافظه اصلي در اختيار داریم‪ .‬در ابتدا این چهار صفحه آزاد هستند‪ .‬ترتيب دسترسي به این ترتيب از چپ به راست‬
‫را در نظر بگيرید‪:‬‬
‫‪ABCDEBDACE‬‬
‫فرض کنيد در این ترتيب هر صفحه ‪ pin‬و بالفاصله ‪ unpin‬ميشود‪ .‬برای هر کدام از سياستهای جایگزیني صفحات (الف) ‪( ،LRU‬ب) ‪،MRU‬‬
‫و (پ) ‪ Clock‬بگویيد‪:‬‬
‫چند ‪ I/O‬برای دسترسي به این صفحات انجام شده است؟‬ ‫‪.I‬‬
‫در انتها کدام صفحات در حافظه اصلي هستند‪.‬‬ ‫‪.II‬‬

‫سوال ‪3‬‬
‫یک ‪ B+ tree‬شامل مقادیر ‪ 1‬تا ‪( 15‬شامل هر دو عدد ‪ 1‬و ‪ )15‬را در نظر بگيرید‪ .‬فرض کنيد در این درخت ‪ order = 2‬است‪.‬‬

‫الف) اگر دادهها به صورت کامال فشرده در سطح برگ ذخيره شوند (گرههای سطح برگ تا حد ممکن پر باشند) درخت به چه شکل خواهد بود؟‬

‫ب) فرض کنيد از یک درخت خالي شروع کردهایم‪ .‬اضافه کردن مقادیر به چه ترتيبي درخت بخش (الف) را نتيجه ميدهد؟ فرض کنيد در هنگام‬
‫شکست‪ ،‬اگر تعداد فرد باشه‪ ،‬از بين دو گره نتيجه‪ ،‬گره سمت راست یکي بيشتر از گره سمت چپ عضو خواهد داشت‪.‬‬

‫پ) آیا امکان دارد با شروع از یک درخت خالي و اضافه کردن همين مقادیر‪ ،‬اما به ترتيبي دیگر به درختي با ارتفاع بيشتر برسيم؟ اگر بله‪ ،‬اضافه‬
‫کردن به چه ترتيبي درخت با بيشترین ارتفاع را نتيجه ميدهد؟ درخت را رسم کنيد‪.‬‬
4 ‫سوال‬

:‫یک پایگاه داده شامل اطالعات اجاره ماشينها را در نظر بگيرید‬


Car (ID, company, year, model)
Customer (SSN, name, street, city)
Rent (SSN, ID, rdate, duration, price)
.‫ ارجاع ميدهد‬Car ‫ در‬ID ‫ کليد خارجي است که به‬Rent ‫ در‬ID
.‫ ارجاع ميدهد‬Customer ‫ در‬SSN ‫ کليد خارجي است که به‬Rent ‫ در‬SSN
:‫فرض کنيد شاخصهای زیر موجود است‬
 Unclustered B+ tree on Car.ID
 Unclustered B+ tree on Customer.SSN
 Unclustered B+ tree on Rent.SSN
 Unclustered B+ tree on Rent.ID
:‫ را در نظر بگيرید‬SQL ‫این پرسوجوی‬
SELECT U.name
FROM Car C, Customer U, Rent R
WHERE C.ID=R.ID AND U.SSN=R.SSN AND
C.company=’Hyundai’ AND U.city=’Tehran’ AND R.price > 500000
:‫اطالعات زیر در دست است‬
 Car: 100 tuples/page, 10 pages
 Customer: 50 tuples/page, 400 pages
 Rent: 100 tuples/page, 10,000 pages

‫دادهها به صورت یکنواخت توزیع شدهاند و این خصوصيات‬


(OTF) 𝜋𝑛𝑎𝑚𝑒
:‫را داریم‬
Selection 3:
(OTF) 𝜎𝑐𝑖𝑡𝑦=′ 𝑇𝑒ℎ𝑟𝑎𝑛′ .‫ مقدار مختلف دارد‬10 Car.company 
.‫ مقدار مختلف دارد‬20 Customer.city 
Join 2: .‫ است‬600،000 ‫ و‬200،001 ‫ بين‬price ‫محدوده‬ 
⋈ (INLJ)
Selection 2:
(OTF) 𝜎𝑝𝑟𝑖𝑐𝑒>500𝐾
.‫ را تخمين بزنيد‬plan ‫الف) هزینه ارزیابي‬
𝐶𝑢𝑠𝑡𝑜𝑚𝑒𝑟
‫ و با تغيير نوع شاخصها ميخواهيم‬Plan ‫ب) بدون تغيير‬
Join 1:
‫ آیا این کار امکان پذیر‬.‫ را کم کنيم‬Plan ‫هزینه ارزیابي‬
⋈ (INLJ)
Selection 1: ‫است؟ اگر خير چرا؟ اگر بله چه تغييری در شاخصها برای‬
(OTF) 𝜎𝑐𝑜𝑚𝑝𝑎𝑛𝑦=′ 𝐻𝑦𝑢𝑛𝑑𝑎𝑖′ ‫این منظور کمک ميکند؟ تغيير شاخص چقدر هزینه را کم‬
𝑅𝑒𝑛𝑡 ‫ميکند؟‬

(file scan) 𝐶𝑎𝑟


‫سوال ‪5‬‬

‫ساختار شاخص ‪ extendible hash‬زیر را در نظر بگيرید‪ .‬فرض کنيد همه عددها با هم متفاوتند‪.‬‬

‫الف) ساختار شاخص بعد از اضافه کردن به ترتيب ‪ ،17‬بعد ‪ 2‬و بعد ‪ 13‬را رسم کنيد‪.‬‬

‫ب) ساختار شاخص اوليه (قبل از اضافه کردنهای بخش الف) را در نظر بگيرید‪ .‬حداقل چند ‪ insert‬باید انجام شود تا ‪ global depth‬یکي‬
‫اضافه شود؟ توضيح دهيد و مثال بزنيد‪.‬‬

‫پ) ساختار شاخص اوليه (قبل از اضافه کردنهای بخش الف) را در نظر بگيرید‪ .‬حداکثر چند ‪ insert‬ميتوان انجام داد بدون این که ‪global‬‬
‫‪ depth‬اضافه شود؟ توضيح دهيد‪.‬‬

‫‪2‬‬ ‫ت) (نمره اضافه) ساختار شاخص اوليه (قبل از اضافه‬


‫کردنهای بخش الف) را در نظر بگيرید‪ .‬حداقل چند‬
‫*‪0‬‬ ‫*‪8‬‬
‫‪2‬‬ ‫‪ insert‬باید انجام شود تا ‪ global depth‬دو تا اضافه‬
‫شود؟ توضيح دهيد و مثال بزنيد‪.‬‬
‫‪1‬‬

‫*‪1‬‬ ‫*‪5‬‬ ‫*‪7‬‬

‫‪2‬‬

‫*‪10‬‬ ‫*‪18‬‬

‫جدول تبدیل باینری اعداد استفاده شده در سوال‪:‬‬

‫‪18‬‬ ‫‪17‬‬ ‫‪13‬‬ ‫‪10‬‬ ‫‪9‬‬


‫دهدهي ‪5‬‬ ‫‪8‬‬ ‫‪7‬‬ ‫‪6‬‬
‫دودویي ‪10010 10001 1101 1010 1001 1000 111 110 101‬‬

You might also like