BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1 Öğr.Gör. Emre KAÇMAZ ANADOLU ÜNİVERSİTESİ BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 VERİTABANI NEDİR? Veritabanı, birbirleriyle bağlantılı verilerin yığını, koleksiyonudur. Bir veritabanı; Gerçek dünyanın bazı yönlerini yansıtır. İçsel bütünlüğe sahip, mantıksal bir koleksiyondur. Özel amaçlı bir veri yığını için kurulur. 2 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 VERİTABANI YÖNETİM SİSTEMİ (VTYS) NEDİR? Veritabanı Yönetim Sistemi (VTYS), kullanıcılara veritabanı oluşturma ve bu yapıyı yürütme olanağı sağlayan programlar bütünüdür. 3 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 VTYS, çeşitli kullanıcı ve uygulamaların veritabanını tanımlama, biçimleme, değiştirme, paylaşım ve koruma işlemlerini yürüten genel amaçlı yazılım sistemidir. Tanımlama: Veri tipleri, yapıları ve uygulamaları Biçimleme: VTYS tarafından kontrol edilen kayıt biriminde saklama Değiştirme: Saklanan bilginin sorgulanması, gerçek hayatta temsil ettiği örneğin değişimlerine göre güncelleme, rapor üretilmesi Paylaşım: Aynı anda birden çok kullanıcı ve uygulamanın erişimine izin verme Koruma: Yazılım ve donanım hatalarına, yetkisiz ve zararlı erişime karşı 4 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 ISBN Başlık YazarID Yazar Adı Yazar Soyadı Yazar Telefon No YayıneviID Yayınevi Adı Yayınevi Telefon No Fiyat 0-201-79803-4 Calculus : a complete course 1 Robert Adams (222) 335 25 22 1 Addison Wesley (222) 320 19 11 55,00 YTL 0-321-18923-X Calculus and its applications 2 Marvin Bittinger (222) 114 22 52 1 Addison Wesley (222) 320 19 12 29,00 YTL 0-007-24243-2 Calculus 3 Laurence Hoffmann (333) 322 22 22 2 McGraw Hill (322) 255 55 55 100,00 YTL 0-007-24243-2 Calculus 4 Gerald Bradley (333) 554 44 44 2 McGraw Hill (322) 255 55 55 100,00 YTL 0-13-065265-2 Advanced calculus 5 Gerald Folland (555) 222 22 22 3 Prentice Hall (445) 222 55 44 25,00 YTL 0-13-041531-6 Vector calculus 6 Susan Colley (233) 225 22 55 3 Prentice Hall (445) 222 55 44 75,00 YTL 0-13-030437-9 Multivariable calculus 7 Frank Beatrous (255) 352 22 55 3 Prentice Hall (445) 222 55 44 49,00 YTL 0-471-40825-5 Calculus 8 Deborah Hughes (333) 558 55 55 4 John Wiley & Sons (444) 211 11 55 68,00 YTL 0-471-40825-5 Calculus 9 Michael Robert (333) 558 55 55 4 John Wiley & Sons (444) 211 11 55 68,00 YTL 9-754-86934-8 Calculus ve analitik geometri 10 George Thomas (255) 555 44 66 4 John Wiley & Sons (444) 211 11 55 75,00 YTL 9-754-86934-8 Calculus ve analitik geometri 11 Ross Finney (255) 557 44 77 4 John Wiley & Sons (444) 211 11 55 75,00 YTL 0-13-736331-1 Calculus with analytic geometry 12 Charles Edwards (322) 444 55 66 3 Prentice Hall (445) 222 55 44 38,00 YTL 0-13-736331-1 Calculus with analytic geometry 13 David Penney (333) 555 77 88 3 Prentice Hall (445) 222 55 44 38,00 YTL 0-13-736331-1 Calculus with analytic geometry 14 Richard Madsen (444) 111 88 11 3 Prentice Hall (445) 222 55 44 38,00 YTL 5 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Çoklu – Değer Problemi Bazı kitaplar birden çok yazar tarafından yazılmıştır. Tek tabloda kitabın yazarlarıyla ilgili bilgilerin tamamının gösterilebilmesi için neler yapabiliriz? 6 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Örnek tabloda olduğu gibi her yazar için kitabın her verisi tekrarlanarak yeni bir satır oluşturulabilir. Tek bir satırda birden çok yazar için sütun açılabilir. Tüm yazarlar için sadece bir sütun kullanılabilir. 7 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Çoklu – Değer Problemi Tüm yazarlar için sadece bir sütun kullanılabilir. Aradığımız yazarı bulmamız zorlaşacak. 8 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Çoklu – Değer Problemi Tek bir satırda birden çok yazar için sütun açılabilir. Hangi kitap, kaç yazar tarafından yazılmış? Bir çok boş hücre oluşacak. 9 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Çoklu – Değer Problemi Örnek tabloda olduğu gibi her yazar için kitabın her verisi tekrarlanarak yeni bir satır oluşturulabilir. Birçok veri gereksiz olarak yinelenecek. 10 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Ayrıca; Güncelleme Sorunları Veri Ekleme Sorunları Tablodaki bir veri değiştiğinde, o veriyi içeren tüm hücreler değiştirilmeli Tüm bilgilerini bilmediğimiz bir yayınevini tabloya eklemek istersek ne yapacağız? Veri Silme Sorunları Bir yayınevine ait tüm kitapları tablodan çıkarmak istediğimizde yayınevine ait bilgileri de kaybedeceğiz. 11 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bu nedenlerle, veritabanını tek bir tablo ile oluşturmak iyi bir yöntem değildir. 12 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bunun yerine veritabanı için topladığımız veri yığınını ayrı ayrı tablolara parçalayabiliriz. Bu tabloları, aralarında oluşan bağıntılarla birbirlerine bağladığımızı düşünelim. Bu tür veritabanlarına da İlişkisel (Bağıntılı) veritabanı (Relational Database) diyoruz. (E.F. Codd, 1970) 13 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 VARLIK (Entity) : VARLIK SINIFI (Entity Class) : Veritabanına ait bir tablonun bir satırı Tablonun içerebileceği mümkün tüm varlıklar VARLIK KÜMESİ (Entity Set) : Tablonun o anda verilen varlık sınıfına ait varlıkların kümesi 14 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 ÖZNİTELİK (Attribute): Tablonun isimlendirilmiş bir sütunu Derece (Degree): Tablo içindeki öznitelik sayısı Kardinalite (Cardinality) : Tablodaki varlık sayısı ALAN (Domain) : Bir yada daha çok öznitelik için geçerli olan mümkün tüm değerlerin kümesi 15 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Varlık Sınıfı: YAZAR YazarID Yazar Adı Yazar Soyadı Yazar Telefon No Öznitelikler 1 Robert Adams (222) 335 25 22 2 Marvin Bittinger (222) 114 22 52 3 Laurence Hoffmann (333) 322 22 22 4 Gerald Bradley (333) 554 44 44 YayıneviID 5 Gerald Folland (555) 222 22 22 1 Addison Wesley (222) 320 19 11 6 Susan Colley (233) 225 22 55 2 McGraw Hill (322) 255 55 55 7 Frank Beatrous (255) 352 22 55 3 Prentice Hall (445) 222 55 44 8 Deborah Hughes (333) 558 55 55 9 Michael Robert (333) 558 55 55 4 John Wiley & Sons (444) 211 11 55 10 George Thomas (255) 555 44 66 11 Ross Finney (255) 557 44 77 12 Charles Edwards (322) 444 55 66 13 David Penney (333) 555 77 88 14 Richard Madsen (444) 111 88 11 Yayınevi Adı Yayınevi Telefon No Varlık Sınıfı: YAYINEVİ 16 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Varlık Sınıfı: KİTAP Başlık ISBN Fiyat 55,00 YTL 0-321-18923-X Calculus and its applications 29,00 YTL 0-007-24243-2 Calculus 100,00 YTL 0-13-065265-2 Advanced calculus 25,00 YTL 0-13-041531-6 Vector calculus 75,00 YTL 0-13-030437-9 Multivariable calculus 49,00 YTL 0-471-40825-5 Calculus 68,00 YTL 9-754-86934-8 Calculus ve analitik geometri 75,00 YTL 0-13-736331-1 Calculus with analytic geometry 38,00 YTL Kardinalite 0-201-79803-4 Calculus : a complete course Derece 17 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bir varlık sınıfının öznitelikleri; 1. 2. 3. Veritabanından elde etmek istediğimiz bilgileri sağlar. Varlık sınıfındaki bir varlığın tek türlü tanınmasına yardımcı olurlar. Tablolar arası ilişkilerin kurulmasını sağlarlar. 18 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Tablo Şeması: Tablo adı ile isimlendirilmiş öznitelikler kümesidir. 19 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 YayıneviID Varlık Sınıfı: YAYINEVİ Yayınevi Adı Yayınevi Telefon No 1 Addison Wesley (222) 320 19 11 2 McGraw Hill (322) 255 55 55 3 Prentice Hall (445) 222 55 44 4 John Wiley & Sons (444) 211 11 55 Tablo Şeması: YAYINEVİ(YayıneviID,Yayınevi Adı, Yayınevi Telefon No) 20 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 YazarID Yazar Adı Yazar Soyadı Yazar Telefon No Varlık Sınıfı: YAZAR 1 Robert Adams (222) 335 25 22 2 Marvin Bittinger (222) 114 22 52 3 Laurence Hoffmann (333) 322 22 22 4 Gerald Bradley (333) 554 44 44 5 Gerald Folland (555) 222 22 22 6 Susan Colley (233) 225 22 55 7 Frank Beatrous (255) 352 22 55 8 Deborah Hughes (333) 558 55 55 9 Michael Robert (333) 558 55 55 10 George Thomas (255) 555 44 66 11 Ross Finney (255) 557 44 77 12 Charles Edwards (322) 444 55 66 13 David Penney (333) 555 77 88 14 Richard Madsen (444) 111 88 11 Tablo Şeması: YAZAR(YazarID,Yazar Adı, Yazar Soyadı,Yazar Telefon No) 21 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 ISBN Başlık 0-201-79803-4 Calculus : a complete course 55,00 YTL 0-321-18923-X Calculus and its applications 29,00 YTL 0-007-24243-2 Calculus Varlık Sınıfı: KİTAP Fiyat 100,00 YTL 0-13-065265-2 Advanced calculus 25,00 YTL 0-13-041531-6 Vector calculus 75,00 YTL 0-13-030437-9 Multivariable calculus 49,00 YTL 0-471-40825-5 Calculus 68,00 YTL 9-754-86934-8 Calculus ve analitik geometri 75,00 YTL 0-13-736331-1 Calculus with analytic geometry 38,00 YTL Tablo Şeması: KİTAP(ISBN, Başlık, Fiyat) 22 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bir tablo şu özellikleri sağlar; Diğer tüm tablolardan farklı bir isme sahiptir. Her özniteliğinin ayrı bir adı vardır. Bir özniteliğin tüm değerleri aynı alandan alınır. Her varlık bir diğerinden farklıdır. Özniteliklerin ve varlıkların sıralanışı tabloyu değiştirmez. 23 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bağıntı Anahtarları (Relation Keys) Süper Anahtar: Bir varlığın, varlık sınıfında tek türlü tanınmasını sağlayan bir yada birden çok öznitelik kümesi Aday Anahtar: Bağıntı için süper anahtar olacak bir özalt nitelik kümesine sahip olmayan süper anahtar Birincil Anahtar(Primary Key): Tablodaki varlıkların tek türlü tanınması için seçilen aday anahtar Yabancı Anahtar(Foreign Key): Bir başka tablonun aday anahtarı olan bir yada birden çok öznitelik kümesi 24 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 YazarID Yazar Adı Yazar Soyadı Yazar Telefon No (YazarID,Yazar Adı) Süper Anahtar 1 Robert Adams (222) 335 25 22 2 Marvin Bittinger (222) 114 22 52 3 Laurence Hoffmann (333) 322 22 22 4 Gerald Bradley (333) 554 44 44 5 Gerald Folland (555) 222 22 22 6 Susan Colley (233) 225 22 55 7 Frank Beatrous (255) 352 22 55 8 Deborah Hughes (333) 558 55 55 9 Michael Robert (333) 558 55 55 10 George Thomas (255) 555 44 66 11 Ross Finney (255) 557 44 77 12 Charles Edwards (322) 444 55 66 13 David Penney (333) 555 77 88 14 Richard Madsen (444) 111 88 11 (YazarID) Aday Anahtar – Birincil Anahtar 25 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 YayıneviID (YayıneviID,Yayınevi Adı) Süper Anahtar Yayınevi Adı Yayınevi Telefon No 1 Addison Wesley (222) 320 19 11 2 McGraw Hill (322) 255 55 55 3 Prentice Hall (445) 222 55 44 4 John Wiley & Sons (444) 211 11 55 (YayıneviID,Yayınevi Telefon No) Süper Anahtar (YayıneviID) , (Yayınevi Telefon No) Aday Anahtar (YayıneviID) Birincil Anahtar 26 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Bağıntı Anahtarları B, tablonun öznitelikleri kümesi ve A ⊆ B olsun. A 'nın bir anahtar adayı olabilmesi için şu koşullar sağlanmalıdır: Teklik: Aday anahtarın aldığı her değer varlık sınıfına ait tek varlığı ifade eder. İndirgenemezlik : Aday anahtarın hiçbir özalt kümesi teklik özelliğini sağlamaz. 27 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Her bağıntının en az bir aday anahtarı vardır. 28 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Birincil Anahtar Bir tablonun birden fazla aday anahtarı varsa: Biri birincil anahtar seçilir. Diğerleri anahtar seçeneği olur 29 BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Her bağıntının bir birincil anahtarı bulunması zorunludur. Birincil anahtarda bulunan hiçbir özniteliğin değeri hiçbir varlık için boş olamaz. 30