Εμφάνιση 1-6 από 6
  1. #1
    Εγγραφή
    09-06-2006
    Ηλικία
    36
    Μηνύματα
    577
    Downloads
    9
    Uploads
    0
    Ταχύτητα
    16384/1024
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΓΕΡΑΚΑΣ
    Router
    DLINK 320B
    Γεια σας!
    Θελω να σχεδιάσω μια βαση για μια εφαρμογή που φτιάχνω και έχω κάποιες αμφιβολίες για το σχεδιασμό της....

    Αφορά εργαστηριακές εξετάσεις

    Συνοπτικά θέλω
    -Να υπάρχουν κάποιες κατηγορίες(χωρις υποκατηγορίες)
    -Να υπάρχουν κάποιες (μεταβλητες-τιμες) πχ Χοληστερίνη, Λευκα αιμοσφαίρια κτλ αυτα δλδ που δειχνουμε σε κάθε εξεταση η οποία θα ανήκει σε μια κατηγορία
    -Θα υπάρχουν φυλλα Εξετάσεων... Δηλαδη ενα φυλλο εξετάσεων θα περιλαμβάνει κάποιο υποσύνολο απο τις παραπάνω τιμές...
    -Θα υπάρχει ενας πινακας με κανονικές τιμές...
    -Θα υπάρχει ενας πινακας που θα αποθηκεύει τις τιμές των εξετάσεων του πελάτη

    Εχοντας υποψην οτι... ολα μπορουν να επεκταθουν απο το χρηστη:
    Πινακες

    Κατηγορίες
    id

    onomasia
    ...
    ...


    Πεδία
    id

    id_katigorias
    onomasia
    monades metrisis
    τύπος_δεδομενων(string,plain object,double ktl)
    ...
    ...

    Φύλλα Εξετάσεων
    id

    id_katigorias
    onomasia
    ....
    ...
    ..

    Φυλλα εξετάσεων - Πεδία
    id_pediou
    id_fulou


    Κανονικές Τιμές
    id_pediou
    typos

    min
    max
    ...
    ...


    Και εδώ έρχεται το ερώτημα...Πως να αποθηκευτουν οι τιμές κάποιας εξετασης ενός πελάτη που μπορει να περιέχει απροσδιοριστα πεδια απο πολλα φύλλα εξετάσεων;

    Μια λυση που σκεφτηκα αρχικα ήταν να φτιαξω ενα πινακα και καθε γραμμη να ειχε μια εξεταση για ενα πελάτη...Και τα περιεχομενα να ηταν μέσα σε ενα hashmap....
    Απο την μια ειδα οτι αυτο δημιουργει άλλα προβληματα... και λυνει ισως κάποια άλλα...
    Εστω δλδ haspmap mapa
    Θα ειναι του στυλ mapa("id_fulou.id_pediou")=....η τιμή του.... που μπορει να ειναι string,double Η συνθετο αντικειμενο....
    Ομως αυτο πιστευω πως θα ειχε προβληματα οπως
    Οταν θελω να δω πια φυλλα περιέχει η εξεταση ευκολα
    Οταν το συστημα διαγνώσεων προσπαθεί να βρει τα πεδια δεν θα ειναι ευκολο
    Δε μπορω να σκεφτω κάτι αλλο

    Η άλλη λύση ειναι να γινει με ενα Ταβλε της μορφής

    Εξετάσεις
    id

    pelatis id
    imerominia
    ...
    ...

    Εξετάσεις_Pedia
    id_Exetasis
    id_pedio

    id_fullo
    timi(Λογικα θα πρέπει να ειναι τυπου blob για να μπορει να ειναι ολα)

    Ο προβληματισμός μου ειναι τι ειναι καλύτερο... Να αποφυγω το Εξετάσεις πεδία
    και αντι αυτου να μπει μια στηλη στο Εξετάσης τύπου blob και να εχει ενα haspmap;

    Ευχαριστώ για το χρόνο σας

  2. #2
    Εγγραφή
    05-12-2006
    Ηλικία
    49
    Μηνύματα
    890
    Downloads
    3
    Uploads
    0
    Τύπος
    ADSL2+ HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    HOL - ΚΝΩΣΣΟΣ
    SNR / Attn
    19.5(dB) / 34.5(dB)
    Ρίχνω μια ιδέα για να κάνουμε την αρχή και βλέπουμε.

    ΚατηγορίαΠεδιων(catId,name)
    Πεδίο(flId,catId,name,measure,normalMax,normalMin)
    Πελάτης(clId,name, .......)
    Εξέταση(exId,clId,date,price,.....)
    ΠεδίαΕξέτασης(exId,flId,value)
    εκτός από ροζ υπάρχουν και άλλα χρώματα??

  3. #3
    Εγγραφή
    09-06-2006
    Ηλικία
    36
    Μηνύματα
    577
    Downloads
    9
    Uploads
    0
    Ταχύτητα
    16384/1024
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΓΕΡΑΚΑΣ
    Router
    DLINK 320B
    Φιλε μου τι διαφορά έχει αυτο που έγραψες απο το δικό μου;
    Θες να πεις οτι αποκλείουμε τη λύση του hashmap;
    Και οτι καταργείς τα φύλλα;
    Απλα τα θεωρω μάλλον χρησιμα απο οτι εχω δει διοτι πχ στη κατηγορία βιοχημικες εχεις 150 τιμές πχ...
    Δεν νομιζω πως ο καθε πελάτης πληρώνει για όλες αυτές!
    Απλα φοβάμε οτι πχ αν ο πελάτης εχει 50 τιμές... Και εστω οτι ολοι εχουν 50 τιμές με 10 πελάτες γινεται 500....Φοβάμε μήπως παραμεγαλώσει το table..Η δεν πειράζει;

  4. #4
    Εγγραφή
    05-12-2006
    Ηλικία
    49
    Μηνύματα
    890
    Downloads
    3
    Uploads
    0
    Τύπος
    ADSL2+ HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    HOL - ΚΝΩΣΣΟΣ
    SNR / Attn
    19.5(dB) / 34.5(dB)
    Οι διαφορές είναι σε κάποιες σημαντικές λεπτομέρειες. Η πρώτη είναι αυτή που αναφέρεις, η δεύτερη είναι ότι δεν χρησιμοποιώ πουθενά data types μεγάλου μεγέθους. ένα απλό float αρκεί για τις μετρήσεις. Ο πίνακας που θα μεγαλώσει έχει 4 πεδία εκ των οποίων τα 3 είναι int και 1 είναι float άρα μιλάμε για 4*32b = 128b = 16B
    Άρα θέμα μεγέθους δεν υπάρχει, χωράει χαλαρά αρκετά Μ εγγραφών.

    Τα φύλλα τι ακριβώς κάνουν; εννοείς προεπιλεγμένες ομάδες πεδίων ανά εξέταση; έχει ενδιαφέρον.

    Γενικότερα είναι καλύτερα να έχεις έναν πίνακα με λίγα πεδία και πολλές εγγραφές παρά έναν με πολλά πεδία και λίγες εγγραφές γεμάτες όμως με null στα μη χρησιμοποιούμενα πεδία.
    εκτός από ροζ υπάρχουν και άλλα χρώματα??

  5. #5
    Εγγραφή
    11-07-2005
    Περιοχή
    Λουξεμβούργο
    Ηλικία
    59
    Μηνύματα
    12.570
    Downloads
    6
    Uploads
    1
    Τύπος
    FTTH
    Ταχύτητα
    500Μ Download/260M Uploa
    ISP
    Διάφοροι. Ολο
    Router
    Fritzbox!7490
    μια πρώτη προσπάθεια. Οπου id σε κάθε table ειναι το δικό του surrogate key


    table customer { id, name, telephone, ... }

    table categories {id, name }

    table exetasi { id, name, min-value, max-value, category, {categories..} }

    table filo_exetasis { id, customer.id, date }

    table filo_exetasis_lines { filo_exetasis.id,line,value }

    όπου υπογράμμιση, primary key.

  6. #6
    Εγγραφή
    09-06-2006
    Ηλικία
    36
    Μηνύματα
    577
    Downloads
    9
    Uploads
    0
    Ταχύτητα
    16384/1024
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΓΕΡΑΚΑΣ
    Router
    DLINK 320B
    Τα φύλλα τι ακριβώς κάνουν; εννοείς προεπιλεγμένες ομάδες πεδίων ανά εξέταση; έχει ενδιαφέρον.
    Ναι αυτο...
    Eπειδη μαλλον δεν εγινα απολυτως κατανοητός....
    ΚατηγορίαΠεδιων(catId,name) (Κατηγορία δες το και σαν τμήμα,(Αιμοτολογικό,Ανοσολογικό κτλ))


    Πεδίο(flId,catId,name,measure,normalMax,normalMin)
    (Εδω είναι πεδίο που ανήκει σε καποια κατηγορία... Ειναι πχ. λευκα αιμοσφαίρια κτλ κτλ)




    Πελάτης(clId,name, .......)
    οκ
    Εξέταση(exId,clId,date,price,.....)
    οκ


    Απλα δεν έχεις κάνει πίνακα για τα φύλλα δηλαδη για προκαθορισμένα ΣΕΤ εξετάσεων...

    ΠεδίαΕξέτασης(exId,flId,value)
    Εδω για να ξέρουμε και σε πιο σετ ανήκει το flid γιατι μπορει να ανήκει σε πάνω απο ένα πχ..
    Checkup ηλικίας <20 ,
    Checkup ηλικίας <50 κτλ

    αρα 1 ακόμη collumn σωστά;

    Επισης οπως ειπα το value δεν ειναι πάντα float τύπου...
    Και δε ξερω αν ειναι καλύτερα να βαλω blob η να έχω πολλους πίνακες

Παρόμοια Θέματα

  1. Οργάνωση δεδομένων σε βάση δεδομένων
    Από xp1988 στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 10
    Τελευταίο Μήνυμα: 27-05-09, 13:45
  2. βαση δεδομενων ....accbd...... help
    Από eqvus στο φόρουμ Unix - Linux
    Μηνύματα: 2
    Τελευταίο Μήνυμα: 27-06-08, 22:05
  3. μετατροπή μιας σχεσιακής βάσης δεδομένων σε berkeley xml βάση δεδομένων
    Από malesina στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 1
    Τελευταίο Μήνυμα: 17-04-08, 13:09
  4. βαση δεδομενων με javascript?
    Από ironwiller στο φόρουμ Web authoring, development & web design
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 27-11-07, 16:47
  5. Βαση δεδομενων ports
    Από dreadlord στο φόρουμ ADSL, VDSL, FTTH & Broadband Hardware, routers, modems, κλπ
    Μηνύματα: 2
    Τελευταίο Μήνυμα: 03-11-04, 20:31

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας