实验二-----数据库
创始人
2024-02-25 11:36:55

一、实验目的

1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作;
2.掌握SQL 的数据定义命令,包括:定义表、删除表和修改表;
3.掌握SQL 的数据更新命令,包括:插入数据、修改数据和删除数据。

二、实验环境

1.实验室名称:软件实验室
2.主要仪器设备:PC机、SQL Server2008环境

三、实验内容

1.在SQL Server Management Studio中建立名为MyDb-学号的数据库,使用SQL 命令方式实现以下要求:

(1)创建表Student 、Course 和SC ,并为每个表定义主键约束;
Student(Sno,Sname ,Ssex ,Sage ,Sdept);
Course (Cno,Cname ,Cpno ,Ccredit) ;
SC (Sno ,Cno ,Grade )。
要求学号(Sno)长度5位,每位都由0-9的数字组成,性别(Ssex)只能取男或者女,课程编号(Cno)由2位数字组成,学分(Ccredit)取值范围为1-10,成绩(Grade)取值范围为0-100。
(2)每个表中插入至少5行模拟数据
(3)修改数据
将表Student 中所有学生的年龄加2岁。 将表SC 中所有学生的成绩降低10%。
(4)删除数据
将表Student 中第二个元组的学生信息删除。

2.SQL Server Management Studio中以向导方式实现以下要求:

(1)创建表图书、读者和借阅,并为每个表定义主键约束; 图书(书号,类型,出版社,作者,书名,定价,数量) 读者 (读者编号,姓名,单位,性别,电话) 借阅(书号,读者编号,借阅日期);
(2)定义借阅表与图书表之间以及借阅表与读者表之间的键约束;
(3)分别向每个表中插入至少5行模拟数据;
(4)修改借阅表,增加“归还日期”字段;

四、实验调试分析

属性【实体具有的特性】

  1. Student 、Course 和SC的约束关系为 Student(Sno,Sname ,Ssex ,Sage ,Sdept) Course(Cno,Cname ,Cpno ,Ccredit) SC(Sno ,Cno ,Grade)

2.图书 图书(书号,类型,出版社,作者,书名,定价,数量) 读者 (读者编号,姓名,单位,性别,电话) 借阅(书号,读者编号,借阅日期)

五、实验结果

1. Student 、Course 和SC

创建表

在这里插入图片描述

插入数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改数据

(1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.图书、读者和借阅

创建表

在这里插入图片描述

插入数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改数据

在这里插入图片描述

在这里插入图片描述

六、实验源代码

1 .Student 、Course 和SC

//创建表:use MyDb_20221104122;
/*知识点
1.unique唯一约束 保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的
2.primary key主键约束
*//*创建表*/
--Sno学号,Sname姓名,Ssex性别,Sage年龄,Sdept所在院系
create table Student(  --学生	Sno char(5) primary key check(len(Sno)=5 and Sno>00000 and Sno<99999),	 --要求学号(Sno)长度5位,每位都由0-9的数字组成	Sname char(20) not null,		Ssex char(2) check (Ssex='男' or Ssex='女'),	--性别(Ssex)只能取男或者女Sage smallint,	--Sdept char(20)
);
--Cno课程号,Cname课程名,Cpno先行课,Ccredit学分
create table Course(Cno char(5) primary key check(len(Cno)=2),	--课程编号(Cno)由2位数字组成Cname char(20),Cpno char(2),	Ccredit smallint check(Ccredit between 1 and 10),	--学分(Ccredit)取值范围为1-10
);
--Sno学号,Cno课程号,Grade成绩
create table SC(Sno char(5),Cno char(5),Grade smallint check(Grade between 0 and 100),		--成绩(Grade)取值范围为0-100primary key(Sno,Cno)
);
插入及修改数据:
use MyDb_20221104122;/*插入数据
*/
insert into  Student values('00001','张三','男','20','计算机系');
insert into  Student values('00002','李四','男','22','计算机系');
insert into  Student values('00003','高雅雪','女','20','计算机系');
insert into  Student values('00004','燕燕','女','23','计算机系');
insert into  Student values('00005','李雯','女','22','计算机系');
select * from Student;insert into Course values('01','数据库','5','4');
insert into Course values('02','计算机网络','','4');
insert into Course values('03','java','5','4');
insert into Course values('04','数据结构','5','4');
insert into Course values('05','数据库','5','4');
select * from Course;insert into SC values('00001','01',98);
insert into SC values('00002','01',99);
insert into SC values('00001','02',100);
insert into SC values('00001','03',80);
insert into SC values('00001','04',89);
select * from SC;
/*
修改数据
*/
--将表Student 中所有学生的年龄加2岁
select * from Student;
update Student set Sage=Sage+2;
select * from Student;
--将表SC 中所有学生的成绩降低10%
select * from SC;
update SC set Grade=Grade-Grade*0.1;
select * from SC;
/*
删除数据
*/
--将表Student 中第二个元组的学生信息删除
select * from Student;
delete from Student Where Sno='00002';
select * from Student;

2. 图书、读者和借阅

use MyDb_20221104122;--图书(书号,类型,出版社,作者,书名,定价,数量)
create table 图书(  书号 char(30) primary key,	 	类型 char(20) not null,		出版社 char(20) ,	作者 char(20),书名 char(20),定价 int,数量 int
);--读者 (读者编号,姓名,单位,性别,电话)
create table 读者(  读者编号 char(20) primary key,	 	姓名 char(20) not null,		单位 char(20) ,	性别 char(2) check (性别='男' or 性别='女'),电话 char(12),
);--借阅(书号,读者编号,借阅日期)
create table 借阅(  书号 char(30) ,	 	读者编号 char(20) not null ,		借阅日期 date,foreign key(书号) references 图书 (书号),foreign key(读者编号) references 读者 (读者编号),primary key(书号,读者编号));
use MyDb_20221104122;/*插入数据
*/
--图书(书号,类型,出版社,作者,书名,定价,数量)
insert into 图书 values('001','计算机类','机械工业出版社','王民','数据结构',58,200);
insert into 图书 values('002','计算机类','机械工业出版社','王民','高等数学',99,20);
insert into 图书 values('003','数学类','中国人民大学出版社','张锦芯','线性代数',40,200);
insert into 图书 values('004','历史','新星出版社','王民','数据结构',54,31);
insert into 图书 values('005','文学','中国社会文献出版社','赵明','山茶文具店',80,99);
select * from 图书;--读者 (读者编号,姓名,单位,性别,电话)
insert into 读者 values('001','李雯','吕梁学院','女','18335854674');	
insert into 读者 values('002','张三','应用科技学院','男','18535854644');
insert into 读者 values('003','李四','山西职业技术学院','男','18635854644');
insert into 读者 values('004','王五','山西职业技术学院','男','18635854644');
insert into 读者 values('005','燕燕','吕梁学院','女','18335854647');
select * from 读者;--借阅(书号,读者编号,借阅日期)
insert into 借阅 values('001','001','2022-11-7');
insert into 借阅 values('001','002','2022-11-7');
insert into 借阅 values('005','002','2022-11-7');
insert into 借阅 values('003','003','2022-11-7');
insert into 借阅 values('003','004','2022-11-7');
select * from 借阅;/*修改数据
*/
--修改借阅表,增加“归还日期”字段alter table 借阅 add 归还日期 date;
select * from 借阅;

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...