Title: Veri tabani bilesenleri
1Veri tabani bilesenleri
- http//www.fatih.edu.tr/zcetin
2Veri tabani bilesenleri
- 1-tablolar
- a- kolonlar (alanlar field )
- b-kayitlar ( record )
- c- anahtarlar
- birincil anahtar primary key
- yabanci anahtar foreign key
- (ikincil anahtarsecondery key)
- 2-indexler
- 3- görünümler (view)
- 4- Store Procedure (SP)
- 5- Tetikleyiciler (triger)
-
-
3Tablolar
- Verilerin mantiksal olarak saklandigi
ortamlardir. - Tablolari adlandirirken tablonun içerigi ile
uyumlu olmasina dikkat etmek gerekir. - Btp bölümü muhasebe
bölümü - Btp_dersler muh_derslik
- Btp_ögrenci muh_ögretmen
-
4Kolonlar
- ayni konu ile ilgili verilerin toplandigi kisim
- Kolonlar adlandirilirken, içerdigi veriyi temsil
edebilmeli - Ait oldugu tabloyu temsil etmeli (join
islemlerinde birlestirilen tablolardaki ayni
adlar çakisir) - Veri tipleri belirlenmeli
- Btp_dersler btp_ogrenci
- Dr_kodu otomatik ogr_kodu
metin(8) - Dr_adi metin(50) ogr_adi
metin(20) - Dr_donemi integer ogr_soyadi
metin(20)
5Kayitlar
- bir tabloya ait tüm kolonlarini içeren veriler
kümesi - Çift kayit olmamasina dikkat edilmeli
- Ayni numarali tek ögrenci olmali
- btp_ogrenci
- ogr_kodu ogr_adi
ogr_soyadi08020512 mustafa akyol - 08020525 mustafa armagan
- 08020512 ahmet selim
6Anahtarlar (birincil)
- her tablonun en az 1 tane birincil anahtari
olmali - Her bir kaydi digerlerinden ayirmali
- Tekrar etmeyen (tekunique) ve bos geçilemez
- btp_ogrenci
- ogr_kodu ogr_adi
ogr_soyadi08020512 mustafa akyol - 08020525 mustafa armagan
- 08020515 ahmet selim
- ?? Birincil anahtar hangisi olmali
7Anahtarlar (yabanci)
- iki tablo arasindaki iliskiyi tanimlar
- Ana tabloda birincil anahtar olan alan
- Veri türü tutarsiz olmamali (int?int)
-
- Btp_dersler
btp_donem - Dr_kodu otomatik dn_kodu
integer - Dr_adi metin(50) dn_adi
metin(20) - Dr_donem_kodu integer
8indexler
- tablo içindeki kayitlara,bir veya daha çok
sayida alanin içerdigi veri baz alinarak hizli
erisim saglayan nesneler - Arama yapilirken tüm kayitlara bakilmaksizin
istenen bilgiye daha kolay ulasilir - -kitap indexleri
- -mahalle muhtari indexi
9Görünüm(view)
- bir veya birden fazla tablodan verileri çekmek
için bir SQL cümlesi ile olusturulan sanal bir
tablodur - Bu tablo veya tablolara kayit eklendikçe, ilgili
view'da kayitlar güncellenir - View'daki bilgiler veritabaninda depolanmaz,
ilgili tablolardan alinir. - Adi üstünde görünüm(ekleme,silme,güncelleme
yapilmaz,sadece sorgu çekilir-select- )
10Görünüm(view)
Btp_dersler
btp_donem Dr_kodu otomatik
dn_kodu integer Dr_adi
metin(50) dn_adi
metin(20) Dr_donem_kodu integer Vw_dersler Dr
_kodu dr_adi
dr_donem_kodu dn_adi
203 Veri tabani 2 2
2006-2007 güz
11Sakli yordamlar(SP)
- Sunucu tarafinda derlenmis olarak tutulan SQL
kümesi - Bu küme içerisinde gönderilen parametreler ile
birden fazla SQL sorgusu gerçeklestirilebilir - SPler olusturulduktan sonra sadece ilk
çalistirildiklarinda bir kez derlenir ve
derlenmis hali hafizada tutulur.(SQL sorgulari
çalisma zamaninda sunucu tarafindan derlenir) - !!Uygulamlar içerisinden direkt SQL sorgusu
yollamak yerine sunucu tarafinda daha evvel
tanimladigimiz SPleri çagirarak performansi
arttirabiliriz
12Sakli yordamlar(SP)
- CREATE PROCEDURE sp_musteri_siparis _at_musteriID
nchar(5) - AS
- SELECT siparisID,
- siparisTarih,
- teslimTarihi
- FROM Siparis
- WHERE musteriID _at_ musteriID
- ORDER BY siparis ID
- GO
13Tetikleyiciler(triger)
- Bir tablo üzerinde degisiklik gerçeklestiginde
(UPDATE, INSERT, DELETE) tetikçileri daha
evvelden tanimlamis oldugunuz eylemi
gerçeklestirirler - silme islemi gerçeklestirildiginde ayni kayit
uzantilarinin diger tablolardan silinmesini
saglamak (ders silersen, ögrencinin aldigi
dersler tablosunda da silinmesi ) - yeni bir kayit girildiginde ilgili kisiye mail
atilmasini saglamak gibi. (siteye üye oldunuz
hosgeldiniz maili geliyor hemen )
14Örnek veri tabani tasarimi
- Kütüphane arsiv bilgileri
- Kitaplar
- Yazarlar
- Yayin evleri
- Okuyucular
15Örnek veri tabani tasarimi
- Kütüphane arsiv bilgileri
- Kitaplar
- Yazarlar
- Yayin evleri
- Okuyucular
16Kitaplar
kolan adi veri türü açiklama
kitapID otomatik sayi her kitaba ait ID numarasi Vt tarafindan otomatik verilir.çift kayda izin vermemek için
kitapKodu metin(10) ilk 3 (türünü),2. üç (dilini), 3. 4 (yayin tarihi) // 00102098
KitapTurID sayi Turler tablosundaki türü karsilik gelen ID
kitapDilID sayi Diller tablosundaki dile karsilik gelen ID
kitapYayinTarihi tarih kitabin yayinlanma tarihi
kitapYayineviID sayi Yayinevleri atblosundaki yayinevine karsilik gelen ID
kitapSayfaSayisi sayi
KitapFiyati para / ondalik
KitapYazarID sayi yazarlar tablosundaki yazara karsilik gelen ID
17Yazarlar
kolan adi veri türü açiklama
yazarID otomatik her yazara ait ID numarasi Vt tarafindan otomatik verilir.çif kayda izin vermemek için
yazarAdi metin(50)
yazarTel metin(11)
18Yayinevleri
kolan adi veri türü açiklama
yyID otomatik her yayinevine ait ID numarasi Vt tarafindan otomatik verilir.çif kayda izin vermemek için
yyAdi metin(50)
yyTel metin(11)
yyAdresi metin(250)
19okuyucular
kolan adi veri türü açiklama
okuyucuID otomatik her okuyucuya ait ID numarasi Vt tarafindan otomatik verilir.çif kayda izin vermemek için
okuyucuAdi metin(50)
okuyucuTel metin(11)
okuyucuAdresi metin(250)
20okuyucular
kolan adi veri türü açiklama
okuyucuID otomatik her okuyucuya ait ID numarasi Vt tarafindan otomatik verilir.çif kayda izin vermemek için
okuyucuAdi metin(50)
okuyucuTel metin(11)
okuyucuAdresi metin(250)
21Türler ve diller
kolan adi veri türü açiklama
turler
turID otomatik
turAdi metin(50)
kolan adi veri türü açiklama
diller
dilID otomatik
dilAdi metin(25)
22Okuyunan kitaplar
kolan adi veri türü açiklama
okunanKitaplar
okID otomatik
kitapID sayi
okuyucuID sayi
alinmaTarihi tarih
teslimTarihi tarih