VERİ TABANI YÖNETİM SİSTEMLERİ · 2016-11-05 · Veri Modelleri •Verileri mantıksal...
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