(1)建立表示商店销售商品的视图S_SP(sname,pname,qty,price);
时间: 2024-02-11 10:03:48 浏览: 37
可以使用以下 SQL 语句来创建视图 S_SP:
```
CREATE VIEW S_SP AS
SELECT S.sname, P.pname, SP.qty, SP.price
FROM Store S, Product P, Sells SP
WHERE S.sid = SP.sid AND P.pid = SP.pid;
```
其中,视图名称为 S_SP,包含四个列 sname、pname、qty 和 price,分别表示商店名称、商品名称、数量和价格。视图的数据来自 Store、Product 和 Sells 三个表,通过 sid 和 pid 进行关联。
相关问题
2.针对实验一中的的商品销售数据库SPXS,完成如下操作: (1)建立表示商店销售商品的视图S_SP(sname,pname,qty,price); (2)以加 “with check option”的方式,将在长春销售的白色商品的商店号,商店名建立视图WCS1; (3)以不加“with check option”方式,将在长春销售的白色商品的商店号,商店名建立视图WCS2 (4)修改商店名为“国贸”商店销售的商品为电脑,并观察结果; (5)在(2)、(3)题所建的两个视图中插入一个在北京销售的商品,观察有什么现象。
1. 建立表示商店销售商品的视图S_SP(sname,pname,qty,price)的SQL语句如下:
```sql
CREATE VIEW S_SP AS
SELECT sname, pname, qty, price
FROM SPXS;
```
2. 以加“with check option”的方式,将在长春销售的白色商品的商店号,商店名建立视图WCS1的SQL语句如下:
```sql
CREATE VIEW WCS1 AS
SELECT sname, pname, qty, price
FROM SPXS
WHERE sname = '长春' AND pname LIKE '%白色%'
WITH CHECK OPTION;
```
加了“with check option”后,如果插入一条不符合条件的记录,就会报错。
3. 以不加“with check option”方式,将在长春销售的白色商品的商店号,商店名建立视图WCS2的SQL语句如下:
```sql
CREATE VIEW WCS2 AS
SELECT sname, pname, qty, price
FROM SPXS
WHERE sname = '长春' AND pname LIKE '%白色%';
```
不加“with check option”时,可以插入任意记录。
4. 修改商店名为“国贸”商店销售的商品为电脑的SQL语句如下:
```sql
UPDATE SPXS
SET pname = '电脑'
WHERE sname = '国贸' AND pname <> '电脑';
```
观察结果时,可以通过查询S_SP视图或SPXS表来验证。
5. 在WCS1、WCS2视图中插入一个在北京销售的商品,观察现象的SQL语句如下:
```sql
INSERT INTO WCS1(sname, pname, qty, price)
VALUES ('北京', '手机', 100, 2000);
INSERT INTO WCS2(sname, pname, qty, price)
VALUES ('北京', '手机', 100, 2000);
```
在插入WCS1时,因为加了“with check option”,所以会提示错误,不允许插入不符合条件的记录,而在插入WCS2时,不会提示错误,允许插入任意记录。
建立一个视图V_SPJ(SNO,SNAME,PNO,JNO,JNAME,QTY)。
好的,我理解你的问题是让我帮你建立一个名为V_SPJ的视图,包含SNO、SNAME、PNO、JNO、JNAME和QTY这6个字段。视图中的数据来自于不同的表,具体的SQL语句如下:
```sql
CREATE VIEW V_SPJ AS
SELECT S.SNO, S.SNAME, SP.PNO, SP.JNO, J.JNAME, SP.QTY
FROM S, SP, J
WHERE S.SNO = SP.SNO AND SP.JNO = J.JNO;
```
这个视图包含了供应商、零件和工程三个表的数据,通过内连接将它们联合起来,以便查询时可以方便地获取到这些表的数据。在视图中,每一行都表示一个供应商提供了多少个零件给一个工程。