最近在学习SQL Server,所以想把一些学习的知识记录下来。
1.建立表结构
学生表
CREATE TABLE [dbo].[t_student](
[student_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL, --学号
[classes_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NULL, -- 班级
[student_name] [varchar](12) COLLATE Chinese_PRC_CI_AS NOT NULL, --姓名
[sex] [char](2) COLLATE Chinese_PRC_CI_AS NULL, --性别
[birth_date] [datetime] NULL, --出生年月
[credit_hour] [int] NULL, --学分
[address] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL, --地址
CONSTRAINT [PK_t_student] PRIMARY KEY CLUSTERED
(
[student_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
课程表
CREATE TABLE [dbo].[t_course](
[course_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,--课程编号
[course_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,--课程名称
[specialized_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NULL,--所属专业
CONSTRAINT [PK_t_course] PRIMARY KEY CLUSTERED
(
[course_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
班级表

CREATE TABLE [dbo].[t_classes](
[classes_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL, --班级编号
[classes_name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,--班级名称
[classes_count] [int] NULL,--班级人数
[specialized_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NULL,--所在系
CONSTRAINT [PK_t_classes] PRIMARY KEY CLUSTERED
(
[classes_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
专业表
CREATE TABLE [dbo].[t_specialized](
[specialized_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,--专业编号
[specialized_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,--专业名称
[department_id] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,--所属系
CONSTRAINT [PK_t_specialized] PRIMARY KEY CLUSTERED
(
[specialized_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
院系表
CREATE TABLE [dbo].[t_department](
[department_id] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,--系编号
[department_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,--系名称
CONSTRAINT [PK_t_department] PRIMARY KEY CLUSTERED
(
[department_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
学期表
CREATE TABLE [dbo].[t_term](
[term_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL,--学期编号
[term_name] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,--学期名称
[start_date] [datetime] NULL,--学期起始日期
[end_date] [datetime] NULL,--学期结束日期
CONSTRAINT [PK_t_term] PRIMARY KEY CLUSTERED
(
[term_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
课程安排表
CREATE TABLE [dbo].[t_course_plan](
[student_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL,--学号
[course_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,--课程编号
[term_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL,--学期
CONSTRAINT [PK_t_course_plan] PRIMARY KEY CLUSTERED
(
[student_id] ASC,
[course_id] ASC,
[term_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
学生成绩表
CREATE TABLE [dbo].[t_score](
[student_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL,--学号
[course_id] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,--课程编号
[term_id] [nchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL,--成绩
[score] [float] NOT NULL CONSTRAINT [DF_t_score_score] DEFAULT ((0)),--学期
CONSTRAINT [PK_t_score] PRIMARY KEY CLUSTERED
(
[student_id] ASC,
[course_id] ASC,
[term_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
表关系图: