SQL Server学习笔记之 T-SQL研究之[表结构的建立]

本文记录了SQL Server学习过程中的T-SQL使用,详细介绍了如何建立包括学生、课程、班级等在内的多个表结构,并提到了表之间的关系设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习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 = OFFON [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 = OFFON [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 = OFFON [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 = OFFON [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 = OFFON [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 = OFFON [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 = OFFON [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 = OFFON [PRIMARY]
ON [PRIMARY]

 

 表关系图:关系图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值