Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VERİTABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü.

Benzer bir sunumlar


... konulu sunumlar: "VERİTABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü."— Sunum transkripti:

1 VERİTABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü

2 BÖLÜM -3- İLİŞKİSEL VERİ MODELİ & İLİŞKİSEL CEBİR İFADELERİ 2 BİL Veri Tabanı ve Yönetimi

3 Genel Bakış… İlişkisel veritabanı kavramı ve ana bileşeni olan tabloların özellikleri, Veritabanı şeması kavramı, Veritabanı bütünlüğü kavramı, Anahtarların bütünlük sınırlamalarındaki önemi, Veritabanı sınırlaması türleri, İlişkisel cebir kavramı, İlişkisel cebir temel işlemleri. 3 BİL Veri Tabanı ve Yönetimi

4 3.1. İlişkisel Model İlişkisel model, varlıklar arasındaki bağlantının, içerdiği değerlere göre sağlanması esasına dayanır. İlişkisel model, varlıklar arasında oluşan karmaşık ilişkileri basite indirgemek amacıyla geliştirilmiştir. 4 BİL Veri Tabanı ve Yönetimi VERİTABANI NoAdıBölüm No Bölüm Adı

5 3.2. İlişkisel Veritabanı İlişkisel veritabanı, her biri özel isimlere sahip tablolardan oluşur. İlişkisel veri tabanında her bir tablo bir varlığa veya bir ilişkiye karşılık gelmektedir. 5 BİL Veri Tabanı ve Yönetimi NoAdıBölüm No 130Cenk10 132Fatih11 136Cumhur13 144Semra10

6 Tabloların Özellikleri İlişkisel veritabanı içinde yer alan her bir tablo; Sütunlardan oluşur ve her bir sütunun ayrı bir adı vardır. Her bir sütun, aynı niteliğin tanımlandığı aynı etki alanının (domain) belirlediği değerleri içerir. Her bir satır birbirinden farklıdır. Satırların ve sütunların sırası önemsizdir. 6 BİL Veri Tabanı ve Yönetimi NoAdıBölüm No 130Cenk10 132Fatih11 136Cumhur13 AdıNoBölüm No Cenk13010 Fatih13211 Cumhur13613

7 Veritabanı Şeması Veritabanının mantıksal tasarımına veritabanı şeması adı verilir. Tablolar ve onların nitelikleri; veritabanı şemasını oluşturur. Veritabanı şemalarını iki ana grup altında ortaya koymak mümkündür. Fiziksel Şema Kavramsal Şema 7 BİL Veri Tabanı ve Yönetimi

8 Veritabanı Şeması (devam…) 8 BİL Veri Tabanı ve Yönetimi Fiziksel şema, veritabanının fiziksel çevresi ile ilgili tanımları içerir. Örneğin, veritabanı bilgisayarda bir disk dosyası biçiminde yer alacaktır. Bu dosyanın disk üzerindeki adresi ve özellikleri ile ilgili tanımlar fiziksel şemayı oluştur. Kavramsal şema ise tüm veritabanının mantıksal tasarımıdır. Veritabanına konulmasına karar verilen veriler arasındaki mantıksal ilişkilerin yapısının saptanması için veritabanı şeması oluşturulur. Bu şemada, veritabanında veri alanları, kayıtlar, dosyalar vb… gibi ne tür veri elemanlarının bulunacağı, veri elemanları arasındaki ilişkiler ve veritabanının yapısı hakkında bilgiler yer alır.

9 Veritabanı Şeması (devam…) Veritabanı şeması veya bir başka deyişle kavramsal şema tasarlandıktan sonra, her bir uygulama için alt-şemalar hazırlanır. Örneğin, muhasebe uygulaması bir alt şemadır. Çünkü bu uygulama veritabanının tümü ile ilgilenmez. 9 BİL Veri Tabanı ve Yönetimi

10 Veritabanı Bütünlüğü Veritabanının doğru ve tutarlı biçimde çalışması ve işlemleri yerine getirmesi gerekir. Verinin doğru ve tutarlı olmasına "veri bütünlüğü" denir. Veri bütünlüğünün sağlanması sonucunda, veritabanının eksik, yanlış, tutarsız ve çelişkili olmaması sağlanır. 10 BİL Veri Tabanı ve Yönetimi

11 Veritabanı Bütünlüğü (devam…) Veritabanında, veri bütünlüğünü sağlamak için birçok yol bulunmaktadır. Bunlardan en önemlisi, bütünlük sınırlamaları (integrity constraints) adını almaktadır. Bütünlük sınırlamaları, veritabanı yönetim sistemi veya uygulama programları tarafından tanımlanır.  Sözü edilen sınırlamalar; kullanıcı tarafından yapılması gereken ekleme, silme ve güncelleştirme işlemlerinden önce bir denetim yapılmasına neden olur.  Bu denetim sonucunda, sadece sınırlamalara uyan işlemlerin yapılmasına izin verilir. Diğerleri reddedilir. 11 BİL Veri Tabanı ve Yönetimi

12 Anahtar Sınırlamaları Bütünlük sınırlamalarının sağlanmasında anahtarlar önemli rol oynar. Anahtar türü belirlenerek, bu sınırlamaların veritabanı yönetim sistemi tarafından otomatik olarak yapılması sağlanır. Söz konusu anahtarlar: Birincil anahtar (primary key) Dış anahtar (foreign key) 12 BİL Veri Tabanı ve Yönetimi

13 Birincil Anahtar Sınırlamaları İlişkisel veritabanlarında bir tablonun benzer değerler içermeyen (unique) bir sütunu ya da birkaç sütunu birlikte birincil anahtar olarak tanımlanabilir. Birincil anahtar, bir aday anahtardır ve söz konusu varlığın kayıtlarını en iyi biçimde karakterize eder. 13 BİL Veri Tabanı ve Yönetimi

14 Birincil Anahtar Sınırlamaları (devam…) Birincil anahtar tek bir sütundan oluşabileceği gibi, birden fazla sütunun birleşiminden de oluşabilir. Bileşik birincil anahtarın içerdiği değer tek olmalıdır. Ancak bileşik anahtarı oluşturan sütunların her biri çift değerler içerebilir. Bununla birlikte birincil anahtarı oluşturan sütunların hiçbiri NULL değer içeremez. 14 BİL Veri Tabanı ve Yönetimi

15 Dış Anahtar Sınırlamaları Bir dış anahtar, bir sütun veya çok sayıdaki sütunların birleşiminden oluşur. Dış anahtar, başka bir tabloda yer alan bir birincil anahtarla eşleştirilir. 15 BİL Veri Tabanı ve Yönetimi

16 İlişkisel Bütünlük İki tablo birbirleriyle dış anahtar kullanılarak ilişkilendirildikten sonra, bu sınırlamalara dayanarak, iki tablo arasında silme ve güncelleştirme işlemleri otomatik olarak yerine getirilebilir. 16 BİL Veri Tabanı ve Yönetimi

17 İlişkisel Bütünlük (devam…) Örneğin; Örneğin; PERSONEL ve BÖLÜM isimli iki tabloyu göz önüne alalım.  PERSONEL tablosunun Bölüm No isimli sütunu, BÖLÜM tablosuna ilişkin bir dış anahtar olarak tanımlanmıştır. Bu tür bir tanım beraberinde ilişkisel bütünlük özelliklerini getirecektir.  BÖLÜM isimli tablodan bir satırı, örneğin 10 numaralı bölümü silmek istiyoruz. Bu satır silindiğinde, PERSONEL tablosunda da aynı satır ile ilgili tüm kayıtlar otomatik olarak yok olacaktır. 17 BİL Veri Tabanı ve Yönetimi

18 Veri Değeri Sınırlaması Tablonun herhangi bir sütununda yer alacak verilerin hangi değerlere sahip olabileceği konusunda sınırlamalar getirilebilir. Örneğin, PERSONEL’in şehir içi telefon numarasının 7 haneden fazla olmasını önlemek için böyle bir sınırlama konulabilir. Benzer biçimde, bir öğrencinin doğduğu ilin trafik kodunun 2 haneden fazla olamayacağı ve 1 ile 81 rakamları arasında olabileceği biçiminde sınırlamalar getirilebilir. 18 BİL Veri Tabanı ve Yönetimi

19 Veri Değeri Sınırlaması (devam…) Örneğin, PERSONEL tablosu için şöyle bir sınırlama tanımlandığını varsayalım ;  Bölüm numaraları 1-99 arasında, yani iki haneli olacaktır. Bu sınırlamaya uymayan bir giriş yapılmaya çalışıldığında, örneğin bölüm numarası 400 olan bir kayıt girilmeye çalışıldığında, sınırlama nedeniyle kayıt ekleme işlemi yerine getirilmeyecektir. 19 BİL Veri Tabanı ve Yönetimi

20 İşletme Kuralları Sınırlaması Tablolar üzerinde işletme kurallarına dayalı sınırlamalar yapılabilir. Bu sayede, işletme kurallarına uygun olarak veri bütünlüğü söz konusu olabilir. √ Örneğin, işletmenin muhasebe bölümünde programcı kadrosuna sahip eleman çalıştırmak anlamlı değildir. Bunu denetlemek gerekecektir. √ Veritabanına bilgi girişleri esnasında, muhasebe bölümüne yeni PERSONEL kaydı eklemek gerektiğinde, söz konusu işletme kuralı, uygunsuz veri girişlerini engelleyecektir. 20 BİL Veri Tabanı ve Yönetimi

21 Nitelikler Arası Bağımlılıklar Veri bütünlüğünün ve tutarlılığının sağlanmasında, nitelikler arasındaki bağımlılıkların kullanılması yararlı olabilir. Niteliklerin birbirleriyle olan bağımlılığı göz önüne alınmadan veritabanı tasarımının yapılması sorunlara neden olacaktır. 21 BİL Veri Tabanı ve Yönetimi

22 3.3. İlişkisel Model Örneği Örnek olarak basit bir market veritabanı tasarlayalım. Bir markette olabilecek tablolar aşağıda gösterilmiştir. 22 BİL Veri Tabanı ve Yönetimi Reyon NoReyon Adı 23Manav 34Şarküteri 42Deterjan Ürün NoReyon NoÜrün AdAlış FiyatıSatış FiyatıGeliş TarihiMiktar 423Elma Sabun Personel NoAdıSoyadıMaaşReyon No 25FatihYücalar ErdalGüvenoğlu100042

23 3.3. İlişkisel Model Örneği (devam…) Tablolar arasında çeşitli ilişkiler bulunmaktadır. Örneğin, Personel tablosunda yer alan Reyon No, Reyonlar tablosundaki Reyon No ile ilişkilidir. Burada Reyon No = 23 olan personel “Fatih Yücalar” ın Manav reyonunda çalıştığı bu ilişkiye bakılarak söylenebilmektedir. Reyonlar tablosunda yer alan her ürün grubuna bir numara verilerek birbirlerine karışmaları engellenmiştir. Ayrıca Ürünler tablosundaki Reyon No alanı Reyonlar tablosundaki Reyon No ile ilişkilidir. 23 BİL Veri Tabanı ve Yönetimi

24 3.3. İlişkisel Model Örneği (devam…) Burada her ürün grubuna bir numara verilerek sistematik bir şekilde düzenlenmesi sağlanmıştır. Daha sonra Reyonlar ve Ürünler arasındaki ilişki kullanılarak ürün bilgilerine erişim sağlanmıştır. Burada ayrıca ürün adına bakılarak, ürünün hangi reyonda yer aldığı hemen tespit edilmektedir. √ Örneğin; “Elma” ürünü “23” numaralı reyonda yer almaktadır. √ 23 numaralı reyonda çalışan personelin ise “Fatih Yücalar” olduğu aradaki ilişkilere bakılarak tespit edilebilmektedir. 24 BİL Veri Tabanı ve Yönetimi

