Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VTYS 2012 Mehmet Emin KORKUSUZ Ders - 02.  İlişkisel Veri Tabanı Tasarımı  Gereksinimlerin belirlenmesi  Kavramsal Model  Mantıksal Model  Fiziksel.

Benzer bir sunumlar


... konulu sunumlar: "VTYS 2012 Mehmet Emin KORKUSUZ Ders - 02.  İlişkisel Veri Tabanı Tasarımı  Gereksinimlerin belirlenmesi  Kavramsal Model  Mantıksal Model  Fiziksel."— Sunum transkripti:

1 VTYS 2012 Mehmet Emin KORKUSUZ Ders - 02

2  İlişkisel Veri Tabanı Tasarımı  Gereksinimlerin belirlenmesi  Kavramsal Model  Mantıksal Model  Fiziksel Model İçerik

3 1-VERİ MODELİ  Veri modeli, üçlü şema mimarisinde görülen yapıların, kullanıcı gereksinimlerinden yola çıkarak aşamalı bir şekilde fiziksel olarak gerçekleştirilmesidir. 4.Aşama 3.Aşama 2.Aşama 1.Aşama Fiziksel Model Mantıksal Model Kavramsal Model Gereksinimlerin Belirlenmesi

4  Bir bilgi sisteminin geliştirilmesi sürecinde, öncelikle kullanıcıların gereksinimlerinin çok iyi belirlenmesi ve analiz edilmesi gereklidir.  Bu yapıda: -veri tipleri -veri grupları -veriler ile ilgili kurallar -veriler üzerinde yapılması gereken işlemler belirlenir. GEREKSİNİMLERİNİN BELİRLENMESİ

5 Gereksinimler 1 Bilgi sistemi kullanıcılarının mevcut sistemde kullanmakta oldukları yöntemlerin, sistem yapısının ve iş kararlarının belirlenmesi 2 Kullanıcıların nelere gereksinimi olduğunun kullanıcılar ve bilgi sistemi uzmanları ile birlikte analizi ve çözümler üzerinde tartışması 3 Veri gereksinimleri ve işlemsel gereksinimlerin uzmanlar tarafından değerlendirilmesi

6 Gereksinimlerin Toplanması  Gereksinimlerin toplanması için kullanılabilecek birkaç yöntem vardır bunlardan bazıları:  Anketler  Grup Yöntemleri  Beyin Fırtınası(Brain Storming)  Hızlı Uygulama Geliştirme-HUG  Toplu Uygulama Tasarımı-TUT  Kalite fonksiyon Yayılımı (Quality Function Deployment-QFD)  Prototipleme  Gereksinimler toplandıktan sonra uzmanlar tarafından analizi yapılır.

7 Gereksinimlerin Analizi  Gereksinim Analizi, çeşitli yöntemlerle hedef kullanıcı kitlesinden elde edilen gereksinimlerin özelliklere göre gruplanarak, sistem tasarımına hazır hale getirilmesi amacıyla yapılan çalışmaları kapsar.  Gereksinim analizi yapmada;  Veri Akış Çizeneği-VAÇ(Data Flow Diagram-DFD)  Bağlam Çizeneği(Context Diagram)  Çerçeve Çizeneği(Frame Diagram)  Olay Senaryoları(event Senarios)  Bakış Açısı Analizi(Viewpoint Based Analysis) gibi araçlar kullanılabilir.

8

9

10 KAVRAMSAL MODEL 4.Aşama 3.Aşama 2.Aşama 1.Aşama Fiziksel Model Mantıksal Model Kavramsal Model Gereksinimlerin Belirlenmesi

11  Kullanıcıdan elde edilen gereksinimler ile ilgili bir analiz çalışmasının yapılması ve birbiriyle bağıntılı verilerin gruplanarak bir düzenleme içinde modellenmesi gerekir.  Bu tasarım daha sonra geliştirilecek olan sistemin performansından kullanım kolaylıklarına kadar birçok özelliğini belirlemede etken olacaktır. KAVRAMSAL MODEL

12 Varlık Bağıntı Çizeneği VBÇ’ler (Entity Relationsheep Diagram– ERD) gerçek dünyadaki sistemleri, varlıklar, varlıkları tanımlayan nitelikleri ve bunlar arasındaki bağıntıları gösterir. Günümüzde VBÇ çizimlerini gerçekleştirebilmek için kullanılan birçok ticari ve açık kaynak çizim araçları bulunmaktadır. Bu amaçla oluşturulmuş programların her biri farklı notasyonlar(gösterim) ile geliştirilmiştir. Bu sunumda sizlere Crow's Foot Notation gösterilecektir.

13

14 VBÇ Gösterimleri Özeti

15  Var olan ve benzerlerinden ayırt edilebilen her şey bir varlıktır.  Aynı varlıkların oluşturduğu yapıya varlık kümesi denir.  VTYS’de varlık kümesi tablodur. Varlık

16  Bir varlığın anahtar niteliği yoksa zayıf varlık olarak adlandırılır.  Eğer bir varlık kümesinin niteliklerinin tümü alınsa bile bir anahtar oluşturulamıyorsa bu varlık kümesine zayıf(weak) varlık kümesi denir. Mantıksal olarak başka bir varlığa bağımlı olmak zorundadır. Zayıf varlık kümesinde niteliklerin değerleri ile varlıkları birbirinden ayırt etmek mümkün değildir. Zayıf bir varlık kümesinin anlamlı olabilmesi için, bu varlık kümesi ile güçlü bir varlık kümesi arasında bire-bir yada bire-birçok(güçlüden zayıfa) bir bağlantı bulunması, zayıf varlıklar için bu bağıntının varolma bağımlılığı oluşturması, zayıf varlık kümesinin nitelikleri arasında, aynı güçlü varlığa zayıf varlıkları birbirinden ayırt etmeyi sağlayan bir nitelik grubunun (discriminator) bulunması gereklidir. Zayıf Varlık

17 Niteliklerin Gösterimi Bir nitelik(attribute), varlık tipi(entity type) ya da bağıntı tipi(relationship type) ile ilgili tanımlayıcı bilgileri içerir. Bir varlık genelde bir nitelik topluluğundan oluşur. ogrNuogrTel ogrMail ogrTC Varlık

18 Niteliklerin Gösterimi Değer Alanı: Bir niteliğin değer alanı alabileceği değerler kümesini tanımlar. Veri Tipi: Niteliğe ait verilerin hangi veri tipinde saklayacağını belirler. Biçim: Verilerin hangi biçimde tanımlanacağını belirler. Büyüklük: Nitelik için girilecek verilerin hangi büyüklükte olacağını tanımlar.

19 Nitelik Türleri Çekirdek Nitelik Bu tür nitelikler en sade hali ile tanımlanmış niteliklerdir. siteBasliksiteHit gibi…

20 Nitelik Türleri Birleşik Nitelik Birden fazla çekirdek niteliğin birleşmesi sonucunda oluşan niteliklerdir. Birleşik nitelikler istenildiği kadar alt seviyelere dallandırılabilir. Sonunda en alttaki nitelik yine çekirdek nitelik olacaktır. hesapTipisubeKoduhesapNu ibanNu

21 Nitelik Türleri Türetilmiş Nitelik Gerçekte bir değer tutmayan ancak diğer varolan niteliklerin kullanımı sonucu hesaplanarak elde edilen niteliklerdir. yas Sisteme girilmiş doğum tarihinin günümüz tarihi ile olan hesabından türetilir.

22 Nitelik Türleri Birden Çok Değer Alabilen Nitelik Bir değer değil, birden fazla değer alabilen niteliklerdir. telNu

23 Nitelik Türleri Anahtar nitelik Varlığın ayırt edici niteliği. tcno

24  İki varlık arasındaki ilişkiyi gösterir.  Kendi nitelikleri olabilir. Bağıntı (İlişki)

25  Zayıf varlığın güçlü varlıkla olan ilişkisini gösterir. Var Olma Bağıntısı

26 VBÇ Gösterimleri Özeti

27

28

29 VBÇ (ERD)

30 Örnek - 1 Öğrenci Sıra Bir öğrenci 1 sıraya oturur. Bir sırada 1 öğrenci oturur. Bir öğrenci 1 sıraya oturmalıdır. Bir sırada 1 öğrenci oturmalıdır. Bu bire bir ilişkidir. oturur

