Initial commit

This commit is contained in:
2025-11-06 09:53:12 +08:00
commit ea8d38c146
50 changed files with 1200 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
1. 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
4. 用户身份鉴别、多层存取控制、审计、视图和数据加密等。
用户身份鉴别方法有静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别。
存取控制包括定义用户权限和合法权限检查两部分。
数据加密主要包括存储加密和传输加密。

View File

@@ -0,0 +1,46 @@
-- 初始化
USE Homework250403;
Go
CREATE SCHEMA Q6;
Go
CREATE TABLE Q6.(
CHAR(10) PRIMARY KEY,
NVARCHAR(20) NOT NULL,
INT,
CHAR(1),
NVARCHAR(100),
CHAR(10) NOT NULL
);
Go
CREATE TABLE Q6.(
CHAR(10) PRIMARY KEY,
NVARCHAR(20) NOT NULL,
NVARCHAR(20),
NVARCHAR(20)
);
Go
CREATE LOGIN U1 WITH PASSWORD = 'Password123!';
CREATE LOGIN U2 WITH PASSWORD = 'Password123!';
CREATE USER U1 FOR LOGIN U1;
CREATE USER U2 FOR LOGIN U2;
CREATE ROLE R1;
Go
-- 1. 授予用户U1对两个表的所有权限并可给其他用户授权
GRANT SELECT, INSERT, UPDATE, DELETE ON Q6. TO U1 WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON Q6. TO U1 WITH GRANT OPTION;
Go
-- 2. 授予用户U2对学生表具有查看权限对家庭住址具有更新权限
GRANT SELECT ON Q6. TO U2;
GRANT UPDATE () ON Q6. TO U2;
Go
-- 3. 将对班级表查看权限授予所有用户
GRANT SELECT ON Q6. TO PUBLIC;
Go
-- 4. 将对学生表的查询、更新权限授予角色R1
GRANT SELECT, UPDATE ON Q6. TO R1;
Go
-- 5. 将角色R1授予用户U1并且U1可继续授权给其他角色
ALTER ROLE R1 ADD MEMBER U1;
GRANT CONTROL ON ROLE::R1 TO U1;
Go

View File

@@ -0,0 +1,72 @@
-- 初始化
USE Homework250403;
Go
CREATE SCHEMA Q7;
Go
CREATE TABLE Q7. (
VARCHAR(10) PRIMARY KEY,
VARCHAR(20) NOT NULL,
INT,
VARCHAR(20),
DECIMAL(10, 2),
VARCHAR(10)
);
CREATE TABLE Q7. (
VARCHAR(10) PRIMARY KEY,
VARCHAR(50) NOT NULL,
VARCHAR(20),
VARCHAR(100),
VARCHAR(20)
);
ALTER TABLE Q7.
ADD CONSTRAINT FK_职工_部门 FOREIGN KEY () REFERENCES Q7.();
Go
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
CREATE LOGIN WITH PASSWORD = 'Password123!';
CREATE USER FOR LOGIN ;
Go
-- 1. 用户王明对两个表有SELECT权限
GRANT SELECT ON Q7. TO ;
GRANT SELECT ON Q7. TO ;
Go
-- 2. 用户李勇对两个表有INSERT和DELETE权限
GRANT INSERT, DELETE ON Q7. TO ;
GRANT INSERT, DELETE ON Q7. TO ;
Go
-- 3. 每个职工只对自己的记录有SELECT权限
CREATE VIEW Q7. AS
SELECT , , , , ,
FROM Q7.
WHERE = CURRENT_USER;
Go
GRANT SELECT ON Q7. TO PUBLIC;
Go
-- 4. 用户刘星对职工表有SELECT权限对工资字段具有更新权限
GRANT SELECT ON Q7. TO ;
GRANT UPDATE () ON Q7. TO ;
Go
-- 5. 用户张新具有修改这两个表的结构的权限
GRANT ALTER ON SCHEMA::Q7 TO ;
Go
-- 6. 用户周平具有对两个表的所有权限,并具有给其他用户授权的权限
GRANT SELECT, INSERT, UPDATE, DELETE ON Q7. TO WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON Q7. TO WITH GRANT OPTION;
Go
-- 7. 用户杨兰具有从每个部门职工中SELECT的权限
CREATE VIEW Q7. AS
SELECT .*, . AS
FROM Q7.
JOIN Q7. ON . = .;
Go
GRANT SELECT ON Q7. TO ;
Go