|
Îåêßíçóå áðü ôï ìÝëïò DaltonGR. Τελευταία δημοσίευση από το μέλος dimos.homatas στις 15-01-2011, 21:14. Υπάρχουν 13 απαντήσεις.
-
20-10-2010, 11:20
|
-
21-10-2010, 02:16
|
-
nikolaosk
-
-

-
Μέλος από τις 28-04-2007
-
Αθήνα
-
Δημοσιεύσεις 1.418
-
-
|
έφτιαξα πρόσφατα, ένα eshop που εμπορεύεται t-shirts με Νop-commerce και αφού πείραξα τον asp.net κώδικα. Δες το http://www.donprovolone.gr αν θες να ρίξεις μια ματιά στο nopcommerce δες εδώΔεν έχει νόημα να κάνεις κάτι από την αρχή. To nopcommerce έχει πολύ καλά SEO features, πολύ καλό localisation και πολύ καλό αdministration panel. Αν θέλεις να αλλάξεις styling, απλά αλλάζεις master pages,skin,themes,css. Φυσικά μπορείς να αλλάξεις τον κώδικα όπου θες και να αλλάξεις το default functionality. Συνεργάζεται εύκολα με paypal.
Νικόλαος Καντζέλης BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
|
|
-
13-01-2011, 18:04
|
-
bagosm
-
-
-
Μέλος από τις 08-01-2011
-
-
Δημοσιεύσεις 12
-
-
|
Καλησπέρα, Ο πιο σωστός τρόπος να φτιάξεις την database αφού το κάνεις μόνος σου είναι να να έχεις το αντικείμενο "Μπλουζάκι" σε ενα τραπέζι, σε ενα τραπέζι τα μεγέθη (με ID, γιατί τα μεγέθη αλλάζουν σε διάφορα συστήματα, πχ usa/europe κλπ), και σε τρίτο τραπεζάκι ένωση των 2, δηλαδή IDμπλούζας, IDμεγέθους, ποσότηταΔιαθέσιμη. Με αυτά μπορείς ναφτιάξεις ενα view με 2 join τα οποία θα σου βγάζουν την λίστα που θέλεις (Δηλαδή πρώτη εγγραφή το μπλουζάκι με όλα τα χαρ/κα, και 2 διαθέσιμα L, δεύτερη εγγραφή με το ίδιο μπλουζάκι κ όλα τα χαρ/κά και διαθέσιμα 4 XL κλπ). Ο λόγος που δεν το κάνεις έτσι εξ'αρχής σε ένα τραπέζι είναι το data redundancy.
Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου. www.egrapses.gr www.funnybook.grΜιχάλης
|
|
-
13-01-2011, 19:12
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Βασικά πάει πιο πέρα το θέμα παιδιά... είναι το κλασσικό ζήτημα "χρώμα-μέγεθος".
Εάν θέλεις να είσαι πλήρως καλυμμένος από δεδομένα πρέπει να το οργανώσεις ακόμα πιο λεπτομερώς: διαστασολόγια, χρωματολόγια κλπ. Ο μοναδικός κωδικός είναι πρακτικά μόνο του πατρόν. Διαστάσεις και χρώματα είναι παιδιά του πατρόν. Το τελικό t-shirt είναι παιδί του πατρόν με χαρακτηριστικά από τους παραπάνω πίνακες.
Παρόλα αυτά, και εφ'όσον μιλάμε για μαγαζί μία απλούστερη λύση είναι να έχεις έναν βασικό πίνακα των προϊόντων και μετά να έχεις τα παιδιά του, ένα προς πολλά δηλαδή. Η σχέση πολλά προς πολλά που προτείνει ο φίλος Bagos επιτρέπει να δώσεις ένα χρώμα σε ένα μπλουζάκι που δεν υπάρχει. Εάν θεωρείς ότι δεν πρόκειται να συμβεί κάτι τέτοιο, τότε είναι η γρηγορότερη λύση. Πιο ασφαλές είναι το ένα προς πολλά. Και πιο σωστό είναι το πρώτο, διαστασολόγια ανά πατρόν κλπ
Από ότι φαίνεται ο σημαντικός παράγοντας είναι το τι αξίζει τον κόπο να υλοποιήσεις.
My 2 cents όσον αφορά το... μηχανογραφικό της υπόθεσης.
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
13-01-2011, 19:29
|
-
bagosm
-
-
-
Μέλος από τις 08-01-2011
-
-
Δημοσιεύσεις 12
-
-
|
dimos.homatas:Παρόλα αυτά, και εφ'όσον μιλάμε για μαγαζί μία απλούστερη λύση είναι να έχεις έναν βασικό πίνακα των προϊόντων και μετά να έχεις τα παιδιά του, ένα προς πολλά δηλαδή. Η σχέση πολλά προς πολλά που προτείνει ο φίλος Bagos επιτρέπει να δώσεις ένα χρώμα σε ένα μπλουζάκι που δεν υπάρχει.
Καλησπέρα, Συγνώμη αλλα η παραπάνω παράθεση είναι εντελώς λάθος. Κατ'αρχάς μπορούμε να θέσουμε εξωτερικά non-nullable κλειδιά οπότε και το πρόβλημα είναι ίδιο (και μόλις παρέθεσα τη λύση), είτε σε πολλα-πολλά είτε σε 1-πολλά σχέση. (Στο πρακτικό κομμάτι αυτό φτάνει, θεωρητικά πρέπει να περιγράψουμε τη σχέση ως [1, πολλά) κλπ. Τώρα, το πρόβλημα αλλάζει στον σχεδιασμό αν θέλουμε να συμπεριλάβουμε διαφορετικά χρώματα στις μπλούζες, αλλα και πάλι αλλαγή που θα γίνει δεν πρέπει να οδηγεί σε 1-πολλά σχέση. Υπάρχει κάποιο πρακτικό παράδειγμα μιας τέτοιας βάσης; Προσωπικά θεωρώ πως εαν προσθέσουμε και χρώματα στην βάση θα χρειαστούμε άλλη μια πολλά-πολλά σχέση, και αυτή τη φορά ο ενωτικός μας πίνακας θα έχει απο την μια πλευρά τον πίνακα με τις μπλούζες, και απο την άλλη τους 2 πίνακες με τα μεγέθη και τα χρώματα, και θα έχει τα πεδία: μπλούζαID, χρώμαID, μέγεθοςID, ποσότητα.
Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου. www.egrapses.gr www.funnybook.grΜιχάλης
|
|
-
13-01-2011, 19:39
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Βασικά δες τι γίνεται... τα χρώματα των ρούχων είναι διαφορετικά για το καθένα. Πχ το κόκκινο του ενός κωδικού δεν είναι ίδιο με το κόκκινο του άλλου. Άλλος μπορεί να το λέει "ferrari red" και άλλος "red ferrari". Και το ένα να είναι πράσινο και το άλλο μπλε 
Με αυτήν την λογική προτείνω το 1-πολλά και όχι το πολλά-πολλά. Αλλιώς πως θα αποκλείσεις από την διαχείριση να καταχωρήσει σε μία μπλούζα ένα χρώμα που δεν της ανήκει;
Το σωστό πάντως είναι να υπάρχει χρωματολόγιο/μεγεθολόγιο ανά πατρόν...
Βασικά υπάρχει και άλλος παρονομαστής: μιλάμε για μεταπώληση; Αν ναι από έναν προμηθευτή; Από πολλούς; Είναι κατασκευαστές; Θα μπορούσε ο φίλος να πάρει έτοιμα τα χρωματολόγια του κατασκευαστή.
Από την άλλη υπάρχει και άλλο ερώτημα... υπάρχει εμπορικό πρόγραμμα; Εκεί πως καταχωρούνται;
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
13-01-2011, 19:42
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Από την άλλη φίλε Ντάλτον θα μπορούσες να πάρεις το μαγαζί του Νίκου
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
13-01-2011, 19:54
|
-
bagosm
-
-
-
Μέλος από τις 08-01-2011
-
-
Δημοσιεύσεις 12
-
-
|
dimos.homatas:Βασικά δες τι γίνεται... τα χρώματα των ρούχων είναι διαφορετικά για το καθένα. Πχ το κόκκινο του ενός κωδικού δεν είναι ίδιο με το κόκκινο του άλλου. Άλλος μπορεί να το λέει "ferrari red" και άλλος "red ferrari". Και το ένα να είναι πράσινο και το άλλο μπλε 
Μα δεν υπάρχει κάποιος περιορισμος στην ποσότητα των χρωμάτων εαν έχουμε πολλά-πολλά σχέση, και διατηρεί και integrity και redundancy (δεν διπλοπερνάμε τίποτα, η βάση διατηρεί τα απολύτως απαραίτητα και είναι πάντα σε άρτια κατάσταση). Μπορείς σε παρακαλώ να παραθέσεις ενα σχήμα 1-πολλά για να καταλάβω καλύτερα τι εννοείς; Επίσης σε θέμα optimization θα είχες μεγάλο πρόβλημα (η θα έχεις εαν εχεις κάνει ήδη κάτι τέτοιο), γιατί το να κάνεις query για ολες τις XL μπλούζες θα ήταν πολύ κοστοβόρο. Ε και φυσικά η λύση του CMS είναι μια επιλογή αλλα προσωπικά επικροτώ τις "σπιτικές" λύσεις! edit: Βασικά νομίζω πως αυτό που προανέφερα είναι και το πιο λογικά ορθό, αφού ο χρήστης θα πρέπει να κάνει input ακριβώς αυτό: απο ΜΠΛΟΥΖΑ εχω 3 ΜΑΥΡΑ μεγέθους XXL, απο ΜΠΛΟΥΖΑ εχω επίσης 2 ΜΑΥΡΑ μεγέθους L κλπ..
Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου. www.egrapses.gr www.funnybook.grΜιχάλης
|
|
-
13-01-2011, 20:13
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Για να καταλάβεις τι εννοώ, σκέψου το εξής: πχ το μπλουζάκι Α βγαίνει μόνο σε μαύρο. Το μπλουζάκι Β βγαίνει και αυτό σε μαύρο, αλλά ο προμηθευτής/κατασκευαστής έχει δικό του χρωματολόγιο και το λέει "Deep Black". Το μπλουζάκι Γ βγαίνει σε μαύρο και κόκκινο. Η περιγραφή του Γ/μαύρο είναι ίδια με του Α (μαύρο). Αλλά το χρώμα στο μάτι είναι εντελώς διαφορετικό, πχ του Γ λέει μαύρο αλλά είναι ξεθωριασμένο...
Πως θα εμποδίσεις κατά την καταχώρηση τον χρήστη να επιλέξει για την μπλούζα Α κάτι άλλο εκτός από το μαύρο; Και μάλιστα το ΔΙΚΟ της μαύρο, και όχι του Γ! Αυτό είναι το θέμα, και αυτός είναι ο λόγος που όλες οι σχετικές εφαρμογές πλασάρουν το "διαχείριση χρώμα-μέγεθος". Δεν είναι απλά ένας πίνακας με lookup...
Και φυσικά το ίδιο θέμα ισχύει και για το μέγεθος. Πχ το Α βγαίνει σε s-m-l-xl ενώ το β που είναι παιδικό βγαίνει σε xs - s. Πως θα εμποδίσεις τον χρήστη από το να βάλει το μέγεθος Large στο β? Χώρια που άλλος μπορεί να έχει και one-size...
Απλά για να μην φτιάξει ο άνθρωπος ολόκληρη διαχείριση, του λέω να το κάνει σε 1-πολλά για να υπάρχει η ασφάλεια των δεδομένων. Είναι πιο απλό. Όχι optimized, αλλά πιο απλό.
Δεν έχω κάτι τώρα, αυτά τα είχα κάνει πριν καμιά 10αριά χρόνια, στις τελευταίες μέρες της πάλαι ποτέ κραταιάς ελληνικής κλωστουφαντουργίας όταν δούλευα σε σχετικό τμήμα μηχανογράφησης. Είχα ασχοληθεί εκεί με όλη τη διαδικασία, από κατασκευή μέχρι τυποποίηση κωδικών για τους εμπόρους/πελάτες μέχρι παρακολούθηση παραγωγής. Πάνε αυτά...
Φίλε Bagosm, αυτό που λες είναι σωστό εάν όλες οι μπλούζες είχαν κοινό μεγεθολόγιο και κοινό χρωματολόγιο. Αλλά δεν έχουν... εκτός και αν μιλάμε για κάποια πολύ ιδιαίτερη περίπτωση... Για αυτό μπαίνει και η έννοια του 'πατρόν'. Στην ουσία το μπλουζάκι:
1 Πατρόν προς πολλά (δικά του) Χρώματα 1 Πατρόν προς πολλά (δικά του) Μεγέθη
1 μπλουζάκι = IDΠατρόν + IDΧρώμα(παιδί του πατρόν) + IDΜέγεθος(επίσης παιδί του πατρόν)
Μοδίστρες θα γίνουμε 
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
13-01-2011, 20:19
|
-
14-01-2011, 16:44
|
-
bagosm
-
-
-
Μέλος από τις 08-01-2011
-
-
Δημοσιεύσεις 12
-
-
|
dimos.homatas:1 μπλουζάκι = IDΠατρόν + IDΧρώμα(παιδί του πατρόν) + IDΜέγεθος(επίσης παιδί του πατρόν)
Μοδίστρες θα γίνουμε 
Χαχα οτι ξέρει κανείς καλό είναι! Για την βαση δηλαδή τελικά συμφωνείς μαζί μου, αφου το 1 μπλουζάκι που λες θα είναι το ενωτικό τραπέζι και άρα τελικά θα έχεις πολλα-πολλα σύνδεση, απλα η ένστασή σου είναι πως το τραπέζι με τα χρώματα και το τραπέζι με τα μεγέθη θα έχουν ενα εξωτερικό κλειδί πχ: mplouzaID(patronID)!
Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου. www.egrapses.gr www.funnybook.grΜιχάλης
|
|
-
15-01-2011, 17:10
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Άλλος πίνακας ο tableΧρωματολόγια
και άλλος πίνακας ο tableΧρώματα
tableΧρωματολόγια -> tableΧρώματα (1 προς πολλά)
Το Πατρόν έχει ως παιδί το χρωματολόγιο (1 προς 1, θα μπορούσε να είναι ο ίδιος πίνακας, δεν είναι σωστό διαχειριστικά)
Αυτό σημαίνει ότι η σχέση πατρόν με χρώματα είναι 1 προς πολλά
Το μπλουζάκι (που έχει foreign key το ΠατρόνID) έχει ως παιδιά τα χρώματα (1 προς πολλά) φιλτραρισμένα με το ΠατρόνID.
Το ίδιο ισχύει για μεγέθη, καθώς και (εάν ασχολούμαστε με παραγωγή) φασεολόγια κλπ
Πχ, ας υποθέσουμε ότι έχουμε καταχωρημένα έτοιμα τα χρωματολόγια, μεγεθολόγια και πατρόν και θέλουμε επιτέλους να καταχωρήσουμε τα είδη προς πώληση. Το πρώτο βήμα θα είναι να μας ζητήσει ένα ΠατρονID. Αφού το δώσουμε, τότε θα ψάξει να φέρει τα αντίστοιχα χρωματολόγια/μεγεθολόγια για να επιλέξουμε χρώματα και μεγέθη. Δημιουργείται το σύνθετο κλειδί ΠατρόνID-ΧρώμαID-ΜέγεθοςID Βάζουμε και ένα δικό μας κλειδί για να έχουμε εύκολες σχέσεις σε σχέση με άλλη υποσυστήματα, πχ αποθήκη, πωλήσεις κλπ
Οπότε, θα μπορούσαμε να πούμε ότι είναι ένας πίνακας πολλά προς πολλά, απλά τα δεδομένα σχετίζονται μέσω ΠατρόνID
Όσο για τα υπόλοιπα... ας αποφύγουμε καλύτερα την πρακτική του να επηρεάζουμε καρφωτά μία ποσότητα και ας χρησιμοποιήσουμε ένα αρχείο κινήσεων!
Από την άλλη, τα πάντα είναι συνάρτηση χρόνου + χρήματος.
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
15-01-2011, 19:01
|
-
bagosm
-
-
-
Μέλος από τις 08-01-2011
-
-
Δημοσιεύσεις 12
-
-
|
Φίλε Δήμο, Και πάλι δεν καταλαβαίνω που είναι η ένστασή σου, αφού το "παιδί" κυριολεκτικά σημαίνει πως τα χρώματα/μεγέθη θα έχουν εξωτερικό κλειδί το πατρονID (αυτό που σου παρέθεσα πρίν). Και φυσικά σπάει την σχέση πολλά-πολλά. Το linking χρωματολόγιο αφού όπως λές και εσυ είναι λάθος (σχεδιαστικά) τι εξυπηρετεί; Γιατί δεν έχεις ενα ίδιο για τα μεγέθη αφού είναι ίδιο σκεπτικό; Όσο για την ποσότητα, εαν έχεις κάποιο unique identifier για τα μπλουζάκια το σωστό είναι να το βάλεις αντί της ποσότητας, αλλα εαν δεν έχεις είναι λάθος (data redundancy). Το transaction log είναι αυτονόητο! edit: Βασικά επειδή τυχαίνει να μου έχει ανατεθεί και είμαι στην διαδικασία κατασκευής τέτοιου website με designer clothes το linking table που περιγράφεις το εχω φτιάξει μονο για τα μεγέθη (με αρκετές αλλαγές βέβαια αλλα αυτή τη φιλοσοφία), γιατί τα γάντια έχουν άλλου τύπου μεγέθη απο τα ρούχα κλπ. Βέβαια αυτό για άλλη μια φορά αλλάζει το πρόβλημα και δεν νομίζω να ενδιαφέρει τον δημιουργό του νήματος!
Αλλα τι νόημα έχουν όλα αυτά... Σύντομα έρχεται ο νιμπίρου. www.egrapses.gr www.funnybook.grΜιχάλης
|
|
-
15-01-2011, 21:14
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Δεν πειράζει Μιχάλη, να σου πω και την αλήθεια δεν θα δεις και πολλές αναλύσεις για χρώμα-μέγεθος στο Ίντερνετ!
Η σχέση 1 προς 1 υλοποιείται για λόγους scalability. Ενώ πρακτικά είναι ισοδύναμη με το να έχεις έναν πίνακα και όχι δύο ή τρεις, τι γίνεται όταν θες πχ reporting σε συγκεκριμένα πράγματα; Ή όταν θέλεις να βγάλεις συγκεκριμένα ερωτήματα; Για ποιον λόγο να έχουμε μεγάλους πίνακες με 100 στήλες; Γενικότερα, είμαι της φιλοσοφίας του να τα σπάω. Οι πίνακες (ή ενότητες πινάκων) να αναπαριστούν και λογικές οντότητες. Ή και στην διαχείριση... πχ θες να φτιάξεις μια φόρμα που να κάνει διαχείριση των μεγεθολογίων... γιατί να ανοίγει τον πίνακα των πατρόν; Δεν είναι ότι δεν παίζει, απλά δεν βολεύει. Και δεν ταλαιπωριέται ο server εάν έχει περισσότερους πίνακες, ταλαιπωριέται όταν έχει έναν πίνακα που έχει πχ πολλά indexes.
Δεν έχω κάποια ένσταση πάντως 
Όσον αφορά το δικό σου project, οκ το έκανες με τα μεγέθη...
Με τα χρώματα τι κάνεις; Μήπως στα γάντια δεν τίθεται θέμα χρώματος + τα μπλουζάκια εχουν κοινό χρωματολόγιο; (δηλαδή όλα τα μπλουζάκια βγαίνουν σε όλα τα χρώματα που έχεις στη βδ)
Δεν νομίζω να ενοχληθεί πάντως ο φίλος Ντάλτον! Έχουμε κάνει την πλέον ενδελεχή ανάλυση. Τώρα το κατά πόσο είναι απλή, ε... οκ, δεν είναι και πολύ απλή, αλλά δεν είναι και κάτι τραγικό.
Νομίζω ότι το εξαντλήσαμε πάντως.
Είχε κάποιος άλλος συνάδελφος εμπειρία στον τομέα;
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
|
|
|