Veri Tabanı Yönetimi Yaşar Tonta Hacettepe Üniversitesi Bilgi ve Belge Yönetimi Bölümü BBY 309: Veri Tabanı Yönetim Sistemleri Bazı slaytlar için kaynak: Ray R. Larson, School of Information Management and Systems, UC Berkeley BBY 309 VTYS http://sims.berkeley.edu/courses/is257/s04 SLAYT 1
Plan Dersin tanımı Veri tabanı kavramları ve terminolojisi Veri tabanı modelleri BBY 309 VTYS SLAYT 2
Ders Planı Dersin web sayfası Dersin günlüğü (blog) Dersin tanımı Okuma parçaları Notlandırma Ödevler Takvim BBY 309 VTYS SLAYT 3
Dersin Web Sayfası http://yunus.hacettepe.edu.tr/~tonta/courses/fall2008/bby309/ BBY 309 VTYS SLAYT 4
Dersin günlüğü http://bby309.blogspot.com BBY 309 VTYS SLAYT 5
Ders tanımı Ders veri tabanı tasarımıyla ilgili, veri tabanı yazılımı tasarımıyla değil VTYS ile ilgili detaylı konuları sadece veri tabanı tasarımı ve yapısıyla ilgili olarak tartışacağız Veri tabanı uygulama tasarımı üzerinde epey zaman harcayacağız. Buna web uygulama veri tabanı desteği de dahil BBY 309 VTYS SLAYT 6
Okuma Parçaları Ders kitabı: David M. Kroenke. Database Processing: Fundamentals, Design, and Implementation (9th Edition). International edition. Prentice Hall: Upper Saddle River, NJ, 2004. 50YTL Bıçaklar Kitabevi, Karanfil Sok. Amazon.com da 10. basımı var BBY 309 VTYS SLAYT 7
İçindekiler BBY 309 VTYS SLAYT 8
Ders kitabı web sayfaları BBY 309 VTYS SLAYT 9
Okuma Parçaları Ders kitabı: Yalçın Özkan, Veri Tabanı Sistemleri. İstanbul: Alfa, 2003. BBY 309 VTYS SLAYT 10
Okuma Parçaları Ders kitabı: Zehra Alakoç Burma, Veritabanı Yönetim Sistemleri ve SQL /PL SQL / T SQL. Ankara: Seçkin, 2005 BBY 309 VTYS SLAYT 11
Okuma Parçaları Ders kitabı: Adım Adım Microsoft Access 2002 Online Training Solutions Çeviren: Mert Derman Arkadaş Yayınları; 4 Renk ISBN No: 9755092811 BBY 309 VTYS SLAYT 12
Okuma Parçaları MS Access Yazılımı Yardım sayfaları BBY 309 VTYS SLAYT 13
Notlandırma Ödev/sınav Puan Devam 10 Cookie ödevi 0 Ara sınav I (Cookie ye dayalı) 15 E-R diyagramı 10 Ara sınav II 15 Dönem ödevi 20 Final 40 Toplam 100 BBY 309 VTYS SLAYT 14
Ödevler İki çeşit ödev var Önceden geliştirilmiş veri tabanlarını (Cookie) kullanarak arama, erişim ve değiştirme, modelleme (varlık-ilişki diyagramı) ödevleri Kendi kişisel veri tabanınızı tasarlama, veri girme ve sorgulama Veri tabanı projesi türleri (Proje) Bireysel Grup» İşle ilgili» Dersle ilgili» Dersle ilgili» Proje BBY 309 VTYS SLAYT 15
Takvim http://yunus.hacettepe.edu.tr/~tonta/courses/fall2008/bby309/bby309takvim2008.htm BBY 309 VTYS SLAYT 16
Veri tabanı nedir? BBY 309 VTYS SLAYT 17
Dosyalar ve veri tabanları Dosya: Bir örgüt, kişi, alan ya da konuyla ilgili kayıt ya da belge dermesi (Rowley) Elci (kağıt) dosyalar Bilgisayar dosyaları Veri tabanı: Kayıtlar arasındaki ilişkileri de gösteren benzer kayıtlar dermesi (Rowley) bibliyografik, istatistiksel, işle ilgili veriler, görüntüler, etc. BBY 309 VTYS SLAYT 18
Veri tabanı Belirli bir örgütteki uygulama sistemleri tarafından kullanılan depolanmış işletimsel veri dermesi (C.J. Date) Kağıt veri tabanları Dünyadaki bilginin önemli bir kısmını içeriyor Dosya tabanlı veri işleme sistemleri Erken dönem (genelde) iş verilerinin toptan işlenmesi (batch processing) Veri Tabanı Yönetim Sistemleri (VTYS) BBY 309 VTYS SLAYT 19
Terimler ve Kavramlar Veri Tabanı Yönetim Sistemi - VTYS Veri tabanı tanımlamak, yaratmak, yaşatmak ve veri tabanına denetimli erişim sağlamak için kullanılan yazılım sistemi BBY 309 VTYS SLAYT 20
Terimler ve Kavramlar Depo (Havuz) Veri Sözlüğü (Data Dictionary) olarak da bilinir Belirli bir veri tabanı için tüm metadata nın depolandığı yer Belirli bir veri tabanındaki dosyalar ya da tablolar arasındaki ilişkiler hakkında bilgi de içerebilir BBY 309 VTYS SLAYT 21
Terimler ve Kavramlar Metadata Veri hakkında veri VTYS de bir varlığın tüm özelliklerinin tanımlanması, ör: Ad Veri türü Büyüklük Biçim veya özel karakteristikler Dosyaların ya da ilişkilerin özellikleri Ad, içerik, notlar, vs. BBY 309 VTYS SLAYT 22
Niçin VTYS? Tarihçe 1950 lerde ve 60 larda tüm uygulamalar belli gereksinimler için özel olarak geliştirildi Dosya temelliydi Benzer ya da tekrar uygulamalar geliştirildi Erken VTYS ler programlama dillerinin uzantılarıydı 1970 - E.F. Codd ve İlişkisel Model 1979 - Ashton-Tate ve ilk mikrobilgisayara dayalı VTYS BBY 309 VTYS SLAYT 23
Dosya Temelli Sistemler Uygulama Teslimat Listesi Dosya Oyuncaklar Adresler Kömür tahmini Yaramaz İstenen Güzel Oyuncaklar BBY 309 VTYS SLAYT 24
Dosya Sistemlerinden VTYS ye Dosya Sistemlerinin Sorunları Tutarsız veriler Esnek olmama Kısıtlı veri paylaşımı Standartların uygulanamaması Aşırı program yaşatımı BBY 309 VTYS SLAYT 25
VTYS nin Yararları Minimum veri tekrarı Veri tutarlılığı Veri bütünleştirme Erişim paylaşımı Uygulama geliştirme kolaylığı Tekbiçim güvenlik, mahremiyet ve tutarlılık denetimleri Veri erişilebilirliği ve cevap verebilme Veri bağımsızlığı Azaltılmış program yaşatımı BBY 309 VTYS SLAYT 26
Terimler ve Kavramlar Veri bağımsızlığı Verinin fiziksel temsili, bulunduğu yer ve verinin kullanımı birbirinden ayrı Uygulamanın veri tabanının veriyi nasıl ve nerede depoladığını bilmesi gerekmez; uygulama sadece ister Bir veri tabanını bir VTYS den diğerine aktarmanın uygulama programı üzerinde etkisi olmamalı Veri tabanına alanlar eklemek, verileri yeniden kodlamak uygulamaları etkilememeli BBY 309 VTYS SLAYT 27
Veri Tabanı Çevresi CASE Araçları Kullanıcı Arayüzü Uygulama Programları Havuz VTYS Veri Tabanı BBY 309 VTYS SLAYT 28
Veri Tabanı Bileşenleri Veri Tabanı Veri tabanı: Kullanıcı verileri Metadata Dizinler Uygulama Metadatası İçerir VTYS =============== Tasarım araçları Tablo Yaratma Form Yaratma Sorgu yaratma Rapor yaratma Prosedürel dil derleyicisi (4GL) ============= İşletim sırasında Form işleyici Sorgu işleyici Report Writer Language Run time Uygulama Programları Kullanıcı Arayüzü Uygulamaları BBY 309 VTYS SLAYT 29
Veri Tabanı Sistemleri Türleri PC Veri tabanları Merkezi Veri tabanları İstemci/Sunucu Veri tabanları Dağıtık Veri tabanları Veri tabanı modelleri BBY 309 VTYS SLAYT 30
PC Veri tabanları Örneğin. Access FoxPro Dbase vs. BBY 309 VTYS SLAYT 31
Merkezi Veri tabanları Merkezi Bilgisayar BBY 309 VTYS SLAYT 32
İstemci/Sunucu Veri tabanları İstemci İstemci Ağ Veri tabanı sunucusu İstemci BBY 309 VTYS SLAYT 33
Dağıtık veri tabanları Yer C Yer B bilgisayar bilgisayar bilgisayar Homojen Veri tabanları Yer A BBY 309 VTYS SLAYT 34
Dağıtık veri tabanları Heterojen veya Federe veri tabanları Veri tabanı sunucusu İstemci İstemci Yerel ağ İletişim sunucusu Uzak bilgisayar Uzak bilgisayar BBY 309 VTYS SLAYT 35
Terimler ve Kavramlar Veri tabanı uygulaması Bir dizi veri tabanı etkinliğini gerçekleştirmek için kullanılan uygulama programı (veya ilgili programlar seti): Veri tabanı kullanıcıları adına Yarat Oku Güncelle Sil BBY 309 VTYS SLAYT 36
Veri Tabanı Uygulamaları Türleri PC veri tabanları Genellikle kişisel Çalışma Grubu veri tabanları Yerel ağ üzerinden herkesin veri tabanına eriştiği küçük grup kullanımı Bölüm veri tabanları Çalışma grubundan daha büyük ama benzer Örgüt veri tabanları İntranet üzerinden (veya bazen Internet üzerinden) tüm örgüte hizmet sunar BBY 309 VTYS SLAYT 37
Terimler ve Kavramlar Veri tabanı etkinlikleri: Create (Yarat) Veri tabanına yeni veri ekle Read (Oku) Read current data from the database Update (Güncelle) Mevcut veri tabanını güncelle ya da değiştir Delete (Sil) Veri tabanından veri sil BBY 309 VTYS SLAYT 38
Terimler ve Kavramlar Girişim Örgüt Varlık Kişi, Yer, Nesne, Olay, Kavram... Özellikler Bir varlık hakkındaki veri ögeleri Bazen alan (field), madde veya alanadı (domain olarak adlandırılır Veri değerleri Belli bir varlık için belli bir özelliğin görünümleri (instances) BBY 309 VTYS SLAYT 39
Terimler ve Kavramlar Kayıtlar Belli bir varlığın tüm özelliklerinin değerler seti İlişkisel VTYS de satır ya da tuple olarak da bilinir Dosya Kayıtlar dermesi İlişkisel VTYS de İlişki ya da Tablo olarak da bilinir BBY 309 VTYS SLAYT 40
Terimler ve Kavramlar Anahtar Bir dosyadaki kayıtları belirlemek ve bulmak için kullanılan özellik ya da özellikler dizisi Primer Anahtar Bir dosyadaki her kaydı tekil olarak belirleyen özellik ya da özellikler dizisi BBY 309 VTYS SLAYT 41
Terimler ve Kavramlar DA Veri yöneticisi Bir örgütteki Veri Yönetim işlevinden sorumlu kişi Bazen CIO olabilir -- Chief Information Officer DBA Veri Tabanı Yöneticisi Veri Tabanı Yönetim işlevinden sorumlu kişi BBY 309 VTYS SLAYT 42
Terimler ve Kavramlar Veri Yönetimi Bir örgütteki veri kaynaklarının topyekün yönetimi sorumluluğu Veri Tabanı Yönetimi Fiziksel veri tabanı tasarımı ve veri tabanı yönetimi teknik sorumluluğu Veri Hizmetçisi Bir örgütün verilerinin alt setinden ve bu verilerle ilgili tüm etkileşimlerden (uygulamalar, kullanıcı erişimi vs.) sorumluluk BBY 309 VTYS SLAYT 43
Terimler ve Kavramlar Modeller (1) Veri tabanı görünümleri ya da düzeyleri Kavramsal, mantıksal, fiziksel (2) VTYS türleri İlişkisel, Hiyerarşik, Ağ, Nesne Tabanlı, Nesne Tabanlı İlişkisel BBY 309 VTYS SLAYT 44
Modeller (1) Uygulama 1 Kavramsal gerekler Uygulama 2 Kavramsal gerekler Uygulama 3 Kavramsal gerekler Uygulama 4 Kavramsal gerekler Uygulama 1 Dış Model Kavramsal Model Uygulama 2 Uygulama 3 Uygulama 4 Dış Dış Dış Model Model Model Mantıksal Model İç Model BBY 309 VTYS SLAYT 45
Veri Modelleri (2): Tarihçe Hiyerarşik Model (1960 lar ve 1970 ler) Programlama dillerindeki veri yapılarına benziyor. Kitaplar (no, başlık) Yazarlar (ad, soyad) Yayıncılar Konular BBY 309 VTYS SLAYT 46
Veri Modelleri (2): Tarihçe Ağ modeli (1970 ler) Verilerin tek girişini ve veri zincirleri boyunca dolaşma bağlantıları sağlar Yazarlar Konular Kitaplar Yayıncılar BBY 309 VTYS SLAYT 47
Veri Modelleri (2): Tarihçe İlişkisel Model (1980 s) Veriler için kavramsal olarak basit bir model; veriler, ilişkiler ( tablolar ) olarak tanımlanır ve tüm veriler görülebilecek şekildedir Book ID Title pubid Author id 1Introductio 2 1 2 The history 4 2 3New stuff a 3 3 4 Another titl 2 4 5 And yet mo 1 5 pubid Book ID pubname 1 Harper 2 Addison 3Oxford 4Que Subid 1 2 2 1 3 3 4 2 4 3 Authorid Subid Author nam 1Smith 2 Wynar 3 Jones 4 Duncan 5 Applegate Subject 1 cataloging 2history 3stuff BBY 309 VTYS SLAYT 48
Veri Modelleri (2): Tarihçe Nesne Tabanlı Model (1990 lar) Veriyi ve işlemleri Nesne olarak kapsülleştirir Kitaplar (no, başlık) Yazarlar (ad, soyad) Yayıncılar Konular BBY 309 VTYS SLAYT 49
Veri Modelleri (2): Tarihçe Nesne-İlişkisel Model (1990 lar) işkisel Modelin iyi bilinen özelliklerini Nesne Tabanlı özelliklerle birleştirir. Bunlar: Kullanıcı tanımlı veri türleri Kullanıcı tanımlı fonksiyonlar Kalıtım ve alt sınıflar BBY 309 VTYS SLAYT 50
Veri Tabanı Sistemi Yaşam Döngüsü Fiziksel Yaratım 2 Tasarım 1 Dönüştürme 3 Büyüme, Değişim ve Yaşatma 6 Entegrasyon 4 İşlemler 5 BBY 309 VTYS SLAYT 51
Tasarım Örgütün gereksinimlerini belirleme Veri tabanı Kavramsal Modelini geliştirme Varlık-İlişki diyagramı tekniklerini kullanarak Veri Sözlüğü inşa etme Mantıksal Modeli geliştirme BBY 309 VTYS SLAYT 52
Fiziksel Yaratım Veri tabanı Fiziksel Modelini geliştirme Veri formatları ve türleri Dizinlerin belirlenmesi, vs.. Prototip veri tabanının yüklenmesi ve test edilmesi Güvenlik, gizlilik ve erişim denetimlerinin kararlaştırılması ve kurulması Tutarlılık sınırlamalarının kararlaştırılması ve kurulması BBY 309 VTYS SLAYT 53
Dönüştürme Yeni veri tabanını kullanmak için mevcut veri setlerini ve uygulamalarını dönüştürme Eski verileri yeni formatlara dönüştürmek için programlar ve dönüştürme programcıkları (utility) gerekebilir BBY 309 VTYS SLAYT 54
Entegrasyon 3. Adımla örtüşür Yeni veri tabanına dönüştürülmüş ve yeni uygulamaların entegrasyonu BBY 309 VTYS SLAYT 55
İşlemler Tüm uygulamalar tam-ölçekli çalıştırılır Gizlilik, güvenlik ve erişim kontrolü sağlanır Kurtulma ve Yedekleme prosedürleri kurulmalı ve kullanılmalıdır BBY 309 VTYS SLAYT 56
Büyüme, Değişim ve Yaşatma Değişim, bir yaşam biçimidir Uygulamalar, veri gerekleri, raporlar vs. yeni gereksinimlere göre değişir Veri tabanı ve uygulamaların değişiklik gereksinimlerini karşılaması için değiştirilmeleri gerekir BBY 309 VTYS SLAYT 57
Yaşam Döngüsünün Bir Başka Görüntüsü Fiziksel Yaratım 2 Entegrasyon 4 İşlemler 5 Tasarım 1 DönüştürümBüyüme, 3 Değişim 6 BBY 309 VTYS SLAYT 58
Cookie Veri Tabanı BBY 309 VTYS SLAYT 59
Cookie Gerekleri Cookie hipotetik bir toplu kataloğun bilgilerini içeren bir bibliyografik veri tabanı Hangi kütüphanelerin hangi kitaplara sahip olduğunun kaydedilmesi gerekli Bibliyografik bilgi aranması gerekli Yazar, başlık, konu, yer no vs.. Sipariş için kitapları kimin yayımladığının bilinmesi gerekli BBY 309 VTYS SLAYT 60
Varlık-İlişki Diyagramları Varlık-İlişki diyagramları veri tabanı tasarımında kullanılan temel araçlardan biridir Varlık-İlişki diyagramlarını daha sonra ayrıntılı olarak inceleyeceğiz Varlık-İlişki diyagramları Varlıkları (dikdörtgenler) ve özelliklerini (elipsler) ve varlıklar arasındaki ilişkileri (baklava dilimleri) gösterir BBY 309 VTYS SLAYT 61
Cookie Veri tabanı Halen veri tabanında 6 varlık var Books (bibfile) -Kitaplar Local Call numbers (callfile) Yerel Yer no ları Libraries (libfile) - Kütüphaneler Publishers (pubfile) - Yayıncılar Subject headings (subfile) Konu başlıkları Konu ve Kitaplar arasındaki bağlantılar (indxfile) BBY 309 VTYS SLAYT 62
BIBFILE Kitaplar (BIBFILE) belli kitaplarla ilgili bilgi içerir. Her kitap için bir kayıt var. Özellikleri: accno sağlama no su ya da seri no title kitap adı loc Yayın yeri date Yayın tarihi price Kitabın fiyatı pagination Kaç sayfa olduğu ill Varsa ne tür resimler (haritalar vs.) height Kitabın yüksekliği (cm olarak) BBY 309 VTYS SLAYT 63
Books/BIBFILE accno Title Price Books Loc Date Pagination Height Ill BBY 309 VTYS SLAYT 64
CALLFILE CALLFILE yer no su ve belli kitapları belli kütüphanelerle ilişkilendiren mevcutlar bilgisi içerir Özellikleri: accno kitap sağlama no su libid sahip olan kütüphanenin no su callno nedeki yer no su copies belli bir kütüphanedeki kopya sayısı BBY 309 VTYS SLAYT 65
LocalInfo/CALLFILE libid Callno accno Copies CALLFILE BBY 309 VTYS SLAYT 66
LIBFILE LIBFILE toplu kataloğa katılan kütüphaneler hakkında bilgi içerir. Özellikleri: libid Kütüphane no su library Kütüphane adı laddress Kütüphne sokak adresi lcity Şehir adı lstate Eyalet kodu (kısaltma) lzip -- zip kodu lphone Telefon no su mop - suncl Kütüphanenin açılış kapanış ssatleri BBY 309 VTYS SLAYT 67
Libraries/LIBFILE Library laddress lstate lcity lzip lphone Libid SatCl SunOp LIBFILE SatOp Suncl FCl MOp FOp Mcl ThCl TuOp TuCl WOp WCl ThOp BBY 309 VTYS SLAYT 68
PUBFILE PUBFILE kitapların yayıncıları hakkında bilgi içerir. Özellikleri: pubid Yayıncı no su publisher Yayıncı adı paddress Yayıncı adresi pcity -- Şehir pstate -- Eyalet pzip -- zip kodu pphone Telefon no ship Kaç günde teslim ettiği BBY 309 VTYS SLAYT 69
Publisher/PUBFILE paddress Publisher pcity pubid PUBFILE pstate Ship pphone pzip BBY 309 VTYS SLAYT 70
SUBFILE SUBFILE kitaplara verilebilecek her tekil konu başlığını içerir. Özellikleri: subcode Konu no su subject Konu başlığı/tanım BBY 309 VTYS SLAYT 71
Subjects/SUBFILE subid Subject SUBFILE BBY 309 VTYS SLAYT 72
INDXFILE INDXFILE kitaplarla konu başlıkları arasında çoka çoklu ilişki sağlar. Özellikleri tamamen diğer tablolara bağlantılardan ibarettir. subcode Konu no suna bağlantı accno Kitap sağlama no suna bağlantı BBY 309 VTYS SLAYT 73
Konularla Kitapları İlişkilendirme subid accno INDXFILE BBY 309 VTYS SLAYT 74
Cookie Sorularına bazı örnekler Sorular 1. CD-ROM in the Library adlı kitabın yazarı kimdir? 2. CD-ROM in the Library adlı kitabın yayıncısını ve adresini bulunuz. 3. CD-ROM in the Library adlı kitap hangi kütüphanelerde vardır? 4. CD-ROM in the Library adlı kitaba hangi konu başlıkları verilmiştir? 5. Moffitt Kütüphanesinin sahip olduğu Eğitim (Education) konu başlıklı ve Dell Publishing yayınevi tarafından yayımlanmış olan kitapların yazarlarını ve eseadlarını yer numaralarıyla birlikte listeleyiniz. 6. Berkeley Halk Kütüphanesinin ve şubelerinin sahip olduğu tüm kitapları yer numaraları, fiyatları ve kopya sayılarıyla birlikte listeleyiniz. 7. Tüm kütüphanelerdeki fiyatı 10 dolardan daha fazla olan duplike kitapları en pahalısından en ucuzuna doğru listeleyiniz. 8. Tüm kütüphanelerde kaç kitap bulunmaktadır? 9. Tüm kütüphanelerin sahip olduğu kitapların toplam fiyatı ne kadardır? 10. Kongre Kütüphanesindeki Veysey tarafından yazılan kitaba hangi konu başlıkları verilmiştir? BBY 309 VTYS SLAYT 75