By GokiSoft.com| 15:37 01/06/2023|
SQL Server/MySQL

[Share Code] Phân tích thiết kế hệ thống quản lý sinh viên - Aptech - C2212I

Phân tích thiết kế hệ thống quản lý sinh viên - Aptech

https://dbdiagram.io/d/64784d99722eb774943294bb

Phân tích:
- Sinh viên -> Student
	- id: int -> identity (1,1) -> primary key
	- Tên -> fullname (50)
	- mã sinh viên -> rollno (20)
	- mã portal aptech ấn độ -> portalno (20)
	- ngày sinh -> birthday (date)
	- giới tính -> gender (20)
	- email -> email (150) 
	- sđt -> phone_number (20)
	- địa chỉ-> address (200)
- Nhân viên (SRO) -> Staff
	- id: int -> identity (1,1) -> primary key
	- Tên -> fullname
	- ngày sinh -> birthday
	- giới tính -> gender
	- email -> email
	- sđt -> phone_number
	- địa chỉ -> address
- Giáo viên (Teacher) -> Teacher
	- id: int -> identity (1,1) -> primary key
	- Tên -> fullname
	- ngày sinh -> birthday
	- giới tính -> gender
	- email -> email
	- sđt -> phone_number
	- địa chỉ -> address
- Kỳ học -> semester
	- id: int -> identity (1,1) -> primary key
	- tên kỳ học -> semester_name
- Môn học -> subject
	- id: int -> identity (1,1) -> primary key
	- Tên môn học -> subject_name
	- thuộc kỳ học nào -> semester_id -> foreign key -> semester (id)
	- số giờ dạy -> hour_total
- Lớp -> Class
	- id: int -> identity (1,1) -> primary key
	- tên lớp -> class_name (20) -> unique
- ClassStudent
	- student_id
	- class_id
	-> primary key (student_id, class_id)
- Kết quả học (Mark) -> result
	- môn học -> subject_id
	- học viên -> student_id
	- điểm -> mark
	-> primary key (subject_id, student_id)
- Room
	-> primary key (subject_id, student_id)
	- room_name (50) -> unique
- Lịch học
	- id: int -> identity (1,1) -> primary key
	- ngày bắt đầu -> start_date
	- ngày kết thúc -> end_date
	- lớp học -> class_id
	- môn học -> subject_id
	- giáo viên -> teacher_id
	- tổng số giờ học -> hour_total
- Booking
	- id: int -> identity (1,1) -> primary key
	- schedule_id -> foreign key
	- start_time (13h30 01/06/2023)
	- end_time (17h30 01/06/2023)
	- status: tinyint (0: chua hoc, 1: da hoc)
	- room_id: foreign key room (id)
- Điểm danh
	- id: int -> identity (1,1) -> primary key
	- booking_id: foreign key (id)
	- student_id: foreign key student (id)
	- checkin_status: A, PA, P
	- checkin_note
	- checkin
	- checkout_status: A, PA, P
	- checkout_note
	- checkout
Table Student {
  id integer [pk]
  fullname varchar(20)
  rollno varchar(20)
  portal_no varchar(20)
  birthday date
  gender varchar(20)
  email varchar(150)
  phone_number varchar(20)
  address varchar(200)
}

Table Staff {
  id integer [pk]
  fullname varchar(20)
  birthday date
  gender varchar(20)
  email varchar(150)
  phone_number varchar(20)
  address varchar(200)
}

Table Teacher {
  id integer [pk]
  fullname varchar(20)
  birthday date
  gender varchar(20)
  email varchar(150)
  phone_number varchar(20)
  address varchar(200)
}

Table Semester {
  id integer [pk]
  name varchar(20)
}

Table Subject {
  id integer [pk]
  subject_name varchar(20)
  semester_id integer
  hour_total integer
}

Table Class {
  id integer [pk]
  name varchar(20)
}

Table ClassStudent {
  class_id integer [pk]
  student_id integer
}

Table Result {
  subject_id integer [pk]
  student_id integer [pk]
  mark float
}

Table Room {
  id integer [pk]
  name varchar(20)
}

Table Schedule {
  id integer [pk]
  class_id integer
  subject_id integer
  teacher_id integer
  hour_total float
  start_date date
  end_date date
}

Table Booking {
  id integer [pk]
  schedule_id integer
  start_time datetime
  end_time datetime
  status tinyint
  room_id integer
}

Table Attendence {
  id integer [pk]
  booking_id integer
  student_id integer
  checkin_status varchar(10)
  checkin_note varchar(200)
  checkin datetime
  checkout_status varchar(10)
  checkout_note varchar(200)
  checkout datetime
}

Ref: "Semester"."id" < "Subject"."semester_id"

Ref: "Class"."id" < "ClassStudent"."class_id"

