试验参考指导书V_第1页
试验参考指导书V_第2页
试验参考指导书V_第3页
试验参考指导书V_第4页
试验参考指导书V_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试验指导书《数据库原理》编者:吕泽华华中科技大学软件学院课程编号课程名称(汉字)数据库原理及应用课程名称(英文)DatabasePrincipleandApplication课程属性专业课适用专业软件工程先修课程要求计算机导论、程序设计基础、数据结构等总课时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界面环境;熟悉服务管理器、企业管理器和查询分析器使用方法21验证本科必做2数据库创建和管理创建一个数据库;并对其进行基础管理操作21验证本科必做3表创建和操作创建若干个数据表格;并对它们进行基础管理操作21验证本科必做4表格数据基础查询操作对表格数据进行简单查询操作21设计本科必做5表格数据编辑和维护对表格数据进行插入、删除和修改操作11验证本科必做6视图管理创建视图;对视图进行基础管理操作11设计本科必做7数据类型使用掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表,掌握管理表相关系统存放过程11设计本科必做8表格数据高级查询操作多表连接查询;统计查询;嵌套查询等21设计本科必做9数据库完整性实现实现关系型数据库完整性21验证本科必做10数据库安全性实现实现数据库安全性11验证本科必做11数据库备份和恢复实现数据库备份和恢复11验证本科必做12综合试验23设计本科必做

试验一熟悉MySQL安装、使用环境及其基础工具使用试验课时:0.5课时试验类型:验证试验要求:必做一、试验目标熟悉MySQL安装和使用方法环境。掌握MySQL管理工具Navicat使用。了解在Navicat中实施SQL语句方法。了解数据库及数据库对象。熟悉服务器管理和使用。二、试验内容 序1:完全卸载MySQL此次试验使用Windows732位操作系统,部分机器可能已经安装了mysql。因为版本不一样,配置未知,需要将已经有MySQL完全卸载,再统一安装。步骤:停止MySQL服务。右键点击“计算机—选择“管理”,在弹出对话框中选择“服务和应用程序”—“服务”,在打开当地服务中,选择名为“MySQL”服务,单击右键,选择“停止”图所表示:图14卸载MySQL。经过控制面板删除MySQLServer,图所表示:图15删除残留安装文件。删除安装路径(默认为“C:\ProgramFiles\MySQL”)下文件夹MySQL。删除残留服务配置文件。删除路径“C:\ProgramData\MySQL\MySQLServer5.5\data”下全部文件,也可直接删除MySQL文件夹(ProgramData为隐藏文件夹,需要在“工具”—“文件夹选项”—“查看”中勾选查看隐藏文件。也能够直接经过搜索栏搜索)。图:图15 序2:MySQL安装说明 步骤:①打开MySQL5.5安装包mysql-5.5.28-win32.msi—Next,在图1所表示界面中选择Typical进行默认安装图1②安装完成以后,继续进入图2所表示配置界面:图2③选择配置方法,“DetailedConfiguration(手动正确配置)”、“StandardConfiguration(标准配置)”,我们选择“DetailedConfiguration”,方便熟悉配置过程。图3④选择服务器类型,“DeveloperMachine(开发测试类,mysql占用极少资源)”、“ServerMachine(服务器类型,mysql占用较多资源)”、“DedicatedMySQLServerMachine(专门数据库服务器,mysql占用全部可用资源)”,通常选“ServerMachine”,不会太少,也不会占满,试验所用则选择DeveloperMachine即可图4⑤选择mysql数据库大致用途,“MultifunctionalDatabase(通用多功效型,好)”、“TransactionalDatabaseOnly(服务器类型,专注于事务处理,通常)”、“Non-TransactionalDatabaseOnly(非事务处理型,较简单,关键做部分监控、记数用,对MyISAM数据类型支持仅限于non-transactional),我这里选择“MultifunctionalDatabase”,按“Next”继续。图5⑥对InnoDBTablespace进行配置,就是为InnoDB数据库文件选择一个存放空间,假如修改了,要记住位置,重装时候要选择一样地方,不然可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续。图6⑦选择通常mysql访问量,同时连接数目,“DecisionSupport(DSS)/OLAP(20个左右)”、“OnlineTransactionProcessing(OLTP)(500个左右)”、“ManualSetting(手动设置,自己输一个数)”,我这里选“DecisionSupport(DSS)/OLAP”,按“Next”继续。图7⑧选择是否启用TCP/IP连接,设定端口,假如不启用,就只能在自己机器上访问mysql数据库了,我这里启用,把前面勾打上,PortNumber:3306,在这个页面上,我们还能够选择“启用标准模式”(EnableStrictMode),这么MySQL就不会许可细小语法错误。熟悉MySQL以后,尽可能使用标准模式,因为它能够降低有害数据进入数据库可能性。按“Next”继续。图8⑨选择编码。这里我们选择默认西文编码“Latin1”。有需要能够选择第三项手动设置默认编码,如需要正常使用汉字则选择第三个,然后在CharacterSet那里选择或填入“gbk”,当然也能够用“gb2312”,区分就是gbk字库容量大,包含了gb2312全部汉字,而且加上了繁体字。使用mysql时候,在实施数据操作命令之前运行一次“SETNAMESGBK;”(运行一次就行了,GBK能够替换为其它值,视这里设置而定),就能够正常使用汉字了。按“Next”继续。图9⑩选择是否将mysql安装为windows服务,还能够指定ServiceName(服务标识名称),是否将mysqlbin目录加入到WindowsPATH(加入后,就能够直接使用bin下文件,而不用指出目录名,比如连接,“mysql.exe-uusername-ppassword;”就能够了,不用指出mysql.exe完整地址,很方便),我们这里全部打上了勾,ServiceName不变。按“Next”继续。图10⑪这一步问询是否要修改默认root用户(超级管理)密码(默认为空),“Newrootpassword”假如要修改,就在此填入新密码(假如是重装,而且之前已经设置了密码,在这里更改密码可能会犯错,请留空,并将“ModifySecuritySettings”前面勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,预防输错。我们这里设置密码为“root”。“Enablerootaccessfromremotemachines(是否许可root用户在其它机器上登陆,假如要安全,就不要勾上,假如要方便,就勾上它)”。最终“CreateAnAnonymousAccount(新建一个匿名用户,匿名用户能够连接数据库,不能操作数据,包含查询)”,通常就不用勾了,设置完成,按“Next”继续。图11⑫确定设置无误,假如有误,按“Back”返回检验。按“Execute”使设置生效。图12⑬设置完成,按“Finish”结束mysql安装和配置——这里有一个比较常见错误,就是不能“Startservice”,通常出现在以前有安装mysql服务器上,处理措施,先确保以前安装mysql服务器根本卸载掉了;不行话,检验是否按上面一步所说,之前密码是否有修改,照上面操作;假如仍然不行,将mysql安装目录下data文件夹备份,然后删除,在安装完成后,将安装生成data文件夹删除,备份data文件夹移回来,再重启mysql服务就能够了,这种情况下,可能需要将数据库检验一下,然后修复一次,预防数据犯错。序3:Navicat配置此次试验所使用NavicatforMySQL为免安装版,解压即可使用。可用“key.txt”中激活码激活。1、打开MySQL服务。①右键点击“我电脑—选择“管理”,在弹出对话框中选择“服务和应用程序”—“服务”,图1.1所表示:图1.1②在打开当地服务中,选择名为“MySQL”服务,单击右键,选择“开启”(也能够在“属性”中设置为随系统开启而自动开启),图1.2所表示:图1.2③在“开始”菜单—全部程序中找到MySQL,点击“MySQLCommandLineClient”,将出现图1.3所表示窗口:图1.3④试验所用MySQL已事先配置好,用户名、密码均为“root”。所以直接输入“root”并回车,若出现图1.4所表示结果,说明MysQL服务已正常开启而且能够经过该窗口用对应语句进行操作:图1.42、学习使用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主界面上方“查询”,选择“新建查询”,在弹出查询编辑器中输入以下语句: USEmysql;SELECT*FROMhelp_category;点击上方“运行”操作及结果图2.4所表示:图2.4④关闭、删除连接。右键点击连接“MySQL”选择“关闭连接”。一样操作选择“删除连接”,结果图2.5所表示:图2.53、学习在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中进行数据库转储和导入。掌握管理数据库相关系统存放过程。二、试验内容1、利用Navicat创建满足以下要求数据库:1)数据库存在于连接MySQL中;2)数据库名称为mydb;3)字符集选择utf8--UTF-8Unicode;4)排序规则选择utf8_general_ci具体步骤以下:新建连接“MySQL”—单击选择并右键—“新建数据库”—输入数据库名“mydb”、字符集“utf8--UTF-8Unicode”、排序规则“utf8_general_ci”—“确定”。图1.1所表示:右键—数据库属性,能够看到图1.2所表示结果:图1.22、利用Transact-SQL语言创建满足以下要求数据库:1)数据库存在于连接MySQL中;2)数据库名称为mydb;3)字符集选择utf8--UTF-8Unicode;4)排序规则选择utf8_general_ci;具体步骤以下: 点击“新建查询”,在查询编辑器输入以下代码,点击“运行”,完成后,左侧列表中选中连接“数MySQL”,点击“刷新”按钮,列表即可见到“testdb”。图2.1、2.2所表示:CREATEDATABASEtestdbDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;图2.1图2.23、利用Transact-SQL语言查看数据库及表信息。①查看连接中全部数据库步骤:点击“新建查询”,输入SHOWDATABASES后运行,结果图3.1所表示:图3.1②查看数据库mysql中全部表步骤:点击“新建查询”,输入USEmysql;SHOWTABLES;后运行,(也能够用语句showtablesfrommysql;)结果图3.2所表示: 图3.2 ③查看数据库“mysql”中表“help_keyword”结构。步骤:点击“新建查询”,输入USEmysql;DESChelp_keyword;后运行,(也能够用语句showtablesfrommysql;)结果图3.3所表示:图3.34、利用Navicat修改数据库mydb,修改其排序方法为utf8_bin。步骤:右键单击数据库“mydb”—数据库属性,在排序方法中选择“utf8_bin”—“确定”。5、利用Transact-SQL语言修改数据库mydb字符集为Latin1;步骤:点击“新建查询”,输入以下代码,点击运行ALTERDATABASEmydbDEFAULTCHARACTERSET=latin1;图5.1所表示:图5.1 关闭数据库“mydb”后重新打开,查看数据库属性,能够看到图5.2所表示结果:图5.26、利用Navicat删除数据库mydb。直接右键点击mydb选择删除即可,注意要关闭目前SQL语句编写界面。7、利用Transact-SQL语言删除数据库testdb。步骤:点击“新建查询”,输入DROPDATABASEtestdb后运行。刷新连接“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”中任意表结构或数据(先输入:“USEmysql;”):①SHOWCOLUMNSFROM表名;②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-8Unicode;排序规则选择utf8_general_ci。2、在数据库xsgl中,利用Navicat创建以下表格:1)表格名为xs(学生基础情况表);2)表格中各个属性定义以下:列名含义数据类型长度能否取空值备注xh学号intno主码xm姓名char8yesxb性别char2yesnl年纪tinyintyeszy专业char16yesjtzz家庭住址char50yes具体步骤以下:打开新建数据库“xsgl”–右键点击“表”--“新建表”。根据上表内容输入个属性定义,填写“列名”、“数据类型”,并取消或选择“许可NULL值”前选项,并右键点击“xh”,选择将其设为主键,图2.1所表示:图2.1点击“保留”,输入表名:xs。结果图2.2所表示:图2.23、根据以下步骤向表格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.15、将表xs中nl(年纪)列数据类型改为int型。步骤:和第4项类似6、在数据库xsgl中,利用Transact-SQL语言创建以下表格:1)表格名为kc(课程情况表);2)表格中各个属性定义以下:列名含义数据类型长度能否取空值备注kch课程号char4no主码kcm课程名char20yesxss课时数intyesxf学分intyes步骤:点击“新建查询”,输入以下代码,点击运行USExsgl;createtablekc(kchchar(4)notnull,kcmchar(20)null,xssintnull, xfintnull,primarykey(kch))engine=innodbdefaultcharset=utf8auto_increment=1;命令成功完成后,在“xggl”数据库中右键点击“表”,选择“刷新”,结果图所表示:7、利用Transact-SQL语言修改kc表。①增加“成绩”一列cj,int型,许可为空值,默认为0。步骤:点击“新建查询”,输入以下代码,点击运行ALTERTABLEkcADDCOLUMNcjINTDEFAULT0;②修改cj列类型为char。步骤:点击“新建查询”,输入以下代码,点击运行ALTERTABLEkcCHANGECOLUMNcjcjCHAR(4);③修改cj列列名为mark。步骤:点击“新建查询”,输入以下代码,点击运行ALTERTABLEkcCHANGEcjmarkCHAR(4)DEFAULT0;④删除mark列。步骤:点击“新建查询”,输入以下代码,点击运行ALTERTABLEkcDROPCOLUMNmark;7、利用Navicat和Transact-SQL语言两种方法删除表kc。 ①步骤:右键点击表“kc”,选择删除。②步骤:点击“新建查询”,输入以下代码,点击实施DROPTABLEkc8、利用Transact-SQL将表xs重命名为Students。步骤:点击“新建查询”,输入以下代码,点击实施RENAMETABLExsgl.xsTOxsgl.Students;三、课后练习题1、创建一个名为cpxs数据库,在该数据库中分别经过Navicat和查询分析器创建一个名为cp表(产品表),表格中各个属性定义以下:列名含义数据类型长度能否取空值备注cpbh产品编号char6no主码cpmc产品名称char30nojg价格moneyyeskcl库存量intyes2、思索以下问题:1)假如要在一个已经存在表格上删除一列并增加一列,能不能用一个ALTERTABLE语句来完成?

试验四表数据简单查询试验课时:1课时试验类型:设计试验要求:必做一、试验目标掌握SELECT语句基础使用方法。掌握计算列使用方法。掌握WHERE子句中各类查询条件写法。二、试验内容1、在连接“MySQL”中新建数据库“world”,并将数据库文件world_inno.sql导入到该数据库之中2、查询world数据库country表中国名(Name)、洲名(Continent)和地域(Region)。步骤:点击“新建查询”,输入以下代码,点击实施USEworldSELECTNAME,Continent,RegionFROMcountry;运行结果图2.1:图2.13、从world数据库city表中搜索返回前20条数据。步骤:点击“新建查询”,输入以下代码,点击实施USEworld;SELECT*FROMcityLIMIT0,20;其中,“LIMITM,N”中M表示从第M条(不包含M)开始结果图3.1:图3.14、使用WHERE子句从world数据库country表中检索出全部领土面积超出一百万平方公里国家名称(Name)、洲名(Continent)和领土面积(SurfaceArea)。步骤:点击“新建查询”,输入以下代码,点击实施USEworld;SELECTNAME,Continent,SurfaceAreaFROMcountryWHERESurfaceArea>1000000;结果图4.1:图4.15、查询在world数据库country表中Name以字母C开头国家洲名Continent,地域Region。步骤:点击“新建查询”,输入以下代码,点击实施USEworld;SELECTName,Continent,RegionFROMcountryWHERENAMElike'C%';运行结果图5.1:图5.16、查询world数据库Country表中全部国家Name和Condinent,并按生日SurfaceArea从小到大进行排列。步骤:点击“新建查询”,输入以下代码,点击实施USEworld;SELECTName,Continent,SurfaceAreaFROMcountryORDERBYSurfaceArea;运行结果图6.1:图6.1练习巩固7、查询country表中政体(GovernmentForm)属于共和国(Republic)国家Name和Population、GovernmentForm。USEworld;SELECTNAME,Population,GovernmentFormFROMcountryWHEREGovernmentForm='Republic';8、country表中查询前20个非洲国家名称。USEworld;SELECTNAMEFROMcountryWHEREContinent='Africa'LIMIT0,20;9、city表中查询阿富汗(Countrycode为AFG)全部城市名称和人口,并要求对查询结果按人口降序排列。USEworld;SELECTNAME,PopulationFROMcityWHERECountryCode='AFG'ORDERBYPopulationDESC;10、Country表中查询领土面积介于一百万和五百万平方公里之间国家名称和领土面积(领土面积以除以一万结果显示)。USEworld;SELECTNAME,SurfaceArea/10000FROMcountryWHEREContinent='Africa'ANDSurfaceAreaBETWEEN1000000AND5000000;11、查询名称以“C”开头亚洲国家或非洲国家名称和洲名USEworld;SELECTName,ContinentFROMcountryWHERE(Continent='Asia'ORContinent='Africa')ANDNameLIKE'C%';12、country表中查询独立年份为空国家名称、国家年份。USEworld;SELECTNAME,IndepYearFROMcountryWHEREIndepYearisnull;三、课后练习题以下题目在数据库world中完成。1、查询country表中全部亚洲国家名称、地域,要求查询结果按人口升序排列。2、查询city表中智利(CHL)或保加利亚(BGR)城市名称。3、查询country表中Region字段包含“Europe”国家全部信息。4、查询全部君主立宪制(ConstitutionalMonarchy)国家名称和人口,按人口降序排列。

