Skip to main content

AccessTr.neT


SQL Server, Index Problemi

SQL Server, Index Problemi

Çözüldü #7
Aslında bir önceki mesajda çözümü anlatmış arkadaş.
"Bu problem genellikle "sabitler" i tek tabloda tutulduğu örneklerde oluşuyor
(tek tablodan neredeyse database deki tüm tablolara bireçok ilşki gerekiyor hatta
bazen tablo başına 3 bağlantı bile gerekebilyor ) Bu durumu aşmak için birçok
tabloyla bireçok ilşki içerisinde olan tabloyu bölmek gerekebilir."

Burda söylendiği gibi, bireçok ilişki kurmanız gereken tek ana sabitler tablosunu birkaç farklı tablo halinde yapabilirsiniz. Tabii örneğiniz olmadan bunu söylemek biraz havanda su döğme gibi kalıyor ama sizin probleminiz aynı şey bile olmayabilir.
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #8
Mehmet hocam ilgilendiğiniz için öncelikle çok teşekkür ederim.

Ana sabitler tablosunu birkaç farklı tablo haline nasıl getireceğimi bilmiyorum.
Örneğim ekte. Yolunu gösterme adına yardımcı olursanız çok sevinirim.

Şimdiden çok teşekkür ederim...


TABLO_DİZİN.rar
abahceci, 12-05-2010 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #9
Bence tablo mantığınız yanlış olmuş. Form yapınızı bilemiyorum ama her hastalık için ayrı bir tablo açmak bana göre yanlış olmuş. Bu durumda çok ilişki kurmanız gerekiyor. Bir hasta tablosundan her tabloya ilişki kurulmuş. Oysa hastalıklar diye bir tablo yapıp o tabloya hastalık adı bölümü koysaydınız, tablolarınız böyle olmazdı. Şimdi her yeni alan için bir tablo daha yapmanız gerekiyor. Bu hem ileri dönük bir sıkıntı ortaya çıkaracak hem de böyle çok ilişkili bir yapıya hapsolacaksınız. Bence hemen değiştirin yapınızı. Eğer her hastalık alanı için bir de form yapmayı düşünüyorsanız bundan da hemen vazgeçin, form ve tablolarınızı bu homojenliğe kavuşturmadan bu iş olmaz.
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #10
Hocam siz profesyonel olarak ilgileniyorsunuz. Bense amatörce, sadece kendim için bir hasta veritabanı oluşturmak istiyorum. Söylediklerinizin hepsinin doğru olduğunu biliyorum. Ama yapma noktasında ben tıkanıyorum. Her hastalık için ayrı tablo ve form oluşturdum, çünkü her hastalık için (hastanın yakınması, öyküsü, fizik muayene ve hastaya yapılacak olan öneriler hariç) takip ettiğimiz veriler değişken olabiliyor. Bu nedenle her hastalık için ayrı ayrı hem tablo hem de form oluşturdum. Ama siz yanlış yolda olduğumu söylüyorsanız, tam da veritabanımı bitirmek üzereyim derken; sanırım oturup bir çok şeyi yeniden hazırlamam gerekecek.
Ekteki dosyada dediğiniz gibi hastalıklar, tetkikler adında birer tablo yaptım. Tablolar arası ilişkiyi de doğru mu yaptım bilmiyorum. Bundan sonra ne yapmam gerekiyor? Bu noktada tıkandım.
Yol gösterme anlamında yardımınızı esirgemezseniz çok sevinirim.
Şimdiden çok teşekkür ederim.
Ayrıca konu farklı bir yöne kaydığı için isterseniz yeni bir konu açabilirim...


TABLO-İLİŞKİLER.rar
abahceci, 12-05-2010 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #11
Hocam, konuyla ilgili mesleki bilgi sahibi olmadığım için ne yapmak istediğinizi anlamam -daha doğrusu tahmin etmem- zor oluyor. Zaman ayırıp veritabanınızın mantığını kavramak ve ilişkilerin doğru ya da yanlış olduğunu söylemem bu aralar çok zor. Bunu en iyi yine siz yapabilirsiniz. Sitemizdeki örnekleri inceleyerek çok güzel çalışmalar yapılabilir. Ancak bu ilişkiler olayına ben bu kadar fazla yüklenmiyorum. Benim çalışmalarımda bu kadar çok ilişki olmuyor mesela. Çünkü ilişkileri formlardaki bazı nesneler aracılığıyla -mesela alt formlar veya açılan kutularla- ya da kodlar yardımıyla yapmak daha kolayıma gidiyor. Mutlaka ilişki kurmam gereken tablolar elbette oluyor ama sizin çalışmanıza bakınca biraz abartılı buldum, o yüzden her hastalık için ayrı tablo yapmayın dedim. Alanlar farklı olabilir, bunları fonksiyonel yöntemlerle kullanabilirsiniz veya benzer altyapıda olanları gruplandırabilirsiniz. Nasıl olur derseniz, mesela kanserle ilgili bir çok farklı tür var, hepsinin tabloları tek olabilir, eğer A alanını bir türde kullanıyor diğerinde kullanmıyorsanız, onda da B alanını kullanırsınız. İkisi de aynı tabloda olabilir ama. Bunu bir örnekle daha anlaşılır biçime getirelim:
Diyelim hastalarının cinsiyetlerini tabloya ERKEK ve KADIN olarak kaydetmeniz gerekiyor. Bunun için KADIN ve ERKEK diye iki ayrı tablo mu yaparsınız, yoksa Hastalar tablonuza Cinsiyet adında bir alan koyup oraya mı yazarsınız. Sizin mantığa göre iki ayrı tablo yapılmalı ve Erkek için ve Kadın için ayrı alanlar işaretlenmeli, sonra da bu alanlar tabloda ilişkili bir cinsiyet alanıyla ilkişkilendirilmeli. Tabii bunun için cinsiyet tablonuzda hastanın Tckimlik no alanıyla da veri ilişkisi kurmanız gerekir. Bunu her kriter için düşününce sizin durumunuz anlaşılıyor. Bu durumda ilişkiler çok fazla sayıda oluyor. Oysa hastalar tablosunda "cinsiyet" adında bir alan olsa, çift sütunlu bir açılan kutudan 1 ise "kadın" 2 ise "erkek" durumu bu alana kaydedilse. Daha güzel olmaz mı?

Umarım verdiğim örnek üzerinden durumunuzu anlamışsınızdır. Siz de "Hastalıklar" adında bir tablo yapıp, içine tüm hastalıkların adlarını ve id numaralarını girseniz, form üzerindeki açılan kutudan da bu hastalık oraya gelse, seçilen hastalığa göre tabloda tümü yer alan bilgilerden sadece o hastalıkla ilgili olan alanlar aktif, diğerleri pasif olsa fena mı olur?

Bir de bunu düşünün bence...
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #12
Mehmet hocam, öncelikle bu kadar emek vererek açıklamaya ve yardımcı olmaya çalıştığınız için çok teşekkür ederim.
Sizin öneriniz doğrultusunda hastalıklarla ilgili olan 18 tane tablo ve form sayısını 2-3'e kadar azalttım. Doğruyu söylemek gerekirse; veritabanım bu şekilde çok daha kullanışlı oldu gibi Img-grin+rep+rep+rep
Daha önce belirttiğim gibi programcılık adına hiç eğitim almadım. Bu nedenle bir çok şeyi deneye deneye yapmaya çalışıyorum. Ama tabi bu siteden öğrendiklerim de azımsanmayacak kadar fazla...
İyi ki varsınız...
Veritabanımı bitirene kadar başınızı ağrıtmaya devam edebilirim Img-grin
Görüşmek üzere, sağlıklı günler dilerim...
abahceci, 12-05-2010 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task