defacer Δημοσ. 18 Μαΐου 2016 Δημοσ. 18 Μαΐου 2016 Απότι φαντάζομαι defacer κάπου εχω κανει λάθος απλά θα προτιμούσα να μου πεις το λάθος μου. Αυτά που έχεις είναι πάνω κάτω λογικά. Χιούμορ έκανα. Θα μπορούσες και καλύτερα. Phones και mobile char(10) οχι varchar. Ολοι οι ελληνικοί αριθμοί ειναι 10ψήφιοι. Sex, οχι varchar ενα tinyint(1). Και μπορεις να εχεις 1 για αντρες 0 για γυναίκες. Και το postcode καλυτερα θα ηταν char(5) γτ κατα πάσα πιθανότητα ολοι οι ΤΚ της ελλαδας ειναι 5ψήφιοι. Δεν έχει και πολύ νόημα όμως αυτό. Γενικά οι χωρίς λόγο υποθέσεις είναι, από εμπειρία μου, παγίδες. Παράδειγμα, mobile char(10). Μέχρι τη στιγμή που θα έρθω εγώ από Γερμανία και θα θέλω να βάλω το γερμανικό νούμερο και πρόβλημα. Ή ακόμα, ένα τηλέφωνο μπορεί να είναι μεγαλύτερο από 10 ψηφία γιατί εκτός από τη γραμμή έχει μέσα και κάποιο extension number ή οτιδήποτε άλλο. Sex (παρεμπιπτόντως, καταλληλότερος όρος είναι gender αλλά δεν επιμένω γιατί θα μου χαλούσε το αστείο) γενικά υπάρχουν περισσότερες περιπτώσεις από M/F όπως αναφέρθηκε. Αν μη τι άλλο η περίπτωση που δεν είναι δηλωμένο, το οποίο βέβαια θα μπορούσε να μοντελοποιηθεί με null αλλά ειδικά σε ένα τέτοιο πεδίο-enum το null δε βολεύει όσο μια κανονική τιμή που αντιπροσωπεύει το null. Εννοείται βέβαια στα πλαίσια αυτού του project ο,τι κι αν τα βάλει πρακτικά δεν έχει διαφορά.
tasanton Δημοσ. 24 Ιουνίου 2016 Δημοσ. 24 Ιουνίου 2016 Μια άποψη: μην τσιγκουνεύεστε σε μεγέθη πεδίων. Καλύτερα να προβλέπετε περιπτώσεις τωρα στο σχεδιαςμο, παρά να διορθώνετε αργότερα η να γίνονται truncate τα πραγματικά δεδομένα. Π.χ. Το mobile char(10) ειναι περιοριστικό. Κάνε το 15 που λέει ο λόγος...
Haldol Δημοσ. 27 Ιουνίου 2016 Δημοσ. 27 Ιουνίου 2016 Μία αλλαγή που θα μπορούσες να κάνεις θα ήταν να δημιουργήσεις ένα νέο πίνακα που κρατάει τα πιθανά φύλα (id -> sex_description) και να συνδέει τους δύο πίνακες με το id του sex, δηλαδή αντί για field sex να έχεις ένα sex_id field. Για ποιο λόγο όλο αυτό όταν υπάρχουν δύο πιθανές τιμές; Δεν είναι πλειότιμο. Ένα ENUM θα 'κανε τη δουλειά καλύτερα απ' όλα. Κι άντε να βάλεις 3 τιμές (male, female, other) για να καλύψεις και κάθε μεταμοντέρνα κατηγορία.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα