资源描述
课程编号
课程名称(汉字) 数据库原理及应用
课程名称(英文) Database Principle and Application
课程属性 专业课
适用专业 软件工程
先修课程要求 计算机导论、程序设计基础、数据结构等
总课时 64课时
总学分 4分
试验课时 16课时
试验学分
应开试验学期 三年级第一学期
教材及试验指导书名称:
自编试验指导书
一、课程介绍及基础要求
本课程从基础原理和应用实例两方面全方面地介绍关系型数据库系统,使学生能够在熟悉数据库系统基础操作及应用同时,含有基础应用系统开发技能,为未来从事工作打下良好基础。
二、试验课程目标和要求
本试验课程能够使学生在理论学习以后,对课程内容有一个直观了解;并经过实际操作掌握数据库应用系统开发多种技能。
本试验课程要求学生达成以下基础要求:
1、掌握MySQL5.0基础情况和基础使用方法。
2、掌握MySQL5.0中各级基础数据库对象管理,包含
(1) 数据库创建和多种基础管理操作。
(2) 数据表格创建和多种基础管理操作。
(3) 表格数据编辑和维护。
(4) 表格数据多种查询操作。
(5) 相关视图操作。
3、熟悉MySQL5.0中数据库完整性实现。
4、了解MySQL5.0中数据库安全性实现。
5、熟悉MySQL5.0中数据库备份和恢复。
三、关键仪器设备
本试验课程要求关键仪器设备是计算机。
四、试验方法和基础要求
本试验课程以学生实际上机操作为主,老师在课堂教课时进行演示。
五、考评和汇报
因为本试验课程是非独立设课,故其考评方法和相关课程一样,采取考试考评方法。试验教学部分成绩在课程总成绩中占一定百分比。
六、试验项目设置和内容
序号
试验名称
内容摘要
试验课时
每组人数
试验属性
试验者类别
开出要求
1
熟悉MySQL5安装、使用环境
了解MySQL5界面环境;熟悉服务管理器、企业管理器和查询分析器使用方法
2
1
验证
本科
必做
2
数据库创建和管理
创建一个数据库;并对其进行基础管理操作
2
1
验证
本科
必做
3
表创建和操作
创建若干个数据表格;并对它们进行基础管理操作
2
1
验证
本科
必做
4
表格数据基础查询操作
对表格数据进行简单查询操作
2
1
设计
本科
必做
5
表格数据编辑和维护
对表格数据进行插入、删除和修改操作
1
1
验证
本科
必做
6
视图管理
创建视图;对视图进行基础管理操作
1
1
设计
本科
必做
7
数据类型使用
掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表,掌握管理表相关系统存放过程
1
1
设计
本科
必做
8
表格数据高级查询操作
多表连接查询;统计查询;嵌套查询等
2
1
设计
本科
必做
9
数据库完整性实现
实现关系型数据库完整性
2
1
验证
本科
必做
10
数据库安全性实现
实现数据库安全性
1
1
验证
本科
必做
11
数据库备份和恢复
实现数据库备份和恢复
1
1
验证
本科
必做
12
综合试验
2
3
设计
本科
必做
试验一 熟悉MySQL安装、使用环境及其基础工具使用
试验课时:0.5课时
试验类型:验证
试验要求:必做
一、试验目标
熟悉MySQL安装和使用方法环境。掌握MySQL管理工具Navicat使用。了解在Navicat中实施SQL语句方法。了解数据库及数据库对象。熟悉服务器管理和使用。
二、试验内容
序1:完全卸载MySQL
此次试验使用Windows 7 32位操作系统,部分机器可能已经安装了mysql。因为版本不一样,配置未知,需要将已经有MySQL完全卸载,再统一安装。
步骤:
① 停止MySQL服务。右键点击“计算机—选择“管理”,在弹出对话框中选择“服务和应用程序”—“服务”,在打开当地服务中,选择名为“MySQL”服务,单击右键,选择“停止”图14所表示:
图14
② 卸载MySQL。经过控制面板删除MySQL Server,图15所表示:
图15
③ 删除残留安装文件。删除安装路径(默认为“C:\Program Files\MySQL”)下文件夹MySQL。
④ 删除残留服务配置文件。删除路径“C:\ProgramData\MySQL\MySQL Server 5.5\data”下全部文件,也可直接删除MySQL文件夹(ProgramData为隐藏文件夹,需要在“工具”—“文件夹选项”—“查看”中勾选查看隐藏文件。也能够直接经过搜索栏搜索)。图:
图15
序2:MySQL安装说明
步骤:
①打开MySQL 5.5安装包mysql-5.5.28-win32.msi—Next,在图1所表示界面中选择Typical进行默认安装
图1
②安装完成以后,继续进入图2所表示配置界面:
图2
③选择配置方法,“Detailed Configuration(手动正确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。
图3
④选择服务器类型,“Developer Machine(开发测试类,mysql占用极少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门数据库服务器,mysql占用全部可用资源)”,通常选“Server Machine”,不会太少,也不会占满,试验所用则选择Developer Machine即可
图4
⑤选择mysql数据库大致用途,“Multifunctional Database(通用多功效型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,通常)”、“Non-Transactional Database Only(非事务处理型,较简单,关键做部分监控、记数用,对MyISAM数据类型支持仅限于non-transactional),我这里选择“Multifunctional Database”,按“Next”继续。
图5
⑥对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存放空间,假如修改了,要记住位置,重装时候要选择一样地方,不然可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续。
图6
⑦选择通常mysql访问量,同时连接数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Decision Support(DSS)/OLAP”,按“Next”继续。
图7
⑧选择是否启用TCP/IP连接,设定端口,假如不启用,就只能在自己机器上访问mysql数据库了,我这里启用,把前面勾打上,Port Number:3306,在这个页面上,我们还能够选择“启用标准模式”(Enable Strict Mode),这么MySQL就不会许可细小语法错误。熟悉MySQL以后,尽可能使用标准模式,因为它能够降低有害数据进入数据库可能性。按“Next”继续。
图8
⑨选择编码。这里我们选择默认西文编码“Latin1”。有需要能够选择第三项手动设置默认编码,如需要正常使用汉字则选择第三个,然后在Character Set那里选择或填入“gbk”,当然也能够用“gb2312”,区分就是gbk字库容量大,包含了gb2312全部汉字,而且加上了繁体字。使用mysql时候,在实施数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK能够替换为其它值,视这里设置而定),就能够正常使用汉字了。按“Next”继续。
图9
⑩选择是否将mysql安装为windows服务,还能够指定Service Name(服务标识名称),是否将mysqlbin目录加入到Windows PATH(加入后,就能够直接使用bin下文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就能够了,不用指出mysql.exe完整地址,很方便),我们这里全部打上了勾,Service Name不变。按“Next”继续。
图10
⑪这一步问询是否要修改默认root用户(超级管理)密码(默认为空),“New root password”假如要修改,就在此填入新密码(假如是重装,而且之前已经设置了密码,在这里更改密码可能会犯错,请留空,并将“Modify Security Settings”前面勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,预防输错。我们这里设置密码为“root”。“Enable root access from remote machines(是否许可root用户在其它机器上登陆,假如要安全,就不要勾上,假如要方便,就勾上它)”。最终“Create An Anonymous Account(新建一个匿名用户,匿名用户能够连接数据库,不能操作数据,包含查询)”,通常就不用勾了,设置完成,按“Next”继续。
图11
⑫确定设置无误,假如有误,按“Back”返回检验。按“Execute”使设置生效。
图12
⑬设置完成,按“Finish”结束mysql安装和配置——这里有一个比较常见错误,就是不能“Start service”,通常出现在以前有安装mysql服务器上,处理措施,先确保以前安装mysql服务器根本卸载掉了;不行话,检验是否按上面一步所说,之前密码是否有修改,照上面操作;假如仍然不行,将mysql安装目录下data文件夹备份,然后删除,在安装完成后,将安装生成 data文件夹删除,备份data文件夹移回来,再重启mysql服务就能够了,这种情况下,可能需要将数据库检验一下,然后修复一次,预防数据犯错。
序3:Navicat配置
此次试验所使用Navicat for MySQL为免安装版,解压即可使用。可用“key.txt”中激活码激活。
1、打开MySQL服务。
①右键点击“我电脑—选择“管理”,在弹出对话框中选择“服务和应用程序”—“服务”,图1.1所表示:
图1.1
②在打开当地服务中,选择名为“MySQL”服务,单击右键,选择“开启”(也能够在“属性”中设置为随系统开启而自动开启),图1.2所表示:
图1.2
③在“开始”菜单—全部程序中找到MySQL,点击“MySQL Command Line Client”,将出现图1.3所表示窗口:
图1.3
④试验所用MySQL已事先配置好,用户名、密码均为“root”。所以直接输入“root”并回车,若出现图1.4所表示结果,说明MysQL服务已正常开启而且能够经过该窗口用对应语句进行操作:
图1.4
2、学习使用MySQL管理工具Navicat基础操作,建立连接MySQL并在它左边树型结构中查看数据库,观察该数据库中全部数据库对象,如表、视图、存放过程、默认、规则等,学习查询创建、连接关闭和删除。
①新建连接MySQL。打开Navicat,进入主界面后点击“连接”,在弹出对话框中输入连接名“MySQL”,用户名和密码均为“root”,输入以后点击“确定”(可事先点击“连接测试”),图2.1所表示:
图2.1
②打开连接MySQL,查看默认生成数据库、表。右键单击新建连接MySQL,选择“打开连接”,能够看到默认生成四个数据库,以数据库“mysql”为例,点击打开,图2.2所表示。以数据库“mysql”中表“help_category”为例,点击打开,图2.3所表示.
图2.2
图2.3
③新建查询。打开数据库“mysql”,点击Navicat主界面上方“查询”,选择“新建查询”,在弹出查询编辑器中输入以下语句:
USE mysql;
SELECT * FROM help_category;
点击上方“运行”操作及结果图2.4所表示:
图2.4
④关闭、删除连接。右键点击连接“MySQL”选择“关闭连接”。一样操作选择“删除连接”,结果图2.5所表示:
图2.5
3、学习在Navicat下用户管理,包含新建、编辑、删除。
①新建用户。打开连接“MySQL”,点击Navicat主界面上方“用户”,在弹出对话框中填写以下内容:用户名“NewUser”、主机“localhost”、密码“1234”并再次确定,将“服务器权限”全部勾选,点击“保留”。图3.1所表示:
图3.1
使用新建用户创建一个新连接“NewSQL”,操作图3.2所表示:
出现图3.3所表示结果,说明用户创建成功。
图3.3
②编辑用户。点击用户“NewUser@localhost”,再选择“编辑用户”,修改相关信息后点击保留,一样以新建连接方法检验。图3.4所表示:
图3.4
③删除用户。选择修改后用户,点击“删除用户”,选择“确定”,图3.5所表示:
图3.5
三、课后练习题
1、分别经过Navicat主界面和在查询编辑器中新建查询查看MySQL数据库中information_schema、performance_schema两个表全部数据。
2、新建一个用户NewUser并用它创建一个新连接NewSQL,实施练习题1中操作。
试验二 数据库创建和管理
试验课时:1.5课时
试验类型:验证
试验要求:必做
一、试验目标
熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除数据库。学习在Navicat中进行数据库转储和导入。掌握管理数据库相关系统存放过程。
二、试验内容
具体步骤以下:新建连接“MySQL”—单击选择并右键—“新建数据库”—输入数据库名“mydb”、字符集“utf8 -- UTF-8 Unicode”、排序规则“utf8_general_ci”—“确定”。图1.1所表示:
右键—数据库属性,能够看到图1.2所表示结果:
图1.2
2、利用Transact-SQL语言创建满足以下要求数据库:
1)数据库存在于连接MySQL中;
2)数据库名称为mydb;
3)字符集选择utf8 -- UTF-8 Unicode;
4)排序规则选择utf8_general_ci;
具体步骤以下:
点击“新建查询”,在查询编辑器输入以下代码,点击“运行”,完成后,左侧列表中选中连接“数MySQL”,点击“刷新”按钮,列表即可见到“testdb”。图2.1、2.2所表示:
CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
图2.1
图2.2
3、利用Transact-SQL语言查看数据库及表信息。
①查看连接中全部数据库
步骤:点击“新建查询”,输入
SHOW DATABASES
后运行,结果图3.1所表示:
图3.1
②查看数据库mysql中全部表
步骤:点击“新建查询”,输入
USE mysql;
SHOW TABLES;
后运行,(也能够用语句show tables from mysql;)结果图3.2所表示:
图3.2
③查看数据库“mysql”中表“help_keyword”结构。
步骤:点击“新建查询”,输入
USE mysql;
DESC help_keyword;
后运行,(也能够用语句show tables from mysql;)结果图3.3所表示:
图3.3
4、利用Navicat修改数据库mydb,修改其排序方法为utf8_bin。
步骤:右键单击数据库“mydb”—数据库属性,在排序方法中选择“utf8_bin”—“确定”。
5、利用Transact-SQL语言修改数据库mydb字符集为Latin1;
步骤:点击“新建查询”,输入以下代码,点击运行
ALTER DATABASE mydb DEFAULT CHARACTER SET = latin1;
图5.1所表示:
图5.1
关闭数据库“mydb”后重新打开,查看数据库属性,能够看到图5.2所表示结果:
图5.2
6、利用Navicat删除数据库mydb。
直接右键点击mydb选择删除即可,注意要关闭目前SQL语句编写界面。
7、利用Transact-SQL语言删除数据库testdb。
步骤:点击“新建查询”,输入DROP DATABASE testdb 后运行。
刷新连接“MySQL”,查看结果。
8、转储MySQL数据库。
步骤:打开连接“MySQL”—右键单击数据库“mysql”—选择“转储
SQL文件”—将文件名改为“sql.sql”后保留在桌面,图9.1所表示:
图9.1
成功后将出现图9.2所表示情况:
图9.2
9、导入MySQL数据库。
①在连接“MySQL”中新建数据库“sql”(字符集和排序方法尽可能一致)。
②打开数据库“sql”—右键单击—运行SQL文件—选择桌面“sql.sql”文件—点击“确定”。图10.1所表示:
图10.1
③实施结果图10.2所表示则表示成功。关闭数据库sql后重新打开,对比数据库“sql”和最初数据库“mysql”,看是否完全相同。
图10.2
三、课后练习题
1、分别用以下多个语句查看数据库“mysql”中任意表结构或数据(先输入:“USE mysql;”):
①SHOW COLUMNS FROM 表名;
②DESCRIBE 表名;
③DESC 表名
④SELECT * FROM 表名
2、思索以下问题:
1)mysql中utf8编码utf8_bin,utf8_general_cs,utf8_general_cs三者区分。
2)不一样编码方法数据库之间进行转储和导入会不会出现错误。
试验三 表创建和管理
试验课时:1.5课时
试验类型:验证
试验要求:必做
一、试验目标
熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。掌握管理表相关系统存放过程。
二、试验内容
1、利用Navicat创建满足以下要求数据库:①数据库存在于连接MySQL中;②数据库名称为xsgl; ③字符集选择utf8 -- UTF-8 Unicode;排序规则选择utf8_general_ci。
2、在数据库xsgl中,利用Navicat创建以下表格:
1)表格名为xs(学生基础情况表);
2)表格中各个属性定义以下:
列名
含义
数据类型
长度
能否取空值
备注
xh
学号
int
no
主码
xm
姓名
char
8
yes
xb
性别
char
2
yes
nl
年纪
tinyint
yes
zy
专业
char
16
yes
jtzz
家庭住址
char
50
yes
具体步骤以下:打开新建数据库“xsgl”–右键点击“表”--“新建表”。根据上表内容输入个属性定义,填写“列名”、“数据类型”,并取消或选择“许可NULL值”前选项,并右键点击“xh”,选择将其设为主键,图2.1所表示:
图2.1
点击“保留”,输入表名:xs。结果图2.2所表示:
图2.2
3、根据以下步骤向表格xs中添加以下统计:
xh
(学号)
xm
(姓名)
xb
(性别)
nl
(年纪)
zy
(专业)
jtzz
(家庭住址)
庄小燕
女
24
计算机
上海市中山北路12号
洪波
男
25
计算机
青岛市解放路105号
肖辉
男
23
计算机
杭州市凤起路111号
柳嫣红
女
22
计算机
上海市邯郸路1066号
张正正
男
20
应用数学
上海市延安路123号
李丽
女
21
应用数学
杭州市解放路56号
1)打开Navicat;
2)打开连接MySQL找到数据库xsgl中表格xs;
3)在表格xs上右击鼠标,选择“打开表”;
4)在接着出现统计录入界面上添加统计。(方向键下增加新纪录)
添加完后图3.1所表示:
4、向表xs中增加“入课时间”属性列,其列名为rxsj,数据类型为datetime型。
步骤:右键单击xs表—设计表—加入列rxsj,设置数据类型为datetime。图4.1所表示:
图4.1
5、将表xs中nl(年纪)列数据类型改为int型。
步骤:和第4项类似
6、在数据库xsgl中,利用Transact-SQL语言创建以下表格:
1)表格名为kc(课程情况表);
2)表格中各个属性定义以下:
列名
含义
数据类型
长度
能否取空值
备注
kch
课程号
char
4
no
主码
kcm
课程名
char
20
yes
xss
课时数
int
yes
xf
学分
int
yes
步骤:点击“新建查询”,输入以下代码,点击运行
USE xsgl;
create table kc
(
kch char(4) not null,
kcm char(20) null,
xss int null,
xf int null,
primary key(kch)
)engine=innodb default charset=utf8 auto_increment=1;
命令成功完成后,在 “xggl”数据库中右键点击“表”,选择“刷新”,结果图所表示:
7、利用Transact-SQL语言修改kc表。
①增加“成绩”一列cj,int型,许可为空值,默认为0。
步骤:点击“新建查询”,输入以下代码,点击运行
ALTER TABLE kc ADD COLUMN cj INT DEFAULT 0;
②修改cj列类型为char。
步骤:点击“新建查询”,输入以下代码,点击运行
ALTER TABLE kc CHANGE COLUMN cj cj CHAR(4);
③修改cj列列名为mark。
步骤:点击“新建查询”,输入以下代码,点击运行
ALTER TABLE kc CHANGE cj mark CHAR(4) DEFAULT 0;
④删除mark列。
步骤:点击“新建查询”,输入以下代码,点击运行
ALTER TABLE kc DROP COLUMN mark;
7、利用Navicat和Transact-SQL语言两种方法删除表kc。
①步骤:右键点击表“kc”,选择删除。
②步骤:点击“新建查询”,输入以下代码,点击实施
DROP TABLE kc
8、利用Transact-SQL将表xs重命名为Students。
步骤:点击“新建查询”,输入以下代码,点击实施
RENAME TABLE xsgl.xs TO xsgl.Students;
三、课后练习题
1、创建一个名为cpxs数据库,在该数据库中分别经过Navicat和查询分析器创建一个名为cp表(产品表),表格中各个属性定义以下:
列名
含义
数据类型
长度
能否取空值
备注
cpbh
产品编号
char
6
no
主码
cpmc
产品名称
char
30
no
jg
价格
money
yes
kcl
库存量
int
yes
2、思索以下问题:
1)假如要在一个已经存在表格上删除一列并增加一列,能不能用一个ALTER TABLE语句来完成?
试验四 表数据简单查询
试验课时:1课时
试验类型:设计
试验要求:必做
一、试验目标
掌握SELECT语句基础使用方法。掌握计算列使用方法。掌握WHERE子句中各类查询条件写法。
二、试验内容
1、在连接“MySQL”中新建数据库“world”,并将数据库文件world_inno.sql导入到该数据库之中
2、查询world数据库country表中国名(Name)、洲名(Continent)和地域(Region)。
步骤:点击“新建查询”,输入以下代码,点击实施
USE world
SELECT NAME,Continent,Region FROM country;
运行结果图2.1:
图2.1
3、从world数据库city表中搜索返回前20条数据。
步骤:点击“新建查询”,输入以下代码,点击实施
USE world;
SELECT * FROM city LIMIT 0,20;
其中,“LIMIT M,N”中M表示从第M条(不包含M)开始
结果图3.1:
图3.1
4、使用WHERE 子句从world 数据库country表中检索出全部领土面积超出一百万平方公里国家名称(Name)、洲名(Continent)和领土面积(SurfaceArea)。
步骤:点击“新建查询”,输入以下代码,点击实施
USE world;
SELECT NAME,Continent,SurfaceArea
FROM country
WHERE SurfaceArea > 1000000;
结果图4.1:
图4.1
5、查询在world数据库country表中Name以字母C开头国家洲名Continent,地域Region。
步骤:点击“新建查询”,输入以下代码,点击实施
USE world;
SELECT Name,Continent,Region
FROM country
WHERE NAME like 'C%';
运行结果图5.1:
图5.1
6、查询world数据库Country表中全部国家Name和Condinent,并按生日SurfaceArea从小到大进行排列。
步骤:点击“新建查询”,输入以下代码,点击实施
USE world;
SELECT Name,Continent,SurfaceArea
FROM country
ORDER BY SurfaceArea;
运行结果图6.1:
图6.1
练习巩固
7、查询country表中政体(GovernmentForm)属于共和国(Republic)国家Name和Population、GovernmentForm。
USE world;
SELECT NAME,Population,GovernmentForm
FROM country
WHERE GovernmentForm = 'Republic';
8、country表中查询前20个非洲国家名称。
USE world;
SELECT NAME
FROM country
WHERE Continent= 'Africa'
LIMIT 0,20;
9、city表中查询阿富汗(Countrycode为AFG)全部城市名称和人口,并要求对查询结果按人口降序排列。
USE world;
SELECT NAME,Population
FROM city
WHERE CountryCode= 'AFG'
ORDER BY Population DESC;
10、Country表中查询领土面积介于一百万和五百万平方公里之间国家名称和领土面积(领土面积以除以一万结果显示)。
USE world;
SELECT NAME,SurfaceArea/10000
FROM country
WHERE Continent = 'Africa'
AND SurfaceArea BETWEEN 1000000 AND 5000000;
11、查询名称以“C”开头亚洲国家或非洲国家名称和洲名
USE world;
SELECT Name,Continent
FROM country
WHERE (Continent = 'Asia' OR Continent = 'Africa')
AND Name LIKE 'C%';
12、country表中查询独立年份为空国家名称、国家年份。
USE world;
SELECT NAME,IndepYear
FROM country
WHERE IndepYear is null;
三、课后练习题
以下题目在数据库world中完成。
1、查询country表中全部亚洲国家名称、地域,要求查询结果按人口升序排列。
2、查询city表中智利(CHL)或保加利亚(BGR)城市名称。
3、查询country表中Region字段包含“Europe”国家全部信息。
4、查询全部君主立宪制(Constitutional Monarchy)国家名称和人口,按人口降序排列。
试验五 表数据维护
试验课时:1课时
试验类型:验证
试验要求:必做
一、试验目标
熟练掌握使用Transact-SQL语言和经过Navicat输入表数据、修改表数据和删除表数据操作。
二、试验内容
1、在数据库world中建立一个名为newlanguage表,其结构和表countrylanguage完全一样(注意各字段默认值、字符集、排序方法等),图1.1:
图1.1
2、在表newlanguage中插入中国客家话,其名称为CountryCode为CHN,language为Kejia,isOfficial为F,percentage为0.3。
USE world;
INSERT INTO newlanguage
VALUES ('CHN','Kejia','F',0.3);
4、试将表countrylanguage中全部统计插入到表newlanguage中去,其SQL命令为:
USE world;
INSERT INTO newlanguage
SELECT *
FROM countrylanguage;
5、将表newlanguage中Language为“Kejia”语言Percentage改为0.4
USE world;
UPDATE newlanguage
SET Percentage = 0.4
WHERE Language = 'Kejia';
6、将表newlanguage中语言Percentage均减去0.1。
USE world;
UPDATE newlanguage
SET Percentage = Percentage - 0.1;
7、删除表newlanguage中澳大利亚(CountrCode为“AUS”)英语统计。
USE world;
DELETE FROM newlanguage
WHERE CountryCode='AUS'
AND Language='English';
8、清空表newlanguage中全部数据。
USE world;
TRUNCATE TABLE newlanguage;
三、课后练习题
以下题目在数据库world中完成。
1、经过Navicat,在country、countrylanguage、和city三个表中各输入10条统计。
2、将一条新城市统计(Name:Beijing,Country:AFG,District:Beijing,Population:21148000)插入表city中。
3、插入一条语言统计(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。
4、删除CountryCode为“ABW”语言统计。
试验六 视图管理
试验课时:1课时
试验类型:设计
试验要求:必做
一、试验目标
掌握视图定义和维护操作,加深对视图在关系数据库中作用了解。
二、试验内容
在数据库world中完成以下操作:
1、 建立亚洲国家视图asia_country,并要求进行修改和插入操作时仍需确保该视图只有亚洲国家,视图属性名为Code,Name,Continent,Population,GNP, GovernmentForm.
USE world;
CREATE VIEW asia_country
AS
SELECT Code,Name,Continent,Population,GNP,GovernmentForm
FROM country
WHERE Continent='Asia';
对于视图使用,将其当做基础表即可,可用下面语句用来显示asia_country表中全部亚洲国家:
USE world;
SELECT *
FROM asia_country;
或直接在左侧目录【world】下【视图】下多出“asia_country”上点击右键,在弹出选项里选择“设计视图”。
结果图1.1所表示:
图1.1
2、建立国家简称(country.Code)、城市名(city.Name)、语言名(countrylanguage.Language)视图cc_language。本视图由三个基础表连接操作导出,其SQL语句以下:
USE world;
CREATE VIEW cc_language
AS
SELECT country.Code,city.Name,countrylanguage.Language
FROM country,city,countrylanguage
WHERE country.Code = city.CountryCode
AND country.Code = countrylanguage.CountryCode;
用以下语句查看:
USE world;
SELECT *
FROM cc_language;
结果图:2.1:
图2.1
3、定义一个反应国家独立年份视图c_indepyear。
USE world;
CREATE VIEW c_indepyear(country_code, country_name, country_indepyear)
AS
SELECT Code, Name, IndepYear
FROM country;
用以下语句查看:
USE world;
SELECT *
FROM c_indepyear;
结果图3.1所表示
图3.1
4、删除视图c_indepyear。
USE world;
DROP VIEW c_
展开阅读全文