25 3.3. İlişkisel Model Örneği (devam…) SQL Server’ da bu tablolar arasındaki ilişki aşağıdaki gibi olacaktır. 25 BİL Veri Tabanı ve Yönetimi

26 3.4. İlişkisel Cebir İlişkisel cebir, bir ilişkisel sorgulama dilidir. Bu ifadeler yardımı ile birçok sorgulama işlemi kodlama aşamasına geçmeden önce tanımlanabilmektedir. Örneğin, belirli kayıtların seçilmesi, belirli sütunların sorgulama sonucunda elde edilmesi gibi daha birçok işlem ilişkisel cebir ifadeleri kullanılarak kolayca ortaya konabilmektedir. İlişkisel cebir, bir veya iki ilişkiyi girdi olarak alıp, sonuçta yeni bir ilişki üreten bir dizi işlemden oluşmaktadır. Ayrıca ilişkisel cebir bir veritabanı sorgulama dilidir. 26 BİL Veri Tabanı ve Yönetimi

27 3.4. İlişkisel Cebir (devam…) İlişkisel cebir bir sorgulama dilidir fakat bu sorgulamalar sadece biçimsel olarak yapılmaktadır. Yani sorgulama işleminin yapılması için bir yorumlayıcı yada derleyiciye ihtiyaç yoktur. Bu bakımdan ele alındığında SQL’ den farklıdır. Burada yazılan cebir ifadeleri daha sonraki aşamada bir sorgu dili ile (örneğin SQL) komutlara dönüştürülmektedir. 27 BİL Veri Tabanı ve Yönetimi

28 3.4. İlişkisel Cebir (devam…) Bir ilişkisel veritabanında kullanılan temel ilişkisel cebir ifadeleri şunlardır. Seçme (select) işlemi Projeksiyon / Atma (project) işlemi Kartezyen çarpım (cartesian product) işlemi Birleştirme (join) işlemi Kesiştirme (intersect) işlemi Fark (difference) işlemi 28 BİL Veri Tabanı ve Yönetimi

29 Seçme İşlemi Belirli bir ilişkiden bazı kayıtların seçilerek ortaya konulması işlemidir. işareti ile gösterilmektedir. Seçme işlemi şu şeklide tanımlanmaktadır. Seçim işleminde karşılaştırma işleçleri olan =, >, <, ≠, ≤, ≥ ifadeleri de kullanılmaktadır. Ayrıca mantıksal operatörler olan “ve” için ^, “veya” için v işaretleri de kullanılmaktadır. 29 BİL Veri Tabanı ve Yönetimi

30 Seçme İşlemi (devam…) Örnek: Örnek: Müşteri tablosu aşağıda verilmiştir. Bu tabloyu kullanarak ilçesi “Maltepe” olan müşterileri listeleyiniz. 30 BİL Veri Tabanı ve Yönetimi Müşteri NoAdıİlİlçeBakiye 25FatihİstanbulMaltepe ErdalİstanbulBeşiktaş ŞenolAnkaraKızılay2642

31 Projeksiyon / Atma İşlemi Belirli bir ilişkiden sadece bazı sütunları atmak için yapılan bir işlemdir. Bu işlem sembolü ile gösterilmektedir. Atma işlemi aşağıdaki şekilde tanımlanmaktadır. Yine burada da mantıksal operatörler ve karşılaştırma işlemleri kullanılabilmektedir. 31 BİL Veri Tabanı ve Yönetimi

32 Projeksiyon / Atma İşlemi (devam…) Örnek:Müşteri tablosunda müşteri adı ve bakiye bilgilerini listeleyiniz. Müşteri tablosunda bakiyesi 2000 den büyük olan müşterilerin adı ve şehir bilgisi nedir? 32 BİL Veri Tabanı ve Yönetimi

33 Kartezyen Çarpım İşlemi Belirli bir ilişkiden mümkün olabilecek tüm ilişki çiftlerinin elde edilmesi ve tek bir ilişki biçiminde gösterilmesi için kartezyen çarpım kullanılmaktadır. Kartezyen çarpım X sembolü ile gösterilmektedir. Kartezyen çarpımın genel kullanım biçimi şöyledir. TABLO1 X TABLO2 33 BİL Veri Tabanı ve Yönetimi

