Professional Documents
Culture Documents
Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci
normal formu Aşağıdaki tablo ile ele alacağız.
1
Normalleştirme ve Uygulaması
Eğer Müşteri bir defa alışveriş yapmışsa yapılan alışveriş silindiğinde tüm müşteri kaydı
silineceğinden bu kayıttaki müşteri biliglerine birdaha ulaşılamaz.
Güncelleştirme Sorunu:
Eğer Müşterilerden birinin oturma adresi değişirse bu tablodaki bu müşteri ile ilgili tüm
kayıtlar gü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.
Müşteri tablosuna bir il eklemek istediğinizde mantıken bir müşteri eklemek gerekir.
2
Normalleştirme ve Uygulaması
Müşteri silindiğinde (Örn: Gökmen İmamoğlu) müşterinin oturduğu şehir ve şehirle ilgili
plaka verisi de silinebilir
Bu sorunları Düzeltmek için Üçüncü Normal form uygulanır. Üçüncü Normal Form İkinci
Normal Form yapısındaki Tabloların Fonksiyonel bağımlılık içermese de alt tablolara
bölünmesinden elde edilir.
3
Master Details Formlar Oluşturmak
Beyaz eşya satışı yapan bir firmanın sattığı ürünler için fatura kesme işleminde
kullanılacak bir veritabanı yapısı oluşturulmak istenmektedir aşağıdaki örnekte bu işe
yarayan bir veritabanının nasıl hazırlanacağı adım adım anlatılmaktadır.
Öncelikle veritabanında yer alan tabloları aşağıdaki bilgiler ışığında tanımlamamız gerekir
1) Müşteri Tablosu
tblMusteri
MusteriID Long Integer
Adi Text 25
Soyadi Text 25
Adresi Text 250
TelefonNumarası Text 15
InputMas \(999") "000\ 00\
k: 00;;_
Eposta Text 50
4
Master Details Formlar Oluşturmak
2) Ürün Tablosu
tblUrun
UrunID Long Integer
Adi Text 50
Kodu Text 50
Fiyati Currency
Format: #,##0.00" TL";-#,##0.00"
TL"
5
Master Details Formlar Oluşturmak
3) Fatura Tablosu
tblFatura
FaturaID Long Integer
MusteriID Long Integer
Adres Text 250
Tarih Date/Time
InputMask: 00/00/0000;0;_
FaturaNumarasi Text 10
tblFaturaDetay
FaturaDetay Long
ID Integer
FaturaID Long
Integer
UrunID Long
Integer
Adet Long
Integer
6
Master Details Formlar Oluşturmak
MusteriID Caption’ına Adı Soyadı bilgisinin girilmesi ile bundan sonra Tabloda
MusteriID ifadesinin Görünmesi Yerine Adı Soyadı Bilgisinin Görünmesini Sağlamış
oluyoruz ve Dolayısıyla bundan sonra yaratacağımız tüm Rapor, Form ve Sorgularda
Listeleme Anında başlık olarak girdiğimiz Başlık Metni görüntülencektir. (Önemli not:
Sorgularda başlıkta görülen değil Tablonun tanımında kullanılan hali ile alan ismi
kullanılmalıdır
Örneğin:
2) İkinci Adım olarak MusteriID alanında iken Lookup (Arama) tabına geçiyoruz. Bu
alanda
öncelikle Display Kontrol kutucuğundaki Text Box tanımını Combo Box haline getirmemiz
gerekmektedir.
7
Master Details Formlar Oluşturmak
Daha sonra Row Source satırına SELECT Adi, Soyadi, MusteriID FROM tblMusteri
SQL komutunu giriyoruz
8
Master Details Formlar Oluşturmak
listeleme durumu için Column Counta 2 değerini verdiğimizde bu SQL Cümlesinden dönen
sonuçlardan sadece ilk iki kolondaki verileri metin olarak yani Adı Soyadı olarak Listele
demiş oluyoruz.
Dikkat edilecek olursa yukarıdaki Şekil 9’da veri girerken listeden isim soyad seçilmiş
olmasına rağmen kayıt girildikten sonra tblonun genel listesinde sadece adı alanı
görüntülenmektedir bu durumu düzeltmek için Fatura tablosundaki MusteriID alanında
küçük bir değişiklik gerekmektedir. Bu değişiklik Şekil 10 da gösterilmektedir. Row source
kutucuğundaki SQL cümlesinde bir alan birleştirme işlemi
9
Master Details Formlar Oluşturmak
uygulanmaktadır. Ancak bu işlem yapıdıktan sonra Adı ve Soyadı alanları tek bir alan
haline gelmiş oldukları için listlenen kolon sayısı değişmiştir bu nedenle MuşteriID nin
listelem sırası olan 2 Row Source alanına değer olarak verilmeli ve listelenecek kolon
sayısı bilgisi içinse sadece ilk kolonu listelemek için 1 değeri girilmelidir.Bu düzeltmeler
yapıldıktan sonra Fatura tablosu durumu aşağıdaki şekilde verilmiştir.
10
Master Details Formlar Oluşturmak
Form Oluşturmak:
Form oluşturmak için öncelikle Form Tabına geçmeliyiz.
Create Form by using wizard komutunu verin. Komutu verince aşağıdaki dialog kutusu
karşınıza çıkacaktır.
11
Master Details Formlar Oluşturmak
Ekran bu halde iken Next tuşuna basılır. Bu komut verildikten sonra dilaog aşağıdaki gibi
görünür.
12
Master Details Formlar Oluşturmak
Ekran da seçenekler belirir datasheet bu işlem için uygun bir seçenektir. Bu durumda
Next tuşuna basılır.
Form için uygun bir stil seçilir ve Next tuşuna basılır. Aşağıdaki Dialog kutusunda Form
alanında İsmi frmFatura ve Subform alanına frmFaturaDetay Subform yazın ve Finish
tuşuna basın.
13
Master Details Formlar Oluşturmak
14
Master Details Formlar Oluşturmak
15