31 Örnek - 2 ÖğretmenDers Bir dersin mutlaka 1 öğretmeni olur. Bir öğretmen 1 ya da daha fazla derse girer. Bire çok (1:M) ilişkidir. Katılım zorunlu tutulmuştur. girer

32 Örnek - 3 Öğrenci Ders Bir öğrenci 1 ya da daha fazla ders alır. Bir dersi 1 ya da daha fazla öğrenci alır. Katılım zorunlu tutulmuştur. alır

33 Örnek - 4 Asistan Uygulama Bir uygulamaya mutlaka 1 asistan girer. Asistan birden fazla uygulamaya girebilir ama hiç girmeyebilir de. girer

34 Öğrenci Sıra oturur Asistan Uygulama girer Ders alır Öğretmen girer Öğr_ad numara

35

36 film Salon oynar Film_id yonetmen tarih saat tel adres

37 Recursive İlişki  Bir varlık kümesinin kendi elemanları arasında ilişki kurulması durumudur. personel yönetir

38 Recursive İlişki personel ebeveyn

39

40 deliii VBÇ’nin Okunması affetmez

41 deliii VBÇ Tasarımı affetmez

42 KAVRAMSAL MODEL 4.Aşama 3.Aşama 2.Aşama 1.Aşama Fiziksel Model Mantıksal Model Kavramsal Model Gereksinimlerin Belirlenmesi

43  Bu aşama, veri tabanı tasarımlarınızın ilişkisel veritabanı modelinde tablolar ile ifade edilmesi için yapılması gereken dönüşümü içerir.  Bu dönüşüm belirli bir metod izlenerek gerçekleştirilir. MANTIKSAL MODEL

44  Bu gösterim liste olarak ya da şekil olarak ifade edilebilir.  Yazar(id,yazarAdi, dogumTarihi, memleket, aciklama)  Kitap(yazarAdi,kitapadi,basimTarihi,yazarID) Veri Tabanı Şeması-Liste

45 Veri Tabanı Şeması-Şekil  Veri tabanı şeması listesinde bulunan benzer bilgiler gösterilmektedir. Ancak veritabanı şeması şekil ile gösteriminde, sunum görsel olarak verilir.  Bu gösterimde, yabancıl anahtarların referans verdikleri birincil anahtarlar oklar ile gösterilmektedir. IdyazarAdıdogumTarihimemleketaciklama kitapadibasimTarihiyazarID

46 Kavramsal - Mantıksal Model Dönüşümü VARLIKLARIN DÖNÜŞÜMÜ Bu dönüşümde varlığın isminde bir tablo oluşturulur ve varlığın nitelikleri bu tabloya yerleştirilir.Burada tablonun birincil anahtarı altı çizili olarak gösterilir. açıklama kod Sorutipleri Sorutipleri(kod,açıklama,...)

47  Sorutipleri(kod,açıklama,…)  Sorular(kod,soru_tip,sıra,ağırlık,dosyaAdı,…) açıklama kod Sorutipleri sıra kod ağırlık dosyaAdı sorular vardır

48 Bire-bir özyineli bağıntı dönüşümü kişi tcno ad soyad eş Kişi(tcno,ad,soyad,eş(kişi tablosuna referans verir))

49 N’li bağıntı dönüşümü proje malzeme üretici sağlar ad kod adres tel açıklama ad kod açıklama kod ad Sağlar(projekodu,üreticikodu,malzemekodu,(projekodu proje tablosuna Referans verir,üreticikodu üretici tablosuna referans verir, Malzemekodu malzeme tablosuna referans verir))

50 Kavramsal Model a) Zayıf varlık b) Varlık c) Birleşik nitelik d) Varolma bağıntısı e) Türetilmiş nitelik f) Bağıntı g) Birden fazla değer alabilen nitelik 1) 2) 3) 4) 5) 6) 7)

51 Kavramsal Model a) Tekli kısmen katılım b) Tekli zorunlu katılım c) Çoklu zorunlu katılım d) Çoklu kısmen katılım 1) 2) 3) 4)

52 Kavramsal Model sınavlar tarih ad süre yer sorular kod ağırlık dAdı sıra Cevap6: Yukarıdaki bağıntı bize bir sorunun bir çok farklı sınavda kullanılabileceğini, bir sınavda da birden fazla soru sorulabileceğini belirtir. Ayrıca her sınava ait en az bir sorunun tanımlanmış olması gerekir. Ancak her soru tanımında ise bir sınav tanımı yapma şartı yoktur. Sınav soruları

53 Normalizasyon

54  İlişkisel veri tabanlarının geliştirilme aşaması olan mantıksal veri modelinin oluşturulmasında başlıca hedef, verilerin, veriler arasındaki ilişkilerin ve sınırlamaların kesin, tam ifade edilmesidir. Bu hedefe ulaşmak için uygun ilişkiler kümesi tanımlanmalıdır. Böyle ilişkilerin tanımlanması işlevine normalleştirme denir. Normalleştirme- veri gereksinimlerinde tanımlanmış olan, arzu olunan nitelikleri bulunan ilişkiler kümesinin üretilmesi sürecidir. Normalleştirme

55  Veri bütünlüğünü sağlamak  Uygulamadan bağımsızlık  Performansı arttırmak Normalizasyonun Amaçları

56 56  Sadece bu öğe bile normalleştirme ile uğraşmak için yeterli bir sebeptir.  Eğer veri gereksiz yere tekrarlanıyorsa, bu değişik kopyalar, kopyalardan habersiz olan uygulama kodları yüzünden bir süre sonra birbirinden farklı değerleri taşımaya başlayabilirler. Bu, doğruluk ve tutarlılık açısından çok kötü bir sonuçtur.  Bu gibi durumlarda ilişkisel veri tabanı yönetim sisteminin otomatik bütünlük (automatic integrity) mekanizmaları bile işe yaramaz. Düzeltmenin, uygulama seviyesinde yapılması gerekir. Fakat bu da uygulama programlarını daha karmaşıklaştıracak, dolayısıyla bakımını zorlaştıracaktır. Normalleştirmenin Amaçları - 1 Veri bütünlüğünü sağlamak

57 57  Normalleştirme, genelde bilinen ve takip edilen “ilişkisel model, verinin içeriğine göre kurulmalı, uygulamaya göre değil” kavramını bir adım daha öne alır.  Bu sayede veri modeli, üzerinde onu kullanan uygulama değişse bile daha tutarlı, sabit ve değişmez olarak kalacaktır.  Uygulama programının gereksinimlerinin veri tabanının mantıksal modeli üzerinde herhangi bir etkisi olmamalıdır.  Uygulama, mantıksal model üzerinde değil, fiziksel model üzerinde etki yapar. Normalleştirmenin Amaçları - 2 Uygulamadan bağımsızlık

58 58  Saklama ihtiyaçlarını en aza indirgemek ve arama süresini azaltmak.  Yabancı anahtarların haricinde, tamamıyla normalleştirilmiş bir veri tabanı gereksiz (kopyalanmış) veri miktarını en aza indirecektir.  Kopyalanma miktarı azaldığı için, saklama yerine olan ihtiyaç ta azalır. Bu sayede, veri tabanı motorunun arama süresi azalacaktır. Normalleştirmenin Amaçları - 3 Performansı arttırmak

59 59  R bir ilişki şeması, X ve Y nitelik kümeleri ise R’nin alt kümeleri olsun (X  R, Y  R).  Eğer X nitelik kümesinin değerleri Y nitelik kümesinin değerlerini belirliyorsa (X’in her bir değeri Y’nin bir değerine karşılık geliyorsa); “Y niteliği X niteliğine işlevsel bağımlıdır” denir ve “X  Y” şeklinde gösterilir.  X’ten bir nitelik çıkarıldığı halde bu bağımlılık hâlâ geçerli ise kısmi bağımlılık (partial dependency) söz konusudur. İşlevsel Bağımlılık

60 60  DAĞITIM (müşteri_no, şehir_kodu, şehir_adı, parti_no, miktar) 1.müşteri_no  şehir_kodu, şehir_adı 2.(müşteri_no, parti_no)  miktar 3.şehir_adı  şehir_kodu (geçişli bağımlılık)  İlk ikisi anahtara göre bağımlı, üçüncüsü geçişli bağımlı (transitive dependent).  Bir müşteriye birden fazla parti ürün gönderilebildiği için ikincisinde iki nitelik bir anahtar oluşturuyor. İşlevsel Bağımlılık

