Σχεδιασμός βάσης δεδομένων
1. Πίνακες:
* μαθητές:
* `student_id` (int, πρωτεύον κλειδί, auto_increment) - μοναδικό αναγνωριστικό για κάθε μαθητή
* `first_name` (varchar (255))
* `last_name` (varchar (255))
* `date_of_birth` (ημερομηνία)
* `Gender` (varchar (10))
* `Διεύθυνση` (Varchar (255))
* `phone_number` (varchar (20))
* `Email` (varchar (255))
* `admission_date` (ημερομηνία)
* `program_id` (int, προγράμματα αναφοράς ξένων κλειδιών (program_id))
* Προγράμματα:
* `program_id` (int, Primary Key, auto_increment)
* `program_name` (varchar (255))
* `Department_id` (int, Τμήματα Αναφοράς ξένων κλειδιών (Department_ID))
* Τμήματα:
* `department_id` (int, Primary Key, auto_increment)
* `department_name` (varchar (255))
* Μαθήματα:
* `course_id` (int, πρωτεύον κλειδί, auto_increment)
* `course_name` (varchar (255))
* `course_code` (varchar (20))
* `credit_hours` (int)
* `Department_id` (int, Τμήματα Αναφοράς ξένων κλειδιών (Department_ID))
* Εγγραφές:
* `rollment_id` (int, πρωτεύον κλειδί, auto_increment)
* `student_id` (int, foreign key references μαθητές (student_id))
* `course_id` (int, μαθήματα αναφοράς ξένων κλειδιών (course_id))
* «Εξάμηνο» (Varchar (20))
* `year` (int)
* `βαθμός` (varchar (2))
* Σχολή:
* `fachulty_id` (int, πρωτογενές κλειδί, auto_increment)
* `first_name` (varchar (255))
* `last_name` (varchar (255))
* `Department_id` (int, Τμήματα Αναφοράς ξένων κλειδιών (Department_ID))
* course_faculty:
* `course_faculty_id` (int, πρωτεύον κλειδί, auto_increment)
* `course_id` (int, μαθήματα αναφοράς ξένων κλειδιών (course_id))
* `Fachulty_id` (int, Σχολή Αναφοράς ξένων βασικών αναφορών (FACHULTY_ID))
* `SECTION` (VARCHAR (10))
2. Σχέσεις:
* ένα προς πολλά:
* Προγράμματα σε μαθητές (ένα πρόγραμμα μπορεί να έχει πολλούς μαθητές)
* Τμήματα σε προγράμματα (ένα τμήμα μπορεί να έχει πολλά προγράμματα)
* Τμήματα σε μαθήματα (ένα τμήμα μπορεί να έχει πολλά μαθήματα)
* Μαθήματα για εγγραφές (ένα μάθημα μπορεί να έχει πολλές εγγραφές)
* Σχολή στο Course_Faculty (μία σχολή μπορεί να διδάξει πολλαπλά μαθήματα)
* Μαθήματα στο Course_Faculty (ένα μάθημα μπορεί να έχει πολλά μέλη ΔΕΠ)
* Οι μαθητές σε εγγραφές (ένας φοιτητής μπορεί να εγγραφεί σε πολλαπλά μαθήματα)
παράδειγμα SQL (δημιουργία πινάκων):
`` sql
- Δημιουργήστε τον πίνακα μαθητών
Δημιουργήστε μαθητές τραπεζιού (
student_id int primary κλειδί auto_increment,
first_name varchar (255),
last_name varchar (255),
Date_of_birth Ημερομηνία,
φύλο varchar (10),
Διεύθυνση varchar (255),
Phone_Number varchar (20),
Email Varchar (255),
Ημερομηνία εισόδου_date,
program_id int,
Προγράμματα αναφοράς ξένου κλειδιού (program_id) (program_id)
)
- Δημιουργήστε τον πίνακα προγραμμάτων
Δημιουργία προγραμμάτων πίνακα (
program_id int πρωτεύον κλειδί auto_increment,
program_name varchar (255),
department_id int,
Τα τμήματα αναφοράς ξένου κλειδιού (department_id) (Department_id)
)
- Δημιουργήστε τον πίνακα των τμημάτων
Δημιουργία τμημάτων επιτραπέζιων (
department_id int Primary Key Auto_Increment,
department_name varchar (255)
)
- Δημιουργήστε τον πίνακα μαθημάτων
Δημιουργήστε μαθήματα επιτραπέζιων (
course_id int πρωτεύον κλειδί auto_increment,
Course_name varchar (255),
course_code varchar (20),
credit_hours int,
department_id int,
Τα τμήματα αναφοράς ξένου κλειδιού (department_id) (Department_id)
)
- Δημιουργήστε τον πίνακα εγγραφών
Δημιουργήστε εγγραφές πίνακα (
εγγραφή_ID int Πρωτογενές κλειδί auto_increment,
student_id int,
Course_id int,
Εξάμηνο Varchar (20),
έτος int,
Βαθμολογία Varchar (2),
Το ξένο κλειδί (student_id) αναφέρει τους μαθητές (student_id),
Το ξένο κλειδί (course_id) αναφέρει μαθήματα (course_id)
)
- Δημιουργήστε το τραπέζι της σχολής
Δημιουργήστε τη σχολή πίνακα (
FACHULTY_ID INT Πρωτογενές κλειδί auto_increment,
first_name varchar (255),
last_name varchar (255),
department_id int,
Τα τμήματα αναφοράς ξένου κλειδιού (department_id) (Department_id)
)
- Δημιουργήστε τον πίνακα course_faculty
Δημιουργία πίνακα μαθήματος_FACulty (
course_faculty_id int πρωτεύον κλειδί auto_increment,
Course_id int,
FACHULTY_ID INT,
Τμήμα varchar (10),
Το ξένο κλειδί (course_id) αναφέρει μαθήματα (course_id),
Το Foreign Key (FACHULTY_ID) αναφέρει τη Σχολή (FACHULTY_ID)
)
`` `
ακεραιότητα και περιορισμούς δεδομένων:
* ξένα κλειδιά: Χρησιμοποιήστε ξένα κλειδιά για να εξασφαλίσετε τη συνέπεια των δεδομένων και τη σχεσιακή ακεραιότητα.
* Τύποι δεδομένων: Επιλέξτε κατάλληλους τύπους δεδομένων για κάθε στήλη (π.χ. `int`,` varchar`, `Date ').
* μοναδικότητα: Βεβαιωθείτε ότι τα αναγνωριστικά σπουδαστών και άλλα κατάλληλα πεδία είναι μοναδικά.
* Επικύρωση: Εφαρμογή κανόνων επικύρωσης δεδομένων (π.χ. ελέγχους εύρους για βαθμούς, επικύρωση μορφής ηλεκτρονικού ταχυδρομείου) για να διασφαλιστεί η ποιότητα των δεδομένων.
Πρόσθετα χαρακτηριστικά και εκτιμήσεις:
* Αναφορά: Σχεδιασμός ερωτήματα για τη δημιουργία αναφορών σχετικά με την απόδοση των μαθητών, την εγγραφή μαθημάτων, το φόρτο εργασίας των σχολών κ.λπ.
* Ασφάλεια: Εφαρμόστε τους ρόλους και τα δικαιώματα των χρηστών για τον έλεγχο της πρόσβασης σε ευαίσθητα δεδομένα.
* Δημιουργία αντιγράφων ασφαλείας και ανάκτησης δεδομένων: Εφαρμογή διαδικασιών δημιουργίας αντιγράφων ασφαλείας και ανάκτησης για την προστασία από την απώλεια δεδομένων.
* Διεπαφή χρήστη: Εξετάστε ένα περιβάλλον χρήστη front-end (χρησιμοποιώντας γλώσσες όπως η PHP, η Python, η Java) για να αλληλεπιδράσετε με τη βάση δεδομένων και να κάνετε το σύστημα φιλικό προς το σύστημα.
* Βελτιστοποίηση απόδοσης: Χρησιμοποιήστε την ευρετηρίαση και τις κατάλληλες τεχνικές βελτιστοποίησης ερωτήματος για ταχύτερη πρόσβαση δεδομένων.
* Κανονικοποίηση: Βεβαιωθείτε ότι ο σχεδιασμός της βάσης δεδομένων σας ακολουθεί τις αρχές κανονικοποίησης για τη μείωση της απόλυσης και τη βελτίωση της ακεραιότητας των δεδομένων.
Παράδειγμα ερωτήματα:
* Πάρτε όλους τους μαθητές σε ένα συγκεκριμένο πρόγραμμα:
`` sql
Επιλέξτε *
Από μαθητές
Όπου program_id =1;
`` `
* Αποκτήστε το μέσο βαθμό για ένα συγκεκριμένο μάθημα:
`` sql
Επιλέξτε AVG (βαθμός) ως eerement_grade
Από εγγραφές
Όπου course_id =2;
`` `
* Αποκτήστε τα ονόματα των μελών ΔΕΠ που διδάσκουν ένα συγκεκριμένο μάθημα:
`` sql
Επιλέξτε f.first_name, f.last_name
Από τη σχολή f
Συμμετάσχετε στο Course_Faculty CF στο F.FACULTY_ID =CF.FACULTY_ID
Συμμετάσχετε μαθήματα C στο cf.course_id =c.course_id
Όπου C.Course_id =3;
`` `
Θυμηθείτε: Αυτό είναι ένα βασικό σχέδιο. Η συγκεκριμένη δομή θα διαφέρει ανάλογα με τις συγκεκριμένες ανάγκες και τις απαιτήσεις του SRMS σας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα