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,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