BTP102
VERİTABANI YÖNETİM
SİSTEMLERİ 1
Öğr.Gör.Emre KAÇMAZ
1
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
İLİŞKİSEL VERİTABANLARINDA NELERE
DİKKAT EDİLMELİ?
2
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1

Veri Kaybından kaçınma


İlişkisel bütünlüğün sürdürülmesi


Veri kaybetmeden tabloyu nasıl parçalarız?
Bir yayıncıyı veritabanından kaldırmak istiyorsak o
yayınevine ait kitapları da silmeliyiz.
Farklı görünümlerin oluşturulması

Veriler farklı tablolara dağılınca verinin farklı
görünümlerini elde etmek zorlaşacak.
3
Başlık
YayıneviID
ISBN
Yazar Adı
YazarID
Fiyat
KİTAP

Tarafından
Yazılmış
Yazar
Soyadı
Yazar
Telefon No

YAZAR

Yayımcısı
olma
KÜTÜPHANE
1
YAYINEVİ
Varlık-Bağıntı Şeması
Yayınevi
Telefon No
YayıneviID
Yayınevi Adı
4
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Varlık Sınıfı
Öznitelik
Birincil Anahtar
Bağıntı
5
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bağıntı Tipleri:

1–1

1 – Çok
(Yayınevi – Kitap)

Çok – Çok
(Kitap – Yazar)
6
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
1 – Çok
Bağıntı Kurulması
“Yayımcısı olma” bağıntısını kurmak için, YAYINEVİ
varlık sınıfı için birincil anahtar olan YayıneviID
özniteliğini KİTAP tablosuna eklemek yeterlidir.
Bu durumda KİTAP varlık sınıfının tablo şeması
KİTAP(ISBN, Başlık, YayıneviID, Fiyat)
biçimine dönüşür.
7
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yabancı Anahtar
İşte {YayıneviID} Kitap sınıfı için yabancı
anahtardır.
Yabancı anahtar bulunduğu sınıfın bir
anahtarı (süper, aday, birincil) değildir.
8
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yabancı Anahtar
Ancak bir başka tablonun anahtarı olduğu
için diğer tablonun her varlığı ile bulunduğu
tablodaki varlıkların eşlenmesini
sağlayacaktır.
9
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yabancı Anahtar
Genel olarak, {A2}, S tablosunda, S
tablosu/tablo şeması için bir aday anahtar
olsun.
Bu durumda {A2} özniteliğini T Tablosuna
eklersek, S ve T tabloları arasında 1- Çok
bağıntı kurulmuş olur.
10
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yabancı Anahtar
Çünkü;
T tablosundaki her varlık S tablosunda yalnız
bir varlık ile bağıntılıdır. Ayrıca T tablosunda
birden çok varlık S tablosundan tek bir varlık
ile bağıntılı olabilir.
11
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yabancı Anahtar
{A2}, S için anahtar, T için bir yabancı
anahtardır, T için bir anahtar değildir.
T tablosuna hedef, S tablosuna kaynak
tablo denir.
12
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Tablolar arasında 1-1 bağıntılar da benzer
olarak kurulur.
13
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Çok – Çok
Bağıntı Kurulması
Bağıntı, iki ayrı 1 – Çok bağıntı olarak
düşünülürse ne olur?
14
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Örneğin;
KİTAP sınıfındaki ISBN, YAZAR sınıfına,
YAZAR sınıfındaki YazarID KİTAP sınıfına
eklenirse
15
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
KİTAP sınıfının tablo şeması
KİTAP(ISBN, Başlık, Fiyat, YazarID)
olacak ve birden çok yazar tarafından
yazılmış kitaplar için tekrarlamalar
oluşacaktır.
16
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bunun yerine Çok – Çok bağıntıyı iki 1Çok bağıntıya bölen yeni bir tablo
oluşturulabilir.
17
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
ISBN
YazarID
0-201-79803-4
1
0-321-18923-X
2
0-007-24243-2
3
0-007-24243-2
4
0-13-065265-2
5
0-13-041531-6
6
0-13-030437-9
7
0-471-40825-5
8
0-471-40825-5
9
9-754-86934-8
10
9-754-86934-8
11
0-13-736331-1
12
0-13-736331-1
13
0-13-736331-1
14
Varlık Sınıfı:
KİTAP/YAZAR
Tablo Şeması:
KİTAP/YAZAR(ISBN,YazarID)
18
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bilgi Tutarlılığı
Yabancı anahtarın her değeri kaynak
tablosunda bir başvuru anahtarı değeriyle
eşlenmelidir.
19
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bilgi Tutarlılığı
Örneğin KİTAP tablosundaki {YayıneviID}
YAYINEVİ tablosundaki {YayıneviID} ile
eşlenmiyorsa yayımcısı olmayan bir kitabımız
var demektir.
20
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bilgi Tutarlılığı
İşte bu durumun oluşmaması problemine
Bilgi Tutarlılığı denir.
Birçok VTYS bilgi tutarlılığının korunması
için araçlara sahiptir.
21
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bilgi Tutarlılığı
Bilgi tutarlılığı iki türlü korunabilir:
1.
2.
Ardarda Güncelleme
Ardarda Silme
22
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Bilgi Tutarlılığı
1.
Ardarda Güncelleme:
Eğer kaynak tabloda anahtar değeri değişirse buna bağlı
tabloya ait tüm yabancı anahtar değerleri de değişir.
2.
Ardarda Silme:
Eğer kaynak tabloda bir varlık silinirse hedef tabloda buna
bağlı tüm varlıklar da silinir.
23
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
YazarID Yazar Adı Yazar Soyadı Yazar Telefon No
ISBN
YazarID
1
Robert
Adams
(222) 335 25 22
0-201-79803-4
1
2
Marvin
Bittinger
(222) 114 22 52
0-321-18923-X
2
3
Laurence Hoffmann
(333) 322 22 22
0-007-24243-2
3
4
Gerald
Bradley
(333) 554 44 44
0-007-24243-2
4
5
Gerald
Folland
(555) 222 22 22
0-13-065265-2
5
6
Susan
Colley
(233) 225 22 55
0-13-041531-6
6
7
Frank
Beatrous
(255) 352 22 55
0-13-030437-9
7
8
Deborah
Hughes
(333) 558 55 55
0-471-40825-5
8
9
Michael
Robert
(333) 558 55 55
0-471-40825-5
9
10
George
Thomas
(255) 555 44 66
9-754-86934-8
10
11
Ross
Finney
(255) 557 44 77
9-754-86934-8
11
12
Charles
Edwards
(322) 444 55 66
0-13-736331-1
12
13
David
Penney
(333) 555 77 88
0-13-736331-1
13
14
Richard
Madsen
(444) 111 88 11
0-13-736331-1
14
24
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Başlık
ISBN
YayıneviID
Fiyat
0-201-79803-4 Calculus : a complete course
1
55,00 YTL
0-321-18923-X Calculus and its applications
1
29,00 YTL
0-007-24243-2 Calculus
2 100,00 YTL
0-13-065265-2 Advanced calculus
3
25,00 YTL
0-13-041531-6 Vector calculus
3
75,00 YTL
0-13-030437-9 Multivariable calculus
3
49,00 YTL
0-471-40825-5 Calculus
4
68,00 YTL
9-754-86934-8 Calculus ve analitik geometri
4
75,00 YTL
0-13-736331-1 Calculus with analytic geometry
3
38,00 YTL
YayıneviID
Yayınevi Adı
Yayınevi Telefon No
1
Addison Wesley
(222) 320 19 11
2
McGraw Hill
(322) 255 55 55
3
Prentice Hall
(445) 222 55 44
4
John Wiley & Sons (444) 211 11 55
25
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
NULL (BOŞ)
Bir öznitelik için değerin bilinmediğini yada
varlık için uygulanabilir bir değer olmadığını
bildirir.
Tamamlanmamış yada kabul edilmeyen
bilgilerle başa çıkma yoludur.
26
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
NULL (BOŞ)
Null, bir değer değil, değerin yokluğunu
gösteren bir imdir.
Sayısal olarak “0” yada karakter olarak “ “ ‘a
eşdeğer değildir.
27
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
NULL (BOŞ)
Null olmadan durumu açıklamak için kullanıcı
için anlamlı olmayabilecek veriler eklemek
gerekebilir. Bu ise kullanıcıyı şaşırtacaktır.
28
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Dizin (Index) Dosyaları
Çok miktarda veri içeren dosyalarda istenen
verilerin aranıp, bulunması uzun zaman
alabilir.
Dizin dosyalarının amacı veritabanı
dosyalarındaki veriye doğrudan erişimi
sağlamaktır.
29
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Dizin (Index) Dosyaları
Başlık
ISBN
Başlık
YayıneviID
Fiyat
Advanced calculus
0-201-79803-4 Calculus : a complete course
1
55,00 YTL
Calculus
0-321-18923-X Calculus and its applications
1
29,00 YTL
Calculus
0-007-24243-2 Calculus
2 100,00 YTL
Calculus : a complete course
0-13-065265-2 Advanced calculus
3
25,00 YTL
Calculus and its applications
0-13-041531-6 Vector calculus
3
75,00 YTL
Calculus ve analitik geometri
0-13-030437-9 Multivariable calculus
3
49,00 YTL
Calculus with analytic geometry
0-471-40825-5 Calculus
4
68,00 YTL
Multivariable calculus
9-754-86934-8 Calculus ve analitik geometri
4
75,00 YTL
Vector calculus
0-13-736331-1 Calculus with analytic geometry
3
38,00 YTL
30
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Dizin (Index) Dosyaları
Bir tablo birden çok özniteliğe göre
düzenlemiş dizinlere sahip olabilir.
31
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Yazar Soyadı
Yazar Adı
Adams
Charles
Beatrous
David
YazarID Yazar Adı Yazar Soyadı Yazar Telefon No
1
Robert
Adams
(222) 335 25 22
2
Marvin
Bittinger
(222) 114 22 52
Bittinger
Deborah
3
Laurence Hoffmann
(333) 322 22 22
Bradley
Frank
4
Gerald
Bradley
(333) 554 44 44
Colley
George
5
Gerald
Folland
(555) 222 22 22
6
Susan
Colley
(233) 225 22 55
7
Frank
Beatrous
(255) 352 22 55
8
Deborah
Hughes
(333) 558 55 55
Laurence
9
Michael
Robert
(333) 558 55 55
Marvin
10
George
Thomas
(255) 555 44 66
11
Ross
Finney
(255) 557 44 77
12
Charles
Edwards
(322) 444 55 66
13
David
Penney
(333) 555 77 88
14
Richard
Madsen
(444) 111 88 11
Edwards
Finney
Folland
Hoffmann
Hughes
Gerald
Gerald
Michael
Madsen
Penney
Robert
Thomas
Richard
Robert
Ross
32
BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1
Dizin (Index) Dosyaları
Birincil anahtarın dizinine birincil dizin denir.
Diğer tüm dizinler ikincil dizin olarak
adlandırılır.
Bir dizin, bir anahtara bağlıysa bu dizine
benzersiz dizin denir.
33
Download

BTP102 - VERİTABANI YÖNETİM SİSTEMLERİ 1 Çok