
22-08-14, 14:58
|
| Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2010 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 18-06-2010
Μηνύματα: 3.674
| |
Καλησπέρα
Το ζητούμενο μπορεί να υλοποιηθεί χωρίς κώδικα ορίζοντας κατάλληλα τις ιδιότητες Validate Role και Validate Text στη σχεδίαση του πίνακα Promithia1.
Οι τιμές που δόθηκαν είναι: Not ([mixanologos] And [mixanografos]) και «Δεν επιτρέπεται και τα δύο πλαίσια ελέγχου να είναι τσεκαρισμένα».
Το πρόβλημα με τη ΒΔ είναι στη σχεδίαση.
Συνοπτικά προτείνω να μελετήσεις την ακόλουθη σύνθεση της ΒΔ:
1) Βοηθητικός πίνακας ΕΙΔΙΚΟΤΗΤΕΣ]. Περιέχει τις διαφορετικές ειδικότητες του προσωπικού (πχ τοπογράφος, νομικός, μηχανολόγος, κλπ) και ένα μοναδικό κωδικό πχ ΕΙΔΙΚΟΤΗΤΑ_ID για κάθε ειδικότητα που ορίζεται πρωτεύον κλειδί.
2) Πίνακας ΠΡΟΣΩΠΙΚΟ περιέχει τα ατομικά στοιχεία του προσωπικού (πχ επώνυμο, όνομα, κλπ).
Περιέχει επίσης ένα πεδίο ΕΙΚΟΤΗΤΑ_ID που παίρνει τιμές από το βοηθητικό πίνακα
[ΕΙΔΙΚΟΤΗΤΕΣ] και ένα μοναδικό κωδικό πχ ΠΡΟΣΩΠΙΚΟ_ID, που ορίζεται πρωτεύον κλειδί.
3) Βοηθητικός πίνακας ΡΟΛΟΙ_ΜΕΛΩΝ. Περιέχει τις ιδιότητες των μελών της επιτροπής (πρόεδρος, αναπληρωτής πρόεδρος, μέλος, αναπληρωματικό μέλος, μηχανολόγος, αναπληρωματικός μηχανολόγος κλπ).
Περιέχει επίσης ένα μοναδικό κωδικό πχ ΡΟΛΟΣ_ID, που ορίζεται και πρωτεύον κλειδί.
4) Πίνακας ΠΡΟΜΗΘΕΙΕΣ. Περιέχει τα στοιχεία της προμήθειας, χωρίς στοιχεία για την επιτροπή.
Περιέχει επίσης ένα μοναδικό κωδικό ΠΡΟΜΗΘΕΙΑ_ID, που ορίζεται ως πρωτεύον κλειδί.
5) πίνακας ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ. Περιέχει τα στοιχεία για κάθε μέλος των επιτροπών
Περιέχει ένα πεδίο ΠΡΟΜΗΘΕΙΑ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΠΡΟΜΗΘΕΙΕΣ.
Ένα πεδίο ΠΡΟΣΩΠΙΚΟ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΠΡΟΣΩΠΙΚΟ.
Ένα πεδίο ΡΟΛΟΣ_ID. Είναι το εξωτερικό κλειδί που συνδέει τον πίνακα με τον πίνακα ΡΟΛΟΙ_ΜΕΛΩΝ.
Περιέχει επίσης και ένα μοναδικό κωδικό πχ ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ_ID, που ορίζεται πρωτεύον κλειδί.
Ανάμεσα στον πίνακα ΠΡΟΜΗΘΕΙΕΣ και ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ, υπάρχει σχέση 1 προς πολλά.
Δηλαδή για κάθε προμήθεια στον πίνακα ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ ορίζονται τόσες εγγραφές όσο το πλήθος των μελών της επιτροπής.
Αν μία προμήθεια έχει ΠΡΟΜΗΘΕΙΑ_ID=10, μπορούμε να φιλτράρουμε τις εγγραφές του πίνακα ΜΕΛΗ_ΕΠΙΤΡΟΠΩΝ με κριτήριο ΠΡΟΜΗΘΕΙΑ_ID=10 και να βρούμε όλα τα στοιχεία για τα μέλη της επιτροπής αυτής της προμήθειας.
Η παραπάνω σχεδίαση είναι ευέλικτη και επιτρέπει να οριστούν επιτροπές με οποιοδήποτε αριθμό μελών.
Φιλικά/Γιώργος
|