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

news2025/2/25 9:03:53
  • 实验目的

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.coloradmin.cn/o/1902008.html

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

相关文章

DEPTHAI 2.27.0 发布!

小伙伴们大家好,我们发布了DepthAI 2.27.0版本,本次对DepthAI库有了一些小更新,以下是更新内容。 功能 设置DEPTHAI_ENABLE_FEEDBACK_CRASHDUMP时自动故障转储收集; 漏洞修补 修复深度超出ImageAlign节点时生成PointCloud的问…

Matplotlib Artist 1 概览

Matplotlib API中有三层 matplotlib.backend_bases.FigureCanvas:绘制区域matplotlib.backend_bases.Renderer:控制如何在FigureCanvas上绘制matplotlib.artist.Artist:控制render如何进行绘制 开发者95%的时间都是在使用Artist。Artist有两…

Java开源ERP系统Axelor汉化方法初探

Axelor简介 汉化过程介绍 定义语言和本地化 导出多语言记录 导入翻译 验证翻译 调整翻译 Axelor简介 2024年6月份Axelor ERP发布了8.1版本,适配JDK11及PostgreSQL12及以上版本(7及以前版本适配JDK8及PostgreSQL10)数据库。v8版本较之前…

景区气象站:守护旅行安全的智能向导

在繁忙的现代社会,人们越来越渴望逃离城市的喧嚣,寻找一处宁静的自然之地放松身心。景区,作为大自然与人类文明交织的瑰宝,吸引了无数游客前来探访。然而,多变的天气往往给游客的旅行带来不确定性。 景区气象站&#x…

Python + OpenCV 开启图片、写入储存图片

这篇教学会介绍OpenCV 里imread()、imshow()、waitKey() 方法,透过这些方法,在电脑中使用不同的色彩模式开启图片并显示图片。 imread() 开启图片 使用imread() 方法,可以开启图片,imread() 有两个参数,第一个参数为档…

nginx的正向代理和反向代理以及tomcat

nginx的正向代理和反向代理: 正向代理以及缓存配置: 代理:客户端不再是直接访问服务端,通过代理服务器访问服务端。 正向代理:面向客户端,我们通过代理服务器的IP地址访问目标范围端。 服务端只知道代理…

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

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

云端AI大模型群体智慧后台架构思考

1 大模型的调研 1.1 主流的大模型 openai-chatgpt 阿里巴巴-通义千问 一个专门响应人类指令的大模型。我是效率助手,也是点子生成机,我服务于人类,致力于让生活更美好。 百度-文心一言(千帆大模型) 文心一言"…

Web漏洞扫描工具AppScan与AWVS测评及使用体验

AppScan和AWVS业界知名的Web漏洞扫描工具,你是否也好奇到底哪一个能力更胜一筹呢?接下来跟随博主一探究竟吧。 1. 方案概览 第一步:安装一个用于评测的Web漏洞靶场(本文采用最知名和最广泛使用的靶场,即OWASP Benchma…

04.ffmpeg打印音视频媒体信息

目录 1、相关头文件 2、相关结构体 3、相关函数 4、函数详解 5、源码附上 1、相关头文件 #include <libavformat/avformat.h> 包含格式相关的函数和数据结构 #include <libavutil/avutil.h> 包含一些通用实用函数 2、相关结构体 AV…

Redis基础教程(九):redis有序集合

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Zabbix触发器

目录 触发器基础概念 创建和管理触发器 示例 定义一个触发器 在 Zabbix 中&#xff0c;触发器&#xff08;Trigger&#xff09;用于定义在监控数据满足特定条件时触发警报或动作。触发器是实现监控告警和自动响应的核心组件之一。以下是关于 Zabbix 触发器的详细解释和用法…

刷代码随想录有感(127):动态规划——判断是否为子序列

题干&#xff1a; 代码&#xff1a; class Solution { public:bool isSubsequence(string s, string t) {vector<vector<int>>dp(s.size() 1, vector<int>(t.size() 1, 0));for(int i 1; i < s.size(); i){for(int j 1; j < t.size(); j){if(s[i …

警惕AI泡沫:巨额投资与回报失衡

尽管高科技巨头们在AI基础设施上投入巨资&#xff0c;但AI带来的收入增长尚未显现&#xff0c;揭示了生态系统末端用户价值的重大缺口。 红杉资本分析师David Cahn认为&#xff0c;AI企业需每年赚取约6000亿美元才能抵消其AI基础设施&#xff08;如数据中心&#xff09;的成本&…

02STM32环境搭建新建工程

STM32环境搭建&新建工程 软件安装&#xff1a;开发方式&新建工程步骤&架构 个人心得 软件安装&#xff1a; 安装Keil5 MDK 安装器件支持包 软件注册 安装STLINK驱动 安装USB转串口驱动 开发方式&新建工程步骤&架构 STM32开发方式&#xff1a; 1.寄存器 …

Python人形机踊跃跨栏举重投篮高维数动作算法模型

&#x1f3af;要点 &#x1f3af;运动功能&#xff1a; 1 m / s 1 m / s 1m/s上台阶、站立平衡、 1 m / s 1 m / s 1m/s行走、坐椅子、 5 m / s 5 m / s 5m/s跑步、 1 m / s 1 m / s 1m/s爬行、穿越森林、取物、穿越迷宫、 1 m / s 1 m / s 1m/s上滑梯、 5 m / s 5 m / s 5m/s…

基于Redis和阻塞队列的 异步秒杀业务

异步前 之前的秒杀业务的查询优惠券、查询订单、减库存、创建订单都要查询数据库&#xff0c;而且有分布式锁&#xff0c;使得整个业务耗时长&#xff0c;对此采用异步操作处理&#xff0c;异步操作类似于餐厅点餐&#xff0c;服务员负责点菜产生订单、厨师负责根据订单后厨做…

破解宇宙终极奥秘,战胜昊天无上束缚

在幽邃的暗夜下&#xff0c;细品着夫子与昊天跨越千年的智勇交锋&#xff0c;我的思绪不禁飘向了更加深远的宇宙边际&#xff0c;回响起那些关于人类如何挑战天命、战胜上天的过往。 宇宙奥秘 在浩瀚无垠的宇宙深渊中&#xff0c;隐藏着一段超越凡尘的规则。昊天&#xff0c;…

文件上传(本地、OSS)

什么是文件上传&#xff1a;将文件上传到服务器。 文件上传-本地存储 前端 <template> <div><!-- 上传文件需要设置表单的提交方式为post&#xff0c;并设置enctype属性、表单项的type属性设置为file --><form action"http://localhost:8080/wedu/…

Python 异步编程介绍与代码示例

Python 异步编程介绍与代码示例 一、异步编程概述 异步编程是一种编程范式&#xff0c;它旨在处理那些需要等待I/O操作完成或执行耗时任务的情况。在传统的同步编程中&#xff0c;代码会按照顺序逐行执行&#xff0c;直到遇到一个耗时操作&#xff0c;它会阻塞程序的执行直到…