Ref: "Student"."id" < "ClassStudent"."student_id"

Ref: "Subject"."id" < "Result"."subject_id"

Ref: "Student"."id" < "Result"."student_id"

Ref: "Class"."id" < "Schedule"."class_id"

Ref: "Subject"."id" < "Schedule"."subject_id"

Ref: "Teacher"."id" < "Schedule"."teacher_id"

Ref: "Schedule"."id" < "Booking"."schedule_id"

Ref: "Room"."id" < "Booking"."room_id"

Ref: "Booking"."id" < "Attendence"."booking_id"

Ref: "Student"."id" < "Attendence"."student_id"
CREATE TABLE [Student] (
  [id] integer PRIMARY KEY,
  [fullname] varchar(20),
  [rollno] varchar(20),
  [portal_no] varchar(20),
  [birthday] date,
  [gender] varchar(20),
  [email] varchar(150),
  [phone_number] varchar(20),
  [address] varchar(200)
)
GO

CREATE TABLE [Staff] (
  [id] integer PRIMARY KEY,
  [fullname] varchar(20),
  [birthday] date,
  [gender] varchar(20),
  [email] varchar(150),
  [phone_number] varchar(20),
  [address] varchar(200)
)
GO

CREATE TABLE [Teacher] (
  [id] integer PRIMARY KEY,
  [fullname] varchar(20),
  [birthday] date,
  [gender] varchar(20),
  [email] varchar(150),
  [phone_number] varchar(20),
  [address] varchar(200)
)
GO

CREATE TABLE [Semester] (
  [id] integer PRIMARY KEY,
  [name] varchar(20)
)
GO

CREATE TABLE [Subject] (
  [id] integer PRIMARY KEY,
  [subject_name] varchar(20),
  [semester_id] integer,
  [hour_total] integer
)
GO

CREATE TABLE [Class] (
  [id] integer PRIMARY KEY,
  [name] varchar(20)
)
GO

CREATE TABLE [ClassStudent] (
  [class_id] integer PRIMARY KEY,
  [student_id] integer
)
GO

CREATE TABLE [Result] (
  [subject_id] integer,
  [student_id] integer,
  [mark] float,
  PRIMARY KEY ([subject_id], [student_id])
)
GO

CREATE TABLE [Room] (
  [id] integer PRIMARY KEY,
  [name] varchar(20)
)
GO

CREATE TABLE [Schedule] (
  [id] integer PRIMARY KEY,
  [class_id] integer,
  [subject_id] integer,
  [teacher_id] integer,
  [hour_total] float,
  [start_date] date,
  [end_date] date
)
GO

CREATE TABLE [Booking] (
  [id] integer PRIMARY KEY,
  [schedule_id] integer,
  [start_time] datetime,
  [end_time] datetime,
  [status] tinyint,
  [room_id] integer
)
GO

CREATE TABLE [Attendence] (
  [id] integer PRIMARY KEY,
  [booking_id] integer,
  [student_id] integer,
  [checkin_status] varchar(10),
  [checkin_note] varchar(200),
  [checkin] datetime,
  [checkout_status] varchar(10),
  [checkout_note] varchar(200),
  [checkout] datetime
)
GO

ALTER TABLE [Subject] ADD FOREIGN KEY ([semester_id]) REFERENCES [Semester] ([id])
GO

ALTER TABLE [ClassStudent] ADD FOREIGN KEY ([class_id]) REFERENCES [Class] ([id])
GO

ALTER TABLE [ClassStudent] ADD FOREIGN KEY ([student_id]) REFERENCES [Student] ([id])
GO

ALTER TABLE [Result] ADD FOREIGN KEY ([subject_id]) REFERENCES [Subject] ([id])
GO

ALTER TABLE [Result] ADD FOREIGN KEY ([student_id]) REFERENCES [Student] ([id])
GO

ALTER TABLE [Schedule] ADD FOREIGN KEY ([class_id]) REFERENCES [Class] ([id])
GO

ALTER TABLE [Schedule] ADD FOREIGN KEY ([subject_id]) REFERENCES [Subject] ([id])
GO

ALTER TABLE [Schedule] ADD FOREIGN KEY ([teacher_id]) REFERENCES [Teacher] ([id])
GO

ALTER TABLE [Booking] ADD FOREIGN KEY ([schedule_id]) REFERENCES [Schedule] ([id])
GO

ALTER TABLE [Booking] ADD FOREIGN KEY ([room_id]) REFERENCES [Room] ([id])
GO

ALTER TABLE [Attendence] ADD FOREIGN KEY ([booking_id]) REFERENCES [Booking] ([id])
GO

ALTER TABLE [Attendence] ADD FOREIGN KEY ([student_id]) REFERENCES [Student] ([id])
GO

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 đó