τυνα Δημοσ. 27 Φεβρουαρίου 2022 Δημοσ. 27 Φεβρουαρίου 2022 (επεξεργασμένο) Καλησπέρα σε όλους, Έχω μία ερώτηση σχετικά με το σχεδιασμό μίας βάσης δεδομένων στο Ms Access. Αυτό που θέλω να κάνω είναι να αποθηκεύσω τις προσμείξεις σε στρώματα χώματος. Για το κάθε στρώμα υπάρχει ένας ξεχωριστός κωδικός (πχ "Σ176") και περιέχει τα εξής: σπασμένα οστά 8%, όστρεα 3% και ρίζες 87% Αυτό που σκέφτηκα είναι ένας πίνακας με την εξής δομή: Κωδικός στρώματος Προσμείξεις Ποσοστό ..και στο πεδίο των προσμείξεων να υπάρχει ένα drop-down μενού με τις επιλογές. Το ζήτημα είναι ότι σε κάθε στρώμα υπάρχουν αρκετά είδη προσμείξεων, επομένως θα χρειαστεί να προστεθούν περισσότερες από μια αξίες σε ένα κελί προσμίξεων, κάτι που παραβιάζει βασικούς κανόνες του σχεδιασμού βάσης δεδομένων Υπάρχει κάποια πρόταση για το πως διαχειριζόμαστε τέτοια ζητήματα; Ευχαριστώ πάρα πολύ εκ των προτέρων Επεξ/σία 27 Φεβρουαρίου 2022 από τυνα
MastroGiannis Δημοσ. 27 Φεβρουαρίου 2022 Δημοσ. 27 Φεβρουαρίου 2022 Χρειάζεσαι τρεις πίνακες: έναν για τα στρώματα, έναν για τα υλικά και έναν για τις προσμείξεις όπου θα συσχετίζεις τα στρώματα και τα υλικά με το ποσοστό τους. Οπότε, Πίνακας «Υλικά»: ID Υλικού(PK*), Ονομασία, Περιγραφή, κτλ… Πίνακας «Στρώματα»: ID Στρώματος(PK), Κωδικός, Περιγραφή, κτλ… Πίνακας «Υλικά Στρωμάτων»: ID Στρώματος(FK**), ID Υλικού (FK), Ποσοστό, κτλ… Για τον πίνακα «Υλικά Στρωμάτων», μπορείς να χρησιμοποιήσεις τα πεδία στρώματος και υλικού για το ID του ή να προσθέσεις ένα έξτρα πεδίο (Autonumber) για αυτόν το σκοπό, που είναι και πιο βολικό. *Primary Key ** Foreign Key Υ.Γ.: Φυσικά, για τα ονόματα αντικειμένων της βάσης σου, δεν χρησιμοποιείς ελληνικούς χαρακτήρες, κενά διαστήματα, ειδικούς χαρακτήρες και δεσμευμένες λέξεις της Access. Επίσης, μην χρησιμοποιείς ποτέ τα λεγόμενα πεδία πολλαπλών επιλογών στους πίνακες (multivalue fields). Είναι σκέτος μπελάς. 1
τυνα Δημοσ. 27 Φεβρουαρίου 2022 Μέλος Δημοσ. 27 Φεβρουαρίου 2022 (επεξεργασμένο) Ευχαριστώ πάρα πολύ για την απάντηση Oμως έτσι δεν θα έχουμε επανάληψη δεδομένων στον ίδιο πίνακα, εφόσον ένα υλικό μπορεί να εντοπιστεί σε διαφορετικά στρώματα με διαφορετικά ποσοστά; πχ Υλικο Στρωμα Ποσοστο ΙΥ01 ΙΣ124 50% ΙΥ01 ΙΣ135 40% ΙΥ02 ΙΣ127 60% ΙΥ02 ΙΣ198 70% Είναι λίγο σπαζοκεφαλιά xD Επεξ/σία 27 Φεβρουαρίου 2022 από τυνα
MastroGiannis Δημοσ. 27 Φεβρουαρίου 2022 Δημοσ. 27 Φεβρουαρίου 2022 Καθόλου σπαζοκεφαλιά, κανονικοποίηση είναι. Τα στοιχεία που επαναλαμβάνονται στον πίνακα συνένωσης «Υλικά Στρωμάτων» είναι τα πρωτεύοντα κλειδιά (PKs) των βασικών πινάκων ως εξαρτημένα κλειδιά (FKs) (εν προκειμένω, σχέση many-to-many). Με αυτή τη δομή, κάθε πίνακας διατηρεί μοναδικά αντικείμενα και δεν υπάρχει επανάληψη δεδομένων. Έτσι δουλεύουν (κανονικά) οι σχεσιακές βάσεις δεδομένων.
τυνα Δημοσ. 28 Φεβρουαρίου 2022 Μέλος Δημοσ. 28 Φεβρουαρίου 2022 (επεξεργασμένο) Η αλήθεια είναι ότι είναι η πρώτη φορά που προσπαθώ να φτιάξω βάση δεδομένων τόσο μεγάλης έκτασης και έχω μπλεχτεί αρκετά. Όμως η βοήθεια αυτή ήταν ιδιαίτερα χρήσιμη και για την αποθήκευση δεδομένων με αντίστοιχη δομή στην συνέχεια 😁 Μια ακόμα ερώτηση, αν σε εναν πίνακα η μια στήλη έχει επιλογές σε drop down menu και επιτρέπεται να επιλέγουν περισσότερες από μια επιλογές σε αυτό, θεωρείται παράβαση του πρωτου κανόνα της κανονικοποίηση σχετικά με μοναδικότητα των τιμών; Επεξ/σία 28 Φεβρουαρίου 2022 από τυνα
MastroGiannis Δημοσ. 28 Φεβρουαρίου 2022 Δημοσ. 28 Φεβρουαρίου 2022 20 ώρες πριν, τυνα είπε Μια ακόμα ερώτηση, αν σε εναν πίνακα η μια στήλη έχει επιλογές σε drop down menu και επιτρέπεται να επιλέγουν περισσότερες από μια επιλογές σε αυτό, θεωρείται παράβαση του πρωτου κανόνα της κανονικοποίηση σχετικά με μοναδικότητα των τιμών; Οι απόψεις πάνω στη χρήση των MVFs και των Lookup Fields διίστανται, και προσωπικά είμαι κατά της χρήσης τους. Είναι μια δήθεν "ευκολία" που στη συνέχεια σου κάνει τη ζωή δύσκολη και, ουσιαστικά, είναι και άχρηστη, αφού, η πρόσβαση στους πίνακες από τους χρήστες της εφαρμογής θα πρέπει να αποφεύγεται δια ροπάλου. Ως προς τις πολλαπλές τιμές σε ένα πεδίο, μπορεί να φαίνεται ότι σε απαλλάσσει από τη δημιουργία ενός ακόμη πίνακα με τις πιθανές τιμές και μια σχέση μεταξύ πινάκων, αλλά, στην πορεία, αντιμετωπίζεις καταστάσεις που σε πολλούς φαίνονται αλλόκοτες. Για περισσότερες πληροφορίες δες εδώ κι εδώ. Θα βρεις κι άλλες συζητήσεις αν ψάξεις σχετικά με MVFs και Lookup Fields οι οποίες εύχομαι να σε αποτρέψουν από τη χρήση τους.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα