2016-04-03 18 views
0

ait tedirgin numara ekleyebilirsiniz bir veritabanı tasarımı nasılBen şunları doldurmak hangi bir form var ben öğeler

Nick: SbsNick; 
Item: SomeItem1; Price: PriceOfItem1 
Item: SomeItem2; Price: PriceOfItem2 
Item: SomeItem3; Price: PriceOfItem3 
................................ 

Ve girişlerin sayısını değişen öğeler ekleyebilirsiniz. Bu, her bir Nick'un farklı sayıda öğeye sahip olabileceği anlamına gelir.

Nick |Price 
------------- 
Jack |20 
BlackB |18 
Karl |25 
............. 

I:

ben yani böyle tabloyu elde etmek istiyorum,

SELECT ? FROM items WHERE Item="SomeItem" 

sorgulamak ve SomeItem ait tüm rumuzları ve fiyatları alabilir veritabanı oluşturmak istiyoruz Böyle bir veritabanını tasarlarken bir sorunum var, çünkü bir ek boyuttan yoksun olduğumu hissediyorum. Tabloları düzeltmek istiyorsam, bazı tabloda sınırsız miktarda sütuna ihtiyacım olduğunu görüyorum. Tablolar ve sütunlar arasında ilişki kurmak istiyorsam hücrelerin dizi gibi davranması gerektiğini görüyorum.

Bu veritabanını tasarlamanın akıllıca bir yolu var mı?

+1

1. Adım - Karşılamak istediğiniz iş gereksinimlerini belirleyin. Adım 2 - bu gereksinimleri karşılayacak bir veritabanı tasarlayın. Adım 3 - Veritabanınıza konuşan kullanıcı arayüzlerini yazınız. Başka bir deyişle, yanlış sırada bir şeyler yapıyorsun. –

cevap

1

İlişkisel Veri Tabanları üzerinde çalışmanız gerektiğini düşünüyorum. Tam olarak sorunun ne olduğunu anlayamıyorum.

Üç tabloya ihtiyacınız vardır: USERS, ITEMS, PURCHASES. Kullanıcıları temsil eden biri diğeri ise öğeler için diğeri ise ilişkisini her ikisi arasında temsil eder. Ben şahsen Sorununu kullanıcılar ve öğeleri arasındaki ilişkinin tam nedenini bilmiyoruz çünkü

USERS(ID_USER, NAME, NICK, REGISTER_DATE) 

ITEMS(ID_ITEM, DESCRIPTION, PRICE) 

PURCHASES(ID_PURCHASE, ID_USER, ID_ITEM, PRICE, PURCHASE_DATE) 

de ismi alımları kullandık, ne istersen o üçüncü tabloyu isim serbesttir.

Kullanıcının tablo KULLANICILARDA veya tablo ITEMS'te yaptığı her satın alma işlemi için fazladan yeni sütunlara gerek yoktur, yalnızca tablo SATICILAR'a yeni bir satır eklemeniz gerekir.

+0

Kullanıcıların benim durumuma ekleyebileceği öğeler miktarı çok büyük ve kullanıcı sadece bir kez "satın alma" yapabilir. Yani çözümünüzde, türler kümesinde id_user tekrarı ile "alımlar" olurdum. Çalıştığını görüyorum ama çok büyük bir tablo "alımları" –

+1

@ FallenApart olmadan yapılabilir eğer merak ediyorum, bunu yapmak için ortak bir yoldur (yine de hala sizin ihtiyaçlarınızı/iş mantığını almıyorum). Biz ilişkisel veritabanı diyoruz, çünkü önerilen RubioRic gibi öğeler/nesneler/nesneler arasındaki ilişkileri tanımlarız. –

+0

@PaulSpiegel Benim görüşümle ilgili olarak, böyle bir tablo "purchuses" yaratmayı önlemek için saf olarak düşündüm. Ama çözümün benim için çalışacak ve kullanıyorum. –