数据库原理及应用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的一些基本操作,熟练了创建表和插入数据的操作。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分sql基础 9 基本查询语句 9 实验1:书写一个最简单的sql语句,查询一张表的所有行和所有列 9 实验2:查询一张表的所有行,但列的顺序我们自己决定 10 实验3:查询表的某些列,在列上使用表达式 10 实验4:使用sqlplus,进入sqlplus并进行简单的操作 11 实验5:查看当前用户的所有表和视图 13 实验6:关于null值的问题 15 实验7:在列上起一个别名 15 实验8:在显示的时候去掉重复的行 16 实验9:显示表的部分行和部分列,使用where子句过滤出想要的行 18 实验10:使用like查询近似的值 18 实验11:使用order by子句来进行排序操作 20 实验12:操作字符串的函数 22 实验13:操作数字的函数 25 实验14:操作日期的函数 25 实验15:操作数据为null的函数 31 实验16:分支的函数 32 实验17:分组统计函数 33 实验18:表的连接查询 36 实验19:sql99规则的表连接操作 40 实验20:子查询 41 DDL和DML语句 45 实验21:建立简单的表,并对表进行简单ddl操作 45 实验22:dml语句,插入删除和修改表的数据 49 实验23:事务的概念和事务的控制 52 实验24:在表上建立不同类型的约束 54 实验25:序列的概念和使用 58 实验26:建立和使用视图 60 实验27:查询结果的集合操作 63 实验28:高级分组rollup,cube操作 65 实验29:树结构的查询start with子句 66 实验30:高级dml操作 68 第二部分pl/sql基础 69 匿名块的编写 69 实验31:书写一个最简单的块,运行并查看结果 69 实验32:在块中操作变量 70 实验33:在块中操作表的数据 71 实验34:在块中的分支操作if语句 71 实验35:在块中使用循环,三种循环模式 72 实验36:在块中自定义数据类型,使用复合变量 73 实验37:在块中使用定义游标 76 实验38:在块中处理错误exception 78 编写程序 80 实验39:触发器 80 实验40:编写函数 82 实验41:编写存储过程 83 实验42:编写包package 85 第三部分数据库的体系结构 88 实例的维护 88 实验43:数据库的最高帐号sys的操作系统认证模式 90 实验44:数据库的最高帐号sys的密码文件认证模式 92 实验45:数据库的两种初始化参数文件 92 实验46:启动数据库的三个台阶nomount,mount,open 95 实验47:停止数据库的四种模式 96 实验48:建立数据库 97 实验49:查找你想要的数据字典 99 控制文件 99 实验50:减少控制文件的个数 100 实验51:增加控制文件的个数 101 日志文件 104 实验52:日志文件管理和nologging的实现 107 数据文件 111 实验53:建立新的表空间 111 实验54:更改表空间的名称,更改数据文件的名称 113 表空间 116 实验55:建立临时表空间 117 实验56:大文件表空间和表空间的管理模式 118 数据库的逻辑结构 120 实验57:建立表,描述表的存储属性 121 实验58:数据库范围extent的管理 128 undo段的管理 134 实验59:数据库自动回退段的管理 135 实验60:数据库手工回退段的管理 136 实验61:通过回退段闪回历史数据 136 实验62:闪回数据的查询方法,以及历史交易 137 表—存储数据的最基本单元 138 实验63:rowid的使用 138 实验64:临时表和压缩数据表的使用 141 实验65:压缩存储数据 142 实验66:删除表中指定列操作 142 实验67:使用sqlldr加载外部的数据 143 实验68:使用utl_file包来将表的数据存储到外部文件 144 实验69:使用外部表 145 实验70:处理挂起的事务 146 索引 149 实验71:查看索引的内部信息 151 实验72:监控索引的使用状态 153 约束的管理 154 实验73:改变约束的状态 154 实验74:找到违反约束条件的行 155 Profile配置 156 实验75:管理密码的安全配置 156 实验76:限制会话的资源配置 157 权限管理 158 实验77:维护系统权限 158 实验78:维护对象权限 159 实验79:维护角色 160 实验80:审计 161 数据库字符集 162 实验81:配置国家语言支持 163 元数据 165 实验82:提取元数据dbms_metedata 165 第四部分数据库的网络配置 168 实验83:配置监听 168 实验84:客户端的网络配置 169 实验8

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值