SQL Server Basic Class

使用软件:

        SQL Server 2019

        SSMS(SQL Server Management Studio) 18.12.1

学生课程库

这里的学号下面是改成了10位长度

1、创建学生课程数据库 

2、建学生表

设置学号为主键(右键单击学号选设置主键),设置smalint默认值20,性别的约束可以建表后再设置。(注,上面学号的char长度被修订为10)

 3、建表后,右键性别,点击CHECK约束。

点击表达式,输入“性别 IN ('男','女')”,同时会发现这里的约束名是CK_表名,第一个学生表建立即完成,后面就可以点击编辑前200行就可以加数据了。

 

如果不想用上面的点点点界面操作,那么直接用下面的SQL语句即可。

create table 学生(
	学号 CHAR(10) PRIMARY KEY,   -- 已包含了 NOT NULL UNQUE,
	姓名 VARCHAR(8) NOT NULL,
	年龄 SMALLINT DEFAULT 20,
	性别 CHAR(2) CHECK(性别 IN ('男', '女')),
	所在系 CHAR(20)
);

 4、建立课程表

这里用SQL语句的方式,在学生表上右键,新建查询。

create table 课程(
	课程号 CHAR(5) PRIMARY KEY,   -- 已包含了 NOT NULL UNQUE
	课程名 VARCHAR(20) NOT NULL,
	先行课 CHAR(5)
);

5、建立选课表

这里仍用SQL语句的方式,在选课表上右键,新建查询。

create table 选课 (
	学号 CHAR(10) NOT NULL,
	课程号 CHAR(5) NOT NULL,
	成绩 SMALLINT CHECK(成绩 BETWEEN 0 AND 100),
	CONSTRAINT C1 PRIMARY KEY(学号, 课程号),                     -- 学号和课程号为主码 
	CONSTRAINT C2 FOREIGN KEY(学号) REFERENCES 学生(学号),       -- 学号为外键(注意这里与学生表的学号数据类型一致)
	CONSTRAINT C3 FOREIGN KEY(课程号) REFERENCES 课程(课程号)    -- 课程号为外键(注意这里与课程表的课程号数据类型一致)
)


图书读者库

注:MONEY是没有长度的(SQL Server有该数据类型),电话的长度因分配为11。

1、创建图书读者数据库 

下面均采用SQL语句,建立查询的方式创建表。

(也可以看到数据库的数据存放位置,D:\new_software\SQLServer\servers\MSSQL15.MSSQLSERVER\MSSQL\DATA\)

2、建立图书表、建立读者表、建立借阅表

-- 创建图书表
create table 图书 (
	书号 char(10) primary key,   -- 主码(包含not null unque)
	类别 varchar(12) not null,
	出版社 varchar(30),
	作者 varchar(20),
	书名 varchar(50) not null,
	定价 money              
);

-- 创建读者表
create table 读者 (
	编号 char(8) primary key,    -- 主码(包含not null unque)
	姓名 varchar(8) not null,
	单位 varchar(30),
	性别 char(2) check(性别 IN ('男','女')),
	电话 char(11)
);

-- 创建借阅表
create table 借阅 (
	书号 char(10),
	读者编号 char(8),
	借阅日期 datetime not null,
	constraint C1 primary key(书号, 读者编号),                  -- 书号, 读者编号为主码
	constraint C2 foreign key(书号) references 图书(书号),      -- 书号为外键(注意这里与图书表的书号数据类型一致)
	constraint C3 foreign key(读者编号) references 读者(编号)   -- 编号为外键(注意这里与读者表的编号数据类型一致)
);

3、全选,点击执行,一步到位。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值