Professional Documents
Culture Documents
Varlık-İlişki Şemaları
YurtAdı
YurtAdı YURTTA-KALMA ÖğrenciNo
Yer
Kirası
OdaSayısı ÖğrenciAdı ÖğrenciSınıfı
1
Varlık-İlişki Şemaları
Varlık-İlişki Şemaları
Yaşı
Cadde
Apartman
2
Varlık-İlişki Şemaları
Varlık-İlişki Şemaları
Hesap No Bakiye
Adres
1:1 Hesap
Müşteri
SSK NO
MüşHes
Adı Tarih
3
Varlık-ilişki şemalarının tablo haline
dönüştürülmesi Adı SSk No Adres
Müşteri={SskNo, adı,adres}
Hesap No Bakiye
Hesap={Hesap No, Bakiye}
Varlık-İlişki Şemaları
4
Varlık-İlişki Şemaları
z Bir müşteri birden fazla otomobile sahip olabilir ve her
otomobil modeline birden fazla müşteri sahip olabilir.
z Bu durumda otomobiller ve müşteriler arasındaki ilişki
çoktan-çoğa biçimindedir.
z Bu ilişkinin varlık-ilişki şemasını çiziniz.
Varlık-İlişki Şemaları
Sahip
M:N Otomobil
Müşteri
Sahip
10
5
Varlık-İlişki Şemaları
z Müşteri={müşteri no, adı}
z Otomobil={oto model, renk}
z Sahip={müşteri no, oto plaka, tarih}
z Sahip isimli ilişkiye dayanarak aşağıdaki tablo oluşturulabilir.
11
Varlık-İlişki Şemaları
TAKIM
1
Oynar
OYUNCU
İSİM
Performans
Yaş
Puanı
12
6
İlişkisel Model
z İlişkisel model, günümüzde en yaygın
biçimde kullanılan bir modeldir.
z İlişkisel model varlıklar arasındaki bağlantının
içerdiği değerlere göre sıralanması esasına
dayanır.
z Bu yaklaşımda veri tabanındaki tüm ilişkiler
tablolar biçiminde tanımlanmaktadır.
13
7
Tablonun özellikleri
z Tablolar sütunlardan oluşur.
z Her bir sütunun ayrı bir adı vardır.
z Her bir sütun aynı niteliğin tanımladığı aynı
etki alanının belirlediği değerleri içerir.
z Satırların ve sütunların sırası önemsizdir.
z Her bir satır birbirinden farklıdır.
15
16
8
Nesneler ve Şemalar
z Programlama dillerindeki tip ve değişkenlere benzerler
z Şema (Schema) – Veritabanının mantıksal yapısı
z Örnek: Veritabanı,Müşteri ve hesap bilgileri ile bunlar arasındaki ilişkiyi
barındıran bir kümedir.
z Fiziksel Şema (Physical schema): Fiziksel düzeyde veritabanı
tasarımı(Dosyanın sabit dikteki yeri, büyüklüğü..)
z Mantıksal Şema (Logical schema): Mantıksal düzeyde veritabanı tasarımı
(veri alanları, ilişkiler)
z Nesneler (Instance) – Zamandaki herhangi bir noktadaki veritabanı
içersindeki içerik.
z Bir değişkenin değerine benzemektedir.
z Fiziksel Veri Bağımsızlığı (Physical Data Independence) – Mantıksal
şemayı değiştirmeden fiziksel şemayı değiştirme kabiliyeti
z Uygulamalar mantıksal şemaya bağlıdır.
z Genelde , değişik katmanlar ve bileşenler arasındaki arabirimler öyle
tanımlanmalıdırki bazı bölümlerin değiştirilmesi diğerlerini fazla etkilememeli.
17
VERİTABANI ÖRNEĞİ
Uygulama Programı
1
ALT ŞEMA
A
Uygulama Programı
2
FFİZ
İZİKSEL
İKSEL MANTIKSAL Uygulama Programı
ŞŞEMA
EMA ŞEMA 3
ALT ŞEMA
B
VERİ
VERİTABANI ŞEMALARI Uygulama Programı
4
FİZİKSEL
VERİ
VERİTABANI KULLANICILAR
18
9
VERİ MODELLERİ
z Asağıdakilerini tanımlayan araç topluluğu
z Veri (Data)
z Veri İlişkileri (Data relationships)
z Veri Kısıtlamaları (Data constraints)
z İlişkisel Model (Relational model)
z Varlık-ilişki veri modeli (Entity-Relationship
data model) (Coğunlukla veri tabanı dizaynı
için)
19
İlişkisel Veritabanı
•İlişkisel veritabanı ilişkisel model bazlıdır.
•Veri etrafındaki bilgi ve ilişkiler tablolar tarafından gösterilir
Öznitelikler (Attributes)
20
10
İlişki Gösterimi
z İlişkinin o anki değerleri (relation instance) bir tablo tarafından
gösterilir.
z r deki bir t elemanı bir değerdir ve tablodaki bir satır (row) ile
gösterilir.
z Değerlerin sırası önemli değildir. (Değerler keyfi sırada olabilir)
21
Veritabanı
z Bir veritabanı birden fazla ilişkiye sahiptir.
z Bir şirketin bilgisi birden fazla parçaya bölünmüştür, her parça bilginin bazı
bölgelerini ilişkilendirir
account : hesaplar hakkındaki bilgiyi tutar.
depositor : hangi müşterinin hangi hesabı tuttuğunu gösteren bilgiyi
saklar
customer : müşteri hakkındaki bilgileri tutar
11
TEMEL KAVRAMLAR
z Alan(Field) : Veritabanı tabloları içerisinde saklanacak verinin içeriğine
göre, fiziksel tipi belirlenen (Sayı,String vb.) ve isimlendirilen bölümlere
denir.(Örnek : Bir field içerisinde bir iş yerindeki personele ait "isim"
bilgisi saklanacak ise, programın kontrolü açısından alan(field)
ismininde içerik ile ilgili seçilmesi tercih edilir yani "PersonelIsim" veya
benzer bir alan(field) ismi seçilmelidir.
24
12
BİRİNCİL VE YABANCI ANAHTAR
BİRİNCİL ANAHTAR
BÖLÜM
B_no isim
1 muhasebe
2 insan kaynakları
3 IT
YABANCI ANAHTAR
ÇALIŞANLAR
Calısan_no B_no isim
1 2 Nora Edwards
2 3 Ajay Patel
3 2 Ben Smith
4 1 Brian Burnett
5 3 John O'Leary
6 3 Julia Lenin
25
Fonksiyonel Bağımlılık
z R’nin ilişkiyi(relation) ;
z A ve B’nin bir attribute yada attribute setini
temsil ettiğini düşünelim.
z Eğer R ilişkisinde her bir A değeri , tam
olarak bir B değerine işaret ediyorsa ;
z B, A ya fonksiyonel olarak bağımlıdır
diyebiliriz
z A -> B (A fonksiyonel olarak B’yi tanımlar.)
26
13
Fonksiyonel Bağımlılık
ID İSİM ŞEHİR
123 Ahmet Ankara
324 Derya Ankara
574 Derya İstanbul
z Kişiler tablosu ile ilgili neler söyleyebiliriz?
27
Fonksiyonel Bağımlılık
28
14
Normalleştirme
z İlişkisel veritabanı oluşturmak için normalleştirmeyi
bilmek çok önemlidir.
z Normalleştirme veri kayıplarını engellemek, verinin
tekrarını azaltmak, silme, güncelleme eklemede çıkan
zorlukları en aza indirmek icin yapılan operasyonlar
toplamidir
z Amac veritabanına etkinlik kazandırmaktır.
z Herhangi bir tablonun tekrarlı veriler içerdiği duruma
birinci normal form denir.
z Birinci normal formdaki bir tabloda tekrarlayan sütunlar
bulunmamalıdır.
29
30
15
Birinci Normal Form
z Satır Ekleme Sorunu: Böyle bir tabloda ancak yeni
bir ürün satın alıdığında yeni bir müşteri eklenir eğer
alış veriş yoksa mantıksal olarak müşteri eklemek
boş kayıt eklemekle aynı anlama gelir.
z Güncelleştirme Sorunu: Eğer Müşterilerden birinin
oturma adresi değişirse bu tablodaki bu müşteri ile
ilgili tüm kayıtlargüncellenmelidir örneğimizde 5 kayıt
olmasına rağmen büyük bir veri tabanında böyle
küçük bir değişiklik için bile binlerce kayıdı
güncellemek gerekir.
31
16
İkinci Normal Form
34
17
Üçüncü Normal Form
35
36
18
Beşinci Normal Form
z Tablolar, Tekrarlayan satırlar veya Tekrarlayan Sütunlar
İçermemelidir.
37
ÖRNEK (1NF)
Çalışanlar (1NF)
isci_no isim Bölüm_no Bölüm_adı Bildiği Programla
1 Kevin Jac obs 201 R&D C
1 Kevin Jac obs 201 R&D Perl
1 Kevin Jac obs 201 R&D Java
2 Barbara Jones 224 IT Linux
2 Barbara Jones 224 IT Mac
3 Jake Rivera 201 R&D DB2
3 Jake Rivera 201 R&D Orac le
3 Jake Rivera 201 R&D Java
38
19
2NF
Çalışanlar (1NF)
isci_no isim Bölüm_no Bölüm_adı Bildiği Programla
1 Kevin Jacobs 201 R&D C
1 Kevin Jacobs 201 R&D Perl
1 Kevin Jacobs 201 R&D Java
2 Barbara Jones 224 IT Linux
2 Barbara Jones 224 IT Mac
3 Jake Rivera 201 R&D DB2
3 Jake Rivera 201 R&D Orac le
3 Jake Rivera 201 R&D Java
3NF
Çalışanlar(2NF)
isci_no isim Bölüm_ Bölüm_adı
1 Kevin Jac obs 201 R&D
2 Barbara Jones 224 IT
3 Jake Rivera 201 R&D
40
20
Örnek
Normalize edilmemiş tablo
ÖğrenciNo Danışman Danış.Odası Ort1 Ort2 Ort3
-------------------------------------------------------
1022 Ahmet 412 60 70 67
4123 Derya 216 56 80 70
Ortalama alanında olduğu gibi tekrarlayan alanlar olmamalıdır.
1NF
Öğrenci No Danışman Danışman Odası Ort
1022 Ahmet 412 60
1022 Ahmet 412 70
1022 Ahmet 412 67
4123 Derya 216 56
4123 Derya 216 80
41
2NF
z Tekrarlayan veriler tabloda yer almamalıdır.
42
21
3NF
z Bir anahtara bağlı olmayan veri tablodan
çıkartılmalıdır.
z Danışman odası alanı, Danışman alanına
fonksiyonel bağımlıdır.
z İstenirse bu alan öğrenci tablosundan
çıkartılabilir
43
44
22
1NF
45
2NF
Müş.No Müş.Adı Müş.No İşlemNo KiraBaşl. KiraBitiş
46
23
3NF
47
3NF(TÜM TABLOLAR)
Müş.No İşlemNo KiraBaşl. KiraBitiş
Müş.No Müş.Adı
48
24