VERİ TABANI YÖNETİM SİSTEMLERİ · 2016-11-05 · Veri Modelleri •Verileri mantıksal...

Post on 29-Feb-2020

4 views 0 download

Transcript of VERİ TABANI YÖNETİM SİSTEMLERİ · 2016-11-05 · Veri Modelleri •Verileri mantıksal...

VERİ TABANI YÖNETİM SİSTEMLERİ

Melih BÖLÜKBAŞI

Dersin Hedefleri

•Veri Tabanı Kullanıcıları

•Veri Modelleri

•Veri Tabanı Tasarımı

• İlişkisel VT Kavramsal Tasarımı (Entity-Relationship, ER) Modeli

VT KULLANICILARI 1.Veri Tabanı Yöneticisi (DBA)

2.Uygulama Programcısı

3.Sorgu Dili Kullanıcıları

4.Son Kullanıcılar

1.Veri Tabanı Yöneticisi (DBA)

Görevleri;

•VT Tasarımı ve Oluşturulması • Kavramsal şema + fiziksel olarak yapılandırılması

•VT Performans Analizi • VT ayarları, donanım ve yazılım ihtiyaçlarının belirlenmesi,

performans arttırıcı işlemler

•Erişim Yetkilerinin Düzenlenmesi • Kullanıcıların VT erişebilirliği, yetkisiz erişimlerin

düzenlenmesi

1.Veri Tabanı Yöneticisi (DBA)

Görevleri;

•Yedekleme ve Geri Yükleme • Süreçlerin belirlenmesi, yedekleme ve geri yüklemenin güvenilirliği

•Veri Bütünlüğü Sağlama

•Sistemin Sürekliliğini Sağlama • Sorunlara hazırlıklı olma, Kötü durum senaryolarını oluşturma

2. Uygulama Programcısı

• Son kullanıcılara yönelik yazılım geliştiriciler.

• VT direk kullanamazlar.

• Veri işleme dili ve geliştirme.

3. Sorgu Dili Kullanıcıları

•Veri tabanından bilgi almak

•Bilgi eklemek/silmek

•VT yapısında değişiklik yapmak

•VT yapısını bilmelidir

4. Son Kullanıcılar

•Uygulama programcıları tarafından geliştirilen yazılımları kullanır.

•Veri tabanında yazılım aracılığı ile kayıt ekleme, silme ve raporlama yapabilir.

Veri Modelleri • Verileri mantıksal düzeyde düzenlemek için kullanılan

yapılar, kavramlar ve işlemler topluluğudur.

•Her VYTS belirli bir veri modeli kullanır.

• Veriler ve veriler arası ilişkiler veri modeline göre düzenlenir.

• Veri modeli ile VT kavramsal ve dış şemaları oluşturulur.

Veri Modelleri 1. Hiyerarşik

2. Ağ

3. İlişkisel

4. Nesneye Yönelik

1. Hiyerarşik Veri Modeli

İlk veri modelidir. (1960 – 70)

Kayıtlar ağaç yapısında saklanır.

Ebeveyn-Çocuk ilişkisi

Her varlık bir sefer ilişki

oluşturabilir.

1. Hiyerarşik Veri Modeli

•Aynı varlık 1 den fazla ilişkide kullanılacaksa tekrar oluşturulmalı.

•Gereksiz veri tekrarına sebep olur.

•Bir kayıt silinirse altındaki dallar da silinir.

1. Hiyerarşik Veri Modeli

2. Ağ Veri Modeli •1970 – 80 arası kullanılmıştır.

•Hiyerarşik modelden farklı olarak bir veri birden fazla veri ile ilişki kurabilmektedir.

•Ortak bilgi alanları ile birden fazla veri ile ilişki kurulabilir.

3. İlişkisel Veri Modeli •90 lı yıllardan beri hemen hemen tüm

sistemlerde kullanılmaktadır.

•Ortak özelliklerdeki veriler tablolarda saklanır.

•Tablo = Sütun + Satır

•Her sütun farklı bir veri tutar.

•Her satırdaki veriler aynı kaydı ifade eder.

3. İlişkisel Veri Modeli • Anahtarlar sayesinde indeksleme

yapıldığı için işlemler daha hızlı gerçekleşir.

• Birden fazla tablodaki bilgiler ortak alanlar tanımlanarak birbirleriyle ilişkilendirilir.

• Raporlama kolaylığı sağlanır.

3. İlişkisel Veri Modeli

1-1 İlişki

1-n ilişki

N-1 ilişki

M-n ilişki

4. Nesneye Yönelik Veri Modeli

•Son 10 yıldır gündemde.

•Henüz yaygın olarak kullanılmamaktadır.

•Aslında OODBMS Nesne yönelimli programlama(OOP) ilkeleri ile Veri Tabanı Yönetim ilkelerinin birleşmesinden oluşur.

4. Nesneye Yönelik Veri Modeli

•Veriler nesne olarak modellenir.

•Sınıf ve miras kavramları mevcuttur.

•Büyük tablolarda ilişkisel veri modeline göre yüksek performans sunar.

İlişkisel Veri Tabanı Tasarımı

•Bir projenin tasarım aşamasında veri tabanının tasarımı çok önemlidir.

•Veri tabanı oluşturulduktan sonra yapılacak düzenlemeler daha zor olabilir hatta sorunlara yol açabilir.

İlişkisel Veri Tabanı Tasarımı

1. Gereksinim Analizi

•Mevcut sistemin özellikleri ve ihtiyaçların belirlenmesi

•Yazılım ve donanım maliyet analizi

İlişkisel Veri Tabanı Tasarımı

2. Kavramsal Tasarım

•Varlıklar ve özniteliklerin belirlenmesi

• İlişkilerin belirlenmesi

•Varlık-İlişki veri modellerinin çıkarılması

İlişkisel Veri Tabanı Tasarımı

3. Mantıksal Tasarım

•Varlık – İlişki modelini kullanarak mantıksal modelin oluşturulması

•Tablolar

•Satır ve Sütunlar

•Anahtarlar

İlişkisel Veri Tabanı Tasarımı

4. Normalizasyon

•Mantıksal modele normalizasyon kurallarının uygulanması

• İlişkilerden yeni tabloların oluşturulması

İlişkisel Veri Tabanı Tasarımı

5. Veri Tabanının Oluşturulması

•Tabloların oluşturulması

•Güvenlik ile kullanıcı yetkilerinin tanımlanması

•Test verileri ile denemeler yapılması

İlişkisel Veri Tabanı Tasarımı

6. Uygulama Programı

•Kullanım durumlarının belirlenerek programla aşamasına geçilmesi

İlişkisel Veri Tabanı Kavramsal Tasarım

•VT saklanacak verilerin üst seviyede gösterilmesi için kullanılır.

•ER (Entity-Relationship, Varlık-İlişki) Modeli

•VTYS den bağımsız modelleme yapılır ve ilişkiler tanımlanır.

•Herhangi bir VTYS ile veri tabanına dönüştürülebilir.

Varlık – İlişki Modeli •Veri çözümleme ve modellemede ilişkilerin

ortaya konması için kullanılan araçtır.

•Niteliklerin kümesi tarafından tanımlanır.

•Görsel olarak varlık-ilişki tablosu ile gösterilir:

Varlık – İlişki Modeli VARLIK (ENTİTY)

• Var olan ve benzerlerinden ayırt edilebilen nesnelerdir. (Kitap, Öğrenci, Araba)

VARLIK KÜMESİ

• Birden fazla varlık tarafından oluşturulan kümeye verilen isim. ÖĞRENCİ

Varlık – İlişki Modeli NİTELİK

• Varlıkların özelliklerinin ifadesidir.

•Örneğin öğrenciNo, Adı ve Soyadı, Adres, Telefon

ANAHTAR NİTELİK

•Bir niteliğin değeri her bir varlık için farklı ise bu nitelik anahtar olarak belirlenir.

Varlık – İlişki Modeli TEK DEĞERLİ NİTELİK

• Bir varlık bir nitelik için tek bir değere sahipse tek değerli nitelik olarak isimlendirilir.

•Örneğin her öğrenci bir ad ve soyada sahip, bir adet adresi mevcut.

Varlık – İlişki Modeli

ÖĞRENCİ

ÖNO AD

Tek değerli nitelik Anahtar nitelik

Varlık – İlişki Modeli ÇOK DEĞERLİ NİTELİK

•Bir varlığın bir nitelik içinde birden fazla değere sahip olduğu durumdur.

•Örneğin bir öğrencinin birden fazla telefon numarası bulunabilir.

Varlık – İlişki Modeli

ÖĞRENCİ

ÖNO AD

Tek değerli nitelik Anahtar nitelik

TELEFON

Çok değerli nitelik

Varlık – İlişki Modeli DOMAİN (ETKİ ALANI)

•Niteliklerin alabileceği değer aralığıdır.

•Örneğin öğrenci notlarının 0 ile 100 arasında olması.

•ER diyagramında gösterilmez.

Varlık – İlişki Modeli İLİŞKİ

•Varlıklar arasındaki bağlantı ilişkiyi ifade eder.

•Örneğin öğrenci ile ders arasında ders alma ilişkisi vardır.

• İki varlık arasında birden fazla ilişki olabilir.

Varlık – İlişki Modeli

ÖĞRENCİ ALIR DERS

İLİŞKİ

Varlık – İlişki Modeli TANIMLAYICI NİTELİK

•Varlıklar arasındaki ilişkilerde, ilişki sonucu oluşan niteliklerdir.

•Örneğin bir araba kiralama firmasında müşteri varlığı ile araç varlığı arasında kiralama ilişkisi vardır. Bu ilişkiye ait kiralanan tarih ve saat nitelikleri oluşmaktadır.

Varlık – İlişki Modeli

MÜŞTERİ KİRALA ARAÇ

TARİH SAAT

Tanımlayıcı Nitelikler

İlişkisel Veri Modeli

1-1 İlişki

Bir varlık kümesindeki her varlık diğer varlık kümesinin en çok bir varlığı ile ilintili olduğu ilişkidir.

3. İlişkisel Veri Modeli

1-1 İlişki

• • • •

• • •

Personel

Id Ad Soyad

123 AHMET KAÇAR

124 MURAT UÇAR

125 AYŞE SÖYLER

Görev

Id Görev

123 Muhasebeci

124 Teknisyen

125 Pazarlamacı

1

1

3. İlişkisel Veri Modeli

1-n İlişki

İlk kümedeki her varlık diğer kümenin en çok bir varlığı ile ilintili olduğu ilişkidir.

3. İlişkisel Veri Modeli

1-n İlişki

• • • •

• • •

Öğrenciler

NO AD BOLUM_ID

123 Ahmet BTP

124 Murat BTP

125 Ayşe ELK

Bölümler

Id BOLUM

BTP Bilgisayar

ELK Elektrik

1

n

3. İlişkisel Veri Modeli

N-1 İlişki

İlk kümedeki her varlık diğer kümenin en çok bir varlığı ile ilintili olduğu ilişkidir.

3. İlişkisel Veri Modeli

m-n İlişki

Herhangi bir kümede bulunan varlıklardan her biri diğer kümede bulunan bir çok varlıkla ilintili olduğu ilişki türüdür.

3. İlişkisel Veri Modeli

m-n İlişki

• • • •

• • •

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

1-1 İlişki

•Varlık kümeleri tablolara dönüştürülür.

•Nitelikler tabloların sütunlarına dönüştürülür.

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

1-1 İlişki •Bir varlık kümesinin birincil anahtarı diğer varlık

kümesinin yabancıl anahtarı olarak belirlenir.

•Tanımlayıcı nitelik var ise nitelikler yabancı anahtar olarak kullanılan tabloya sütun olarak eklenir.

1-1 ilişki tabloya dönüştürülmesi

Personel Bölüm

Yönetic

i ID AD_S

MAAŞ

ADRES Adı

BölümId

1 1

PERSONEL

ID

AD_S

ADRES

MAAŞ

BOLÜMID

Tarih

BÖLÜM

BÖLÜMID

ADI

ÇALIŞIR 1 n

Tarih

M-N ilişki tabloya dönüştürülmesi

Film Sinema

ID AD_S

puan

yönetme

Adı SID

FİLM

ID

AD_S

YÖNETMEN

PUAN

SİNEMA

SID

ADI

ADRES

TELEFON

oynar

m n

Tarih

Adres

Telefon

Saat

OYNAR

Tarih

Saat

FİLM_ID

SID

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

1-n veya n-1 İlişki •Varlık kümeleri tablolara dönüştürülür.

•Nitelikler tablo sütunlarına dönüştürülür.

• İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun birincil anahtar sütunu yabancıl anahtar olarak eklenir.

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

1-n veya n-1 İlişki •Tanımlayıcı nitelik var ise nitelikler ilişkinin

bulunduğu n tarafındaki tabloya sütun olarak eklenir.

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

M-n İlişki •Varlık kümeleri tablolara dönüştürülür.

•Oluşturulan ilişki isminde tablo oluşturulur.

•Nitelikler tablo sütunlarına dönüştürülür.

•Tanımlayıcı nitelikler ilişkiden oluşturulan tabloya sütun olarak eklenir.

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

M-n İlişki • İlişkiyi oluşturan tabloların birincil anahtarları

ilişkiyi oluşturan tabloya yabancıl anahtar olarak eklenir.

• İlişkiden oluşturulan tablonun birincil anahtarı oluşturulan yabancıl anahtarların birleşiminden oluşur.

Varlık ilişki Modelinin Tablolara Dönüştürülmesi

M-n İlişki •Yabancıl anahtarlarla oluşturulan anahtar

ihtiyaca cevap vermiyor ise yeni bir sütun birincil anahtar olarak belirlenebilir.

Kaynakça

• VTYS1 – TURGUT ÖZSEVEN