之前也一直有想法开发一个小的项目来练练手,这几天也规划设计了一个数据库,分享到论坛上,请各位大牛指点一二。
USE PerformanceManagementSystem
GO
--创建年级表
CREATE TABLE Grade
(
GradeID int IDENTITY NOT NULL
PRIMARY KEY ,
GradeName nvarchar(20) NOT NULL,
GradeTeacher1 nvarchar(50) NOT NULL,
GradeTeacher2 nvarchar(50) NULL,
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建班级表
CREATE TABLE Class
(
ClassID int IDENTITY NOT NULL
PRIMARY KEY ,
ClassName nvarchar(20) NOT NULL,
GradeID int NOT NULL
REFERENCES Grade(GradeID) ,
ClassType char(1) NOT NULL
DEFAULT '0',
ClassTeacher1 nvarchar(50) NOT NULL,
ClassTeacher2 nvarchar(50) NULL,
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建学生信息表
CREATE TABLE Student
(
StudentID int IDENTITY NOT NULL
PRIMARY KEY, StudentName nvarchar(50) NOT NULL,
Gender nchar(1) NOT NULL,
BirthDate datetime NOT NULL,
AdmissionDate datetime NOT NULL,
ClassID int NOT NULL
REFERENCES Class(ClassID),
StudentCode varchar(20) NULL,
IDNumber varchar(20) NOT NULL,
PhoneNumber1 varchar(20) NOT NULL,
PhoneNumber2 varchar(20) NULL,
Address1 nvarchar(60) NOT NULL,
Address2 nvarchar(60) NULL,
EmailAddress nvarchar(50) NULL,
StudentNational nvarchar(20) NOT NULL,
ExamFlag char(1) NOT NULL,
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL)
GO
--创建学科表
CREATE TABLE Course
(
CourseID int IDENTITY NOT NULL
PRIMARY KEY ,
CourseName nvarchar(20) NOT NULL,
CourseType char(1) NOT NULL
DEFAULT '0',
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建教师表
CREATE TABLE Teacher
(
TeacherID int IDENTITY NOT NULL
PRIMARY KEY ,
TeacherName nvarchar(50) NOT NULL,
Gender nchar(1) NOT NULL,
BirthDate datetime NOT NULL,
TeacherNational nvarchar(20) NOT NULL,
Address nvarchar(60) NOT NULL,
PhoneNumber varchar(20) NOT NULL,
EmailAddress nvarchar(50) NOT NULL,
PoliticsStatus nvarchar(20) NULL,
FirstDegree nvarchar(50) NOT NULL,
HighestDegree nvarchar(50) NULL,
IDNumber varchar(20) NOT NULL,
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建课程表
CREATE TABLE Schedule
(
ScheduleID int IDENTITY NOT NULL
PRIMARY KEY ,
CourseID int NOT NULL
REFERENCES Course(CourseID),
TeacherID int NOT NULL
REFERENCES Teacher(TeacherID),
ClassID int NOT NULL
REFERENCES Class(ClassID),
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建考试信息表
CREATE TABLE Exam
(
ExamID int IDENTITY  NOT NULL
PRIMARY KEY ,
ExamName nvarchar(50) NOT NULL,
ExamDate datetime NOT NULL,
RoomNumber int NOT NULL,
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,)
GO
--创建考试考场安排表
CREATE TABLE ExamPlan
(
ExamPlanID int IDENTITY NOT NULL
PRIMARY KEY ,
StudentID int NOT NULL
REFERENCES Student(StudentID),
ExamRoom varchar(2) NOT NULL,
SeatNumber varchar(2) NOT NULL,
CandidateNumber varchar(9) NOT NULL,
ExamID int NOT NULL
REFERENCES Exam(ExamID),
rowguid uniqueidentifier NOT NULL,
ModifiedDate datetime NOT NULL,
)
GO
--创建学生成绩表
CREATE TABLE Score
(
ScoreID int IDENTITY NOT NULL
PRIMARY KEY,
StudentID int NOT NULL
REFERENCES Student(StudentID),
ExamID int NOT NULL
REFERENCES Exam(ExamID),
CourseID int NOT NULL
REFERENCES Course(CourseID),
Score decimal(8,2) NOT NULL,
ClassRank int NULL,
GradeRank int NULL,)