61 61 Normalleştirme Aşamaları  Birinci Normal Form  İkinci Normal Form  Üçüncü Normal Form  Boyce-Codd Normal Formu  Dördüncü Normal Form  …

62 62 Normal Olmayan Form  İlişkisel veri tabanı modelinin temel kuralına göre bütün niteliklerin aldığı değerler atomik (tek ve basit) olmalıdır.  Aşağıdaki DAĞITIM tablosu bu kurala uymamaktadır, bu yüzden normal değildir. müşteri_noşehir_koduşehir_adıparti_nomiktar 134İstanbul1,2,3,4,6300,200,400,200,100 26Ankara1,2300,400 36Ankara İstanbul2,4,5200,300,400

63 63 Birinci Normal Form Uygulandığında: müşteri_noşehir_koduşehir_adıparti_nomiktar 134İstanbul İstanbul İstanbul İstanbul İstanbul Ankara Ankara Ankara İstanbul İstanbul İstanbul5400

64 64  Birinci normal formdaki bir tablo bazı alanlarda tekrarlı verilere sahiptir. Örneğimizde şehir_kodu ve şehir_adı alanlarında her müşteri için tekrarlı veriler vardır.  Bu tekrarlar ekleme, silme ve güncelleme işlemlerinde sorunlara neden olacaktır. Birinci Normal Formun Sorunları

65 65  Başka bir müşterinin bilgilerinin (müşteri_no, şehir_kodu, şehir_adı) girilmesi için mutlaka o müşteriye bir dağıtım işleminin yapılması (parti_no ve miktar değerlerinin girilmiş olması) gerekiyor. Satır Ekleme Sorunu müşteri_noşehir_koduşehir_adıparti_nomiktar 134İstanbul1300 …………… 434İstanbul İzmir

66 66  Bir müşteriye tek bir dağıtım yapıldıysa (örn. 3 no’lu müşteri), o dağıtım işlemi iptal edildiğinde, sadece parti_no ve miktarı değil, o dağıtımın yapıldığı müşteri hakkındaki diğer bilgiler de (müşteri_no, şehir_kodu, şehir_adı) yok olur. Satır Silme Sorunu müşteri_noşehir_koduşehir_adıparti_nomiktar 134İstanbul İstanbul2200 …………… 36Ankara2200 ……………

67 67  1 numaralı müşteri Ankara’ya taşınırsa, bu müşteri ile ilgili tüm satırların güncelleştirilmesi gerekecektir. Eğer tablo çok büyük ise, sadece bir müşteri ile ilgili küçük bir değişiklik bile binlerce kaydın güncelleştirilmesini gerektirebilir. Güncelleme Sorunu müşteri_noşehir_koduşehir_adıparti_nomiktar 134İstanbul İstanbul İstanbul İstanbul4200 ……………

68 68  Birinci normal formdaki sorunlardan (en azından güncelleme sorunundan) kurtulmak için nitelikler arasındaki işlevsel bağımlılıktan yararlanılarak birinci normal form (1NF) tablolarının birden fazla tabloya dönüştürülmesi sonucunda ikinci normal forma (2NF) ulaşılır.  İkinci normal formda, ilişkisel tablonun her bir anahtar olmayan sütunu birincil anahtara kısmi bağımlı değil, tam işlevsel bağımlı olmalıdır. İkinci Normal Form

69 69  şehir_kodu ve şehir_adı nitelikleri (müşteri_no, parti_no) birleşik anahtarının sadece müşteri_no niteliği üzerinde tam işlevsel bağımlıdır.  O halde şehir_kodu ve şehir_adı nitelikleri müşteri_no ile beraber ayrı bir tablo oluşturmalıdır.  DAĞITIM(müşteri_no, şehir_kodu, şehir_adı, parti_no, miktar)  ŞEHİRLER(müşteri_no, şehir_kodu, şehir_adı)  MİKTARLAR(müşteri_no, parti_no, miktar) İkinci Normal Form

70 70 İkinci Normal Form Uygulandığında: müşteri_noparti_nomiktar müşteri_noşehir_koduşehir_adı 134İstanbul 26Ankara İstanbul ŞEHİRLER MİKTARLAR

71 71  Birinci normal formdaki güncelleme sorununu ikinci normal forma dönüştürme ile ortadan kaldırmış olsak ta, ikinci normal formda da ekleme ve silme sorunları olabilmektedir. İkinci Normal Formun Sorunları

72 72  ŞEHİRLER tablosuna yeni bir müşteri kaydı girilmediği sürece yeni bir şehir tanımı yapılamaz. İzmir ilini tabloya dahil edebilmek için İzmir’de bulunan bir müşteriye ihtiyaç vardır. Satır Ekleme Sorunu müşteri_noşehir_koduşehir_adı 134İstanbul 26Ankara İstanbul 35İzmir

73 73  Tablodan bir müşteri silindiğinde, eğer o şehirdeki tek müşteri ise, şehir_kodu ve şehir_adı bilgileri de yok olacaktır. Satır Silme Sorunu müşteri_noşehir_koduşehir_adı 134İstanbul 26Ankara İstanbul 535İzmir

74 74  Birinci normal formdaki sorunlardan kurtulmak için nitelikler arasındaki kısmi işlevsel bağımlılıkları ortadan kaldırmıştık.  İkinci normal formdaki sorunlardan kurtulmak için de nitelikler arasındaki geçişli işlevsel bağımlılıkları ortadan kaldırmamız gerekir.  Örneğimizde “şehir_adı  şehir_kodu” işlevsel bağımlılığının geçişli olduğunu belirtmiştik. Bir anahtara bağlı olmayan bu bağımlılığı ayrı bir tabloya dönüştürerek üçüncü normal formu (3NF) elde edebiliriz. Üçüncü Normal Form

75 75 Üçüncü Normal Form Uygulandığında: müşteri_noparti_nomiktar şehir_koduşehir_adı 6Ankara 34İstanbul 35İzmir ŞEHİRLERMİKTARLAR müşteri_noşehir_kodu MÜŞTERİLER

76 76 Boyce-Codd Normal Formu ÖğrNoBölümDanışman 123FizikA. ERCAN 123KimyaM. AKINCI 456BiyolojiK. SÖNMEZ 789FizikA. ERCAN 999KimyaB. ÖZKAN Her belirleyicinin bir anahtar oluşu halidir. Örnek olarak aşağıdaki ilişkiyi düşünelim: ÖĞRENCİ(ÖğrNo, Bölüm, Danışman) ÖĞRENCİ

77 77 Boyce-Codd Normal Formu ÖğrNoBölümDanışman 123FizikA. ERCAN 123KimyaM. AKINCI 456BiyolojiK. SÖNMEZ 789FizikA. ERCAN 999KimyaB. ÖZKAN 1NF ? 2NF ? 3NF ? EVET (bütün niteliklerin aldığı değerler atomik) EVET (kısmi bağımlılık yok) EVET (geçişli bağımlılık yok)

78 78 Boyce-Codd Normal Formu ÖğrNoBölümDanışman 123FizikA. ERCAN 123KimyaM. AKINCI 456BiyolojiK. SÖNMEZ 789FizikA. ERCAN 999KimyaB. ÖZKAN Her üç normal formu da sağlıyor. Sorun var mı? EVET numaralı öğrenci silinirse Biyoloji ve K.SÖNMEZ yok olacak 2.Bir öğrenci Matematik bölümüne kayıt olana kadar bu bölüm var olmayacak.

79 79 Çözüm: Belirleyicileri anahtar yap Birincil Anahtar: –(ÖğrNo, Bölüm) Aday Anahtar: –(ÖğrNo, Danışman) İşlevsel Bağımlılıklar: –(ÖğrNo, Bölüm)  Danışman –Danışman  Bölüm ÖğrNoBölümDanışman 123FizikA. ERCAN 123KimyaM. AKINCI 456BiyolojiK. SÖNMEZ 789FizikA. ERCAN 999KimyaB. ÖZKAN Belirleyiciler

80 80 Boyce-Codd Normal Formu (BCNF) Uygulandığında: ÖĞRENCİ ÖğrNoBölümDanışman 123FizikA. ERCAN 123KimyaM. AKINCI 456BiyolojiK. SÖNMEZ 789FizikA. ERCAN 999KimyaB. ÖZKAN ÖĞRENCİ_DANIŞMAN ÖğrNoDanışman 123A. ERCAN 123M. AKINCI 456K. SÖNMEZ 789A. ERCAN 999B. ÖZKAN DANIŞMAN_BÖLÜM DanışmanBölüm A. ERCANFizik M. AKINCIKimya K. SÖNMEZBiyoloji B. ÖZKANKimya

81 81  NF: Normal olmayan form  1NF: Bütün alan değerleri atomik ise R 1NF’de  2NF: R 1NF’de ise ve anahtar olmayan tüm nitelikler anahtara tam bağımlı ise R 2NF’de  3NF: R 2NF’de ise ve anahtar olmayan tüm nitelikler anahtara geçişsiz bağımlı ise R 3NF’de  BCNF: Her belirleyici bir aday anahtar ise R BCNF’de Belirleyici: Başka bir niteliğin tam işlevsel bağımlı olduğu nitelik Özet

82 82  Bazı durumlarda BCNF’daki bir ilişkide de sorunlar görülebilmektedir. Örneğin; ÖĞRENCİ(ÖğrNo, Bölüm, Spor) Dördüncü Normal Form ÖĞRENCİ ÖğrNoBölümSpor 123FizikKayak 123KimyaKayak 123FizikTenis 123KimyaTenis 999KimyaTenis

83 83  Burada bir öğrenci birden çok bölüme kayıt olabilmekte ve birden çok spor etkinliğine katılabilmektedir.  Bu nedenle ÖğrNo ile Bölüm ve ÖğrNo ile Spor arasındaki ilişkiler birer işlevsel bağımlılık değil çok-değerli bağımlılık (multivalued dependency) halindedir. Dördüncü Normal Form ÖĞRENCİ ÖğrNoBölümSpor 123FizikKayak 123KimyaKayak 123FizikTenis 123KimyaTenis 999KimyaTenis ÖğrNo  Bölüm ÖğrNo  Spor çok-değerli bağımlılık

84 84  123 numaralı öğrencinin bir bölüme daha kayıt olması yada bir spor etkinliğine daha katılması halinde iki kayıt daha ilave edilmelidir.  Bu gibi yineleme sorunlarını ortadan kaldırmak için ÖĞRENCİ ilişkisi ikiye ayrılırak dördüncü normal form (4NF) oluşturulur. Dördüncü Normal Form ÖĞRENCİ_BÖLÜM ÖğrNoBölüm 123Fizik 123Kimya 999Biyoloji ÖĞRENCİ_SPOR ÖğrNoSpor 123Kayak 123Tenis 999Yüzme

85 85 Örnek 1 Ö.NOÖ.ADÖ.SOYADDERS_NODERS_ADIVIZEFINALH.NOH.ADH.SOYAD AhmetSolmaz202Matematik ÖzlemUÇAR AhmetSolmaz203Fizik ÖzlemUÇAR AhmetSolmaz204 Bilgisayar Mühendisliğine Giriş AydınCARUS AhmetSolmaz205 Atatürk İlkeleri ve İnkılap Tarihi ZekiDURMUŞ AhmetSolmaz206Türk Dili NebahatYILDIZ SeyhanGülmez202Matematik ÖzlemUÇAR SeyhanGülmez203Fizik ÖzlemUÇAR SeyhanGülmez204 Bilgisayar Mühendisliğine Giriş AydınCARUS SelimSolmaz702Veri Tabanı Yönetimi60506AltanMESUT AhmetVardar702Veri Tabanı Yönetimi60 6AltanMESUT SezaiKantar702Veri Tabanı Yönetimi65556AltanMESUT

86 86  Verilen şema 1. Normal Formda (atomik değerler)  OKUL (Ö.No, Ö.Ad, Ö.Soyad, Ders_No, Ders_Adı, Vize, Final, H.No, H.Ad, H.Soyad)  2. NF’ye geçerken kısmi bağımlılıklar ortadan kaldırılır  NOTLAR(Ö.No, Ders_No, Vize, Final)  ÖĞRENCİLER(Ö.No, Ö.Ad, Ö.Soyad)  DERSLER(Ders_No, Ders_Adı, H.No, H.Ad, H.Soyad)  3. NF’ye geçerken geçişli bağımlılıklar ortadan kaldırılır  NOTLAR(Ö.No, Ders_No, Vize, Final)  ÖĞRENCİLER(Ö.No, Ö.Ad, Ö.Soyad)  DERSLER(Ders_No, Ders_Adı, H.No)  HOCALAR(H.No, H.Ad, H.Soyad)

87 87 Örnek 2 UrunNoUrunAdParcaNoParcaAdMiktarUreticiNoUreticiAdUreticiSehirUreticiTel Pavilion DV2620ET 1 Intel Core 2 Duo T HPSeattle Pavilion DV2620ET 2 Kingston 512MB DDR2 2100HPSeattle Pavilion DV2620ET 3 Samsung 160GB HDD 1100HPSeattle Pavilion DV2620ET 4 Nvidia GeForce 8400M 1100HPSeattle Pavilion DV2650ET 1 Intel Core 2 Duo T HPSeattle Pavilion DV2650ET 2 Kingston 1024MB DDR2 2100HPSeattle Pavilion DV2650ET 3 Samsung 160GB HDD 1100HPSeattle Pavilion DV2650ET 4 Nvidia GeForce 8400M 1100HPSeattle Satellite A200- 1N2 1 Intel Core 2 Duo T ToshibaTokyo Satellite A200- 1N2 2 Samsung 1024MB DDR2 2102ToshibaTokyo Satellite A200- 1N2 3 Maxtor 120GB HDD 1102ToshibaTokyo Satellite A200- 1N2 4Intel GMA X ToshibaTokyo

88 88  Verilen şema 1. Normal Formda (atomik değerler)  Urun_Parca (UrunNo, UrunAd, ParcaNo, ParcaAd, Miktar, UreticiNo, UreticiAd, UreticiSehir, UreticiTel)  1NF → 2NF (kısmi bağımlılıklar giderilir)  Urun_Parca (UrunNo, ParcaNo, ParcaAd, Miktar)  Urunler (UrunNo, UrunAd, UreticiNo, UreticiAd, UreticiSehir, UreticiTel)  2NF → 3NF (geçişli bağımlılıklar giderilir)  Urun_Parca (UrunNo, ParcaNo, ParcaAd, Miktar)  Urunler (UrunNo, UrunAd, UreticiNo)  Ureticiler (UreticiNo, UreticiAd, UreticiSehir, UreticiTel)

89 89 Örnek 3 SiparisNoTarihUrunAdUrunNoAdetMusNoMusAdMusSoyad Nokia AliKorkmaz Kingston 2 GB USB AliKorkmaz Samsung D SelinAtasoy Nokia KamilSönmez Philips DVP 5160/ MetinKaplan Samsung Digimax S KemalDurukan Sinbo SBS-4414 Baskül SelinAtasoy Canon Powershot A AliKorkmaz Kingston 2 GB SD AliKorkmaz Nokia EceÇağlayan

90 90  Verilen şema 1. Normal Formda (atomik değerler)  SIPARIS (SiparisNo, Tarih, UrunAd, UrunNo, Adet, MusNo, MusAd, MusSoyad)  1NF → 2NF (kısmi bağımlılıklar giderilir)  SIPARIS_URUN (SiparisNo, UrunNo, Adet)  SIPARIS_MUSTERI (SiparisNo, Tarih, MusNo, MusAd, MusSoyad)  URUN (UrunNo, UrunAd)  2NF → 3NF (geçişli bağımlılıklar giderilir)  SIPARIS_URUN (SiparisNo, UrunNo, Adet)  SIPARIS_ MUSTERI (SiparisNo, Tarih, MusNo)  MUSTERILER (MusNo, MusAd, MusSoyad)  URUN (UrunNo, UrunAd)

91 FİZİKSEL MODEL 4.Aşama 3.Aşama 2.Aşama 1.Aşama Fiziksel Model Mantıksal Model Kavramsal Model Gereksinimlerin Belirlenmesi

92  Bu aşamada ise, artık fiziksel olarak sistemin kurulması sağlanır.  Kullanılacak olan VTYS ile ilk temas bu noktada kurulur. Fiziksel Model


"VTYS 2012 Mehmet Emin KORKUSUZ Ders - 02.  İlişkisel Veri Tabanı Tasarımı  Gereksinimlerin belirlenmesi  Kavramsal Model  Mantıksal Model  Fiziksel." indir ppt

Benzer bir sunumlar


Google Reklamları