fluent' Alıntı:Hocam yaptığınız programdan biraz bahsederseniz fikir verebilirim belki, yalnız her ürün için ayrı bir tablo yapamazsınız sanırım. Çünkü programı kullanan şahıs yeni bir ürün eklemek istediğinde veritabanına nasıl tablo ekleyecek, bunun içinde program içinden veritabanında tablo oluşturtmanız lazım bu mümkünse eğer. biraz bilgi verirseniz yaptığınız program hakkında, veritabanı yapısı hakkında fikir verebiliriz burdan
s_kajmeran' Alıntı:Ayrı ayrı tablolar daha mantıklı olacaktır. Ve veri tabanı yönetiminde düzenli ve mantıklı bölmek önemlidir...
32768 nesne alır zaten acces belli bir kayıt sayısından sonra malesef saçmalamaya başlar, büyük projeler için uygun değildir...
Sizin alanlarınız Metin türünde olmak zorunda değil, NOT yaparsınız Metinle Aynı karakterleri alır ancak daha geniştir alanın içeriği...
Tam olarak yapılacak işlemleri anlatırsanız tablolarınızın oluşturulmasına yardım edebiliriz... Programda yapacağınız işlemler neler?
Kolay gelsin...
fluent' Alıntı:hocam ben tabloları oluşturmaya çalıştım ama firma hakkında detaylı bilgimiz olsa daha güzel bişey çıkar ortaya. Bu arada paradox delphi ve c++ builder ile kurulan database destkop ile yönetilen bir veritabanıdır ve ben accessten daha gelişmiş olduğunu dnüşnümüyorum hocam. Bence kaç adet kayıt aldığı önemli değil birazda, ne kadar veri depolayabildiği önemli. bir tane alan oluşturup hep a yazmak var, 10 tane alan oluşturup hep uzun tamsayı yazmak var.
Eğer .net kullanıyorsanız sqlserver, delphi kullanıyorsanız interbase yi inceleyebilirsiniz hocam. bu arada şöle bir tablo yapısı çıkardım ama çok mu karışık oldu ki. Hatalar, eksikler veya yanlış düşünülmüş bişe varsa düzeltelim arkadaşlar.
Lastik Tablosu: (Lastikid*, lastikmarka, çap, en, boy, uretimyili, tipi, vs.... ) //Çok sayıda lastik markası var ise lastikmarka isimleri başka bir tabloda tutulabilir.
Jant Tablosu: (Jantid*, jantmarka, çap, uretimyili, tipi vs...) //Çok sayıda jant markası var ise jantmarka isimleri başka bir tabloda tutulabilir.
LastikStok Tablosu: (Lastikstokid*, Lastikid**, alistarihi, alisfiyat, satisfiyat, adet vs...)
JantStok Tablosu: (Jantstokid*,Jantid**,alistarihi, alisfiyat,satisfiyat,adet vs..)
satis Tablosu: (satisid*,urunid**,satisadedi,satistarihi,uruntip,musteriid**)
Musteri tablosu: (musteriid*, adi, soyadi, adres, tel, vs...)
Tam anlamıyla firma nasıl çalışıyor bilgimiz olursa daha basit veya karışık bişeyde çıkabilir hocam. Müşteriler peşin mi alacak, yoksa taksitlere mi bölünecek vs..
Bu arada hesap hareketleri için ayrı bir tablo oluşturmadım, zaten stok ve satış tablolarında ürünün ne kadara kaç tane alındığı, kime hangi üründen kaç tane satıldığı mevcut. Kasa hareketlerini sorgularla çekmek daha mantıklı yer kaplamaması açısından diye düşünüyorum. Birde satış tablosunda lastik mi satılıyor yoksa jant mı onu anlamak için satis tablosundaki uruntip kısmına lastik için 0, jant için 1 bilgisini girerseniz hangi ürün satıldığını anlayabilirsiniz hocam.
Rüzgara Karşı'' Alıntı:@fluent, hocam sizin yaptığınız veritabanı yapılandırmasında şöyle düzenlemeler olursa daha iyi olur bence...
lastik ve jant tabloları tek tabloda "urun" tablosu adı altında birleştirilsin, "tur" diye bir alan açarsak ürünün tipini burada saklayabiliriz
stok tabloları kaldırılsın, urun tablosunun altında "stok" alanı açılsın
hocam arkadaşın yaptığı tabloda jant ve lastiğin farklı alanları vardı, bu durumda "tur" alanı gerekiyor.wertyu6' Alıntı:Rüzgara Karşı'' Alıntı:@fluent, hocam sizin yaptığınız veritabanı yapılandırmasında şöyle düzenlemeler olursa daha iyi olur bence...
lastik ve jant tabloları tek tabloda "urun" tablosu adı altında birleştirilsin, "tur" diye bir alan açarsak ürünün tipini burada saklayabiliriz
stok tabloları kaldırılsın, urun tablosunun altında "stok" alanı açılsın
stok alanı gerekiyor haklısınız hocam yalnnız türe gerek yok çünkü lastik, jant, akü, zincir üreticileri farklı, yani isimden zaten ne olduğu anlaşılır kullananlar tarafından.
Değerli hocalarım, benim asıl takıldığım nokta hangi veritabanı kullanacağım buna karar veremedim. ben delphide yazıyorum interbase mi kullanmalıyım?
Rüzgara Karşı'' Alıntı:@fluent, hocam sizin yaptığınız veritabanı yapılandırmasında şöyle düzenlemeler olursa daha iyi olur bence...
lastik ve jant tabloları tek tabloda "urun" tablosu adı altında birleştirilsin, "tur" diye bir alan açarsak ürünün tipini burada saklayabiliriz
stok tabloları kaldırılsın, urun tablosunun altında "stok" alanı açılsın
fluent' Alıntı:Rüzgara Karşı'' Alıntı:@fluent, hocam sizin yaptığınız veritabanı yapılandırmasında şöyle düzenlemeler olursa daha iyi olur bence...
lastik ve jant tabloları tek tabloda "urun" tablosu adı altında birleştirilsin, "tur" diye bir alan açarsak ürünün tipini burada saklayabiliriz
stok tabloları kaldırılsın, urun tablosunun altında "stok" alanı açılsın
Tşk ederim hocam düzeltme için ama, hocam veritabanında yer sıkıntısı çekiyor maksadıyla stokları iki tablo halinde tutmayı mantıklı bulmuştum ama gerek yokmuş zaten
wertyu6 hocam markadan ne olduğu anlaşılıyor demişsiniz ama o şekilde daha çok yer kaplayacaktır emin olun. Bu gibi durumlarda ürünleri ayrı, stokları yarı yerlerde tutmak ve tablolar arasında bağlantı kurmak daha mantıklı bence, yine de siz bilirsiniz. Siz hangi programlama dilini kullanıyorsunuz hocam onu yazın, bizde internetten bir araştıralım hangi porgramda hangi veritabanı kullanmak daha mantıklı diye...
fluent' Alıntı:Hocam hangi programı kullanıyorsun, okuduklarım kadarıyla paradoxu kesinlikle tavsiye etmiyorlar gelişmiş bir program için..
http://www.delphiturkiye.com/forum/view ... 28&t=20928
fluent' Alıntı:http://www.delphiturkiye.com/forum/viewtopic.php?t=5800
Burda interbase ve firebird hakkında yeterli bilgi var hocam. Yine de access i bir araştıralım, kolay gelsin
s_kajmeran' Alıntı:Hocam acceste bilgilerin yer değiştirmesi sorun olmaz şöyleki...
Kaydı gösterirken sql sorgunuzda id değerlerine göre büyükten küçüğe sıralarsınız (SELECT * FROM tablonuz ORDER BY id ASC) ve girdiğiniz sırada çıkmasını sağlarsınız, sorun olacağını sanmıyorum...
s_kajmeran' Alıntı:Hocam acceste bilgilerin yer değiştirmesi sorun olmaz şöyleki...
Kaydı gösterirken sql sorgunuzda id değerlerine göre büyükten küçüğe sıralarsınız (SELECT * FROM tablonuz ORDER BY id ASC) ve girdiğiniz sırada çıkmasını sağlarsınız, sorun olacağını sanmıyorum...