Tablo tasarımı ve ilişkilendirme
Tarih
17/01/2011 17:31
Konu Sahibi
Hayri16
Yorumlar
18
Okunma
9616
Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 5/5 - 1 oy



Hayri16
Aktif Üye
Kullanici Avatari
Aktif Üye
1.010
12/11/2009
291
Bursa
Ofis 2007
22/12/2015,15:41
Access'in temeli bildiğiniz gibi tablolardır. Bütün işlemler Tablolar ve Alanları üzerinde yapılmaktadır.
Bu nedenle tabloların programın başından iyi tasarlanması işlerimizi kolaylaştıracağı gibi
programdan alacağımız verimi de arttıracaktır. Yeni başlayan arkadaşlarımız için bu olayı resimlerle
örnekleyerek anlatmaya çalışacağım.

Bir firmamız var. Bu firmada çeşitli görevlerde olan personel var. Bu personel zaman zaman belirli eğitim
seminerlerine , kurslara gidip geliyor. Personelle ilgili bu kurs kayıtlarını tutacak bir veritabanının
tablo yapısını tasarlamamız istendi.

Önce bizden istenen ne varsa onları yazalım:
Adı - Soyadı- TCNo - babaadı- Doğum tarihi- İli - Yabancıdili - Görevi- Kurs adı- Başladığı tarih -
Bittiği tarih. Tüm bu bilgilerle elimizde şu yapıda bir tablo olur.

resim

Bu tablodaki verilerimizde şimdilik bir sorun yok gibi görünüyor. Ama personel Bir başka kursa gitmek
istediğinde , bu tablo yapımıza göre şöyle bir kayıt eklememiz gerekecek:

resim

Bir çok bilgiyi tekrar girmek zorunda kaldık. Düşünün bu şekilde yüzlerce kayıt ekleyeceğimizi... O halde
bizim bu şekilde ki bir tablo yapımız pek işlevsel değil. O zaman ne yapalım?
Tablomuzun "hareketli parçalarını" yani değişebilir verileri ana tablomuzdan ayıralım.
Bu durumda elimizde şöyle bir tablo kalır.

resim

Şimdi bu tabloya baktığımızda bazı alanların sıkça tekrarlandığını görüyoruz. Nedir bu alanlar. İli ve
yabancı dil alanları. Nasıl daha kolay yaparız? Bu alanları ayrı tablo yapıp, verileri oradan bu
tabloya ilşkilendirerek. Önce bu iki alanı ayrı tablo yapalım:

resim

resim

Sonra ana tablomuzdaki ili ve yabancıdili alanlarının veri tipini sayı haline getirip adlarını da ilno ve
dilno yapıyoruz. Buralara il ve dil tablosundan ilgili kaydın id numarasını aktaracağız.
Sonuçta tablomuz şu hale geliyor:

resim

Buradaki işlemimizi tamamlamış gibiyiz. Şimdi gelelim hareketli olan bölümümüze.

resim

Durum bu şekilde idi.
Bunu da bir tablo haline getiriyoruz. Buna bir de kisino diye sayısal alan ekliyoruz. Neden? Bu
bilgilerin hangi personele ait olduğunu bilmek için. kisino alanına , bu bilgiler hangi personele aitse onun
id sini yazacağız. Şimdi durum aşağıdaki gibi oldu:

resim

Görüldüğü gibi burada da tekrarlanan alanlar var. Bunlar görev ve kurs alanları. Daha önce yaptığımız
gibi bu alanları da tablo haline getirip , bu tabloyla ilişkilendirelim.

resim

resim

Yine bu bağlantı kuracağımız alanları sayısal alan haline getirip , tablolardan ilgili kayıtların id
lerini aktaralım.

resim

Tablomuzun yapısı bu şekilde oldu. En başa gelip o 2 personeli eklemek istediğimizde
yapacağımız iş sadece aşağıdaki gibi olacaktır.

resim

Ne kadar kolaylık değil mi?
Bundan sonra istediğimiz işlemleri, sorguları bu şekilde daha güvenli, daha verimli ve daha kısa zamanda
yapmamız mümkün.
Tablolarımızın ilişki durumu da şöyle:

resim

Son olarak:
1- Tablolarımızda değişebilen alanlarını ayrı tablo.
2- Tekrarlanan alanlarını ayrı tablo yapmalıyız.
3- Tablo ve Alan isimlerinde mümkün olduğu kadar (maalesef) Türkçe karakter ve boşluk kullanmamalıyız.
4- Otomatik sayı alanı mutlaka tablolarımızda olmalı.

Umarım yararlı olmuştur.
İyi çalışmalar.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
5.978
29/10/2008
Ordu
Ofis 2013 32 Bit
Bugün,17:57
Teşekkürler sayın Hayri16. Özellikle en son satırdaki bahsettiğiniz Otomatik Sayı'nın önemine dikkat etmek lazım.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla


Coskun0559
Uzman
Kullanici Avatari
Uzman
C.... Ç....
1.222
02/11/2008
505
Tekirdağ
-
30/11/2016,17:15
teşekkürler hayri hocam
GERİ SAYIM;Sen doğduğunda başladı ! Eğer (9) canlı bile olsaydın en fazla (8) kez kaçabilirdin Ölümden ! Bil ki (7) Düvele sultan dahi olsan yerin (6) Mekan olacak sana. En fazla (5) Metre kumaş götürebileceksin ! Kapatacaksın (4) açsanda gözlerini ! Bu (3) günlük fani dünyada Azraile (2) kat olup yalvarsanda nafile EceL geldiğinde (1) gün öleceksin ! İşte, o an herşey (0) dan başlayacak. Çünkü,
ÖLÜM BİR YOK OLUŞ DEĞİL,YENİDEN DOĞUŞTUR !
Cevapla


okileturc
Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Tşk elinize sağlık
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


assenucler

Kullanici Avatari
Onursal
A.... S.... Ş....
2.052
31/10/2008
63
İstanbul
-
29/11/2016,00:04
Sayın Hayri16;

İyi akşamlar..

Bir çok arkadaşımıza yararlı olacak bu bilgilendirmeniz için teşekkürler.

Her şey gönlünüzce olsun..

Sevgi ve saygılar...
Cevapla


benremix
Uzman
Kullanici Avatari
Uzman
R.... S....
4.432
17/05/2009
365
Ankara
Ofis 2010
Dün,09:18
Sn Hayri hocam çok yararlı bilgiler sizin anlatımınızla daha bir anlaşılır olmuş. Ellerine sağlık.
alkisalkisalkis

Saygılar...

+rep
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi 


Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  İlişkisel Veritabanı Tasarımı mesudi 13 17.904 20/09/2014, 16:50 ozi1977
  Tablo Verileri 4 Tablolar Arasinda İlişki Tanımlama accessdelisi 0 1.365 14/05/2014, 18:55 accessdelisi
  İlişkisel Veritabanı Tasarımı (e-Book) mesudi 4 4.722 25/04/2013, 15:13 PENTAGRAM1334
  sorgu üzerinde ilişkilendirme firdevs 3 2.208 26/06/2011, 15:55 rüzgar54
Lightbulb Uygulama tasarımı 2 ( Raporlar ) okileturc 11 4.784 25/06/2011, 13:59 boolean_


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya