陈志泊主编《数据库原理及应用教程第4版微课版》的实验题目参考答案实验2

news/2024/7/14 20:54:38
  • 实验目的

1.掌握在SQL Server中使用对象资源管理器和SQL命令创建数据库与修改数据库的方法。

2.掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方 法(以SQL命令为重点)。

  • 实验设备

操作系统:Win11

开发软件:SQL Server

  • 实验内容

给定如表3.6、表3.7和表3.8所示的学生信息。

表3.6  学生表

学号

姓名

性别

专业班级

出生日期

联系电话

0433

张艳

生物04

1986-9-13

0496

李越

电子04

1984-2-23

1381290××××

0529

赵欣

会计05

1984-1-27

1350222××××

0531

张志国

生物05

1986-9-10

1331256××××

0538

于兰兰

生物05

1984-2-20

1331200××××

0591

王丽丽

电子05

1984-3-20

1332080××××

0592

王海强

电子05

1986-11-1

表3.7  课程表

课程号

课程名

学分数

学时数

任课教师

K001

计算机图形学

2.5

40

胡晶晶

K002

计算机应用基础

3

48

任泉

K006

数据结构

4

64

马跃先

M001

政治经济学

4

64

孔繁新

S001

高等数学

3

48

赵晓尘

表3.8  学生作业表

课程号

学号

作业1成绩

作业2成绩

作业3成绩

K001

0433

60

75

75

K001

0529

70

70

60

K001

0531

70

80

80

K001

0591

80

90

90

K002

0496

80

80

90

K002

0529

70

70

85

K002

0531

80

80

80

K002

0538

65

75

85

K002

0592

75

85

85

K006

0531

80

80

90

课程号

学号

作业1成绩

作业2成绩

作业3成绩

K006

0591

80

80

80

M001

0496

70

70

80

M001

0591

65

75

75

S001

0531

80

80

80

S001

0538

60

80

1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。

(1)使用对象资源管理器创建数据库,请给出重要步骤的截图。

(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。

(3)创建数据库之后,如果有需要,可以修改数据库。

2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。

3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。

4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。

  • 实验步骤及实验结果

1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。

2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。

学生表(Students)

字段名

数据类型

长度或精度

默认值

完整性约束

学号(StudentID)

varchar

10

主键约束

姓名(Name)

varchar

20

性别(Gender)

varchar

2

专业班级(MajorClass)

varchar

10

出生日期(Birthdate)

date

联系电话(ContactNumber)

varchar

15

课程表(Class)

字段名

数据类型

长度或精度

默认值

完整性约束

课程号(CourseID)

varchar

10

主键约束

课程名(CourseName)

varchar

30

学分数(Credit)

decimal

总位数4位,精度为小数后一位

学时数(Hours)

int

任课老师(Instructor)

varchar

20

学生作业表(StudentHomework)

字段名

数据类型

长度或精度

默认值

完整性约束

课程号(CourseID)

varchar

10

外键约束,主键约束

学号(StudentID)

varchar

10

外键约束,主键约束

作业1成绩(Assignmet1Grade)

int

作业2成绩(Assignment2Grade)

int

作业3成绩(Assignmet3Grade)

int

3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。

1.CREATE DATABASE StudentAssignmentDB;  
2.USE StudentAssignmentDB;  
3.CREATE TABLE Students (  
4.     StudentID VARCHAR(10) PRIMARY KEY,  
5.     Name VARCHAR(20),  
6.     Gender VARCHAR(2),  
7.     MajorClass VARCHAR(10),  
8.     Birthdate DATE,  
9.     ContactNumber VARCHAR(15)  
10.   );  
11.   CREATE TABLE Courses (  
12.     CourseID VARCHAR(10) PRIMARY KEY,  
13.     CourseName VARCHAR(30),  
14.     Credit DECIMAL(4, 1),  
15.     Hours INT,  
16.     Instructor VARCHAR(20)  
17.   );  
18.   CREATE TABLE StudentAssignments (  
19.     CourseID VARCHAR(10),  
20.     StudentID VARCHAR(10),  
21.     Assignment1Grade INT,  
22.     Assignment2Grade INT,  
23.     Assignment3Grade INT,  
24.     PRIMARY KEY (CourseID, StudentID),  
25.     FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),  
26.     FOREIGN KEY (StudentID) REFERENCES Students(StudentID)  
27.   );  

4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。

1.INSERT INTO Students (StudentID, Name, Gender, MajorClass, Birthdate, ContactNumber)  
2.VALUES  
3.('0433', '张艳', '女', '生物04', '1986-09-13', NULL),  
4.('0496', '李越', '男', '电子04', '1984-02-23', '1381290xxxx'),  
5.('0529', '赵欣', '男', '会计05', '1984-01-27', '1350222xxxx'),  
6.('0531', '张志国', '男', '生物05', '1986-09-10', '1331256xxxx'),  
7.('0538', '于兰兰', '女', '生物05', '1984-02-20', '1331200xxxx'),  
8.('0591', '王丽丽', '女', '电子05', '1984-03-20', '1332080xxxx'),  
9.('0592', '王海强', '男', '电子05', '1986-11-01', NULL);  
10.INSERT INTO Courses (CourseID, CourseName, Credit, Hours, Instructor)  
11.VALUES  
12.('K001', '计算机图形学', 2.5, 40, '胡晶晶'),  
13.('K002', '计算机应用基础', 3, 48, '任泉'),  
14.('K006', '数据结构', 4, 64, '马跃先'),  
15.('M001', '政治经济学', 4, 64, '孔繁新'),  
16.('S001', '高等数学', 3, 48, '赵晓尘');  
17.INSERT INTO StudentAssignments (CourseID, StudentID, Assignment1Grade, Assignment2Grade, Assignment3Grade)  
18.VALUES  
19.('K001', '0433', 60, 75, 75),  
20.('K001', '0529', 70, 70, 60),  
21.('K001', '0531', 70, 80, 80),  
22.('K001', '0591', 80, 90, 90),  
23.('K002', '0496', 80, 80, 90),  
24.('K002', '0529', 70, 70, 85),  
25.('K002', '0531', 80, 80, 80),  
26.('K002', '0538', 65, 75, 85),  
27.('K002', '0592', 75, 85, 85),  
28.('K006', '0531', 80, 80, 90),  
29.('K006', '0591', 80, 80, 80),  
30.('M001', '0496', 70, 70, 80),  
31.('M001', '0591', 65, 75, 75),  
32.('S001', '0531', 80, 80, 80),  
33.('S001', '0538', 60, NULL, 80);  
  • 实验总结

通过本次实验,我学会了在SQL Server中使用对象资源管理器和SQL命令创建数据库。使用对象资源管理器可以通过可视化界面轻松创建数据库,而使用SQL命令则更加灵活和可扩展。我还学会了通过SQL命令删除数据库,并重新使用SQL命令创建数据库。最后,我了解到可以使用ALTER DATABASE语句修改数据库的属性。

通过这次实验,我掌握了在SQL Server中创建和修改数据库的基本技能,这对于数据库的管理和维护非常重要。

完整SQL代码

CREATE DATABASE StudentAssignmentDB;
USE StudentAssignmentDB;
CREATE TABLE Students (StudentID VARCHAR(10) PRIMARY KEY,Name VARCHAR(20),Gender VARCHAR(2),MajorClass VARCHAR(10),Birthdate DATE,ContactNumber VARCHAR(15));CREATE TABLE Courses (CourseID VARCHAR(10) PRIMARY KEY,CourseName VARCHAR(30),Credit DECIMAL(4, 1),Hours INT,Instructor VARCHAR(20));CREATE TABLE StudentAssignments (CourseID VARCHAR(10),StudentID VARCHAR(10),Assignment1Grade INT,Assignment2Grade INT,Assignment3Grade INT,PRIMARY KEY (CourseID, StudentID),FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),FOREIGN KEY (StudentID) REFERENCES Students(StudentID));
INSERT INTO Students (StudentID, Name, Gender, MajorClass, Birthdate, ContactNumber)
VALUES
('0433', '张艳', '女', '生物04', '1986-09-13', NULL),
('0496', '李越', '男', '电子04', '1984-02-23', '1381290xxxx'),
('0529', '赵欣', '男', '会计05', '1984-01-27', '1350222xxxx'),
('0531', '张志国', '男', '生物05', '1986-09-10', '1331256xxxx'),
('0538', '于兰兰', '女', '生物05', '1984-02-20', '1331200xxxx'),
('0591', '王丽丽', '女', '电子05', '1984-03-20', '1332080xxxx'),
('0592', '王海强', '男', '电子05', '1986-11-01', NULL);
INSERT INTO Courses (CourseID, CourseName, Credit, Hours, Instructor)
VALUES
('K001', '计算机图形学', 2.5, 40, '胡晶晶'),
('K002', '计算机应用基础', 3, 48, '任泉'),
('K006', '数据结构', 4, 64, '马跃先'),
('M001', '政治经济学', 4, 64, '孔繁新'),
('S001', '高等数学', 3, 48, '赵晓尘');
INSERT INTO StudentAssignments (CourseID, StudentID, Assignment1Grade, Assignment2Grade, Assignment3Grade)
VALUES
('K001', '0433', 60, 75, 75),
('K001', '0529', 70, 70, 60),
('K001', '0531', 70, 80, 80),
('K001', '0591', 80, 90, 90),
('K002', '0496', 80, 80, 90),
('K002', '0529', 70, 70, 85),
('K002', '0531', 80, 80, 80),
('K002', '0538', 65, 75, 85),
('K002', '0592', 75, 85, 85),
('K006', '0531', 80, 80, 90),
('K006', '0591', 80, 80, 80),
('M001', '0496', 70, 70, 80),
('M001', '0591', 65, 75, 75),
('S001', '0531', 80, 80, 80),
('S001', '0538', 60, NULL, 80);


http://www.mrgr.cn/p/06313035

相关文章

实战篇——SSRF漏洞Redis反弹shell实战

实战篇——SSRF漏洞Redis反弹shell实战 SSRF之Redis实战 上一章中利用file伪协议实现了内网的主机探测,发现存在192.168.118.151,对其进行端口探测:可见开放了6379端口,结合响应判断为Redis服务。 而Redis存在未授权访问漏洞,可以利用该漏洞实现信息泄露、数据删除以及反弹…

技术成神之路:设计模式(四)工厂方法模式

1.定义 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类,从而实现对象创建的延迟到具体子类…

点云分割网络---Point Transformer V3

PDF:《Point Transformer V3: Simpler, Faster, Stronger》 CODE: https://github.com/Pointcept/PointTransformerV3 一、大体内容 Point Transformer V3(PTv3)没有像V2那样在注意力机制方面寻求创新,而是专注于保持点云背景下准确性和效率之间的平衡,如下所示与上一代Poin…

[图解]SysML和EA建模住宅安全系统-14-黑盒系统规约

1 00:00:02,320 --> 00:00:07,610 接下来,我们看下一步指定黑盒系统需求 2 00:00:08,790 --> 00:00:10,490 就是说,把这个系统 3 00:00:11,880 --> 00:00:15,810 我们的目标系统,ESS,看成黑盒 4 00:00:18,030 --> …

【2024_CUMCM】TOPSIS法(优劣解距离法)

目录 引入 层次分析法的局限性 简介 例子 想法1 想法2 运用实际分数进行处理 想法3 问题 扩展问题:增加指标个数 极大型指标与极小型指标 统一指标类型-指标正向化 标准化处理 计算公式 计算得分 对原公式进行变化 升级到m个指标和n个对象 代码 …

面经梳理-分布式

梳理分布式相关面经题目 请简述一下CAP理论,我们常见的中间件分别侧重点是什么?简述一下BASE理论?什么是强一致性,弱一致性,最终一致性 CAP理论 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分…

深入理解Java并发、线程与等待通知机制

目录 一、基础概念 进程和线程 进程 线程 Java 线程的无处不在 进程间的通信 进程间通信有几种方式? CPU 核心数和线程数的关系 上下文切换(Context switch) 并行和并发 二、认识 Java 里的线程 Java 程序天生就是多线程的 线程…

【山东大学】web数据管理——复习笔记

写在前面 若有图片加载失败,请科学上网 。本文为对软件学院连老师的PPT课件总结所得的复习笔记,仅供参考。不保证对考点的全覆盖,以PPT为主。对往年考过的题相关知识点前面都标注了“考过”,并高亮,供参考。写的比较匆…

昇思14天

ResNet50图像分类 1. ResNet50图像分类概述 ResNet50是一种用于图像分类的深度卷积神经网络。图像分类是计算机视觉的基本应用,属于有监督学习范畴。ResNet50通过引入残差结构,解决了深层网络中的退化问题,使得可以训练非常深的网络。 2. …

易优CMS模板标签artpagelist瀑布流

[基础用法]标签:artpagelist 描述:实现无刷新瀑布流分页,适用于首页,列表分页,内容页等模板。小注:需配合artlist标签。 注意:要实现瀑布流分页,必须要在模板目录pc/system里创建一个模板样本,命名格式为:arclist_+tagid属性名称,比如:arclist_index001.htm,里面内…

【笔记】太久不用redis忘记怎么后台登陆了

!首先启动虚拟机linux的centos7 2.启动finalshell 我的redis启动在根目录用 redis-server redis.conf --启动 systemctl status redis --查看redis状态 是否active redis-cli -h centos的ip地址 -p 你要用的redis端口号(默认为6379) -a 你…

使用vscode远端连接虚拟机

主要是需要使用虚拟机ubuntu上的cmake环境,但是为了GUI又不想搞WSL,在虚拟机上再装一个vscode又有点卡,所以用了这招。 基本上网上的方法照着来就行了。几个简单的小步骤稍微记录一下。给虚拟机安装一下openssh并修改配置开放22端口(就很简单的跟着[1]来就行了)虚拟机ifco…

程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:PyCaret,一个超强的 python 库 今天给大家分享一个超强的 python 库,PyCaret。 https://github.com/pycaret/pycaret 简介 …

禁用windows的语音识别快捷键win+ctrl+s

win11组合键winctrls会弹出语音识别提示,即使到设置里禁用了语音识别也没用 解决办法:安装PowerToys,通过“键盘管理器”-“重新映射快捷键”禁用 PowerToys是微软自己的工具,不用担心安全问题,下载地址:h…

基于Transformer的端到端的目标检测 | 读论文

本文正在参加 人工智能创作者扶持计划 提及到计算机视觉的目标检测,我们一般会最先想到卷积神经网络(CNN),因为这算是目标检测领域的开山之作了,在很长的一段时间里人们都折服于卷积神经网络在图像处理领域的优势&…

Python 数据挖掘

数据挖掘基础数据挖掘:这种从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,就是数据挖掘;它是利用各种分析工具在大量数据中寻找其规…

Python Selenium+cookie+XPATH爬取数据

以某科研基金信息平台为例,写了一个基于selenium的web自动化爬虫。不带验证码防反爬以及代理ip池,是最基础的自动化工具爬虫。 一、首先,此平台需要登录后才能正常访问,否则数据不全,因此需要登录后获取cookie,以便selenium能够以登录状态运行 1.F12打开开发者工具,找到…

Postman使用教程【项目实战】

目录 引言软件下载及安装项目开发流程1. 创建项目2. 创建集合(理解为:功能模块)3. 设置环境变量,4. 创建请求5. 测试脚本6. 响应分析7. 共享与协作 结语 引言 Postman 是一款功能强大的 API 开发工具,它可以帮助开发者测试、开发和调试 API。…

个人赛补题

round 1范围很小用暴力+贪心,左右枚举,先拿再放。尽量放小的所以需要排下序 include include "map" include "algorithm" include "cmath" include "vector" include "set" include "queue" define int long lo…

Linux驱动开发-03字符设备驱动框架搭建

一、字符设备驱动开发步骤 驱动模块的加载和卸载(将驱动编译模块,insmod加载驱动运行)字符设备注册与注销(我们的驱动实际上是去操作底层的硬件,所以需要向系统注册一个设备,告诉Linux系统,我有…