S1(30) S2(15) S3(15) S4(25) S5(15) TOPLAM (30p) S1) Numarası Adı-Soyadı T.C. ANADOLU ÜNİVERSİTESİ Fen Fakültesi Matematik Bölümü BİL378 Veri Tabanı Yönetim Sistemleri -Vize- CEVAP ANAHTARI Sales Order 09 Mayıs 2008 SÜRE : 120 Dakika Fiction Company 202 N. Main Mahattan, KS 66502 CustomerNumber: 1001 Sales Order Number: 405 Customer Name: ABC Company Sales Order Date: 2/1/2000 Customer Address: 100 Points Clerk Number: 210 Manhattan, KS 66502 Clerk Name: Martin Lawrence Item Ordered Description 800 widgit small 801 tingimajigger 805 thingibob Quantity Unit Price Total 40 60.00 2,400.00 20 20.00 400.00 10 100.00 1,000.00 Order Total 3,800.00 Yukarıdaki satış faturasında bulunan bilgileri; atributlar olarak normalize edilmemiş bir tabloda aşağıdaki gibi oluşturalım. Sales Orders(SalesOrderNo, Date, CustomerNo, CustomerName, CustomerAdd, ClerkNo, ClerkName, ItemNo, Description, Qty, UnitPrice) Bu ham(normalize edilmemiş) tabloyu 3. Normal form haline getiriniz. Bu işlemi yaparken yeni oluşturacağınız tabloların isimlerini kendiniz belirleyiniz. İhtiyaç olursa atribut/atributlar eklenebilir. Satış fişindeki tüm olası durumları göz önünde bulundurarak hareket ederseniz, normalizasyon işi daha kolay olacaktır. Tablonun Türkçe meâli : Sipariş Fişi (SiparişFişNo, Tarih, MüşteriNo, Müşteriİsmi, MüşteriAdresi, SatıcıNo, SatıcıAdı, ÜrünNo, Açıklama, Adet, BirimFiyatı) C1) Ham tablomuzu 1NF e getirebilmek için tabloda olası tekrar eden bilgileri farklı tablolar oluşturarak dağıtmalıyız. Bu durumda yukarıdaki ham tablomuz 1NF de aşağıdaki 2 tabloya dönüşecektir. - 1 -
SalesOrders1 (SalesOrderNo, ItemNo, Description, Qty, UnitPrice) SalesOrders2 (SalesOrderNo, Date, CustomerNo, CustomerName, CustomerAdd, ClerkNo, ClerkName) Bu durumdan sonra tablolarımızı 2NF e getirmek için kısmi bağımlılıkları ortadan kaldırmak gerekecektir. İşlevsel ve kısmi bağımlılık konularını bilen bir VT yöneticisi için bu hiç de zor olmayacaktır. Buna göre 2NF haline gelen tablolarımız aşağıdaki biçime dönüşecektir. Inventory Items ( ItemNo, Description ) SalesOrders1 (SalesOrderNo, ItemNo, Qty, UnitPrice) SalesOrders2 (SalesOrderNo, Date, CustomerNo, CustomerName, CustomerAdd, ClerkNo, ClerkName) 2NF daki tablolarımızı 3NF e geçirebilmek için geçişken bağımlılıkları kaldırmalıyız. Bu işlemden sonra aşağıdaki tabloları elde ederiz. Customers ( CustomerNo, CustomerName, CustomerAdd ) Clerks ( ClerkNo, ClerkName ) Inventory Items ( ItemNo, Description ) Sales Orders2 ( SalesOrderNo, Date, CustomerNo, ClerkNo ) SalesOrders1 ( SalesOrderNo, ItemNo, Qty, UnitPrice ) - 2 -
(15p) S2) Aşağıdaki şemayı dikkate alarak takip eden soruların SQL karşılıklarını yazınız? Tedarikçi ( TedarikciNo, TedarikciAdı, Adres ) YedekParçalar ( ParçaNo, ParçaAdı, Renk ) Katalog ( TedarikçiNo,ParçaNo, Fiyat ) a) Yalnızca kırmızı parçaları tedarik eden tedarikçilerin tedarikçino sunu bulan sorgu. SELECT DISTINCT K.TedarikciNo FROM Katalog K WHERE NOT EXISTS ( SELECT * FROM YedekParçalar Y WHERE Y.ParçaNo = K.ParçaNo AND Y.Renk <> Kırmızı ) b) Hem kırmızı hem de yeşil parçaları tedarik eden tedarikçilerin adlarını bulan sorgu. SELECT DISTINCT T.TedarikciAdı FROM Katalog K, YedekParçalar Y, Tedarikçi T WHERE T.TedarikçiNo = K.TedarikçiNo AND K.ParçaNo = Y.Parçano AND P.color = Red INTERSECT SELECT DISTINCT T1.TedarikçiAdı FROM Katalog K1, YedekParçalar Y1, Tedarikçi T1 WHERE T1.TedarikçiNo = K1.TedarikçiNo AND K1.ParçaNo = Y1.ParçaNo AND P1.color = Green (15p) S3) Soru2 deki şemayı kullanarak, bu kez aşağıdaki SQL sorgularının anlamını kısa bir cümleyle yazınız? a) SELECT DISTINCT K.TedarikçiNo FROM Katalog K WHERE K.Fiyat > (SELECT AVG (K1.Fiyat) FROM Katalog K1 WHERE K1.ParçaNo = K.ParçaNo) Katalogdaki her yedekparçanın ortalama fiyatından daha pahalıya satan tedarikçilerin TedarikçiNo sunu bulan sorgu. b) SELECT T.TedarikçiAdı, COUNT(*) as ParçaSayısı FROM Tedarikçi T, YedekParçalar Y, Katalog K WHERE Y.ParçaNo = K.ParçaNo AND K.TedarikçiNo = T.TedarikçiNo GROUP BY T.TedarikçiAdı, T.TedarikçiNo HAVING ALL(Y.Renk = Sarı ) Sarı renkli yedek parçaların tamamını sağlayan tedarikçilerin adını ve sağladığı tüm parçaların parça adedini sorgulayan sorgu (20p) S4) Aşağıda çizilmiş bilgisayar topolojisine uygun olarak size verilmiş bir C sınıfı IP yi Alt ağlara uygun şekilde maskeleyerek guruplara dağıtınız. (C sınıf IP istenilen bir IP olabilir.) a) Topolojiye göre uygun düşecek Alt Ağ maskesini (SubNet Mask) yazınız b) Her bir gurubun alt Ağ adresini (NW adresini), Yayın adresini (Broadcast adres) guruplardaki hostlara verilebilecek Ip lerin aralıklarını yazınız. - 3 -
c) Yapmış olduğunuz alt ağ adresleme ile toplamda maksimum kaç host a IP verebilirsiniz? d) Alt ağ maskeleme olmasaydı verebileceğiniz IP sayısına göre, c) şıkkına bakarak host IP si olarak kazançlı mı yoksa zararlımı oluruz, neden? (Her iki durumdaki host IP adetlerine bakarak karar verebilirsiniz.) Grup1 Grup2 ROUTER Grup3 Grup5 Grup6 Grup4 Grup7 a) SubNet Mask : 255.255.255.240 olmalı (7 grup için 4 bit ödünç alınarak 14 SubNW oluşturulur b) Seçtiğimiz C sınıfı IP : 193.140.22.xxx olsun Bu durumda 7 gurup için sırasıyla 16 şarlık Ip blokları halinde 16 tane SN olacaktır. Bunlardan 193.140.22.0 193.140.22.15 ve 193.140.22.240 193.140.22.255 hiç kullanılamaycaktır. (ödünç alınan 4 bitin hepsinin 0 ve 1 olduğu durumları kullanamayız) İlk Grubun alt ağ adresi : 193.140.22.16 ve yayın(broadcast) adresi 13.140.22.31 olacak şekilde diğerleri de sıralanacaktır. c) Toplamda 14 SubNW e 14 er host IP si verebileceğimizden 14 x 14 = 196 adet maksimum host ıp si dağıtabiliriz. d) Eğer SNW yapmamış olsaydık 254 Host IP miz olacaktır. Burada SNW yatığımız için 58 IP adresi zarardayız (254-196). Ancak bu bize segmentlemek için fayda sağladı. - 4 -
(15p) S5) Yukarıdaki tablolara bakarak aşağıdaki soruların ilişkisel cebirdeki karşılıklarını yazınız. a) FİZ03 dersini alan Matematik Bölümü Öğrencilerinin kimlik numaralarını, adını ve soyadını seçen ifade b) Fiz103 dersinden 75 ve üzeri not alan öğrencilerden Dumlupınar Yurdunda Kalan Öğrencileri seçen ifade c) Fiz 103 dersini alan, ve yurtta kalmayan öğrencilerin numaraları, adları, soyadları ve notlarını seçen ifade Başarılar Dilerim Öğr.Gör.Sedat Telçeken - 5 -