Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Απότι φαντάζομαι 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 ο,τι κι αν τα βάλει πρακτικά δεν έχει διαφορά.

  • 1 μήνα μετά...
Δημοσ.

Μια άποψη: μην τσιγκουνεύεστε σε μεγέθη πεδίων. Καλύτερα να προβλέπετε περιπτώσεις τωρα στο σχεδιαςμο, παρά να διορθώνετε αργότερα η να γίνονται truncate τα πραγματικά δεδομένα. Π.χ. Το mobile char(10) ειναι περιοριστικό. Κάνε το 15 που λέει ο λόγος...

Δημοσ.

Μία αλλαγή που θα μπορούσες να κάνεις θα ήταν να δημιουργήσεις ένα νέο πίνακα που κρατάει τα πιθανά φύλα (id -> sex_description) και να συνδέει τους δύο πίνακες με το id του sex, δηλαδή αντί για field sex να έχεις ένα sex_id field.

 

Για ποιο λόγο όλο αυτό όταν υπάρχουν δύο πιθανές τιμές; Δεν είναι πλειότιμο. Ένα ENUM θα 'κανε τη δουλειά καλύτερα απ' όλα. Κι άντε να βάλεις 3 τιμές (male, female, other) για να καλύψεις και κάθε μεταμοντέρνα κατηγορία. :P

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...