用SQL语句将S,P,J 和 SPJ 表的所有权限授予用户张成 (2)将SPJ表的SELECT权和QTY列的UPDATE权授予用户徐天,并允许他传播这些权限。 (3)回收刘斓用户对S表SNO列的修改权。
时间: 2024-02-06 10:11:55 浏览: 239
(1)授予张成用户S,P,J和SPJ表的所有权限,可以使用以下SQL语句:
```
GRANT ALL PRIVILEGES ON S, P, J, SPJ TO 张成;
```
(2)授予徐天用户SPJ表的SELECT权和QTY列的UPDATE权,并允许他传播这些权限,可以使用以下SQL语句:
```
GRANT SELECT ON SPJ TO 徐天 WITH GRANT OPTION;
GRANT UPDATE (QTY) ON SPJ TO 徐天 WITH GRANT OPTION;
```
(3)回收刘斓用户对S表SNO列的修改权,可以使用以下SQL语句:
```
REVOKE UPDATE (SNO) ON S FROM 刘斓;
```
相关问题
针对第2章第7题中的S,P,J 和 SPJ 表。用SQL进行下列各项操作。 (1)将S,P,J 和 SPJ 表的所有权限授予用户张成 (2)将SPJ表的SELECT权和QTY列的UPDATE权授予用户徐天,并允许他传播这些权限。 (3)回收刘斓用户对S表SNO列的修改权。
(1) 授予用户张成S、P、J和SPJ表的所有权限,可以使用以下SQL语句:
```
GRANT ALL PRIVILEGES ON S, P, J, SPJ TO 张成;
```
(2) 授予用户徐天SPJ表的SELECT和QTY列的UPDATE权限,并允许传播这些权限,可以使用以下SQL语句:
```
GRANT SELECT ON SPJ TO 徐天 WITH GRANT OPTION;
GRANT UPDATE(QTY) ON SPJ TO 徐天 WITH GRANT OPTION;
```
(3) 回收刘斓用户对S表SNO列的修改权,可以使用以下SQL语句:
```
REVOKE UPDATE(SNO) ON S FROM 刘斓;
```
用SQL语句建立S,P,J和SPJ表
在数据库设计中,`S`, `P`, 和 `J` 通常代表 Supplier(供应商)、Product(产品)和 Job(订单)三个实体。而 `SPJ` 表则表示供应商与产品的关联关系,它通常用于跟踪每个订单中的供应商和产品信息。下面是如何通过 SQL 语句创建这三个基础表以及它们之间的关联表 `SPJ` 的示例:
首先,创建 `Supplier` (供应商) 表:
```sql
CREATE TABLE Supplier (
S_id INT PRIMARY KEY,
S_name VARCHAR(50),
S_address VARCHAR(100)
);
```
接着,创建 `Product` (产品) 表:
```sql
CREATE TABLE Product (
P_id INT PRIMARY KEY,
P_name VARCHAR(50),
P_description VARCHAR(200),
Supplier_id INT,
FOREIGN KEY (Supplier_id) REFERENCES Supplier(S_id)
);
```
最后,创建 `SPJ` (供应商产品订单) 表,记录供应商、产品和订单的关系:
```sql
CREATE TABLE SPJ (
J_id INT PRIMARY KEY,
P_id INT,
Quantity INT,
Order_date DATE,
FOREIGN KEY (P_id) REFERENCES Product(P_id),
FOREIGN KEY (S_id) REFERENCES Supplier(S_id)
);
```
在这个结构中,`Supplier_id` 和 `P_id` 都是外键,分别引用了 `Supplier` 和 `Product` 表的主键,确保了数据的一致性和完整性。
阅读全文