试验五表数据维护试验课时:1课时试验类型:验证试验要求:必做一、试验目标熟练掌握使用Transact-SQL语言和经过Navicat输入表数据、修改表数据和删除表数据操作。二、试验内容1、在数据库world中建立一个名为newlanguage表,其结构和表countrylanguage完全一样(注意各字段默认值、字符集、排序方法等),图1.1:图1.12、在表newlanguage中插入中国客家话,其名称为CountryCode为CHN,language为Kejia,isOfficial为F,percentage为0.3。USEworld;INSERTINTOnewlanguageVALUES('CHN','Kejia','F',0.3);4、试将表countrylanguage中全部统计插入到表newlanguage中去,其SQL命令为:USEworld;INSERTINTOnewlanguageSELECT*FROMcountrylanguage;5、将表newlanguage中Language为“Kejia”语言Percentage改为0.4USEworld;UPDATEnewlanguageSETPercentage=0.4WHERELanguage='Kejia';6、将表newlanguage中语言Percentage均减去0.1。USEworld;UPDATEnewlanguageSETPercentage=Percentage-0.1;7、删除表newlanguage中澳大利亚(CountrCode为“AUS”)英语统计。USEworld;DELETEFROMnewlanguageWHERECountryCode='AUS'ANDLanguage='English';8、清空表newlanguage中全部数据。USEworld;TRUNCATETABLEnewlanguage;三、课后练习题以下题目在数据库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中完成以下操作:建立亚洲国家视图asia_country,并要求进行修改和插入操作时仍需确保该视图只有亚洲国家,视图属性名为Code,Name,Continent,Population,GNP,GovernmentForm.USEworld;CREATEVIEWasia_countryASSELECTCode,Name,Continent,Population,GNP,GovernmentFormFROMcountryWHEREContinent='Asia';对于视图使用,将其当做基础表即可,可用下面语句用来显示asia_country表中全部亚洲国家:USEworld;SELECT*FROMasia_country;或直接在左侧目录【world】下【视图】下多出“asia_country”上点击右键,在弹出选项里选择“设计视图”。结果图1.1所表示:图1.12、建立国家简称(country.Code)、城市名(city.Name)、语言名(countrylanguage.Language)视图cc_language。本视图由三个基础表连接操作导出,其SQL语句以下:USEworld;CREATEVIEWcc_languageASSELECTcountry.Code,city.Name,countrylanguage.LanguageFROMcountry,city,countrylanguageWHEREcountry.Code=city.CountryCodeANDcountry.Code=countrylanguage.CountryCode; 用以下语句查看:USEworld;SELECT*FROMcc_language; 结果图:2.1:图2.13、定义一个反应国家独立年份视图c_indepyear。USEworld;CREATEVIEWc_indepyear(country_code,country_name,country_indepyear)ASSELECTCode,Name,IndepYearFROMcountry;用以下语句查看:USEworld;SELECT*FROMc_indepyear;结果图3.1所表示图3.14、删除视图c_indepyear。USEworld;DROPVIEWc_indepyear;5、在亚洲国家视图asia_country中找出国民生产总值GNP大于50000国家名称和GNP。USEworld;SELECTName,GNPFROMasia_countryWHEREGNP>50000;6、在asia_country视图中人口多于一千万国家名称、政体。USEworld;SELECTName,GovernmentFormFROMasia_countryWHEREPopulation>10000000;7、将亚洲国家视图asia_country中Code为“AFG”政体改为“Republic”。USEworld;UPDATEasia_countrySETGovernmentForm='Republic'WHERE`Code`='AFG';8、向亚洲国家视图asia_countr中插入一个新国家统计,其中Code为“DMC”、Name为“Demacia”,Cotinent为“Asia”,Population为“10000000”,GNP为“50000”,GovernmentForm为“Monarchy”。USEworld;INSERTINTOasia_countryVALUES('DMC','Demacia','Asia',10000000,50000,'Monarchy');三、课后练习题1、建立共和国政体国家视图。2、建立君主立宪制(ConstitutionalMonarchy)国家视图,并要求进行修改和插入操作时仍须确保该视图只有君主立宪制国家。3、建立共和国政体且国名生产总值在10000以上国家视图。

试验七数据类型使用试验课时:0.5课时试验类型:设计试验要求:选做一、试验目标熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。掌握管理表相关系统存放过程。二、试验内容1、假如要设计一个表用来存放商品基础信息,包含商品编号、商品名称、品牌商标、型号、产地、生产厂商、生产日期、保质期、进货价格、销售价格和商品图片等。请设计出这个表表结构,包含表名、列名、列数据类型和长度等等。2.将数据库world中country表capital字段数据类型改为varchar(20).①Navicat—设计表②查询编辑器,输入以下语句:USEworld;altertablecountrymodifycolumnCapitalvarchar(20);三、课后练习题1、用Navicat和SQL语言两种方法将数据库world中Indepyear字段数据类型改为char(5)

试验八表数据高级查询试验课时:2课时试验类型:设计试验要求:必做一、试验目标本试验目标是使学生熟练掌握MySQL查询分析器使用方法,加深SQL语言查询语句了解。熟练掌握数据查询中分组、统计、计算和集合操作方法。二、试验内容在数据库world中完成以下操作。查询全部国家名称及对应城市、语言。USEworld;SELECTcountry.Name,city.Name,countrylanguage.LanguageFROMcountry,city,countrylanguageWHEREcountry.Code=city.CountryCodeANDcity.CountryCode=countrylanguage.CountryCode;查询国家政体为共和国且国家人口在一千万以上城市名称和城市人口、所属国家。USEworld;SELECTcity.Name,city.Population,country.NameFROMcountry,cityWHEREcity.CountryCode=country.CodeANDcountry.Population>10000000;统计country表中共和国政体国家数。USEworld;SELECTCOUNT(Code)FROMcountryWHEREGovernmentForm='Republic';统计country表中共和国政体国家平均人口。USEworld;SELECTAVG(Population)FROMcountryWHEREGovernmentForm='Republic';统计countrylanguage表中官方语言数。 USEworld;SELECTCOUNT(CountryCode)FROMcountrylanguageWHEREIsOfficial='T';分组统计country表中各政体国家个数。 USEworld;SELECTGovernmentForm,count(*)FROMcountryGROUPBYGovernmentForm;分组统计各大洲平均每国人口数。 USEworld;SELECTContinent,AVG(Population)FROMcountryGROUPBYContinent;8、查询有超出两条城市统计国家名称。USEworld;SELECTcountry.NameFROMcity,countryWHEREcity.CountryCode=country.CodeGROUPBYcity.CountryCodeHAVINGCOUNT(city.Name)>2;9、查询非共和政体国家名称和政体。USEworld;SELECTName,GovernmentFormFROMcountryWHEREGovernmentForm<>'Republic';10、查询独立年份未知国家缩写和名称USEworld;SELECTCode,NameFROMcountryWHEREIndepYearISNULL;11、查询欧洲国民生产总值GNP排名前20国家名称及GNP值USEworld;SELECTName,GNPFROMcountryWHEREContinent='Europe'ORDERBYGNPDESCLIMIT0,20;11、查询平均每国人口数高于非洲大洲名称及该平均数,以平均数降序排列。USEworld;SELECTContinent,AVG(Population)FROMcountryGROUPBYContinentHAVINGAVG(Population)>(SELECTAVG(Population)FROMcountryWHEREContinent='Africa')ORDERBYAVG(Population)DESC;12、查询city表中多于3个城市统计且缩写以“A”开头国家名称和城市平均人口,以平均人口升序排列。 USEworld;SELECTcity.CountryCode,country.Name,AVG(city.Population)FROMcity,countryWHEREcity.CountryCodeLIKE'A%'ANDcity.CountryCode=country.CodeGROUPBYcity.CountryCodeHAVINGCOUNT(city.Name)>3ORDERBYAVG(city.Population);三、课后练习题1、建立名为SPJ数据库。它包含S、P、J、SPJ4个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供给商表S由供给商代码(SNO)、供给商姓名(SNAME)、供给商状态(STATUS)、供给商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供给情况表SPJ由供给商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供给数量(QTY)组成,标识某供给商供给某种零件给某工程项目标数量为QTY。今有若干数据以下:S表P表J表SPJ表第2~8题在数据库SPJ中完成。2、查询重量最轻零件零件代码。3、查询由供给商S1提供零件工程项目名。4、查询同时为工程J1和J2提供零件供给商代码。5、查询为在天津工程提供零件供给商代码。6、查询同时为在天津或北京工程提供红色零件供给商代码。7、查询供给商和工程所在城市相同供给商能提供零件代码。8、查询上海供给商不提供任何零件工程代码。

试验九数据库完整性设计试验课时:1课时试验类型:设计试验要求:必做一、试验目标熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。掌握管理表相关系统存放过程。二、试验内容1、利用Navicat创建满足以下要求数据库:①数据库存在于连接MySQL中;②数据库名称为xsgl;③字符集选择utf8--UTF-8Unicode;排序规则选择utf8_general_ci。2、在数据库xsgl中,利用Navicat和SQL语句创建以下表格:1)表格名为xs(学生基础情况表),表格中各个属性定义以下:列名含义数据类型长度能否取空值备注xh学号intnoxm姓名char8yesxb性别char2yesnl年纪tinyintyeszy专业char16yesjtzz家庭住址char50yes2)表格名为kc(课程情况表),表格中各个属性定义以下:列名含义数据类型长度能否取空值备注xh学号intnokch课程号Intnokcm课程名char20yesxss课时数intyesxf学分intyesfs分数Intyes在xs表中定义xh为主键。2、在kc表中定义xh和kch联合组成主键。3、定义kc表中kcm列满足唯一性约束。4、定义kc表中fs列默认值为0。5、定义xs表中xb列CHECK约束“男”或“女”。6、在xs表和kc表之间定义外键xh。参考语句以下:usexsgl;createtablexs(xhintnotnull,xmchar(8)null,xbchar(2)nullcheck(xbin('男','女')),nltinyintnull,zychar(16)null,jtzzchar(50)null,primarykey(xh))engine=innodbdefaultcharset=utf8auto_increment=1;createtablekc(xhintnotnull,kchintnotnull,kcmchar(20)nullunique,xssintnull,xfintnull,fsintnulldefault0,primarykey(xh,kch),foreignkey(xh)referencesxs(xh)ondeletecascadeonupdatecascade)engine=innodbdefaultcharset=utf8auto_increment=1;7、以下将创建一个学生—课程数据库,包含学生关系Student、课程关系Course和选修关系SC:①建立学生-课程数据库xskc,创建Student表,并将Student表中Sno属性定义为主键。CREATEDATABASExskc;USExskc;CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20))②创建Course表和SC表,并将SC表中Sno,Cno联合组成主键。USExskc;CREATETABLECourse(CnoCHAR(9)PRIMARYKEY,CnameCHAR(20),CpnoCHAR(4),CcreditSMALLINT);CREATETABLESC(SnoCHAR(9)NOTNULL,CnoCHAR(9)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno))③定义SC表中参考完整性USExskc;ALTERTABLESCADDFOREIGNKEY(Sno)REFERENCESStudent(Sno);ALTERTABLESCADDFOREIGNKEY(Cno)REFERENCESCourse(Cno);④显示说明参考完整性违约处理示例USExskc;ALTERTABLESCADDFOREIGNKEY(Sno)REFERENCESStudent(Sno) ONDELETECASCADE ONUPDATECASCADE;ALTERTABLESCADDFOREIGNKEY(Cno)REFERENCESCourse(Cno) ONDELETENOACTION ONUPDATECASCADE;⑤定义SC表Grade属性不许可为空USExskc;ALTERTABLESCCHANGEGradeGradeSMALLINTNOTNULL;三、课后练习题1、新建名为SPJ数据库。(其中数据表S、P、J和SPJ关系模式及其含义见试验八)2、在数据库SPJ中,合理地为库中每一个数据表定义主键和外键。3、合适为各数据表及其字段添加约束(唯一性、默认值等)四、思索题 1、使用参考语句创建好xs和kc两个表以后,语句中对于xb列CHECK约束是否起作用?假如未起作用,思索语句经过却未起作用原因。2、参考语句中参考完整性违约处理示例“ondeletecascade”和“onupdatecascade”含义是什么?“ondeletenoaction”又代表什么?

试验十数据库安全性设计试验课时:0.5课时试验类型:验证试验要求:必做一、试验目标加深对数据安全性了解,并掌握Navicat中相关用户,角色及操作权限管理方法。二、试验内容1、在Navicat中,管理建立用户和分配用户权限。在这里,我们能够发觉root是MySQL最高等级权限用户,它拥有查看、修改和删除MySQL软件中全部数据库权限。当需要有多个数据库,而且分配给不一样用户使用,多个用户之间只有查看自己对应数据库权限,不相互干扰,需要建立多个数据库和用户,给用户设置管理指定数据库权限。操作方法以下:①鼠标右键点击“MySQL”连接,选择“创建数据库”,创建名为xunmei数据库,字符集选择utf8--UTF-8Unicode排序规则选择utf8_general_ci。②打开数据库xunmei后,点击界面上方“用户”—“新建用户”—输入用户名“xmuser”、主机“localhost”、密码“1234”—保留。③点选新建用户xmuser—编辑用户—权限—添加权限--选择数据库xunmei,添加对应权限(可不全选),图1.1所表示:图1.1④设置到此完成。为了验证我们设置是否正确,我们能够用刚才建立用户xmuser和密码1234来连接localhost主机地址(切换用户方法:关闭连接—连接属性—将用户名和密码改为xmuser和1234—打开连接)。连上后,可使用用户xmuser对数据库xunmei或其它数据库进行操作,看是否和自己设置权限相吻合。(可只添加添加少许权限,然后尝试在xunmei里进行操作,看是否能成功)。⑤将用户切换回root。三、课后练习题1、使用两个不一样用户经过Navicat和查询分析器查看world数据库中country、city两个表全部数据。2、删除用户xmuser,尝试新建另一个用户来管理数据库、表等:添加新用户对数据库world权限,比较在有没有相关权限情况之下进行操作区分:Create。尝试新建表Update。尝试修改表数据或结构……..(自行设计,总共尝试5组,进行对比)四、思索题1、解释10个数据库操作权限含义和影响。

试验十一数据库备份和恢复试验课时:0.5课时试验类型:验证试验要求:必做一、试验目标了解Navicat数据备份和恢复机制,掌握Navicat中数据库备份和恢复方法。二、试验内容1、备份步骤:使用用户root打开连接MySQL—打开数据库world—点击界面上方“备份”—新建备份,图1.1所表示:图1.1点击“开始”—成功完成后点击保留—保留名称为world—确定,结果图1.2所表示:图1.2备份完成。2、恢复还原步骤:接第1部分操作—删除数据库world—在连接MySQL中新建一个空数据库world(名称需相同)--打开—点击“备份”能够看到图2.1所表示界面:图2.1选择标有时间备份文件—点击“还原备份”,会弹出如2.2所表示对话框:图2.2点击开始—确定。过程成功以后会发觉数据库world已成功恢复(可能需要先关闭再打开)。3.用Navicat计划任务备份mysql数据库。备份连接MySQL中全部数据库(也能够单独选择某一数据库进行备份):点击“计划”->”新建批处理作业" 默认就有“BackupServerMySQL”这个备份动作。图3.1所表示:图3.1双击它,它就被加入到了图3.2所表示计划队列中:点击“保留”,弹出设置文件名对话框,输入这个计划名称即可,图3.3所表示:图3.3保留以后,任务栏上“设置计划任务”变成可用状态。点击“设置计划任务”(可能会报错:“指定错误:0x80041315,任务计划程序服务没有运行。”或“指定错误:0x80070005:拒绝访问”处理方法见本试验步骤4),弹出设置对话框。在“任务”标签下设置密码,就是数据库所在电脑登录密码,没有话能够不设。图3.4所表示:图3.4⑥然后设置这个计划运行时间,在“计划”标签下,点击“新建”,然后设置具体运行频率和运行时间点。图3.5所表示:图3.5⑦设置完以后,点击确定,等这个计划运行过以后(能够控制设置时间以立即看到结果),看一下备份效果,备份文件位置为:“我文档”->“Navicat”->"MySQL"->"servers"->"MySQL",里面就有各个数据库对应文件夹,图3.5所表示:图3.5⑧各文件中会生成.psc文件,包含了这个库数据,以后能够用来做还原。图3.6所表示:图3.64、指定错误:0x80041315和0x80070005处理方法.①指定错误:0X80041315:任务计划程序服务没有运行。关键原因是你任务计划服务被禁用,计算机管理里面找到服务,服务里面找到TaskScheduler,看是否已被禁用,开启就行了。具体操作是打开控制面板->管理工具->服务->找到TaskScheduler选项,开启类型选:自动、服务状态选:开启。②指定错误:0x80070005:拒绝访问,关键原因有以下多个:1)登入Windows时使用空白密码,应将组策略:“帐户:使用空白密码当地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论