Veritabanı Tasarımı Hakkında Soru
-
merhaba arkadaşlar, bir problemim var yardımcı olursanız sevinirim
şimdi ben tabloyu birden fazla parçalara ayırıyorum fakat birleştirmede bir takım sorunlar yaşıyorum
select tblIl.il,tblbirsey.birsey from tblil,tblbirsey where tblil.il = tblbirsey.ilid
diye bir sorgumuz var diyelim eğer tblbirsey.ilid kolonunda birşey girilmediyse ne yapacağız?
ben şöyle bir çözüm yoluna gideceğim, tblil tablosuna boş bir deer ekliyeceğim ve tblbirsey.ild nin default valuesini o değere ayarlıuyacağım, fakat bu çözüm yolu bana ek iç açıcı gelmedi, ben veritabanı işinde yeniyim, işin uzmanı olmuş adamlar bu sorunda ne yapıyorlar bunun başka bir çıkış yolu var mı? -
yazdıklarından anladıgım kadarıyla ms sql kullanıyorsun. ve update gibi işlemlerde bi row ın boslugundan endişe ediyorsun.
ben oracle kullanıyorum bunun icin foreign key yapısını kullanıyorum. yani eşitleme işlemi yapıcaksan ve veri butunlugunu saglamak istiyorsan boyle birsey kullanmalısın (ms sql de nasıldır yada varmıdır bilmiyorum.)
-
"select tblIl.il,tblbirsey.birsey from tblil,tblbirsey where tblil.il = tblbirsey.ilid where tblbirsey.ilid is not null" yazsan?
-
o tür tablolarda foreing key koyacaksın ve not null yapıcaksın, ayrıca bu tür sorgular çoksa unutmamak için stored procedure yaz.
-
eger mssql kullanıyosan koddan anladığım kadarıyla aradığın innerjoin olmalı
-
arkadaşlar çok teşekkür ederim yardımlarınız için, aradığım LEFT JOIN miş
-
tam Left JOIN yazıcaktım ki son mesajda bulmuşsun
-
hocam belki haddim değil ama,
veritabanında profesyonel çalışacaksan,
tablo isimler hiç bir zaman "tblbirsey" / "tbl_birsey" / "kullanici_telefon" kullanılması önerilmez
yerine direk "BirseyIste" kullanman daha sağlıklı.
sql de query yazerkende intellisense bir işe yaramış olur böylece hemde göze hoş gelir :P
