Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Tek Seferde İlişkili Tüm Tablolarda Güncelleme Sorunu [ÇÖZÜLDÜ]
#11
ChangeoveR,

Tek kelimeyle harikasınız,bayıldım bayıldım bayıldım. 

Çok ama çok teşekkürler... Heart Heart Heart

Konuya yanıt verip,bana yardımcı olmaya çalışan herkese teşekkür ederim.
Cevapla
#12
(21-02-2019, Saat: 17:19)ChangeoveR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.veritabanınızda milyonluk satırlara sahip olmadığınız sürece ID alanının ille de autoincrement olması beklenmez ancak bu alanın baştan böyle tasarlanması geleceğe güvenle bakmanızı sağlar.

statik tablolardan tutun, 3 kayıtan fazla kayıt tutmayacağı üzerine senet imzalanan tablolarda dahi ilk alanım hep autoinc ve primary key olur.
kendi kullandığım conventions' da örnek
students tablosunun ilk alanı student_id olur.

“Do. Or do not. There is no try.”
Cevapla
#13
(21-02-2019, Saat: 21:05)SenayAkgun Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.ChangeoveR,

Tek kelimeyle harikasınız,bayıldım bayıldım bayıldım. 

Çok ama çok teşekkürler... Heart Heart Heart

Konuya yanıt verip,bana yardımcı olmaya çalışan herkese teşekkür ederim.

önemli değil.


(21-02-2019, Saat: 22:58)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(21-02-2019, Saat: 17:19)ChangeoveR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.veritabanınızda milyonluk satırlara sahip olmadığınız sürece ID alanının ille de autoincrement olması beklenmez ancak bu alanın baştan böyle tasarlanması geleceğe güvenle bakmanızı sağlar.

statik tablolardan tutun, 3 kayıtan fazla kayıt tutmayacağı üzerine senet imzalanan tablolarda dahi ilk alanım hep autoinc ve primary key olur.
kendi kullandığım conventions' da örnek
students tablosunun ilk alanı student_id olur.

haklısınız.
Cevapla
#14
Benim bir diğer önerim ise şu şekilde; Cari, Stok ve Muhasebe isimli tablolarınız olduğunu tahayül edelim. Bu tabloların içlerinde tanımlayacağınız PK/Autoinc alanın adı CariID/Cari_ID ya da buna benzer tablo ismine de referans veren bir türde olmamalıdır.! Peki ya ne olmalıdır ? Basitçe ID olmalıdır. Nesneye yönelik düşünmeye gayret edin, TPersonel isimli bir sınıfın altında property olarak PersonelAdi, PersonelSoyadi isimli alanlar açmazsınız; bunun yerine Adi, Soyadi isimli alanlar açarsınız. Sınıfınızın türü (TPersonel) zaten Adi ve Soyadi property'lerinin neye ait olduğunu gösterir.

 Mantıksal faydanın yanında bir de fiziksel faydası olur bu önerinin. Tüm tablolarda ID standart ismini kullanır iseniz; bu durumda SQL kodu yazarken ve birden fazla tabloyu birbirine bağlamak icap ettiğinde (JOIN) hangi alanlar üzerinden bağlayacağım diye düşünmezsiniz. Çünkü alanların isimleri ID'dir. Karışıklık da yaşamazsınız.

Örneğin:

Cari
---------------
ID (PK/AutoInc)
Kodu
Adi
...
...

CariHareket
--------------
ID (PK/AutoInc)
CariID (FK)
..............

gibi. Bu gibi bir yapıda; CariHareket üzerinden bir veri çekerken yazacağınız SELECT ifadesinde CariID ile asıl tablodaki (Cari) ilişkili alanın adını (ID) da hemen biliyor olursunuz.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#15
Tuğrul HELVACI ,

Belirttiğiniz yapıya elimden geldiğince dikkat ediyorum, sadece birkaç tablomda ID'yi auto increment olarak belirlememiştim. Şükür ki onlardan da kurtuldum.  Tongue

Konuya cevap olarak gönderilen tüm mesajları okudum ve notlarımı aldım. Tecrübesizliğin getirdiği hatalarla bir şekilde boğuşmak zorunda kalıyorum, iyi ki bu site var da sorunlarıma nokta atışı yapar gibi çözüm getiren birileri oluyor.

Ben herkesin tecrübelerinden çok yararlandım ve yararlanıyorum, o yüzden yardımcı olan veya olmaya çalışan herkese minnettarım.  Shy 

Teşekkürler.......
Cevapla
#16
Benimde kullandığım yol arkadaşların yaptıklarına benzer fakat bazı küçük farklar var
bunlarda yılların birikimi ile kolaylık sağladığını düşündüğüm şeyleri paylaşmak istedim

Eğer tablo ID'si başka tabloya referans olmayacak ise IdAuto olarak isimlendiriyorum
Eğer bir tabloya referans edecek ise IdCari, IdStok, IdStokDetay, IdFatura vb... başına Id ifadesini ekliyorum
böylece bazı database toolları kullanırken join kurmak istediğinizde bu isim benzerliklerinden kendisi yakalayıp eşleştirme yapabiliyor
ayrıca Id yazip Ctrl+Sapce basinca eşleşebilecek tüm ID referansları bir arada görüntülenmiş oluyor
diğer türlü CariId, FaturaId, StokId olarak yazınca kısmen bağlantı dosyasının adını da hatırlamak gerekiyor

sonuç olarak işleyiş olarak çok büyük farklar yaratmıyor fakat kod yazarken kolaylık sağladığını düşünüyorum.
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 7 ile ACCDB Dosyalarına Compact İşlemi [Çözüldü] SenayAkgun 11 1.476 22-02-2019, Saat: 20:43
Son Yorum: muratcelik64
Bug Filter property cannot be used for detail tables, Delphi 7 [ÇÖZÜLDÜ] SenayAkgun 9 843 11-02-2019, Saat: 11:56
Son Yorum: SenayAkgun
  Veritabanı Güncelleme Mericx 5 1.924 17-02-2017, Saat: 12:33
Son Yorum: DelphiCanR



Konuyu Okuyanlar: 1 Ziyaretçi