陈志泊主编《数据库原理及应用教程第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);

  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咩咩大主教

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值