Bu Dersin Konuları

33
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

description

Bu Dersin Konuları. Veri Modelleri Veri Tabanları. Gelişim tarihçesi Veri Tabanı Modeli VTYS bileşenleri . Veri Tabanı Yaklaşımı. VTYS. Sorgu İşlemcisi. Veri Tabanı. PROGRAM 1. İş Yöneticisi. …. PROGRAM 2. Veri Modeli. - PowerPoint PPT Presentation

Transcript of Bu Dersin Konuları

Page 1: Bu Dersin Konuları

Bu Dersin Konuları

Veri ModelleriVeri Tabanları. Gelişim tarihçesiVeri Tabanı Modeli VTYS bileşenleri

BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI

Page 2: Bu Dersin Konuları

Veri Tabanı Yaklaşımı

BM315 Veri Tabanı Yönetim Sistemleri Mehmet Ali SALAHLI

PROGRAM 1

PROGRAM 2

Veri Tabanı

VTYSSorgu İşlemcisi

İş Yöneticisi…

Page 3: Bu Dersin Konuları

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

Page 4: Bu Dersin Konuları

Veri Modelleri

• Nesne tabanlı Varlıklar, özellikler, ilişkiler• Varlık-ilişkisel kavramsal veri tabanı• Semantik• İşlevsel• Nesneye-yönelik

Page 5: Bu Dersin Konuları

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

Page 6: Bu Dersin Konuları

Ağ Veri Modeli Şeması

Page 7: Bu Dersin Konuları

Hiyerarşi Veri Modeli Şeması

Page 8: Bu Dersin Konuları

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

Page 9: Bu Dersin Konuları

İ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

Page 10: Bu Dersin Konuları

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

Page 11: Bu Dersin Konuları

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

Page 12: Bu Dersin Konuları

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

Page 13: Bu Dersin Konuları

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

Page 14: Bu Dersin Konuları

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

Page 15: Bu Dersin Konuları

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

Page 16: Bu Dersin Konuları

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

Page 17: Bu Dersin Konuları

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

Page 18: Bu Dersin Konuları

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}

Page 19: Bu Dersin Konuları

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)

Page 20: Bu Dersin Konuları

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

Page 21: Bu Dersin Konuları

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

Page 22: Bu Dersin Konuları

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

Page 23: Bu Dersin Konuları

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

Page 24: Bu Dersin Konuları

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

Page 25: Bu Dersin Konuları

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

Page 26: Bu Dersin Konuları

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

Page 27: Bu Dersin Konuları

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

Page 28: Bu Dersin Konuları

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ı

Page 29: Bu Dersin Konuları

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

Page 30: Bu Dersin Konuları

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ı

Page 31: Bu Dersin Konuları

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

Page 32: Bu Dersin Konuları

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

Page 33: Bu Dersin Konuları

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