ResimBox adlı üyeden alıntı: mesajı görüntüle
Elinize sağlık.
Fakat siparişler tablosundaki müşteri isim biraz mantıksız ve mükerrer/gereksiz geldi.
Müşterinin ismi değişir ise, o yeni bir müşteri kartı daha doğru olmaz mı. Aynı şekilde soyisim gibi bilgileri, zaten müşteri kartından çekebiliyor iken, ekstra olarak bu kolonların olması çok doğru bir tasarım gibi gelmedi.

Onun yerine, Siparişler tablosunda "Müşteri ünvanı" diye text bir alan koyulabilir. Müşteri tablosundan adı soyadını otomatik alır, kullanıcı ihtiyaca göre (tek tük) string alanı düzeltebilir. Eğer müşterinin adı, soyadı vb bilgiler değişti ise de, müşteri kartından ad soyad güncellenir. Eski adına ve soyadına ise de, siparişler tablosundaki geçmiş kayıtlardaki müşteri ünvanı text olandan da görülebilir.

Bu söylediklerim, müşterinin adresi için de geçerli. Identity alanlar, başka bir tabloya ilişkili olarak çekilip, ek olarak string bir değer ile de set edilebilmesi daha doğru gibi.
Siparişler tablosundaki, Adres_ID'yi set edip, İl, Semt vb bilgiler bu ID'deki değerleri otomatik getirmesi, kullanıcının ihtiyaca göre string bir şekilde il, şehir'i değiştirme durumu yapılması daha doğru olmaz mı.

Yani özet olarak, farklı bir tabloda tutulan bilgiyi, farklı bir tabloya mükerrer bir şekilde yazmak yerine, ilişkiyi tutup, ek kolonlar ile de son kullanıcı ihtiyacına göre ilgili ekranın düzenlenebilmesinin sağlanılması daha doğru bir tasarım değil midir.

Ve ek olarak devam edeyim.
Siparis_urunler diye bir tablo düşünmüşsün. Bunun yerine olması gereken şudur diye yorumluyorum.
Öncelikle ürünler diye ayrı bir tablon olmalı. Ürünün kodu, adı, ölçü birimi vb bilgiler ile ürün kartları açılmalı.
Sipariş satırı diye de bir tablon daha olmalı. Bir siparişe ait birden fazla ürün olabilir, yani birden fazla kalemli satırlar. ki Siparis tablosu ile foreign_key ilişkisi içersinde olmalı. (Siparis_ID)
Sipariş satırı tablonda da URUN_ID olmalı ki, ürün kartındaki bilgileri otomatik getirebilsin gibi.
Ürünü sipariş satırına seçtirip, kullanıcı sadece fiyatını yazabilir. (Ki daha da devam edersem fiyat listesi tablosuna ihtiyaç olur ama konu uzar gider.)

Müşterinin ismi değişir ise, o yeni bir müşteri kartı daha doğru olmaz mı. Aynı şekilde soyisim gibi bilgileri, zaten müşteri kartından çekebiliyor iken, ekstra olarak bu kolonların olması çok doğru bir tasarım gibi gelmedi.
- Müşteri bir patron olabilir ve şubelerine yemek sipariş ediyor olabilir.

Siparişler tablosundaki, Adres_ID'yi set edip, İl, Semt vb bilgiler bu ID'deki değerleri otomatik getirmesi, kullanıcının ihtiyaca göre string bir şekilde il, şehir'i değiştirme durumu yapılması daha doğru olmaz mı.
-müşteri tek sipariş için no:5 yerine no:6 yı talep edebilir bir seferlik güncelleme tüm kaydını güncellemeye sebep olur. kayıt güncellenir ise eğer 5 yıl önce bu siparişi nereye götürdüğümüzü nereden bileceğiz?

Mükerrer kayıt değil daha çok zamana göre kayıt diye geçiyor


--- Öncelikle ürünler diye ayrı bir tablon olmalı. Ürünün kodu, adı, ölçü birimi vb bilgiler ile ürün kartları açılmalı.
--- Evet zaten olacak vaktim olmadığı için en altına devam edeceğim yazdım hocam - ki ekledim şimdi

Sipariş satırı diye de bir tablon daha olmalı. Bir siparişe ait birden fazla ürün olabilir, yani birden fazla kalemli satırlar. ki Siparis tablosu ile foreign_key ilişkisi içersinde olmalı. (Siparis_ID)
--- zaten siparis_urunleri tablosu var bunun iççin

Sipariş satırı tablonda da URUN_ID olmalı ki, ürün kartındaki bilgileri otomatik getirebilsin gibi.
--- sipariş satırında değil siparis_urunlerinde mevcut ürün id si

Ürünü sipariş satırına seçtirip, kullanıcı sadece fiyatını yazabilir. (Ki daha da devam edersem fiyat listesi tablosuna ihtiyaç olur ama konu uzar gider.)

--- o şekilde zaten

teşekkürler yorumun için