实验二-----数据库

news2025/1/20 19:17:11

一、实验目的

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-100
	primary 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 借阅;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript基础语法(数据类型)

JavaScript基础语法&#xff08;数据类型&#xff09; 数据类型 简介&#xff1a; JavaScript 中提供了两类数据类型&#xff1a;原始类型 和 引用类型。 使用 typeof 运算符可以获取数据类型 alert(typeof age); 以弹框的形式将 age 变量的数据类型输出 原始数据类型 numbe…

数据结构:JAVA 栈和队列

目录 栈 实现一个MyStack 1. push 2.pop 3.empty 4.peek 栈和链表的结合 括号匹配 栈的压入、弹出序列 最小栈 MinStack push ​编辑 pop top getMin 概念区分及思考&#xff1a; 队列 offer&#xff08;入队列&#xff09; poll&#xff08;出队列&#xff0…

Framework ——setContentView源码解读

前言 对于Android的开发者来说&#xff0c;setContentView大家再熟悉不过了&#xff0c;在我们的Activity中首先就是要用它加载我们的布局&#xff0c;但是应该有一部分人是不知道加载布局的原理&#xff0c;也包括我&#xff0c;今天就从源码的角度分析setContentView加载布局…

Java项目:JSP的电影院售票系统(含论文、任务书、中期检查表)

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 这个项目是一个基于ServletJSP的电影院售票系统&#xff0c;分为管理员和会员两种角色。 管理员权限包括&#xff1a; 修改登录密码 电影类别管…

上海亚商投顾:沪指探底回升跌0.75% 旅游板块集体大涨

上海亚商投顾前言&#xff1a;无惧大盘大跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪三大指数早间低开&#xff0c;盘初一度集体跌超2%&#xff0c;随后震荡回升&#xff0c;午后跌幅进一步收窄。旅游板…

宝宝多大可以吃坚果 注意这几个时间节点

近年来&#xff0c;坚果的营养价值引起了公众的广泛关注。节日期间&#xff0c;许多家庭喜欢买坚果来招待客人。与其他油炸相比&#xff0c;.蜜饯零食&#xff0c;坚果真的更健康。但是&#xff0c;对于家里的宝宝来说&#xff0c;适合吃坚果吗&#xff1f;多大的宝宝能吃坚果&…

xss-labs/level-2

这一关我们先查看源代码吧 然后我们可以看得出来 输入点test存在三处输出点 依次是h2标签之间、value属性值处以及h3标签之间的长度 我们可以先尝试一下上一关输入的payload(<script>alert("xss")</script>) 界面回显如下所示 去看看源代码吧 第一处…

五、vue组件与props自定义属性

一、vue组件 1.1、什么是组件化开发 组件化开发指的是&#xff1a;根据封装的思想&#xff0c;把页面上可重用的UI结构封装为组件&#xff0c;从而方便项目的开发和维护。 1.2、vue中的组件化开发 vue是一个支持组件化开发的前端框架。 vue中规定&#xff1a;组件的后缀名是…

JavaWeb----Ajax技术

目录 Ajax技术详解 Ajax简介 Ajax 的使用 Ajax 的运行原理 XMLHttpRequest 对象 Ajax 的使用步骤 Ajax请求 ​编辑 Get/Post请求 JSON详解 JSON简介 为什么要使用 JSON JSON 格式的特征 JSON的语法规则 JOSN的数据类型 JACKSON 的使用 Jackson 简介 在项目中引入…

Scala011--Scala中的常用集合函数及操作Ⅱ

在上一篇文章中我已经接触并认识了几个常用的集合函数&#xff1a;foreach,sorted,sortBy,sortWith,flatten,map,flatMap。 接下来在这一篇文章中我将继续学习剩下的几个集合函数。 目录 一&#xff0c;filter函数 ​编辑 练习题1&#xff1a;如何过滤出大于2的奇数&#…

PyCharm+PyQT5之二第一个QT程序

Tools菜单或者右键打开external tools的 QTdesigner,如下图&#xff0c;在PyQt5中最常用的窗口有三种&#xff0c;即Main Window Widget Dialog&#xff0c; Main Window 也就是主窗口&#xff0c;他要为用户提供一个带有菜单栏、工具栏和状态栏的窗口。 Widget:通用窗口&#…

零基础入门金融风控之贷款违约预测挑战赛——简单实现

零基础入门金融风控之贷款违约预测挑战赛 赛题理解 赛题以金融风控中的个人信贷为背景&#xff0c;要求选手根据贷款申请人的数据信息预测其是否有违约的可能&#xff0c;以此判断是否通过此项贷款&#xff0c;这是一个典型的分类问题。通过这道赛题来引导大家了解金融风控中…

Linux中less和more的区别

总结下more和less的区别(less is more)&#xff1a; 1、less可以按键盘上下方向键显示上下文内容&#xff0c;more不能通过上下方向键控制显示&#xff08;但是可以用b实现向上翻页&#xff0c;空格键实现向下翻页&#xff09; 2、less不必读整个文件&#xff0c;加载速度会比…

数码视讯Q5、Q7_晶晨S905L/M/M2_nandemmc通刷_完美精简线刷固件

数码视讯Q5、Q7_晶晨S905L/M/M2_nand&emmc通刷_完美精简线刷固件 固件特点&#xff1a; 1、修改dns&#xff0c;三网通用&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、无开机广告&#xff0c;无系统更新&#xff0c;不在被强制升级&#xf…

一道有趣的最长子序列问题

一道有趣的最长子序列问题 – 潘登同学的金融经济学笔记 文章目录一道有趣的最长子序列问题 -- 潘登同学的金融经济学笔记来源求解递推公式算法实现来源 前几天在刷视频的时候&#xff0c;发现了这样一道题 所谓子序列就是一个序列 ai1,ai2,⋯,aina_{i1},a_{i2},\cdots,a_{in}…

【5w字】SpringBoot源码分析

Spring Boot源码分析 文章目录Spring Boot源码分析启动类分析SpringBootConfigurationEnableAutoConfigurationComponentScanSpringBoot启动流程1. 准备SpringApplication获取当前 web 应用类型设置初始化器设置监听器推导主应用程序类2. Spring Boot的运行创建计时器并启动设置…

开源工具 | ASV-Subtools更新:runtime模块重磅发布

ASV-Subtools更新 - runtime模块重磅发布 - ASV-Subtools是厦门大学智能语音实验室&#xff08;XMUSPEECH&#xff09;于2020年6月推出的一套高效、易于扩展的声纹识别开源工具&#xff0c;该工具是基于Kaldi与Pytorch开发的&#xff0c;充分结合了Kaldi 在语音信号和后端处理…

Fe3+-多巴胺修饰Pluronic的多功能性水凝胶/多巴胺修饰聚丙烯微孔膜表面的研究

下面整理了Fe3-多巴胺修饰Pluronic的多功能性水凝胶/多巴胺修饰聚丙烯微孔膜表面&#xff0c;和小编一起来看&#xff01; Fe3-多巴胺修饰Pluronic多功能性水凝胶 利用对硝基苯基氯酸甲酯作为聚合物Pluronic F127端羟基活化剂,与盐酸多巴胺直接反应制备末端多巴胺修饰的Pluron…

【web课程设计网页规划与设计】基于HTML+CSS+JavaScript火车票网上预订系统网站(4个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Part4_场景_第52章 场景描述第53章 柏林I:BVG场景第54章 柏林II:CEMDAP-Matsim-Cadyts方案

第52章 场景概述 本书的最后一部分总结了MATSIM场景,如图52.1中的地图所示,并在http://matsim.org/scolutions中列出。 尽管存在基于免费和公共数据的真实场景,如圣地亚哥或科特布斯场景(第84或66章),但由于数据隐私问题,许多场景是不公开的。 然而,了解适用于情景创建…