By GokiSoft.com|
15:40 16/03/2022|
SQL Server/MySQL
[Source Code] Phân tích thiết kế hệ thống quản lý sinh viên - Aptech - C2110I
Phân tích thiết kế hệ thống quản lý sinh viên - Aptech
Phân tích thiết kế CSDL
B1) Phân tích được các thực thể trong dự án (table <-> entity)
- Nhân sự -> Staff
- id -> int -> primary key -> identity(1,1)
- fullname -> nvarchar(50) -> KO -> Tên có thể trùng
- birthday -> date -> KO
- gender -> nvarchar(16) -> KO
- phone_number -> nvarchar(20) -> khác nhau (có thể) -> duy nhất + có thể để null -> Loại -> unique
- email -> nvarchar(150) -> khác nhau (cỏ thể) -> duy nhất + bắt buộc nhật email -> Loại -> unique
- address -> nvarchar(200) -> KO
- Giáo viên -> Teacher
- id -> int -> primary key -> identity(1,1)
- fullname -> nvarchar(50)
- birthday -> date
- gender -> nvarchar(16)
- phone_number -> nvarchar(20)
- email -> nvarchar(150)
- address -> nvarchar(200)
- salary -> money
- Sinh viên -> Student
- id -> int -> primary key -> identity(1,1)
- rollno -> nvarchar(20) -> unique
- fullname
- birthday
- gender
- phone_number -> unique
- email -> unique
- address
- Kỳ học -> Semester
- id -> int -> primary key -> identity(1,1)
- Kỳ học -> name
- Mộn học -> Subject
- id -> int -> primary key -> identity(1,1)
- Môn học -> name
- Tín chỉ (số giờ học) ->session_count -> int
- Kỳ học -> semester_id -> int -> references Semester (id)
- Kết quả học tập -> Marks
- học viên -> student_id -> int -> foreign key
- môn học -> subject_id -> int -> foreign key
- điểm thi
-> primary key (student_id, subject_id)
- Quản lý lớp học -> Class -> 1 sinh viên học nhiều lớp -> ???
- id -> int -> primary key -> identity(1,1)
- Tên lớp -> name
- Quản lý thành viên trong lớp -> ClassGroup
- Sinh viên -> student_id -> int -> foreign key
- Lớp học -> class_id -> int -> foreign key
-> primary key (student_id, class_id)
- Điểm dánh -> ??? -> Phâm tích kỹ hơn
- Thông tin: lớp học, môn học, giảng viên
- Danh sach điểm danh: sinh viên + ngày + trạng thái điểm danh (P | PA | A)
-> Sử dụng 1 bảng -> ko thể làm đc
1) Schedule
- id -> int -> primary key -> identity(1,1)
- class_id -> int -> foreign key
- subject_id -> int -> foreign key
- teacher_id -> int -> foreign key
- start_date -> date
- end_date -> date
- giờ học: 3,5,7, 2,4,6, ... -> simple -> nvarchar(30) -> dự án thật -> khác
2) Attendence
- id -> int -> primary key -> identity(1,1)
- schedule_id -> int -> foreign key
- student_id -> int -> foreign key
- status1 -> nvarchar(20) -> P | PA | A
- checkin1 -> datetime
- status2 -> nvarchar(20) -> P | PA | A
- checkin2 -> datetime
B2) Phân tích các thuộc tính của từng bảng
B3) Xác định kiểu dữ liệu của từng column trong bảng
B4) Xác định được trường khóa chính
- Giá trị duy nhất
- Ko được để null
- Trường khóa chính ko đc thay đổi dữ liệu
- Chọn TH khóa chính là int -> làm trường khóa chính.
B5) Xác định foreign key
B6) Hoàn thiện -> DONE
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)