杭州高端网站建设到蓝韵网络,网上销售平台有哪些app,深圳专业营销网站制作,苏州诗华洛网站建设智能2112杨阳
一、目的与要求#xff1a;
1、设计用户子模式
2、根据实际需要创建用户角色及用户#xff0c;并授权
3、针对不同级别的用户定义不同的视图#xff0c;以保证系统的安全性 二、内容#xff1a;
先创建四类用户角色#xff1a;
管理员角色Cusm、客户角…智能2112杨阳
一、目的与要求
1、设计用户子模式
2、根据实际需要创建用户角色及用户并授权
3、针对不同级别的用户定义不同的视图以保证系统的安全性 二、内容
先创建四类用户角色
管理员角色Cusm、客户角色Supp、供货商角色Admin、商家销售工作人员角色Salor。
源码
create role Cusm;
create role Supp;
create role Admin;
create role Salor; 创建客户视图、供货商视图
1客户视图要求显示所有客户号及对应客户下的所有订单及每个订单的价格
源码
create view view_Supp as select customers.c_id,orders.o_num,orderitems.item_price from customers,orders,orderitems where customers.c_idorders.c_id and orderitems.o_numorders.o_num; 效果 2供货商视图要求显示所有供货商号及供货商所供水果信息
源码
create view view_Admin as select suppliers.s_id,fruits.f_id,fruits.f_name,fruits.f_price from suppliers,fruits where fruits.s_idsuppliers.s_id; 效果 3.为以上四类用户角色授予合适的权限要求
1管理员拥有所有权限:
源码
grant all on fruitshop.* to Cusm; 2客户只能查看与之相关的信息基本信息购买信息
源码
grant select on view_Supp to Supp; 3供货商只能查看与之相关的信息(可以查看自己供货的水果信息)。
源码
grant select on view_Admin to Admin; 4商家销售工作人员可以查看数据库并录入信息但不能修改、删除
源码 grant select,insert on fruitshop.* to Salor; 为每类用户角色至少创建一个用户新建用户并分配对应的角色统一设置初始密码为’123456’
注意附上源码创建用户并授权成功后在交互式运行状态下查看每个用户权限并截图
客户用户C001任意主机地址授权为客户角色的所有权限
供货商用户S001任意主机地址授权为供货商角色的所有权限
商家销售工作人员用户B001任意主机地址授权为销售工作人员角色的所有权限
管理员用户A001本机拥有所有权限
源码
create user C001% identified by 123456;
grant Supp to C001;
create user S001% identified by 123456;
grant Admin to S001;
create user B001% identified by 123456;
grant Salor to B001;
create user A001localhost identified by 123456;
grant all on fruitshop.* to A001localhost 5测试
退出已用root账号登陆的MySQL服务器用这四类用户帐号分别登陆MySQL服务器并测试其功能在交互式运行状态下测试先附上测试源码关键结果截图。
测试要求退出root帐号,重新登陆指定帐号显示当前数据库中所有表查看权限内某张表内的所有信息对权限内某张表进行增、删、改、查操作并查看能否正确执行这些操作如果执行错误请说明导致此错误的原因。
注意每次登录后先设置当前角色否则无效果set role 角色名 测试客户用户
mysql -uC001 -p123456;
set role Supp;
use fruitshop;
show tables;
slect* from view_supp;
update view_supp set c_address第五社区,c_city厦门,c_zip111000,c_contactcxr,c_email123678 where c_id10000;
insert into view_supp values(01,AAA,BBB,CCC,111,123321);
delete from view_supp.c_zip;
显示表 Select操作 Update操作 原因无权限
Insert操作 原因无权限
Delete操作 原因无权限
测试供货商用户:
mysql -uS001 -p123456
se role Admin;
use fruitshop;
show tables;
select* from view_Admin;
update view_Admin set s_cityBeijing,s_zip111000,s_call23333 where s_id100;
insert into view_Admin values(01,AAA,BBB,111,222);
delete from view_Admin.s_zip;
显示表 Select操作 Update操作 原因无权限
Insert操作 原因无权限
Delete操作 原因无权限 测试商家销售工作人员用户
mysql -uB001 -p123456
set role Salor;
use fruitshop;
show tables;
select* from suppliers;
update suppliers SET s_nameSariel,s_cityShanghai,s_zip520000,s_call777777 where s_id107;
insert into suppliers values(108,Sariel,GQ City,520000,777777);
delete from suppliers.s_name;
显示表 Select操作 Update操作 原因无权限
Insert操作 Delete操作 原因无权限 测试管理员用户
mysql -uA001 -p123456
use fruitshop;
show tables;
select* from customers;
update customers set c_nameEvan,c_addressWZ Mall,c_cityShenzhen,c_zip521000,c_contact666666,c_emailLU666 where c_id10003;
insert into customers values(10005,Charlie,NOVATEN INC,GQ City,233333,555555,lovesweety);
delete from customers where c_id10000;
显示表 Select操作 Update操作 Insert操作 Delete操作 原因c_id具有外键约束 三、小结
1遇到的问题及解决过程
a. 用户权限设置问题通过创建视图让用户获得部分对视图操作的权限
b. 用户账号切换问题命令行quit退出重新输入账号密码进行登录
c. 角色与用户权限问题学习相关语法让用户获得角色的权限 产生的错误及原因分析 在测试用户的增删改查时不能完成增删改查功能 原因未授权c_id的相关语句具有外键约束
体会和收获。
通过本次博客对数据库进行一些列操作掌握参照完整性约束、设计用户子模式等功能并且根据实际需要创建了不同的用户授以不同的权限以此来针对不同级别的用户定义不同的视图保证了系统的安全性。同时在这个过程中有遇到很多的问题与错误但是都在不断的实验与互联网的帮助下解决了出现的问题与错误。感受到即使是表面上看上去很简单的题目要去实践也会遇到很多不容易解决的问题与错误。总的来说收获满满。