34 Kartezyen Çarpım İşlemi (devam…) Örnek: Örnek: Aşağıda verilen Öğrenci ve Dersler tablolarını göz önüne alarak Bilgisayar bölümünde okuyan ve tüm dersleri alan öğrencileri listeleyen ilişkisel cebir ifadesi nedir? 34 BİL Veri Tabanı ve Yönetimi ÖğrenciBölüm Fatih YücalarYazılım Müh. Erdal GüvenoğluBilgisayar Müh. Erdoğan AydınElektronik Müh. Raif OnvuralBilgisayar Müh. DersKredi Veritabanı ve Yönetimi3 Matematik4

35 Kartezyen Çarpım İşlemi (devam…) Sonuç olarak elde edilecek olan kartezyen çarpım tablosu aşağıdaki gibi olacaktır. 35 BİL Veri Tabanı ve Yönetimi ÖğrenciBölümDersKredi Erdal GüvenoğluBilgisayar Müh.Veritabanı ve Yönetimi3 Erdal GüvenoğluBilgisayar Müh.Matematik4 Raif OnvuralBilgisayar Müh.Veritabanı ve Yönetimi3 Raif OnvuralBilgisayar Müh.Matematik4

36 Birleştirme İşlemi Kurulan iki ilişkiden birinde veya her ikisinde birden bulunan kayıtların seçilmesi için yapılan bir işlem türüdür. Bu işlem U simgesi ile gösterilmektedir. 36 BİL Veri Tabanı ve Yönetimi

37 Birleştirme İşlemi (devam…) Örnek: Örnek: Aşağıda verilen Kredi ve Mevduat tablolarını göz önüne alarak, bankanın Maltepe şubesinde mevduat ve/veya kredi hesabı bulunan müşterilerin isimlerini listeleyiniz? 37 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe

38 Birleştirme İşlemi (devam…) Bu sorgu neticesinde elde edilen sonuç aşağıdaki gibi olacaktır. 38 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe Müşteri Fatih Erdoğan

39 Kesişme İşlemi Belirlenen iki ilişkiden birinde bulanan kayıtların belirlenmesi için kullanılan bir işlemdir. Bu işlem ∩ simgesi ile gösterilmektedir. Genel gösterimi aşağıdaki gibidir. 39 BİL Veri Tabanı ve Yönetimi

40 Kesişme İşlemi (devam…) Örnek: Örnek: Aşağıda verilen Kredi ve Mevduat tablolarını göz önüne alarak, bankanın Maltepe şubesinde hem mevduat hem de kredi hesabı bulunan müşterilerin isimlerini listeleyiniz? 40 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe

41 Kesişme İşlemi (devam…) Bu sorgu neticesinde elde edilen sonuç aşağıdaki gibi olacaktır. 41 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe Müşteri Fatih

42 Fark İşlemi Verilen iki ilişkide birinde bulunup diğerinde bulunmayan kayıtların gösterilmesi için kullanılan bir işlemdir. ( - ) işareti ile gösterilmektedir. 42 BİL Veri Tabanı ve Yönetimi

43 Fark İşlemi (devam…) Örnek: Örnek: Aşağıda verilen Kredi ve Mevduat tablolarını göz önüne alarak, bankanın Konak şubesinde mevduat hesabı olup kredi hesabı olmayan müşterilerin isimlerini listeleyiniz? 43 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe

44 Fark İşlemi (devam…) Bu sorgu neticesinde elde edilen sonuç aşağıdaki gibi olacaktır. 44 BİL Veri Tabanı ve Yönetimi MüşteriBakiyeİlçe Fatih1500Maltepe Erdal1750Kartal Erdoğan2000Maltepe Raif1600Konak MüşteriBakiyeİlçe Erdal1500Kartal Fatih1750Maltepe Müşteri Raif


"VERİTABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü." indir ppt

Benzer bir sunumlar


Google Reklamları