Veri Tabanı

advertisement
Bu Dersin Konuları
Veri Modelleri
Veri Tabanları. Gelişim tarihçesi
Veri Tabanı Modeli
VTYS bileşenleri
BM315 Veri Tabanı Yönetim
Sistemleri
Mehmet Ali SALAHLI
Veri Tabanı Yaklaşımı
VTYS
Sorgu İşlemcisi
PROGRAM 1
İş Yöneticisi
…
PROGRAM 2
BM315 Veri Tabanı Yönetim
Sistemleri
Mehmet Ali SALAHLI
Veri Tabanı
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
Calisma
Calisan
CNO
E1
E2
E3
E4
E5
E6
E7
E8
CNO PNO
CADI
J. Doe
M. Smith
A. Lee
J. Miller
B. Casey
L. Chu
R. Davis
J. Jones
E1
E2
E2
E3
E3
E4
E5
E6
E7
E7
E8
Elekt.Müh.
Sist. Anal.
Mak. Müh.
Programcı
Sist. Anal.
Elekt. Müh.
Mak. Müh.
Sist. Anal.
P1
P1
P2
P3
P4
P2
P2
P4
P3
P5
P3
PROJE
PNO
P1
P2
P3
P4
P5
PADI
Robot Uygulaması
VeriTabanı Gelişt.
Bilgisayarlı Tasarım
Bakım/Destek
Bilgisayarlı Tasarım
BM315 Veri Tabanı Yönetim
Sistemleri
Gorev
Meslek
BUTCE
150000
135000
250000
310000
500000
Mehmet Ali SALAHLI
Yönetici
Çözümleyici
Çözümleyici
Danışman
Mühendis
Programcı
Yönetici
Yönetici
Yönetici
Yönetici
Yönetici
Sure
12
24
6
10
48
18
24
48
36
23
40
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
BM315 Veri Tabanı Yönetim
Sistemleri
Mehmet Ali SALAHLI
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 örnek
Dış görünüm1
Pno
Ad
Kavramsal
Seviye
Soyad
Dış görünüm 2
Maaş
Personel
_no
Yaş
Ad
Personel_ Soyad
no
Soyad
Doğum_
Tarihi
Struct Personel {
İç Seviye
int Personel_no; int Sube_no;
char Ad[15];
char Soyad [15] ;
Struct date Dogum_tarihi;
float Maash}
BM315 Veri Tabanı Yönetim
Sistemleri
Mehmet Ali SALAHLI
;
Maaş
Şno
Şube_no
ANSI/SPARC Mimarisi
ATAMA (ÇNO,PNO,ÇAD,PAD)
Kullanıcılar
Dış şema
Dış görünüm
Kavramsal
şema
İç Şema
Dış görünüm
Kavramsal
şema
İç
görünüm
VTYS
BM315 Veri Tabanı Yönetim
Sistemleri
Dış görünüm
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
Mehmet Ali SALAHLI
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 CADI
FROM
CALISAN
WHERE MESLEK = “Elect. Müh.”
• Proje üzerinde 12 yıldan fazla çalışmış yöneticilerin adları.
SELECT CAL.CADI
FROM
CALISAN,CALISMA
WHERE GOREV = “Yonetici”
AND
SURE > 12
AND
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
Uygulama Programları
Uygulama geliştirme araçları
VTYS
İşletim Sistemi
Donanım
BM315 Veri Tabanı Yönetim
Sistemleri
Mehmet Ali SALAHLI
Uygulamalar-VTYS-Veri Tabanı
Veri Girişi ve
Raporlar
satış
Satış uyg. programları
VTYS
Veri Girişi ve
Raporlar
Sözleşme
BM315 Veri Tabanı Yönetim
Sistemleri
Mülk, Ev sahibi,
Kiracı,Sözleşme
ayrıntıları+Kütük tanımları
Veri Tabanı
Sözleşme uyg. programları
Mehmet Ali SALAHLI
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ı
Sıradan Kullanıcılar
Formlar
Veri Tabanı Yöneticileri
VT profesyönellleri,Uyg.
programcıları
Uygulama arayüzleri
VİD(veri işlem dili) Arayüzu
VTD (veri tanımlama dili)
SQL Komutları
Hareket ve
Kilitlemeler
Yöneticisi
Sorgu Değerlendirme Birimi
Dosyalara erişim yöntemleri
Tampon Yöneticisi
Disk Alanı Yöneticisi
İndeksler
BM315 Veri Tabanı Yönetim
Sistemleri
System
Katalogu
Veri dosyaları
Mehmet Ali SALAHLI
Kurtarma Yöneticisi
VTYS
VTD
Derleyicisi
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
Download