Ekteki tablolara bakıp fikirlerinizi söyleyebilirmisiniz.Daha ileri gitmeden temelleri sağlam atmak istiyorum.Tabloları ölümcü hatalar konusuna dikkat ederek hazırlamaya çalıştım.Bu tablolar benim işimi görürmü,ilişkiler doğrumu yardımcı olursanız sevinirim.
Ben kısaca Sigorta acentesindeki işlemlerden bahsedeyim .
Müşteri kaydı 1 defa yapıldıktan sonra bu müşteriye değişik sigorta şirketlerinden poliçe düzenlenebilir düzenlenen poliçelerin peşin,senet,kredikartı ile ödemeleri yapılabilir.Müşteri herhangi bir guruba üye olabilir örneğin a firması çalışnaları sigorta yapılıyorsa birden fazla müşteri kaydı yapılabilir müşterilere gurup numarası verilebilir.Müşterilerle ilgilenen personel için temsilci numaraları sabit müşteri kaydında girilir ve bütün poliçelerde policeID,MüşteriID,GurupID bilgileri Başlangıç Bitiş Ve detaylar kaydedilir. Müşteriye ait bilgiler,poliçebilgileri,taksit ve ödeme bilgileri raporlanabilmeli bir guruptaki poliçeler,ödemebilgileri,taksit bilgileri, raporlanabilmeli .
Toblalar hakkında fikirlerinizi söyleyebilirmisiniz.
Gördüğüm kadarıyla yapınız güzel. İlişkiler de öyle. İsteklerinize cevap verecek nitelikte. Bu yapıyla bir sorun yaşamazsınız bence. Tabi daha doğru bir kanaat oluşturmak için 10-20 civarı kayıt oluşturup denemeniz daha doğru olur. Kolay gelsin...
Hızlıca şunu belirtmek isterim ki
ÇOK GÜZEL gidiyor elinize sağlık
detaylarına fırsat buldukça bakacağım
ancak daha sonra size sıkıntı yaratabilecek
bir konuyu madem işin başındasınız şimdiden
belirtmek istiyorum. Şu an yapılan YANLIŞ değildir
anlatacağım bir ÖNERİDİR
örneğin
musterıler tablosuna MUSTERI_ID koyuyoruz ( otomatik sayı ve anahtar )
policeler tablosuna da bunun bağlantısı olabilecek MUSTERI_ID ( sayı )
koyuyoruz buraya kadar bir problem yok
Bir sorgu üzerine her iki tabloyu çağırıp hesaplanmış bir alan ilştirdiğimizde örneğin şu kodu
yazdığımızda
Sorgu hata verecektir " Hangi MUSTERI_ID " ye bakayım " diye soracaktır
Bu nedenle kod aşağıdaki gibi olmalıdır
Tablolarınızı tasarlarken bunu baştan engelleyebilrisiniz
musterıler tablosuna MUSTERI_ID
policeler tablosuna da bunun bağlantısı olabilecek POLICE_MUSTERI_ID
Sonuçta görsel ipucunu kaybetmeden ( hangi alan hangi alanla ilişkili olacaktı ? ) sonraki dertlerden kurtulursunuz
Sonuç olarak alan adları için tavsiyem aşağıdaki gibidir.
MUSTER_ID
POLICE_MUSTERI_ID
HAREKET_MUSTERI_ID .... gbi
Kolay gelsin
Çalışmanızda başarılar dilerim
Tablo işkilerinde 3. ( üçüncü ) onay kutusunu çok dikkatli kullanın !
Örneğin müşteri kartı silindiğinde poliçeleri de sil demişsiniz ki
bu olmamalıdır. Policeler sonuçta tek başına bir anlam ifade
kayıtlardır ( mesela artık çalışmadığınız bir müşterinin eski poliçeleri
yaşmalarını sürdürmelidir ) 3. onay kutusu tam da tersine bir can
simididir : ALTINDA POLİÇE KAYDI OLAN HİÇBİR MÜŞTERİ KAYDI YOK EDİLEMEZ
gibi ... Bu gibi önemli noktalarda 3. onay kutusunu boş bırakın
Poliçe taksit ilşkisinde ardarda silme işlemi
doğru olabilir ancak ben yinede kayıtların aşağıdan
yukarıya yok edilmesi taraftarıyım ; önce taksitler, sonra policeler
en son müşteriler
Bir uygulamanın başarısının anahtarı kullanıcının minimum
düzeyde zeki olduğunu varsaymaktan geçer
Kolay gelsin
ÇOK GÜZEL gidiyor elinize sağlık
detaylarına fırsat buldukça bakacağım
ancak daha sonra size sıkıntı yaratabilecek
bir konuyu madem işin başındasınız şimdiden
belirtmek istiyorum. Şu an yapılan YANLIŞ değildir
anlatacağım bir ÖNERİDİR
örneğin
musterıler tablosuna MUSTERI_ID koyuyoruz ( otomatik sayı ve anahtar )
policeler tablosuna da bunun bağlantısı olabilecek MUSTERI_ID ( sayı )
koyuyoruz buraya kadar bir problem yok
Bir sorgu üzerine her iki tabloyu çağırıp hesaplanmış bir alan ilştirdiğimizde örneğin şu kodu
yazdığımızda
Kod:
Hesaplananalan:IIf([MUSTERI_ID]>0;"Evet";"Hayır")
Bu nedenle kod aşağıdaki gibi olmalıdır
Kod:
Hesaplananalan:IIf([MUSTERILER.MUSTERI_ID]>0;"Evet";"Hayır")
musterıler tablosuna MUSTERI_ID
policeler tablosuna da bunun bağlantısı olabilecek POLICE_MUSTERI_ID
Sonuçta görsel ipucunu kaybetmeden ( hangi alan hangi alanla ilişkili olacaktı ? ) sonraki dertlerden kurtulursunuz
Sonuç olarak alan adları için tavsiyem aşağıdaki gibidir.
MUSTER_ID
POLICE_MUSTERI_ID
HAREKET_MUSTERI_ID .... gbi
Kolay gelsin
Çalışmanızda başarılar dilerim
Tablo işkilerinde 3. ( üçüncü ) onay kutusunu çok dikkatli kullanın !
Örneğin müşteri kartı silindiğinde poliçeleri de sil demişsiniz ki
bu olmamalıdır. Policeler sonuçta tek başına bir anlam ifade
kayıtlardır ( mesela artık çalışmadığınız bir müşterinin eski poliçeleri
yaşmalarını sürdürmelidir ) 3. onay kutusu tam da tersine bir can
simididir : ALTINDA POLİÇE KAYDI OLAN HİÇBİR MÜŞTERİ KAYDI YOK EDİLEMEZ
gibi ... Bu gibi önemli noktalarda 3. onay kutusunu boş bırakın
Poliçe taksit ilşkisinde ardarda silme işlemi
doğru olabilir ancak ben yinede kayıtların aşağıdan
yukarıya yok edilmesi taraftarıyım ; önce taksitler, sonra policeler
en son müşteriler
Bir uygulamanın başarısının anahtarı kullanıcının minimum
düzeyde zeki olduğunu varsaymaktan geçer
Kolay gelsin
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 19/05/2009, 21:57, Düzenleyen: okileturc.
POLICE_MUSTERI_ID şeklinde vermek de ileride Sql yazarken bu kadar uzun alan adlarıya uğraşamam problemi çıkartabilir.
Bence tablolarda bir standart primary key adınız olması daha doğru olur. (Ben öyle kullanırım) Mesela ID tek başına yeterlidir.
İlişkili olan yerde MusteriID(ki ben olsam MusID tercih ederim) şeklinde kullanırsanız ileride yazacağınız sql'ler için kolaylık olur.
Bence tablolarda bir standart primary key adınız olması daha doğru olur. (Ben öyle kullanırım) Mesela ID tek başına yeterlidir.
İlişkili olan yerde MusteriID(ki ben olsam MusID tercih ederim) şeklinde kullanırsanız ileride yazacağınız sql'ler için kolaylık olur.
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
Descartes
Descartes
Sadece herkes tarafından anlaşılır olmak adına
yazdığım uzun ifadeler bazen böyle yanlış anlamalara da
sebebiyet verebilir. Yukarıda dediğim gibi siz 1000 tane olası
hatayı öngörürsünüz 1001 ciyi kullanıcı bulur çıkarır.
yazdığım uzun ifadeler bazen böyle yanlış anlamalara da
sebebiyet verebilir. Yukarıda dediğim gibi siz 1000 tane olası
hatayı öngörürsünüz 1001 ciyi kullanıcı bulur çıkarır.
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
İlginize teşekürler alanları düzenleyip formlara geçiyorum.
Konuyu Okuyanlar: 1 Ziyaretçi