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

  • 实验目的

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.rhkb.cn/news/370365.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux多进程和多线程(六)进程间通信-共享内存

多进程(六) 共享内存共享内存的创建 示例: 共享内存删除 共享内存映射 共享内存映射的创建解除共享内存映射示例:写入和读取共享内存中的数据 写入: ### 读取: 大致操作流程: 多进程(六) 共享内存 共享内存是将分配的物理空间直接映射到进程的⽤户虚拟地址空间中, 减少数据在…

SpringBoot | 大新闻项目后端(redis优化登录)

该项目的前篇内容的使用jwt令牌实现登录认证,使用Md5加密实现注册,在上一篇:http://t.csdnimg.cn/vn3rB 该篇主要内容:redis优化登录和ThreadLocal提供线程局部变量,以及该大新闻项目的主要代码。 redis优化登录 其实…

JDBC【封装工具类、SQL注入问题】

day54 JDBC 封装工具类01 创建配置文件 DBConfig.properties driverNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/qnz01?characterEncodingutf8&serverTimezoneUTC usernameroot passwordroot新建配置文件,不用写后缀名 创建工具类 将变…

【Elasticsearch】一、概述,安装

文章目录 概述全文搜索引擎概述ES(7.x) 安装ES(Docker)测试,是否启动成功 可视化工具配置中文 客户端Postman下载 概述 ES是开源的高扩展的分布式全文搜索引擎,实时的存储、检索数据;本身扩展性…

非对称加密算法原理与应用2——RSA私钥加密文件

作者:私语茶馆 1.相关章节 (1)非对称加密算法原理与应用1——秘钥的生成-CSDN博客 第一章节讲述的是创建秘钥对,并将公钥和私钥导出为文件格式存储。 本章节继续讲如何利用私钥加密内容,包括从密钥库或文件中读取私钥,并用RSA算法加密文件和String。 2.私钥加密的概述…

CTFShow的RE题(三)

数学不及格 strtol 函数 long strtol(char str, char **endptr, int base); 将字符串转换为长整型 就是解这个方程组了 主要就是 v4, v9的关系, 3v9-(v10v11v12)62d10d4673 v4 v12 v11 v10 0x13A31412F8C 得到 3*v9v419D024E75FF(1773860189695) 重点&…

【笔记】TimEP Safety Mechanisms方法论

1.TimEPM Overview 三大监控方法: Alive Supervision 实时监督Logical Supervision 逻辑监督Deadline Supervision 限时监督相关模块框图: 相关模块调用框图: 每个MCU核开启内狗(1核1狗),内狗用于监控相应核的TASK超时,超时后软reset MCU内狗时钟需要独立于OS时钟,两…

MongoDB集群搭建-最简单

目录 前言 一、分片概念 二、搭建集群的步骤 总结 前言 MongoDB分片(Sharding)是一种水平扩展数据库的方法,它允许将数据分散存储在多个服务器上,从而提高数据库的存储容量和处理能力。分片是MongoDB为了应对大数据量和高吞吐量需…

10.x86游戏实战-汇编指令lea

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

【IT领域新生必看】 Java编程中的重载(Overloading):初学者轻松掌握的全方位指南

文章目录 引言什么是方法重载(Overloading)?方法重载的基本示例 方法重载的规则1. 参数列表必须不同示例: 2. 返回类型可以相同也可以不同示例: 3. 访问修饰符可以相同也可以不同示例: 4. 可以抛出不同的异…

Amesim应用篇-信号传递

前言 在Amesim中常见的信号传递是通过信号线连接,针对简单的模型通过信号线连接还可以是信号线清晰规整,方便查看。如果模型较复杂,传递信号的元件较多时,此时再继续使用信号线进行信号传递,可能会使草图界面看起来杂…

在原有的iconfont.css文件中加入新的字体图标

前言:在阿里图标库中,如果你没有这个字体图标的线上项目,那么你怎么在本地项目中的原始图标文件中添加新的图标呢? 背景:现有一个vue项目,下面是这个前端项目的字体图标文件。现在需要新开发功能页&#x…

磁盘分区工具 -- 傲梅分区助手 v10.4.1 技术员版

软件简介 傲梅分区助手是一款功能强大的磁盘分区工具,它专为Windows系统设计,帮助用户更高效地管理他们的硬盘。该软件支持多种分区操作,包括创建、格式化、调整大小、移动、合并和分割分区。此外,它还提供了复制硬盘和分区的功能…

InspireFace-商用级的跨平台开源人脸分析SDK

InspireFace-商用级的跨平台开源人脸分析SDK InspireFaceSDK是由insightface开发的⼀款⼈脸识别软件开发⼯具包(SDK)。它提供了⼀系列功能,可以满⾜各种应⽤场景下的⼈脸识别需求,包括但不限于闸机、⼈脸⻔禁、⼈脸验证等。 该S…

C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例

C(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例 文章目录 C(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例1、概述2、实现效果3、主要代码4、源码地址 更多精彩内容👉个人内容分类汇总 👈👉GIS开发 👈 1、概述 支持多线程加…

java版本工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统

工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的…

【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)

目录 一、前言 二、什么是C模板? 💦泛型编程的思想 💦C模板的分类 三、非类型模板参数 ⚡问题引入⚡ ⚡非类型模板参数的使用⚡ 🔥非类型模板参数的定义 🔥非类型模板参数的两种类型 &#x1f52…

Java视频点播网站

作者介绍:计算机专业研究生,现企业打工人,从事Java全栈开发 主要内容:技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流(SCI论文两篇) 上点关注下点赞 生活越过…

ElementPlusError: [ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档

一、问题描述: 今天在使用elementui plus的时候遇到了一个奇葩的问题, 就是提示 使用了一些已被废弃的用法, 奇葩就在于我是 复制另一个页面的分页, 一摸一样的东西,就只这个页面报错, 分页也不出 为了这个…

初识STM32:开发方式及环境

STM32的编程模型 假如使用C语言的方式写了一段程序,这段程序首先会被烧录到芯片当中(Flash存储器中),Flash存储器中的程序会逐条的进入CPU里面去执行。 CPU相当于人的一个大脑,虽然能执行运算和执行指令,…