数据库原理及应用A:DBMS操作、数据定义及数据更新

实验一 DBMS操作、数据定义及数据更新

一、实验目的:

  1. 熟悉DBMS实验环境;
  2. 熟悉SQL语言对数据库进行操作的方法,判断SQL语句运行的结果的正确性;
  3. 掌握图形化交互工具的基本操作,学会数据库及表的创建与管理;
  4. 理解和掌握SQL语言: 能够熟练地使用create/alter/drop语句创建、修改和删除数据库、基本表;能够使用insert/update语句。
  5. 完成范例数据库的定义,包括数据库的定义,表的创建、修改、删除,以及更新。

二、实验要求:

  1. 熟悉系统数据库的结构
  2. 理解和掌握create, alter, drop, insert语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库和基本表。掌握SQL语句常见语法错误的调试方法。
  3. 熟悉样例数据库的内容。

三、实验重点和难点:

实验重点:创建数据库、基本表,进行基本的数据更新操作。

实验难点:Create,Alter, Insert, Update语句的使用和理解。

四、实验内容:

1. 数据库管理工具的配置和使用

1.1. DBMS的安装与配置;

1.2. 开启、关闭DBMS;

1.3. 命令行以及图形化工具的使用。

2.表空间的创建与管理

2.1. 创建一个新的表空间,命名为“TmptDB”,进行更名及删除数据库;

2.2. 创建一个新的表空间“StudentDB”.

3.数据定义与更新

3.1.在studentDB中创建三张数据表

3.2. 向表中添加记录

(1)STUDENT(学生信息表)

SNO(学号)

SNAME(姓名)

SEX(性别)

SAGE(年龄)

SDEPT(所在系)

95001

李勇

20

CS

95002

刘晨

19

IS

95003

王名

18

MA

95004

张立

19

IS

95005

李明

22

CS

95006

张小梅

23

IS

95007

封晓文

20

MA

注意:如果SQL中不接受中文,可以将相关属性值改成相应的英文。在SQL代码中注意要使用英文的标点符号。

(2)COURSE(课程表)

CNO(课程号)

CNAME(课程名)

CPNO(先行课)

CCREDIT(学分)

1

数据库

5

4

2

数学

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构_EN

7

4

6

数据处理

2

7

PASCAL语言

6

4

(3)SC(选修表)

SNO(学号)

CNO(课程号)

Grade(成绩)

95001

1

92

95001

2

85

95001

3

88

95002

2

90

95002

3

80

95003

1

78

95003

2

80

95004

1

90

95004

4

60

95005

1

80

95005

3

89

95006

3

80

95007

4

65

                                

3.3.查看和修改表的定义

3.4. 数据更新和删除

4.  综合训练

   通过实验,理解关系表的特性,并融合贯通关系代数理论与SQL。

五、实验步骤与结果:

说明:每一部分实验内容,请描述实验过程,并搭配实验结果截图

1.数据库管理工具的配置和使用

1.1 DBMS安装与配置

//简述DBMS的安装与配置过程,可搭配重要步骤截图

点击ios安装包,通过光驱进行安装

1.2 开启、关闭DBMS

//简述操作DBMS的方法

双击DM数据库配置助手打开

 

1.3 命令行以及图形化工具的使用

//总结命令行及图形化工具使用的要点,可搭配截图

命令行:熟悉命令行指令

 

图形化工具:熟悉图形化界面

2.数据库的创建与管理

//结合截图阐述过程和结果

创建数据库实例

3.数据定义与更新

 

3.1 表的创建

(1)STUDENT

//给出SQL语句的截图,并简述每个关系的内容;阐述主键、外键及相应约束的设置

主键:SNO

外键:无

COURSE

主键:CNO

外键:CPNO(COURSE(CNO))

(2)SC

主键:(SNO,CNO)

外键:SNO(STUFENT(SNO)),CNO(COURSE(CNO))

 

3.2 向表中添加记录

//请分别给出截图(SQL示例)展示添加完整记录,以及添加部分非空记录的方法,并说明两者的区别

部分非空记录相比完整记录要额外遵守

 

3.3 查看和修改表的定义

//分别通过命令和图形化工具的操作来查看和修改表的定义,结合截图阐述过程和结果。完成以下任务,结合截图阐述操作命令以及其结果。

(1)用SQL语言的方式建立一张基本表:tmp(aa char(2),bb int, cc varchar(10)) ;

 

(2)修改tmp表,增加2个字段,dept char(30),demo char(10),并将 bb 的属性改为smallint;

 

(3)删除tmp表中的一列demo;

(4)向tmp中添加10条记录。

 

3.4 数据更新和删除

//完成以下任务,并结合截图阐述过程和结果。

(1)对tmp中某个属性对应的值进行无条件更新;

 

(2)对tmp中的数据进行无条件删除;

(3)删除表tmp;

 

(4)将Course表中“数据库”的学分修改为5.

 

 (5)将SC中课程号为1的所有成绩都减5分。

 

4. 综合训练

(1)向Student中插入一条新的记录,其中学号为“95003”。插入操作是否能够成功执行?请结合执行结果阐述原因。

不能,因为SNO是student表的主键,学号重复。

(2)将Course中课程号为1的课程删除。删除操作是否能够成功执行?请结合执行结果阐述原因。

 

 能成功执行,因为课程号没设置成主键,允许删除

(3)将Course中“PASCAL语言”的课程号修改为8。是否可以执行成功?继续将course中“PASCAL语言”的课程号修改为1。是否可以执行成功?请结合执行结果阐述原因。

 

 

 能成功执行

(4)执行以下语句,查看结果,并结合结果理解语句的功能。同时讨论通过使用哪些关系代数运算符可以获得类似的结果,为什么?

语句1:select * from student;

功能:查询student表

类似:π,select相当于投影

 

语句2:select * from student, course;

功能:查询student表与course表×积后的结果

类似:π、×,select相当于投影、select两张表相当于做笛卡尔积

 

 

语句3:select * from student where sage = 19;

功能:查询student表中年龄为19的学生

类似:π、σ,select相当于投影、where相当于选择

 

语句4:select sno, sname from student;

功能:查询student表中的学号和姓名

类似:π,select相当于投影

 

六、实验总结(收获及不足)

通过这次实验,我重新复习了DBMS的一些基本操作,熟练了创建表和插入数据的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值