Bu Dersin Konuları
Veri ModelleriVeri Tabanları. Gelişim tarihçesiVeri Tabanı Modeli VTYS bileşenleri
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Yaklaşımı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
PROGRAM 1
PROGRAM 2
Veri Tabanı
VTYSSorgu İşlemcisi
İş Yöneticisi…
Veri Modeli
• Veri Modeli- verilerin, veriler arasındaki ilişkilerin, verilerle ilgili sınırlamaların soyut biçimde ifadesidir
• Veri Modeli dosyanın içeriğini oluşturan, dosyalar arasında iletilen, dosyalar arasında bağlantı oluşturan verilerin yapısını belirler
• Türleri:– Hiyerarşi, ağ– İlişkisel– Nesneye yönelik
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Modelleri
• Nesne tabanlı Varlıklar, özellikler, ilişkiler• Varlık-ilişkisel kavramsal veri tabanı• Semantik• İşlevsel• Nesneye-yönelik
Kayıt Tabanlı Veri Modelleri
• Ağ kayıtlar, kümeler, düğümler, kenarlar örnek model: IDMS/R• Hiyerarşi kayıtlar, kümeler, ağaç örnek model: IMS• İlişkisel
Ağ Veri Modeli Şeması
Hiyerarşi Veri Modeli Şeması
Fiziki Veri Modelleri
• Verilerin disk ortamında tutulması• Bilgilerin fiziki kayıtlarla tasviri• Fiziki kayıtların düzenlenmesi• Disk dosyalarına erişim yöntemleri
İlişkisel Veri Modeline Örnek
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
CNO CADI Meslek
E1 J. Doe Elekt.Müh.E2 M. Smith Sist. Anal.E3 A. Lee Mak. Müh.E4 J. Miller ProgramcıE5 B. Casey Sist. Anal.E6 L. Chu Elekt. Müh.E7 R. Davis Mak. Müh.E8 J. Jones Sist. Anal.
CalisanCNO PNO Gorev
E1 P1 Yönetici 12
Sure
E2 P1 Çözümleyici 24E2 P2 Çözümleyici 6E3 P3 Danışman 10E3 P4 Mühendis 48E4 P2 Programcı 18E5 P2 Yönetici 24E6 P4 Yönetici 48E7 P3 Yönetici 36
E8 P3 Yönetici 40
Calisma
E7 P5 Yönetici 23
PROJE
PNO PADI BUTCE
P1 Robot Uygulaması 150000
P3 Bilgisayarlı Tasarım 250000P2 VeriTabanı Gelişt. 135000
P4 Bakım/Destek 310000P5 Bilgisayarlı Tasarım 500000
Veri Tabanlarının Kısa Tarihçesi• 1960’lar:
– 1960’ların evveli: Charles Bachmann Honeywell’de ilk VTYS’i (IDS -Integrated Data Store) geliştirdi
• Ağ modelinde veri bağlantıları grafla ifade edilirdi.– 1960’ların sonları: İlk başarılı ticari VTYS (IMS-information
management system) IBM’de geliştirildi• Hiyerarşi modelde veri bağlantıları ağaç biçiminde ifade
edilirdi• Bu gün de kullanılmaktadır (SABRE reservations;
Travelocity)– 1960’ların sonları: Conference On DAta Systems Languages
(CODASYL) modeli tanımlandı. Bu ağ modeli idi, fakat daha çok standartlaşmıştı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanlarının Kısa Tarihçesi
• 1970’ler:– 1970: Ted Codd IBM San Jose Laboratory
(şimdi IBM Almaden) laboratuarında ilişkisel veri modelini tanımladı.
– İki önemli proje başlatıldı (1970’lerin sonlarında her ikisi gerçekleşmişti)
• INGRES (University of California, Berkeley)• System R ( IBM San Jose Laboratory)
– 1976: Peter Chen Varlık İlişkisel (ER) modeli tanımladı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanlarının Kısa Tarihçesi• 1980’ler
– İlişkisel Veri tabanları teknolojisinin gelişmesi– ISO tarafından SQL’in standartlaştırılması (1980’lerin ortaları-sonu)– Yükseliş devri
• 1990’lar– İlişkisel teknolojinin yaygınlaşması ve başarımın yükselişi– Paylaşılan sistemlerin oluşumu– Yeni veri modelleri: nesneye yönelik, tümdengelimli (deduktive) – 1990’ların sonu: nesneye yönelik teknolojinin ilişkisel VTYS’le birleştirilmesi
Nesne-ilişkisel VTYS– Yeni uygulama alanları: Veri ambarları ve OLAP, Web Internet, çoklu ortam ve
metinlerin işlenmesi
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Nedir?• Veri Tabanı bütünleşik, yapılandırılmış, karşılıklı ilişkili, bir
uygulama amacıyla oluşturulmuş ve disk ortamında yerleşen veriler kümesidir
• Veri tabanı (VT), ortamı oluşturan varlıklar ve onlar arasındaki ilişkilerin veri modelidir.
• Veri tabanının yapısı kullanılan soyut veri modeline göre belirlenir.
• Veri Tabanı Yönetim Sistemi (VTYS), veri tabanına erişimi, yönetimi gerçekleştiren ve denetleyen yazılım sistemidir
Üretim Üretim VerileriÜniversite Öğrenci, ders verileri Hastane Hastalık, hasta kayıt verileri Banka Müşteri Hesap Verileri
Mehmet Ali SALAHLI BM315 Veri Tabanı Yönetim Sistemleri
Neden Veri Tabanı Teknolojisi• Veriler yapısal varlık oluşturuyor é Bütünleşik
denetim– Tekrarlamalarının azaltılması– Tutarsızlığın önlenmesi– Paylaşıla bilirlik– Standartlar– Daha yüksek güvenlik– Veri bütünlüğü
• Programcının verimliliği é Veri Bağımsızlığı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Mimarisi
• Veri tabanları için genel mimari ve standart kavramların oluşturulması -
• 1971- Date Base Task Group (CODASIL tarafından oluşturuldu)– 2 seviyeli yaklaşım- sistem görünümü (şema), kullanıcı görünümleri
(altşemalar)• 1975- American National Standards Institute - Standards
Planning and Requirements Committee– Üç seviyeli yaklaşım
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
ANSI-SPARC üç seviyeli mimarisi
• Dış seviye- veri tabanının kullanıcı tarafından görünümü. Bu seviye veri tabanının her bir kullanıcıya özgül kısmını ifade eder
• Kavramsal seviye- veri tabanına ortak bakış. Bu seviye, veri tabanında hangi verilerin saklandığını ve bu veriler arasındaki ilişkileri ifade eder
• İç seviye- veri tabanının bilgisayarda fiziki tasviri. Bu seviye veri tabanında verilerin nasıl saklandığını ifade eder
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Modelleri (ANSİ-SPARC mimarisine göre)
• Dış veri Modeli –modele her kullanıcının özgü bakışı
• Kavramsal Veri Modeli – VTYS’den bağımsız ortak (genel) bakış
• İç Veri Modeli – kavramsal şemanın VTYS tarafından anlaşılır biçimde ifadesi
Seviyelere örnekDış görünüm1 Dış görünüm 2Pno Ad Soyad Maaş Yaş Personel
_noSoyad Şno
Mehmet Ali SALAHLI BM315 Veri Tabanı Yönetim Sistemleri
Personel_no
Ad Soyad Doğum_Tarihi
Maaş Şube_noKavramsal Seviye
İç Seviye
Struct Personel {
int Personel_no; int Sube_no;
char Ad[15];
char Soyad [15] ;
Struct date Dogum_tarihi; ;
float Maash}
ANSI/SPARC Mimarisi
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Dış şema
Kavramsal şema
İç Şema İç görünüm
Kavramsal şema
Dış görünüm Dış görünüm Dış görünüm
Kullanıcılar
VTYS
PERS(ÇNO: metin, ÇAD: metin, UNVAN:metin)PROJ(PNO: metin, PAD: metin, BÜTÇE: tamsayı)ÇALIŞMA(ÇNO: metin, PNO: metin, GÖREV: metin,
DUR: tamsayı)
Tüm ilişkiler dosya olarak kaydediliyor.PERS(ÇNO), PROJ(PNO) ve ÇALIŞMA (ÇNO,PNO) üzere indeksler oluşturuluyor
ATAMA (ÇNO,PNO,ÇAD,PAD)
Kavramsal Modelleme
• Kavramsal veri tabanı tasarımı Uygulama için kullanılan verilerin çalıştırılma
ayrıntılarından (VTYS, uygulama programları veya diğer fiziki koşullar) bağımsız modelinin yapılandırılması süreci
• Bu süreçte oluşturulan modele kavramsal veri modeli denir
Veri Bağımsızlığı• Yukarı seviyelerdeki değişmeler aşağı seviyeleri
etkilemez• Kavramsal yapılanmanın, bellek yapısının ve
erişim stratejisinin ayrıntılarının kullanıcılara görünmemesi (şeffaflığı). – Mantıksal
• kavramsal şemadaki değişmeler dış şemayı etkilemez( mantıksal erişim stratejisinin şeffaflığı)
– Fiziki• İç şemadaki değişmeler kavramsal şemayı etkilemez
(Fiziki erişim yollarının şeffaflığı)
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanının İşlevselliği• Bütünleşmiş şema
– Kullanıcıların verileri tekbiçimli görmesi– Kullanıcılar varlıkları, yalnız ilişkisel modeldeki ilişkiler
(tablolar) gibi görüyor• Bildirimsel bütünlük ve tutarlılık
– 24000 maaş 250000– Çalışan, kendi yöneticisinden yüksek maaş alamaz.– Kullanıcı özellikleri ve sistem sınırlamaları
• Görünümlerin kişiselleştirilmesi– Bazı ilişkilerin sınırlandırılması– Bazı sınıf kullanıcılar için ilişkilerin yeniden
yapılandırılmasıBM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı İşlevselliği (devamı)• Betimsel erişim
– Sorgu dili - SQL• Tüm elektrik mühendislerinin isimlerini bul.
SELECT CADIFROM CALISANWHERE MESLEK = “Elect. Müh.”
• Proje üzerinde 12 yıldan fazla çalışmış yöneticilerin adları.SELECT CAL.CADIFROM CALISAN,CALISMAWHERE GOREV = “Yonetici”AND SURE > 12AND CALISAN.CNO = CALISMA.CNO
• Yürütmeği belirleyen bir sistem– Sorgu işlemcisi ve optimalleştirici
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı İşlevselliği (devamı)
• Hareketler (transactions)– Kullanıcı istekleri atomik (bölünmez) birim gibi yerine getirilir– hareket, bir veya birden fazla sorgu içere biliyor– Uyumluluk
• Uyumluluğun şeffaflığı– Pek çok kullanıcının aynı veri tabanına erişmesi mümkündür, fakat onlar
veri tabanını kendi kişisel verileri gibi görüyorlar– Uyumluluğun denetimi
• Hataların şeffaflığı• Sistemde hatalar oluştuğu durumlarda da veri tabanının tutarlılığı
bozulmaz– Kod hatalarının bulunması ve düzeltilmesi
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı İşlevselliği (devamı)
• Hareket (Transaction) özellikleri– Bölünmezlik (Atomicity)
• “Tümü veya hiç ne” özelliği– Uyumluluk (Consistency)
• Her iş doğrudur ve veri tabanının uyumluluğunu bozmaz– Yalıtımlık (Isolation)
• Aynı zamanda oluşan işler biri diğerini engellemez– Süreklilik (Durability)
• İş tamamlandıktan sonra , onun etkisi , sonuçlara bağlı olmadan sistemde kalacak
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Yönetim Sistemi
• VTYS - kullanıcıya, veri tabanını tanımlamak, oluşturmak, işlemek, bakımını yapmak ve veri tabanına denetimli erişimi sağlamak imkanı veren yazılım sistemi
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Yönetim Sisteminin Bilgisayar Sisteminde Yeri
Mehmet Ali SALAHLI BM315 Veri Tabanı Yönetim Sistemleri
Uygulama Programları
İşletim Sistemi
VTYSUygulama geliştirme araçları
Donanım
Uygulamalar-VTYS-Veri Tabanı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Girişi ve
Raporlar
Veri Girişi ve
Raporlar
VTYS
Veri Tabanı
satış
Sözleşme
Satış uyg. programları
Mülk, Ev sahibi, Kiracı,Sözleşme ayrıntıları+Kütük tanımları
Sözleşme uyg. programları
VTYS işlevleri• Veri saklama, edinme ve güncelleme• Kullanıcı erişebilir katalogun oluşturulması• İşlerin desteklenmesi• Aynı zamanlı işlerin denetimi• Kurtarma hizmetleri• Yetkilendirme hizmetleri• Veri iletişimi için destek• Bütünlük hizmetleri• Veri bağımsızlığı• Yardımcı hizmetler
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Veri Tabanı Yönetim Sisteminin Yapısı
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Sıradan Kullanıcılar VT profesyönellleri,Uyg. programcıları
Veri Tabanı Yöneticileri
Formlar Uygulama arayüzleri VİD(veri işlem dili) Arayüzu VTD (veri tanımlama dili)
İndeksler SystemKatalogu
Veri dosyaları
VTDDerleyicisi
Disk Alanı Yöneticisi
Tampon Yöneticisi
Dosyalara erişim yöntemleri
Sorgu Değerlendirme Birimi
SQL Komutları
Kur
tarm
a Y
önet
icis
i
VTYS
Hareket ve Kilitlemeler Yöneticisi
Veri Tabanı
Veri Tabanı Kullanıcıları• Son Kullanıcılar
– Sıradan kullanıcılar– Veri Tabanlarına formlar veya uygulama arayüzleri ile erişilir– Daha usta kullanıcılar DML kullanmakla sorgular üretiyorlar
• Uygulama programcısı/geliştiricisi– Veri tabanına erişe bilecek uygulamalar tasarlar ve çalıştırır (bazen son
kullanıcı ile aynı)• Veri Tabanı Yöneticisi (DBA)
– Kavramsal şemayı tanımlar ve yönetir– Uygulama ve kullanıcı görünümlerini beliler– VTYS işlemlerini izler ve düzenler (iç şemayı tanımlar/değiştirir)– Veri Tabanını yükler ve yeniden biçimler– Güvenlik ve güvenilirlikten sorumludur
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
VTYS Dilleri• Veri Tanımlama Dili (VTD-DDL)
– Veri Tabanı Yöneticisinin ve kullanıcının, uygulama için gereken varlıkları ve farklı varlıklar arasındaki olası ilişkileri tanımlamak için tanımlayıcı dil
– Kavramsal şema, dış şema ve iç şema tanımlanır ve birinden diğerine çevirme yapılır
– Her bir seviyede farklı dil kullanıla bilir– Tanımlamalar ve üretilen bilgiler sistem katalogunda saklanılır
• Veri İşleme Dili (VİM-DML)– Veri tabanındaki veriler üzerinde temel işlemlerin yapılmasını sağlayan dil
• Esas dile gömülmüş sorgu dili• “kendi başına” sorgu dili olabilir
– Türleri• Yordamsal: işlemlerin “nasıl” yapılacağı gösterilir • Betimsel: ‘ne”ler üzerinde işlem yapılacağı gösterilir
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI
Yordamsal ve Yordamsal olmayan diller
• Yordamsal Veri İşlem Dili (VİD)- hangi verilere gerek duyulduğu ve bu verilerin nasıl bulunacağı gösterilmelidir
• Yordamsal olmayan VİD- gereken verilerin nasıl bulunacağı değil, bu verilerin kendisi ve aralarındaki bağlantılar tanımlanmalıdır
BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI