veri tabanı yönetim sistemleri

advertisement
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ı (EntityRelationship, 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.
2.
3.
4.
Hiyerarşik
Ağ
İlişkisel
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
Anahtar nitelik
Tek değerli nitelik
AD
ÖNO
ÖĞRENCİ
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
Anahtar nitelik
Tek değerli nitelik
AD
ÖNO
TELEFON
Çok değerli nitelik
ÖĞRENCİ
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
İLİŞKİ
ÖĞRENCİ
ALIR
DERS
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
TARİH
ARAÇ
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
1
Görev
Id
Görev
123
Muhasebeci
124
Teknisyen
125
1
Pazarlamacı
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
1
Elektrik
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
AD_S
ID
ADRES
MAAŞ
1
Personel
BölümId
Yön
etic
i
1
Bölüm
n
Adı
1
ÇALIŞIR
PERSONEL
Tarih
ID
BÖLÜM
AD_S
BÖLÜMID
ADRES
ADI
MAAŞ
BOLÜMID
Tarih
M-N ilişki tabloya dönüştürülmesi
SID
AD_S
ID
yönetme
Film
puan
oynar
Adres
n
m
Tarih
Adı
Sinema
Saat
FİLM
OYNAR
SİNEMA
ID
Tarih
SID
AD_S
Saat
ADI
YÖNETMEN
FİLM_ID
ADRES
PUAN
SID
TELEFON
Telefon
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
Download