StefxOup Δημοσ. 21 Απριλίου 2010 Δημοσ. 21 Απριλίου 2010 Στα πλαίσια κατασκευής ενός δικτυακού τόπου ανταλλαγής σπιτιών θα πρέπει να κάνω το διάγραμμα ER της Βάσης Δεδομένων μου. Επισυνάπτω μια εικόνα με το διάγραμμα που κατάφερα να κάνω ως τώρα με το εργαλείο mysql Workbench. Το χρησιμοποιώ πρώτη φορά Θα ήθελα μια γνώμη για τη συσχέτιση μεταξύ του πίνακα members και του πίνακα exchanges. Το πρωτεύον κλειδί του πινακα members (id), είναι το ξένο κλειδί του πίνακα exchanges τόσο για το πεδίο member_1_id όσο και για το πεδίο member_2_id . Ισχύει ότι κάθε μέλος μπορεί να συμμετέχει σε περισσότερες από μία ανταλλαγές και σε κάθε ανταλλαγή συμμετέχουν δύο μέλη κάθε φορά. Σε διαφορετικές εγγραφές (ανταλλαγές) του πίνακα exchanges μπορεί να συμμετέχει το ίδιο μέλος. Η σχέση μεταξύ των οντοτήτων members και exchanges είναι πολλά προς πολλά; Αν ναι θα πρέπει να βάλω ένα τρίτο πίνακα για να την υποδηλώσω στο διάγραμμα ER, όμως αυτό σημαίνει ότι πρέπει να αλλάξω και τους πίνακες στη βάση μου και θα επηρεαστούν και τα sript μου που αυτή τη στιγμή δουλεύουν κανονικά ως έχουν; Ευχαριστώ εκ των προτέρων για τη βοήθεια και συγγνώμη για το σεντόνι .
Seldimi Δημοσ. 21 Απριλίου 2010 Δημοσ. 21 Απριλίου 2010 Για να κάνεις μια σχέση πολλά-προς-πολλά θα πρέπει να κάνεις στην ουσία ένα πινακάκι για κάθε πίνακα όπου θα είναι ένα-προς-πολλά Οπότε θα κάνεις έναν MemberExchanges και θα έχεις μόνο foreign keys μειρκά στοιχεία του member & μερικά του exchange
StefxOup Δημοσ. 21 Απριλίου 2010 Μέλος Δημοσ. 21 Απριλίου 2010 Αν ναι θα πρέπει να βάλω ένα τρίτο πίνακα για να την υποδηλώσω στο διάγραμμα ER, όμως αυτό σημαίνει ότι πρέπει να αλλάξω και τους πίνακες στη βάση μου και θα επηρεαστούν και τα sript μου που αυτή τη στιγμή δουλεύουν κανονικά ως έχουν; Αυτό είναι το βασικό που με ενδιαφέρει γιατί αν πρέπει να αλλάξω και την ίδια τη βάση και τα scriptakia μου έχω πρόβλημα. Μπορει στην απεικόνιση του ER να βάλω αυτό τον τρίτο πίνακα χωρίς να χρειάζεται να τον προσθέσω στην πραγματικότητα στη βάση;
Seldimi Δημοσ. 21 Απριλίου 2010 Δημοσ. 21 Απριλίου 2010 Θα προσθεσεις απλά τον πίνακα που είπαμε παραπάνω και εκείο θα κάνεις τα foregn keys.. δεν θα αλλάξεις κάτι απο τους υπάρχοντες
Maniakos Δημοσ. 22 Απριλίου 2010 Δημοσ. 22 Απριλίου 2010 Αυτή η κακή συνήθεια με greeklish σε κώδικα, mysql tables κτλ πρέπει να σταματήσει.....
Maniakos Δημοσ. 23 Απριλίου 2010 Δημοσ. 23 Απριλίου 2010 Πέρα από το ότι τα αγγλικά είναι η επίσημη γλώσσα της πληροφορικής και ότι δεν υπάρχει κανένας λόγος να μην γράψει αγγλικά; Τα greeklish δεν είναι κάποια standard γλώσσα και κάποιες λέξεις μπορούν να γραφτούν με δύο τρόπους (πχ αυτές που έχουνε ωμέγα μπορεί κάποιος να βάλει 'o' στην θέση του ή 'w') με αποτέλεσμα να είναι ότι χειρότερο για τα variable names γιατί πολύ απλά μπορεί να καταλήξεις με δύο variables τα οποία νοητικά είναι ίδια απλά ορθογραφικά γραμμένα αλλιώς και μετά άντε να διορθώσεις όλο το πρόγραμμά σου. Ακόμα και αν το πρόγραμμα δεν πρόκειται ποτέ να το δει κανείς σε βάζει σε μια κακή νοοτροπία και το good programming practice πρέπει να ακολουθείτε πάντα, όχι επιλεκτικά, γιατί την μια μέρα γράφεις κώδικα μόνος σου, την επομένη με ένα team όπου θα πρέπει να μπορείς να ανταπεξέλθεις ή μπορεί να θες να δημοσιεύσεις ένα κομμάτι κώδικα, είτε για να πάρεις απόψε είτε επειδή θες να μοιραστείς μια εμπειρία σου. Γιατί να το περιορίσεις μόνο στην Ελληνική κοινότητα και να μείνει ανεκμετάλλευτη η δύναμη που σου προσφέρει το internet? Αυτά τα ολίγα και συγγνώμη στον topic starter για το off-topic αλλά για καλό του είναι
Seldimi Δημοσ. 23 Απριλίου 2010 Δημοσ. 23 Απριλίου 2010 Επίσης μπορείς να χρησιμοποιήσεις ελληινική γλώσσα.. για να νιώθεις και πιο έλληνας... υποστηρίζονται πλήρως από την SQL.. αλλα φαντάσου ένα ερώτημα πως θα ήταν! Και αφού το πρόγραμμα έιναι για προσωπική χρήση ο καθένας τα βάζει όπως νομίζει.. και a,b,c να τα βάλεις πάλι θα κάνεις την δουλειά σου.. και οι good τεχνικές είναι πολλές... Πχ.. γιατι να είναι πιο good το customerName απ' το customer_Name ή το customer-name ή το _customer_name ή το c_name ή ή ή... άνοιξε ένα θέμα αν θες για παιρεταίρω ;-)
Maniakos Δημοσ. 23 Απριλίου 2010 Δημοσ. 23 Απριλίου 2010 Ξεφεύγεις τώρα, εσύ μιλάς ξαφνικά για coding style ενώ εγώ μιλάω για μια γενική νοοτροπία η οποία δεν έχει να κάνει με εθνικότητα (την οποία κακός αναφέρεις γιατί δεν έχει να κάνει με το development). Το customerName ή customer_Name είναι όντως προσωπική προτίμηση του καθενός αλλά το a,b,c παραμένει κακή επιλογή και αυτό γιατί πολύ απλά είναι κακά variable names που δεν περιγράφουν το τι είναι το value το οποίο θα κρατήσουν. Το να γράφεις κώδικα με την νοοτροπία 'ε εντάξει μωρέ, για μένα είναι δεν πειράζει' μόνο κακό σου κάνει και δεν βοηθάει την εξέλιξή σου σαν developer και αν βρεθείς σε ένα team θα έχεις πρόβλημα. Αλλά ακόμα και αν δεν βρεθείς, πάλι δημιουργεί θέμα στην εξέλιξή σου. Όχι δεν αναφέρομαι στα greeklish συγκεκριμένα, αυτά είναι απλά ένα από τα πολλά της κακής γενικότερης νοοτροπίας που εννοώ. Anyway, δεν θέλω να κάνω hijack περισσότερο το topic από ότι το κάναμε ήδη!
StefxOup Δημοσ. 25 Απριλίου 2010 Μέλος Δημοσ. 25 Απριλίου 2010 Δεν ήξερα ότι θα δημιουργούσα τέτοιο θέμα! Όπως φαίνεται και από την εικόνα κάποια είναι αγγλικά κάποια greeklish γενικότερα υπάρχει μια σύγχυση γιατί η εφαρμογή βρισκόταν υπό ανάπτυξη για μεγάλο χρονικό διάστημα και αφορά πτυχιακή εργασία. Συνεπώς δηλώνω πρωταρα Σε γενικές γραμμές συμφωνώ ότι δεν είναι καλή η τακτική μου , τα χρησιμοποίησα καθαρά για δική μου ευκολία και θα κρατήσω τη συμβουλή για το μέλλον.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.