数据库实验报告_第1页
数据库实验报告_第2页
数据库实验报告_第3页
数据库实验报告_第4页
数据库实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

【精品】数据库实验1.实验目的1.加深对数据库安全性和完整性的理解2.学会授权与回收3.理解并体会数据库实体完整性、参照完整性、用户定义的完整性约束条件的作用2.实验内容对已建好的各表和用户进行权限的授权和回收操作,进行完操作之后检查授权过的用户是否真正具有授予的数据操作的权力了,进行完权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。定义各种完整性约束条件,之后输入各种数据以验证约束条件的作用。2.1设置用户a对SPJ表的查询权限。以a登录,验证a的权限。1.实验过程--先创建一个a用户

CREATEUSERaIDENTIFIEDWITHmysql_native_password

BY'12345678';

--将spj表的查询权限赋给用户a

GRANTSELECTONspjTOa;

--查看用户的权限进行测试

showgrantsfora;2.实验结果登录并查看权限:3.结果分析MySQL8密码策略的问题,设置用户a的密码为123456出现了”ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements“的错误,查阅资料可知是MySQL默认的密码策略的问题,需要进行修改才可以设置这么简单的密码,通过“SHOWVARIABLESLIKE'validatepassword%';”语句可以查看到MySQL默认的密码策略,validatepassword.policy可以看到是MEDIUM我们需要改成LOW,此时就只验证密码的长度,再把validatepassword.length=8的值改为6,此时密码长度就是6了,修改的语句如下:setglobalvalidatepassword.length=6;setglobalvalidate_password.policy=LOW;2.2设置用户b对S表、P表具有修改的权限,并要求b能够将该权限授予其它用户c。分别以b、c登录,验证b、c的权限。1.实验过程--先创建一个b用户

CREATEUSERbIDENTIFIEDWITHmysql_native_password

BY'123456';

--将s,p表的修改权限赋给用户b

GRANTUPDATEONsTObWITHGRANTOPTION;

GRANTUPDATEONpTObWITHGRANTOPTION;

--登录用户b的查看权限进行验证

showgrantsforb;

--创建用户c

CREATEUSERcIDENTIFIEDWITHmysql_native_password

BY'123456';

--下面的操作是登陆上b账户后的操作过程

--将s,p表的修改权限赋给用户b

GRANTUPDATEONsTOc;

GRANTUPDATEONpTOc;

--登录用户c的查看权限进行验证

showgrantsforc;2.实验结果创建b用户:登录b账户并查看所有的权限:创建用户c将b的权限再赋给给c:查看c的所有权限:3.结果分析无2.3收回用户a、b的权限,并验证用户c权限的情况。1.实验过程REVOKESELECTONspjFROMa;

REVOKEUPDATEONsFROMb;

REVOKEUPDATEONpFROMb;

--查看c的用户权限

SHOWGRANTSFORc;2.实验结果查看c的用户权限:3.结果分析无2.4对实验1中创建的表,用图形用户界面建立外键联系,并验证外键的作用。1.实验过程--创建一个视图

CREATEVIEWview_SPJAS

SELECTs.SNO,s.SNAME,s.`STATUS`,s.CITYASSCITY,p.PNO,p.PNAME,p.COLOR,p.WEIGHT,j.JNO,j.JNAME,j.CITYASJCITY,spj.QTYFROMspjJOINsONspj.SNO=s.SNO

JOINpONp.PNO=spj.PNO

JOINjONj.JNO=spj.JNO;

--验证外键的作用,保证数据的完整性和一致性

--例如:修改J2的JNAME='项目2'改为建设集团

UPDATEjSETJNAME='建设集团'WHEREJNO='J2';

--此时查看视图为工程项目代码为J2的数据

SELECT*FROMview_SPJWHEREJNO='J2';2.实验结果创建的结果:视图显示的数据:验证视图的作用:3.结果分析无2.5对实验1中创建的表,设置零件的颜色必须在红、橙、黄、绿、青、蓝、紫七种颜色范围内,零件重量不能超过50的约束条件,并给这两种约束条件命名,名字为自己姓名的全拼。1.实验过程ALTERTABLEpADDCONSTRAINTchenxiaolongCHECK(COLORIN('红','橙','黄','绿','青','蓝','紫')ANDWEIGHT<=50);2.实验结果3.结果分析第一次用alter添加check自定义时候忘记加ADD导致一直运行不出来,后来添加上了ADD运行正常2.6设置SPJ表中供应零件的数量都不能超过10001.实验过程ALTERTABLEspjADDCHECK(QTY<=1000);2.实验结果3.结果分析无2.7设置S表中的供应商号以字母‘S’开头1.实验过程ALTERTABLEsADDCHECK(SnoLIKE'S%');2.实验结果3.结果分析2.8验证各个表的实体完整性。1.实验过程--验证s表的实体完整性

--(1)往s表插入一条正常的数据

INSERTINTOsVALUES('S7','励志',10,'青岛');

--(2)往s表插入一条重复的数据

INSERTINTOsVALUES('S7','图强',10,'济南');

--(3)往s表插入一条空的数据

INSERTINTOsVALUES('','发奋',10,'日照');

--验证p表的实体完整性

--(1)往p表插入一条正常的数据

INSERTINTOpVALUES('P7','锤子',null,20);

--(2)往p表插入一条重复的数据

INSERTINTOpVALUES('P7','锤子',null,20);

--(3)往p表插入一条空的数据

INSERTINTOpVALUES(NULL,'钉子',null,5);

--验证j表的实体完整性

--(1)往j表插入一条正常的数据

INSERTINTOjVALUES('J10001','项目10001','上海');

--(2)往j表插入一条重复的数据

INSERTINTOjVALUES('J10001','项目10001',10,'上海');

--(3)往j表插入一条空的数据

INSERTINTOjVALUES(NULL,'项目10001',10,'南京');

--验证spj表的实体完整性

--(1)往spj表插入一条正常的数据

INSERTINTOspjVALUES('S7','P6','J7',300);

--(2)往spj表插入一条重复的数据

INSERTINTOspjVALUES('S7','P6','J7',300);

--(3)往spj表插入一条空的数据

INSERTINTOspjVALUES('S7',NULL,'J7',300);2.实验结果S表:

温馨提示

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

评论

0/150

提交评论