720 likes | 1.1k Views
Veri Tabanı Yönetimi. Yaşar Tonta Hacettepe Üniversitesi Bilgi ve Belge Yönetimi Bölümü DOK 322 : Veri Tabanı Yönetim Sistemleri. Bazı slaytlar için kaynak: Ray R. Larson , School of Information Management and Systems , UC Berkeley http://sims.berkeley.edu/courses/is257/s04. Plan.
E N D
Veri Tabanı Yönetimi Yaşar Tonta Hacettepe Üniversitesi Bilgi ve Belge Yönetimi Bölümü DOK 322: Veri Tabanı Yönetim Sistemleri Bazı slaytlar için kaynak: Ray R. Larson, School of Information Management and Systems, UC Berkeley http://sims.berkeley.edu/courses/is257/s04
Plan • Dersin tanımı • Veri tabanı kavramları ve terminolojisi • Veri tabanı modelleri
Ders Planı • Web sayfası • Dersin tanımı • Okuma parçaları • Notlandırma • Ödevler • Takvim
Dersin Web Sayfasıhttp://yunus.hacettepe.edu.tr/~tonta/courses/spring2005/dok322/
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
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 (122USD)
Okuma Parçaları • Adım Adım Microsoft Access 2002 • MS Access Yardım sayfaları
Notlandırma • Geçme notu: • Devam (%10) • Ödevler (%20) • Ara sınav (%20) • Proje (%20) • Son sınav (%40)
Ödevler • İki çeşit ödev var • Önceden geliştirilmiş veri tabanlarını (Cookie ve DiveShop) 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 • İşle ilgili • Dersle ilgili • Grup • Dersle ilgili • Proje
Takvim http://yunus.hacettepe.edu.tr/~tonta/courses/spring2005/dok322/d322takvim2005.htm
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.
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)
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
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
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.
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
Dosya Temelli Sıstemler Dosya Uygulama Oyuncaklar Adresler Teslimat Listesi Yaramaz Kömür tahmini Oyuncaklar Güzel İstenen
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ı
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ı
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
Veri Tabanı Çevresi CASE Araçları Kullanıcı Arayüzü Uygulama Programları Havuz VTYS Veri Tabanı
Veri Tabanı Bileşenleri VTYS =============== Tasarım araçları TabloYaratma 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 Veri Tabanı Uygulama Programları Veri tabanı: Kullanıcı verileri Metadata Dizinler Uygulama Metadatası İçerir Kullanıcı Arayüzü Uygulamaları
Veri Tabanı Sistemleri Türleri • PC Veri tabanları • Merkezi Veri tabanları • İstemci/SunucuVeri tabanları • DağıtıkVeri tabanları • Veri tabanı modelleri
PC Veri tabanları Örneğin. Access FoxPro Dbase vs.
Merkezi Veri tabanları Merkezi Bilgisayar
İstemci/Sunucu Veri tabanları İstemci Ağ İstemci Veri tabanı sunucusu İstemci
Dağıtık veri tabanları Yer B Yer C bilgisayar bilgisayar Homojen Veri tabanları bilgisayar Yer A
Dağıtık veri tabanları İstemci Heterojen veya Federe veri tabanları Uzak bilgisayar Yerel ağ Veri tabanı sunucusu İletişim sunucusu Uzak bilgisayar İstemci
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
Veri Tabanı Uygulamaları Türleri • PC veri tabanları • Genellikle kişisel • Çalışma Grubuveri 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
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
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)
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
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
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
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
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
Modeller (1) Uygulama 1 Uygulama 2 Uygulama 3 Uygulama 4 Dış Model Dış Model Dış Model Dış Model Uygulama 1 Kavramsal gerekler Uygulama 2 Kavramsal gerekler Kavramsal Model Mantıksal Model İç Model Uygulama 3 Kavramsal gerekler Uygulama 4 Kavramsal gerekler
Veri Modelleri (2): Tarihçe Kitaplar (no, başlık) Yazarlar (ad, soyad) Yayıncılar Konular • Hiyerarşik Model (1960’lar ve 1970’ler) • Programlama dillerindeki veri yapılarına benziyor.
Veri Modelleri (2):Tarihçe Yazarlar Konular Kitaplar Yayıncılar • Ağ modeli (1970’ler) Verilerin tek girişini ve veri zincirleri boyunca dolaşma “bağlantıları” sağlar
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
Veri Modelleri (2): Tarihçe Kitaplar (no, başlık) Yazarlar (ad, soyad) Yayıncılar Konular • Nesne Tabanlı Model (1990’lar) • Veriyi ve işlemleri “Nesne” olarak kapsülleştirir
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
Veri Tabanı Sistemi Yaşam Döngüsü Fiziksel Yaratım 2 Dönüştürme 3 Tasarım 1 Büyüme, Değişim ve Yaşatma 6 Entegrasyon 4 İşlemler 5
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
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ı
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