220 likes | 545 Views
Veri tabanı bileşenleri. http://www.fatih.edu.tr/~zcetin. Veri tabanı bileşenleri. 1-tablolar a- kolonlar (alanlar = field ) b-kayıtlar ( record ) c- anahtarlar birincil anahtar = primary key yabancı anahtar = foreign key (ikincil anahtar=secondery key)
E N D
Veri tabanı bileşenleri http://www.fatih.edu.tr/~zcetin
Veri tabanı bileşenleri 1-tablolar a- kolonlar (alanlar = field ) b-kayıtlar ( record ) c- anahtarlar birincil anahtar = primary key yabancı anahtar = foreign key (ikincil anahtar=secondery key) 2-indexler 3- görünümler (view) 4- Store Procedure (SP) 5- Tetikleyiciler (triger)
Tablolar Verilerin mantıksal olarak saklandığı ortamlardır. Tabloları adlandırırken tablonun içeriği ile uyumlu olmasına dikkat etmek gerekir. Btp bölümü muhasebe bölümü Btp_dersler muh_derslik Btp_öğrenci muh_öğretmen
Kolonlar aynı konu ile ilgili verilerin toplandığı kısım Kolonlar adlandırılırken, içerdiği veriyi temsil edebilmeli Ait olduğu tabloyu temsil etmeli (join işlemlerinde birleştirilen tablolardaki aynı adlar çakışır) 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)
Kayıtlar bir tabloya ait tüm kolonlarını içeren veriler kümesi Çift kayıt olmamasına dikkat edilmeli Aynı numaralı tek öğrenci olmalı btp_ogrenci ogr_kodu ogr_adi ogr_soyadi08020512 mustafa akyol 08020525 mustafa armağan 08020512 ahmet selim
Anahtarlar (birincil) her tablonun en az 1 tane birincil anahtarı olmalı Her bir kaydı diğerlerinden ayırmalı Tekrar etmeyen (tek=unique) ve boş geçilemez btp_ogrenci ogr_kodu ogr_adi ogr_soyadi08020512 mustafa akyol 08020525 mustafa armağan 08020515 ahmet selim ?? Birincil anahtar hangisi olmalı
Anahtarlar (yabancı) iki tablo arasındaki ilişkiyi tanımlar Ana tabloda birincil anahtar olan alan Veri türü tutarsız olmamalı (intint) Btp_dersler btp_donem Dr_kodu otomatik dn_kodu integer Dr_adi metin(50) dn_adi metin(20) Dr_donem_kodu integer
indexler tablo içindeki kayıtlara,bir veya daha çok sayıda alanın içerdiği veri baz alınarak hızlı erişim sağlayan nesneler Arama yapılırken tüm kayıtlara bakılmaksızın istenen bilgiye daha kolay ulaşılır -kitap indexleri -mahalle muhtarı indexi
Görünüm(view) bir veya birden fazla tablodan verileri çekmek için; bir SQL cümlesi ile oluşturulan sanal bir tablodur Bu tablo veya tablolara kayıt eklendikçe, ilgili view'da kayıtlar güncellenir View'daki bilgiler veritabanında depolanmaz, ilgili tablolardan alınır. Adı üstünde görünüm(ekleme,silme,güncelleme yapılmaz,sadece sorgu çekilir-select- )
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 tabanı 2 2 2006-2007 güz Görünüm(view)
Saklı yordamlar(SP) Sunucu tarafında derlenmiş olarak tutulan SQL kümesi Bu küme içerisinde gönderilen parametreler ile birden fazla SQL sorgusu gerçekleştirilebilir SP’ler oluşturulduktan sonra sadece ilk çalıştırıldıklarında bir kez derlenir ve derlenmiş hali hafızada tutulur.(SQL sorguları çalışma zamanında sunucu tarafından derlenir) !!Uygulamlar içerisinden direkt SQL sorgusu yollamak yerine sunucu tarafında daha evvel tanımladığımız SP’leri çağırarak performansı arttırabiliriz
Saklı yordamlar(SP) CREATE PROCEDUREsp_musteri_siparis @musteriID nchar(5) AS SELECT siparisID, siparisTarih, teslimTarihi FROM Siparis WHERE musteriID = @ musteriID ORDER BY siparis ID GO
Tetikleyiciler(triger) Bir tablo üzerinde değişiklik gerçekleştiğinde (UPDATE, INSERT, DELETE) tetikçileri daha evvelden tanımlamış olduğunuz eylemi gerçekleştirirler silme işlemi gerçekleştirildiğinde aynı kayıt uzantılarının diğer tablolardan silinmesini sağlamak (ders silersen, öğrencinin aldığı dersler tablosunda da silinmesi ) yeni bir kayıt girildiğinde ilgili kişiye mail atılmasını sağlamak gibi. (siteye üye oldunuz hoşgeldiniz maili geliyor hemen )
Örnek veri tabanı tasarımı Kütüphane arşiv bilgileri Kitaplar Yazarlar Yayın evleri Okuyucular
Örnek veri tabanı tasarımı Kütüphane arşiv bilgileri Kitaplar Yazarlar Yayın evleri Okuyucular