Εμφάνιση ενός μόνο μηνύματος
  #9  
Παλιά 26-01-12, 21:53
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Α. ΕΙΣΑΓΩΓΗ

Στις σχεσιακές βάσεις δεδομένων (access, SQL setver, κλπ) οι σχέσεις των πινάκων μπορεί να είναι ένα προς πολλά, ένα προς ένα και πολλά προς πολλά.

Αν έχουμε ένα πίνακα «ΚΑΘΗΓΗΤΕΣ» με τους καθηγητές (πρωτεύον κλειδί ID_Καθηγητή) και έναν «ΜΑΘΗΤΕΣ» με τους μαθητές (πρωτεύον κλειδί ID_Μαθητή), επειδή κάθε καθηγητής έχει πολλούς μαθητές και κάθε μαθητής πολλούς καθηγητές, η σχέση τους είναι πολλά προς πολλά.

Η σχέση πολλά προς πολλά παρουσιάζει δυσκολίες και για να γίνει διαχερίσιμη θα πρέπει να μετατραπεί σε δύο σχέσεις ένα προς πολλά με τη βοήθεια ενός ενδιάμεσου πίνακα «ΚΑΘΗΓΗΤΕΣ_ΜΑΘΗΤΕΣ».

Ο πίνακας «ΚΑΘΗΓΗΤΕΣ_ΜΑΘΗΤΕΣ» θα πρέπει να περιέχει τα εξωτερικά κλειδιά «ID_Καθηγητή» και «ID_Μαθητή» τα οποία συνήθως ορίζονται και σύνθετο πρωτεύον κλειδί.

Στον πίνακα «ΚΑΘΗΓΗΤΕΣ_ΜΑΘΗΤΕΣ» καταχωρούμε για κάθε κωδικό καθηγητή τους κωδικούς των μαθητών του.

Δηλαδή αν ο καθηγητής με κωδικό 123 έχει 50 μαθητές θα καταχωρήσουμε 50 γραμμές με ίδιο κωδικό καθηγητή (123) και διαφορετικό κωδικό μαθητή.

Το ίδιο θα γίνει για όλους τους καθηγητές.

Συνδέοντας τον πίνακα «ΚΑΘΗΓΗΤΕΣ» με τον «ΚΑΘΗΓΗΤΕΣ_ΜΑΘΗΤΕΣ» στα πεδία τους «ID_Καθηγητή» και τον ««ΜΑΘΗΤΕΣ» με τον «ΚΑΘΗΓΗΤΕΣ_ΜΑΘΗΤΕΣ» στα πεδία τους «ID_Μαθητή» λαμβάνουμε δύο σχέσεις 1 προς πολλά που είναι και το ζητούμενο.

Β. ΣΧΕΔΙΑΣΗ ΤΗΣ ΒΔ

Η ΒΔ, που επισυνάπτω, δείχνει πως μπορούμε να χειριστούμε σχέσεις πολλά προς πολλά, γι’ αυτό έγινε και η σχετική εισαγωγή.

Με τη ΒΔ θέλουμε να διαχειριστούμε τα ενδιαφέροντα μιας ομάδας ατόμων (πελατών).

Τα ενδιαφέροντα κατατάσσονται σε κατηγορίες (ΦΑΓΗΤΟ, ΔΙΑΣΚΕΔΑΣΗ, ΧΟΜΠΥ, κλπ) και κάθε κατηγορία περιλαμβάνει υποκατηγορίες, όπως:
  • Κατηγορία ΦΑΓΗΤΟ, υποκατηγορίες: Εστιατόρια, Ταβέρνες, Ψητοπωλεία.
  • Κατηγορία ΔΙΑΣΚΕΔΑΣΗ, υποκατηγορίες: Καφέ, Μπαρ, Night Clubs, Cinema.
  • Κατηγορία ΧΟΜΠΥ, υποκατηγορίες: Φωτογραφία, Ζωγραφική, Γλυπτική, Cinema.
Μία υποκατηγορία μπορεί να ανήκει σε πολλές κατηγορίες και κάθε πελάτης μπορεί να έχει πολλά ενδιαφέροντα (ανήκει σε πολλές υποκατηγορίες).

Για την αποθήκευση των δεδομένων δημιουργήθηκαν οι βασικοί πίνακες: «ΠΕΛΑΤΕΣ», «ΚΑΤΗΓΟΡΙΕΣ» και «ΥΠΟΚΑΤΗΓΟΡΙΕΣ».

Επίσης, επειδή οι σχέσεις των πινάκων «ΚΑΤΗΓΟΡΙΕΣ», «ΥΠΟΚΑΤΗΓΟΡΙΕΣ» και «ΠΕΛΑΤΕΣ», «ΥΠΟΚΑΤΗΓΟΡΙΕΣ» είναι πολλά προς πολλά δημιουργήθηκαν και οι ενδιάμεσοι πίνακες «ΚΑΤΗΓΟΡΙΕΣ_ΥΠΟΚΑΤΗΓΟΡΙΕΣ και «ΠΕΛΑΤΕΣ_ΥΠΟΚΑΤΗΓΟΡΙΕΣ».

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

Για τη διευκόλυνση των καταχωρήσεων χρησιμοποιήθηκαν πεδία αναζήτησης (πτυσσόμενα πλαίσια).

ΧΡΗΣΗ ΤΗΣ ΒΔ

1. Με τη βοήθεια της φόρμας «ΥΠΟΚΑΤΗΓΟΡΙΕΣ» πρώτα καταχωρούμε τα στοιχεία των υποκατηγοριών.

2. Με τη βοήθεια της σύνθετης φόρμας «ΚΑΤΗΓΟΡΙΕΣ» καταχωρούμε τις κατηγορίες και για κάθε κατηγορία στη δευτερεύουσα φόρμα δημιουργούμε τις αναγκαίες εγγραφές για την καταχώρηση των υποκατηγοριών που τις ανήκουν.

Οι υποκατηγορίες επιλέγονται από το σύνθετο πλαίσιο και αν δεν υπάρχουν πατούμε το κουμπί «Υποκατηγορίες» για να ανοίξει η φόρμα «ΥΠΟΚΑΤΗΓΟΡΙΕΣ» και να τις δημιουργήσουμε.

3. Αφού τελειώσουμε με τις υποκατηγορίες και τις κατηγορίες, με τη βοήθεια της φόρμας «ΠΕΛΑΤΕΣ» καταχωρούμε τους πελάτες.

Για κάθε πελάτη που καταχωρούμε, στη δευτερεύουσα φόρμα καταχωρούμε τα ενδιαφέροντά του (υποκατηγορίες).

Οι υποκατηγορίες επιλέγονται από το σύνθετο πλαίσιο και αν δεν υπάρχουν πατούμε το κουμπί «Κατηγορίες/Υποκατηγορίες» για να ανοίξει η φόρμα «ΚΑΤΗΓΟΡΙΕΣ» και να τις δημιουργήσουμε.

ΠΡΟΣΟΧΗ: Δεν πρέπει να υπάρχουν ορφανές υποκατηγορίες. Κάθε υποκατηγορία που δημιουργούμε θα πρέπει να την εντάσσουμε, με τη βοήθεια της φόρμας «ΚΑΤΗΓΟΡΙΕΣ», σε μία ή περισσότερες κατηγορίες.

Φιλικά/Γιώργος

ΥΓ Δάφνη, ελπίζω βλέποντας την πιο ολοκληρωμένη εφαρμογή και τις παραπάνω οδηγίες να περιοριστούν τα μπερδέματα.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip ΣχέσειςΠολάΠροςΠολά3.zip (38,5 KB, 54 εμφανίσεις)
Απάντηση με παράθεση