实验06.1 数据库的安全性

/**********************
实验06.1 数据库的安全性
***********************/
1.创建数据库登录账号
CREATE LOGIN wl 
WITH PASSWORD='Admin123',
DEFAULT_DATABASE = NetMusicShop

/*
2.管理数据库用户
创建数据库用户
*/
CREATE USER u1 FOR LOGIN wl


--3.系统管理员或Users表的属主将对Users表UserName和UserAddress列的查询权授予用户u1。
GRANT SELECT(UserName,UserAddress)
ON Users
TO u1

--4.统管理员或表的属主收回授予用户u1的对Users表的查询权。
REVOKE SELECT
ON Users
FROM u1


/**********************
实验06.2  数据库的完整性
**********************/
/*
【实验内容】
1.创建PRIMARY KEY约束(主键约束)
将Users表的“用户名”列(UserName)设置为主键
*/
USE NetMusicShop

ALTER TABLE Users DROP CONSTRAINT PK_Users
ALTER TABLE Users ADD CONSTRAINT PK_Users PRIMARY KEY(UserName)

/*
2.创建FOREIGN KEY(外键约束)
将Songs表的AlbumID列设置为外键FK_Songs_Album,该外键参照Album表中的主键AlbumID,
且违约时采用“级联更新”和“置空删除”的策略。
*/
ALTER TABLE Songs 
ADD CONSTRAINT FK_Songs_Album 
FOREIGN KEY(AlbumID) REFERENCES Album(AlbumID)
ON UPDATE CASCADE
ON DELETE SET NULL

ALTER TABLE Songs DROP CONSTRAINT FK_Songs_Album

/*
2.创建UNIQUE约束(唯一性约束)
为Songs表的“歌曲名”列(SongTitle)创建唯一性约束IX_SongTitle。
*/
ALTER TABLE Songs ADD CONSTRAINT IX_SongTitle UNIQUE(SongTitle)
ALTER TABLE Songs DROP CONSTRAINT IX_SongTitle


/*
3.创建CHECK约束(检查约束)
为Album表的“专辑语言”列(AlbumLanguage)创建一个检查约束CK_Language,
使得“专辑语言”的取值范围为“汉语普通话、粤语、英语、日语、韩语、多国、其他”之一。
*/
ALTER TABLE Album 
ADD CONSTRAINT CK_Language 
CHECK(AlbumLanguage IN('汉语普通话','粤语','英语','日语','韩语','多国','其他'))

ALTER TABLE Album DROP CONSTRAINT CK_Language


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库用户信息都存放在系统Sysusers中,通过查看Sysusers可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作限。   在学生中定义主键、外键约束。   在课程的“课程名”字段上定义唯一约束。   在选课的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者的“性别”字段,使之只能取“男、女”值。   在学生中增加出生日期字段。定义缺省,并绑定到借阅的“借阅日期”上,使之只能取当前日期。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值