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)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó