VERİTABANI Veritabanı Modelleri VERİTABANI MODELLERİ Tüm veritabanları verilerin saklanmasını sağlamaktadır. Veritabanında saklanan veriler farklı uygulama veya kullanıcılar tarafından ortak şekilde kullanılabilmektedir. Kullanılan veriler ile veriler arasındaki ilişkiler, veri modellerine göre tasarlanmaktadır. Verinin saklanması ve yeniden kullanılmasını sağlamayı amaçlayan farklı veritabanı modelleri bulunmaktadır. Günümüzde genel olarak kullanılmakta olan veritabanı modelleri; • Hiyerarşik veritabanı modeli • Ağ veritabanı modeli • İlişkisel veritabanı modeli • Nesneye dayalı veritabanı modeli • Varlık-İlişki modeli HİYERARŞİK VERİTABANI MODELİ Hiyerarşik veritabanı modeli veritabanlarında kullanılmaya başlanan en eski modeldir. Özellikle 1960'lı ve 1970'li yıllarda kullanılmıştır. Hiyeraşik veritabanı modelinin kullanıldığı en önemli veritabanı yönetim sistemi yazılımı ise IBM tarafından geliştirilen IMS'tir. Hiyerarşik veritabanı modelinde veriler ters ağaç şeklinde birbirleriyle hiyrarşik olarak bağlantılı olacak şekilde düzenlenmektedir. Model bir ağaçta olduğu gibi kök ve dallardan oluşmaktadır. Her dala birçok dal bağlanabilir. Bu yapı dallanma ve çeşitliliğin artmasına olanak sağlar. Ancak dalların birbirleriyle tek bir noktadan bağlanma zorunluluğu bu modelin en büyük dezavantajlarındandır. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik veritabanı modeline bir şirketin idari şeması örnek gösterilebilir. İdari şema genel müdürden personele kadar biribirleriyle hiyerarşik bir yapıda bağlantılıdır. Bu şemada "Genel Müdür" kök, "Genel Müdür Yardımcısı", "Şube Müdürü", "Birim Şefi" ve "Personel" ise bu köke bağlı dallar şeklindedir. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik veritabanı modelinde bulunan segmentlere düğüm adı verilir. Bu modelde en üstte yer alan düğüm, kök olarak ifade edilir. Kök kendisinin altında bulunan düğümlerin atasıdır. Kökün altında bulunan düğümler de kök düğümünün çocuklarıdır. Hiyerarşik modelde her ata çok sayıda çocuğa sahip olabilir. Ancak her çocuk sadece bir ataya sahiptir. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik veritabanlarında veriler ata segmentinden, çocuk segmentlere doğru bir yol izlenilerek saklanırlar. Örneğin Şekilde H segmentine yol A, B, D ve H şeklinde tanımlanır. Bu sıralamaya hiyeraşik yol denilmektedir. Hiyerarşik yol üzerindeki segmentlerin sıralamasına da hiyerarşik sıra denir. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik Veritabanı Modelinin Avantajlar Hiyerarşik modelde veritabanı geliştirmek ve üzerinde işlem yapmak kolaydır. Hiyerarşik yapıya sahip alanlarda kolayca uygulanabilir. Örnek olarak şirket organizasyon şeması verilebilir. Hiyerarşik model kullanılan, veritabanı yönetim sistemi yazılımlarında sorgu dili oldukça basittir. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik Veritabanı Modelinin Dezavantajları Veritabanı yapısında yapılacak herhangi bir değişiklik o yapıya ait tüm alt segmentleri de etkileyeceğinden dolayı çok fazla riskler içermektedir. Bu durumun neden olduğu sonuçlar veritabanına bağlı tüm iş süreçlerini doğrudan etkileyecektir. Bu nedenle hiyerarşik veritabanları tasarlanırken iyi bir şekilde kurgulanmalıdır. Süreç içerisinde eksikliği fark edilen bir segmentin daha sonra yapıya entegrasyonu hiyerarşik modelde oldukça zordur. Veritabanı uygulama yazılımları gerçekleştiren programcıların veriye ulaşabilmesi ve üzerinde işlem yapabilmesi için veritabanın yapısı hakkında çok geniş bilgiye sahip olması gerekmektedir. Çünkü bu modelde istenilen veriye ulaşmak için hiyerarşik yol izlenmelidir. HİYERARŞİK VERİTABANI MODELİ Hiyerarşik Veritabanı Modelinin Dezavantajları Hiyerarşik yol üzerinde bulunan segmentlerden herhangi birinin veya birkaçının değişmesi hiyerarşik yolun değişmesine neden olacaktır. Bunun sonucunda veritabanını kullanan uygulama yazılımlarının da yeniden tasarlanmasını gerekmektedir. Hiyerarşik modeli kullanan veritabanı yönetim sistemlerinin kendilerine özgü standartları vardır. Bunun sonucu olarak veritabanı yapıları, bu modeli kullanan veritabanı yazılımlarına göre değişiklikler göstermektedir. Bu durum veritabanı taşınabilirliğini oldukça zor hale getirmektedir. Hiyerarşik model, yazılımcılar için gerçekleştirilmiş bir sistem olarak bilinir. Bu modelin kullanımı için geniş programlama bilgisine gereksinim duyulmaktadır. Bu neden ile son kullanıcıların, hiyerarşik model kullanan veritabanı yönetim sistemi yazılımlarını kullanımı oldukça zordur. AĞ VERİTABANI MODELİ Ağ veritabanı modeli hiyerarşik modelin yetersiz kalması sonucu geliştirilmiştir. Temelde hiyerarşik veritabanı modeline benzemektedir. Ancak hiyerarşik modelden farklı olarak segmentler arasında birden çok ilişki tanımlanmasına izin verir. Örneğin çalışanlar ve görevler arasında çoktan çoğa ilişki vardır. Bir başka deyişle bir çalışana birden fazla görev veya bir görev birden fazla çalışana atanabilir. Bu yapıda çalışan ve görev segmentleri arasında birden çok bağlantı noktası oluşmaktadır. Eğer hiyerarşik veritabanı modeli kullanıyor olsaydı bir çalışana yalnızca tek bir görev ataması yapılabilecekti. Bu nedenle hiyerarşik modelin çalışanlar ve görevler arasındaki ilişkileri tanımlamada kullanılması yeterli değildir. AĞ MODELİNİN TEMEL YAPISI Ağ veritabanı modeli küme, sahip ve üyeden oluşmaktadır. Bu yapıda; Küme: Kayıtlar arasındaki ilişki, Sahip: Hiyerarşik modelde olarak isimlendirilen kayıt, ata Üye: Hiyerarşik modelde çocuk olarak isimlendirilen kayıt, olarak isimlendirilmektedir. AĞ VERİTABANI MODELİ Ağ Modelinin Avantajları Ağ veritabanı modeli tasarımı oldukça kolaydır. Hiyerarşik modeldeki tüm işlevleri gerçekleştirmekte ayrıca hiyerarşik modelden kaynaklanan eksikliklerin birçoğunu gidermektedir. Birebir veya bire-çok ilişkiler kurulabilir. Kayıtlar sahipleri olmadan tanımlanamadığı için veri bütünlüğü sağlanır. AĞ VERİTABANI MODELİ Ağ Modelinin Dezavantajları Veritabanmda değişiklik yapılması oldukça zordur. Yapılacak bir değişiklikten sonra bu veritabanını kullanan uygulama yazılımlarının tekrardan yapılması gereklidir. Veritabanı yazılımı geliştiren kullanıcıların veriye ulaşabilmeleri için veritabanının tüm içyapısını bilmesi gereklidir. Ağ veritabanı modelinde de hiyerarşik modelde olduğu gibi her defasında tek bir kayda erişilebilir. Ağ veritabanı modeli kullanıcı dostu değildir. Teknik bilgisi yüksek programcı ve yöneticiler içindir. İLİŞKİSEL VERİTABANI MODELİ Verilerin aralarında ilişki kurulabilen tablolar şeklinde düzenlendiği veritabanı modeline ilişkisel veritabanı modeli denir. Günümüzde en yaygın olarak kullanılan veritabanı modelidir. Veritabanı yönetim sistemi yazılımlarının büyük çoğunluğu ilişkisel veritabanı modelini kullanmaktadır. Bu yazılımlara Oracle, MS-SQL Server, Sybase, Informix ve MySQL'i örnek olarak verebiliriz. İlişkisel veritabanı, tablolardan oluşmaktadır. Bu modelde tablolar çeşitli anahtar alanlar ile birbirlerine bağlanır. Tablolar arasındaki ilişkiler, matematiksel ilişkilerle (ilişkisel cebir) temsil edilmektedir. İLİŞKİSEL VERİTABANI MODELİ İLİŞKİSEL VERİTABANI MODELİ Seçme (Select): Herhangi bir tabloda bulunan tüm verileri veya istenilenleri göstermek amacıyla kullanılır. Örneğin, bir ilçe tablosunu düşünecek olursak bu İlçe tablosunda seçme işlevinin uygulanması tablonun tümünü veya belirli bir kısmını getirip, diğer kısmını getirmeyebilirsiniz. İLİŞKİSEL VERİTABANI MODELİ İzdüşürme (Project): Herhangi bir tablodan sadece belirli sütunların yer aldığı seçme işlevlerinin yerine getirilmesidir. Örneğin, ilçe tablosundan sadece ilçe adları veya ilçe adlarıyla birlikte toplam nüfus seçilebilir. İLİŞKİSEL VERİTABANI MODELİ Birleşim (Union): Birden fazla tabloda yer alan bilgileri, yeri geldiğinde tek bir tabloymuş gibi sunabilmelidir. Birleşme işlevinin kullanılması için bilgi alanları aynı karakteristik özelliklere sahip olmalıdır. İki veya daha fazla tablo aynı alanları paylaşıyorlarsa birleştirilebilir. Örneğin, sınava giren öğrenci numaralarını içeren tablo ile sınava girmeyen öğrenci numaralarını içeren iki tablo birleştirilebilir. İLİŞKİSEL VERİTABANI MODELİ Kesişim (Intersect): Birleşmenin tersi olarak ifade edilebilir. Her iki tabloda da ortak olan satırları gösterir. Örneğin matematik ve fizik dersini alan öğrencilerin numaralarını içeren iki tablo kullanılarak her iki dersi de alanların tablosu oluşturulabilir. İLİŞKİSEL VERİTABANI MODELİ Fark (Difference): Bir tabloda da olup diğer tabloda olmayan satırları gösterir. Örneğin matematik ve fizik dersini alan öğrencilerin numaralarını içeren iki tablo kullanılarak sadece tek bir ders alan öğrencilerin tablosu oluşturulabilir. İLİŞKİSEL VERİTABANI MODELİ Çarpım (Product): İki tablo arasında oluşturulan ilişkiden mümkün olan tüm satırları içeren bir liste üretilmesidir. Örneğin bir tabloda 2 diğerinde 3 satır bulunuyorsa çarpım işleminden sonra 2x3=6 satırdan oluşan bir liste oluşur. İLİŞKİSEL VERİTABANI MODELİ Bölme (Division): İki tablodan tek bir tablo üretir. İki sütünlu ve tek sütunlu iki tablo olması gereklidir. Tablo 1 ve Tablo 2 tablolarının her ikisinde de Alan1 sütunu ortaktır. Ancak Tablo2 Alan2 sütununu içermemektedir. Tablo 1 ve Tablo 2 'nin Alan 1 sütunlarında ortak olarak "A" ve "B" kayıtları bulunmaktadır. "A" ve "B" kayıtlarının bulunduğu satırda Alan 2 sütununda ortak olarak "1" kaydı bulunmaktadır. Sonuç olarak Tablo 1'in Tablo2'ye bölünmesi sonucu '1' değerini içeren tablo oluşur. İLİŞKİSEL VERİTABANI MODELİ Birleştirme (Join): İki veya daha fazla tabloda bulunan kayıtların birleştirilmesine izin verir. İlişkisel veritabanının en önemli işlevidir. Üç çeşit birleştirme şekli bulunmaktadır. • Natural Join • Outer Join • Equi Join İLİŞKİSEL VERİTABANI MODELİ Natural JOIN (Doğal Birleştirme) sadece seçilen ortak değerlerle tabloları bağlar. Örneğin öğrenci ve nöbet tabloları birleştirilebilir. İLİŞKİSEL VERİTABANI MODELİ Natural Join üç aşamalı işlemin sonucudur. 1. Tablolar arasında Çarpım işlemi oluşturulur. Öğrenci ve nöbet tabloları arasındaki çarpım işleminden sonra 25 satırdan oluşan bir tablo oluşur. İLİŞKİSEL VERİTABANI MODELİ 2. Seçme işleviyle sadece "Öğrenci No" değerleri eşit olan satırlar listelenir. 3. Birinci ve ikinci adımlarda oluşturulan tablolar için izdüşürme işlevi uygulanarak tekrarlanan sütunlar yok edilir. İLİŞKİSEL VERİTABANI MODELİ Equi Join (Eşit Birleştime) tabloların sütunlarını karşılaştırarak belirtilen duruma göre tabloları birbirine bağlar. Naturel Join'den farklı olarak tekrarlanan sütunları ve kayıtları ortak tabloda gösterir. Outer Join (Dışsal Birleştirme) tabloların sütunlarını karşılaştırarak birbiriyle eşleşmeyen kayıtlarında boş veya NULL olarak gösterildiği birleştirme biçimidir. Örneğin nöbet tablosunda bir öğrenci bulunmasaydı iki tablonun birleşimi aşağıdaki gibi olacaktı. NESNEYE YÖNELİK VERİTABANI MODELİ Nesneye yönelik veritabanı modeli 1990'lı yılların başlarında ortaya çıkmıştır. Bu modelde nesne kayıtları, sınıf ise kayıt gruplarını ifade etmektedir. Tablo ise nesne tipi olarak kabul edilmektedir. Nesneye yönelik veritabanında sayı, karakter vb. veri tipleri dışında harita, fotoğraf, ses, video gibi standart olmayan veri tipleri de tanımlanabilmektedir. Veri gösterim hızı bu modelde arttığı gibi veritabanında komutların kullanımı da oldukça esnektir. Ancak nesneye yönelik veritabanı modelinin kullanımı beklenilen düzeyde gerçekleşmemiştir. VARLIK-İLİŞKİ MODELİ (E-R MODELİ) Varlık- ilişki modeli P.P Chen tarafından 1976 yılında geliştirilmiştir. Veri çözümlemede ve anlamlandırmada en çok kullanılan modeldir. Fakat bugüne kadar bu modele dayalı veritabanı yönetim sistemi yazılımı geliştirilmemiştir. Bu model kullanılarak öncelikli olarak veriler çözümlenir. Çözümlenen verilere dayanarak veri modellemesi yapılır. Yapılan veri modellemesi içinde yer alan veriler ve veriler arası ilişkilerin anlamları, özellikleri incelenerek Varlık-İlişki diyagramları oluşturulur. Bu aşamalardan sonra veritabanı yönetim sistemi yazılımı belirlenir. Veritabanı yönetim sisteminin veri modelleri temel alınarak Varlık-İlişki diyagramları veritabanı tablolarına dönüştürülür. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Varlık ve Nitelikleri Varlık-ilişki modelinde geçen varlık, var olan birbirlerinden ayırt edilebilen nesneleri ifade eder. Örneğin bir sınıfta yer alan sıra, tahta, öğrenci, kitap vb. nesnelerin tümü "varlık" olarak değerlendirilir. Varlıkları tanımlayan ve birbirinden ayırt eden birçok özellik bulunmaktadır. Bu özelliklere ise "nitelik" (attributes) adı verilir. Örneğin öğrenci kümesi içindeki her öğrencinin öğrenci numarası, ad, soyad gibi özellikleri öğrenci varlık kümesinin nitelikleridir. Üniversite de varlık olarak ifade edilebilecek nesnelere örnek veriniz. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Varlık Kümesi Aynı türdeki varlıkların oluşturduğu kümeye "varlık kümesi" denir. Örneğin bir üniversitede öğretim görevlileri, öğrenciler, hizmetliler, dersler vb. varlık kümelerine örnek gösterilebilir. Varlık-İlişki diyagramlarında varlık kümeleri dikdörtgen şeklinde belirtilir. Nitelikler ise oval bir daire içinde belirtilerek ilgili varlık kümesine çizgi ile bağlanır. Şekilde öğrenci varlık kümesi ve öğrenci no, ad, soyad niteliklerinin Varlık- İlişki diyagramı görülmektedir. Varlık ilişki diyagramında varlık nasıl gösterilir? VARLIK-İLİŞKİ MODELİ KAVRAMLAR Etki Alanı Niteliğin veri modelinde alabileceği değerlerin tümüne etki alanı denir. Örneğin öğrenci varlık kümesinde bulunan öğrencilerin cinsiyet niteliğinin etki alanı kadın veya erkek değerlerinden oluşur . VARLIK-İLİŞKİ MODELİ KAVRAMLAR Anahtar Nitelik Varlık kümesi içindeki her varlığı tanımlamaya yarayan niteliktir. Anahtar nitelik her bir varlık için eşsiz olmalıdır. Örneğin Öğrenci No öğrenci varlık kümesinde anahtar niteliktir. Çünkü her öğrencinin farklı bir numarası bulunmaktadır. Benzer şekilde vatandaş varlık kümesinde her vatandaş, farklı bir kimlik numarasına sahiptir. Bu nedenle T.C. Kimlik No anahtar niteliktir. Anahtar nitelik, Varlık-İlişki diyagramında niteliğin altı çizilerek gösterilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Türetilen Nitelik Bir varlığa ait nitelik veya nitelikler kullanılarak başka bir nitelik türetilebiliyor ise bu niteliğe türetilen nitelik denir. Örneğin öğrenci kümesinde bulunan öğrencilerin doğum tarihi niteliği kullanılarak yaş niteliği elde edilebilir. Bu örnekten de anlaşılacağı gibi türetilen niteliklerin veri modeli tasarımında ayrıca tanımlanmasına gerek yoktur. Birleşik Nitelik Birden fazla niteliğin birleştirilmesi sonucu oluşan niteliğe birleşik nitelik denir. Örneğin mahalle, cadde, sokak, kapı no, şehir gibi nitelikler birleştirilerek adres isimli yeni bir nitelik oluşturulabilir. Tek ve Çok Değerli Nitelikler Bir varlığa ait niteliğin aldığı değer tek ise, buna tek değerli nitelik denir. Eğer varlığa ait nitelik birden fazla değer alabiliyor ise, bu nitelik çok değerli nitelik olarak ifade edilir. Örneğin öğrenci varlığının öğrenci numarası niteliği tek değerli nitelik, yabancı dil niteliği birden çok değer alabileceği için çok değerli niteliktir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR VARLIK-İLİŞKİ MODELİ KAVRAMLAR İlişki En az iki varlığın birbirleriyle olan bağlantısına ilişki denir. İlişkiler ikili, üçlü, dörtlü vb. şekilde olabilir. Örneğin bir öğrenciyle dersi arasındaki ilişki ikili, öğrencinin aldığı ders ve bu dersi veren öğretmenle ilişkisi üçlü ilişkidir. İlişkiler Varlık-İlişki diyagramında dörtgen ile gösterilir. Örnek olarak öğretmen varlık kümesi ile ders varlık kümesi arasında "verir" ilişkisi öğrenci varlık kümesi ile ders varlık kümesi arasında "alır" ilişkisi oluşturulabilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR İlişki Kümesi: Aynı türdeki ilişkilerin oluşturduğu kümeye ilişki kümesi adı verilir. İlişki kümeleri ikili, üçlü, dörtlü vb. şekilde olabilir. Bu tür ilişki kümelerine çoklu ilişki kümesi denir. Varlık kümeleri kendi içinde de ilişkili olabilir. Örneğin vatandaş kümesi içindeki kişi varlıkları hem birbirleriyle evli, hem de küme içerisinde bulunan kişilerin çocukları olabilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Rol: Varlıkların birbirleri arasında kurdukları ilişkilerde üstlendikleri işlevlere rol denir. Örneğin, öğrenci ve ders varlık kümeleri arasında kurulan ilişkide öğrenci dersi alan, ders ise öğrenci tarafından alınandır. Benzer biçimde bir kurumda çalışan personel arasında kurulan yönetici ilişkisinde hangi personelin rolünün yönetici, hangi personelin rolünün ise yönetilen olduğunun belirtilmesine gerek vardır. İlişki Türleri Varlık kümeleri arasındaki üç çeşit ilişki kurulabilir. Bire Bir İlişki (One To One - 1:1) Bire Çok İlişki (One To Many - 1:N) Çoka Çok İlişki (Many To Many- N:N) VARLIK-İLİŞKİ MODELİ KAVRAMLAR Bire Bir İlişki (One To One - 1:1) İki varlık kümesinde bulunan varlıklar arasında sadece bir kez eşleşme olması durumudur. Her varlığa karşılık tek bir varlık eşleşir. Örneğin öğrenci varlık kümesi ile veli varlık kümesi arasında bire-bir ilişki bulunmaktadır. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Bire Bir İlişki (One To One - 1:1) Öğrenci varlık kümesi ile veli varlık kümesi arasında bire-bir ilişkinin varlıkilişki diyagramı aşağıdaki gibi gösterilmektedir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Bire Çok İlişki (One To Many - 1:N) İki varlık kümesi arasında bir kümede bulunan varlık ile diğer kümeden birden çok varlık arasında ilişki kurulabilir. Örneğin müşteri varlık kümesi ile sipariş varlık kümesi arasında bire-çok ilişki bulunmaktadır. Her müşteri birden çok sipariş verebilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Bire Çok İlişki (One To Many - 1:N) Müşteri varlık kümesi ile Sipariş varlık kümesi arasında bire-çok ilişkinin varlık- ilişki diyagramı aşağıdaki gibidir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Çoka Çok İlişki (Many To Many- N:N) Bir varlık kümesinde bulunan birden çok varlık başka bir varlık kümesinde bulunan birden çok varlık ile ilişki kurabiliyor ise bu tür ilişkilere çoka-çok ilişki adı verilir. Örneğin öğrenci varlık kümesi ile ders varlık kümeleri arasındaki ilişki çoka çok ilişkidir. Çünkü bir öğrenci birden çok ders alabilirken, bir dersi birden çok öğrenci alabilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Çoka Çok İlişki (Many To Many- N:N) Öğrenci varlık kümesi ile Ders varlık kümesi arasında çoka-çok ilişkinin varlıkilişki diyagramı aşağıdaki gibidir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Varolma Bağımlılığı Bir varlığın bulunması için diğer bir varlığın bulunması gerekiyor ise buna varolma bağımlılığı adı verilir. Örneğin bir öğrencinin var olabilmesi için bir bölümün var olması gereklidir. Çünkü bir öğrenci mutlaka bir bölüme kayıtlı olmalıdır. Böyle bir durumda öğrenci bağımlı, bölüm ise baskın varlıktır. Güçlü ve Zayıf Varlık Kümeleri Varlık kümesi içerisinde bulunan varlıkların niteliklerinden biri veya hepsi alınsa bile oluşan değer eşsiz değilse bu varlık kümesine zayıf varlık kümesi denir. Zayıf varlık kümesinde hiçbir nitelik veya nitelikler anahtar nitelik olamaz. Zayıf varlık kümeleri Varlık-ilişki diyagramında çift çizgili dikdörtgen şeklinde gösterilir. Güçlü varlık kümesi ise içerisinde bulunan niteliklerden en az bir tane anahtar nitelik oluşturulabilen varlık kümeleridir. Varlık-ilişki diyagramında güçlü varlık kümeleri dikdörtgen şeklinde gösterilir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Varlık-İlişki Diyagramlarının Tablolara Dönüştürülmesi Bire Bir (One To One - 1:1) İlişkilerin Tablolara Dönüştürülmesi Varlık kümeleri arasında bire bir ilişki bulunmakta ise varlık kümeleri tablolara varlık kümeleri içerisinde bulunan varlıkların nitelikleri ise alanlara dönüştürülür. Varlıkların anahtar nitelikleri, anahtar alan olarak tabloda tanımlanır. Varlık kümelerinde birincil anahtar niteliği, diğer varlık kümesine yabancı anahtar nitelik olarak eklenir ve alana dönüştürülür. Bu şekilde bire bir ilişkiye sahip varlık kümeleri tablolara dönüştürülmüş olur. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Örneğin öğrenci ve veli varlık kümeleri arasındaki ilişkiyi gösteren Varlık-ilişki diyagramı tabloya dönüştürülmek istenirse; • Her iki varlık kümesi tabloya dönüştürülür. Öğrenci ve veli tabloları oluşturulur. • Varlık nitelikleri alanlara dönüştürülür. Anahtar niteliklerde anahtar alan olarak tanımlanır. Öğrenci no öğrenci tablosunda birincil anahtar veli no ise veli tablosunda birincil anahtar olarak tanımlanır. • Öğrenci tablosunda bulunan öğrenci no veli tablosuna yabancı anahtar olarak veya veli tablosunda bulunan veli no öğrenci tablosuna yabancı anahtar olarak eklenir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Bire Çok (One To Many - l:N) İlişkilerin Tablolara Dönüştürülmesi Bire çok ilişki içerisindeki varlık kümeleri de bire bir ilişki içerisinde bulunan varlık kümelerinin tablolara dönüştürülmesi şekline benzemektedir. Varlık kümeleri tablolara, nitelikler alanlara ve anahtar nitelikler de anahtar alanlara dönüştürülür. Tek varlığın eşleştiği varlık kümesindeki anahtar nitelik, diğer varlık kümesine yabancı anahtar nitelik olarak eklenir. Örneğin öğrenci ve bölüm varlık kümeleri arasındaki bire-çok ilişkide, bölüm varlık kümesinde bulunan "bölüm no" niteliği yabancı anahtar olarak öğrenci varlık kümesine eklenir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR Çoka Çok (Many To Many- N:N) İlişkilerin Tablolara Dönüştürülmesi Çoka çok ilişkili varlık kümeleri de diğer ilişkilerde olduğu gibi tablolara dönüştürülmektedir. Ancak çoka çok ilişkide iki tablo arasındaki ilişkiyi kurmak için ayrıca ilişki tablosu oluşturulur. Varlık kümeleri arasındaki ilişkiyi oluşturan anahtar alanlar, ilişki tablosuna yabancı anahtar olarak eklenir. İlişki tablosunda ilişki ile ilgili diğer nitelikler de alan olarak oluşturulur. Örneğin öğrenci ve öğrenci ve ders varlık kümelerindeki ilişki diyagramı tabloya dönüştürülürken öğrenci, ders ve iki tablo arasında ilişki kurulmasını sağlayacak ilişki tablosu oluşturulur. Öğrenci tablosunda bulunan anahtar alan "öğrenci no" ve ders tablosunda bulunan ve anahtar alan "ders id" alanları ilişki tablosuna yabancı anahtar olarak eklenir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR VARLIK-İLİŞKİ MODELİ KAVRAMLAR Çok Değerli Niteliklerin Dönüştürülmesi Varlık kümelerinde varlıklar, çok değerli nitelik içerebilirler. Örneğin bir kişi varlığının yabancı dil niteliği çok değerli niteliktir. Çünkü birden çok değer alabilir. Çok değerli nitelik içeren varlık diyagramları tablolara dönüştürülürken, herbir çok değerli nitelik için ayrı tablo oluşturulur. Oluşturulan tablo çok değerli nitelik ve çok değerli niteliğin bulunduğu tablonun anahtar alanlarından oluşur. Örneğin kişi varlık diyagramı tabloya dönüştürülecek olursa, yabancı dil niteliği için yeni bir tablo oluşturulur. Bu tablo "kişi no" ve "yabancı dil" alanlarından oluşur. Bu tablonun anahtar alanı "kişi no" ve "yabancı dil" alanlarının birleşimidir. VARLIK-İLİŞKİ MODELİ KAVRAMLAR