2010-06-30 8 views
0

Comment sauvegarderiez-vous les devis dans une base de données? Sérialiser les données?Schéma de base de données suggéré pour les devis

http://cl.ly/6419969e30cd26e2f32a

Ils peuvent créer cependant de lignes qu'ils veulent ... Il est pour un système de devis. Créez un devis avec autant de produits. J'ai besoin d'enregistrer X produit à X Qté et X Prix pour chacun. Sérialiser dans la seule chose que je pourrais trouver, mais je déteste tellement de se désintérioriser. Je ne savais pas s'il y avait un moyen plus rapide/plus efficace.

J'ai aussi toutes ces informations à stocker avec/lien avec elle http://cl.ly/40cc9fea47932b3740b2

PHP (Kohana)> mySQL

Merci pour toute entrée que vous pourriez avoir.

Répondre

2

Je diviser les éléments d'une citation dans une table enfant séparé:

Quote   QuoteItem  Item 
=========  ===========  ============ 
QuoteID   QuoteID   ItemID 
Subject   ItemID   Description  
ValidUntil  Quantity   Cost 
Address   Price 

Créer une entrée dans la table de devis, puis pour chaque élément de cette citation créer une entrée dans la table QuoteItem avec le QuoteID correspondant.

+0

J'apprécie votre contribution. C'était mon itinéraire préféré, mais je n'étais pas sûr que ce soit le plus optimal ... Je pense à ma mise en page du programme que ce serait la meilleure option. – bradenkeith

+1

Ceci est la manière correctement normalisée de l'implémenter. Vous avez une relation many-to-many entre 'Quote' et' Item' car un élément peut apparaître sur plusieurs citations, et une citation peut contenir plusieurs éléments. Vous avez donc besoin d'une table de jonction (QuoteItem) pour joindre les deux. – WhatEvil

Questions connexes