数据库原理及应用教程洗衣机销售实验

 

 

 

 

 

 

 

 

 

 

CREATE DATABASE MYDB
CREATE TABLE CLIENT
(CID VARCHAR(8) PRIMARY KEY,
CNAME VARCHAR(8),
CSEX VARCHAR(4) DEFAULT '男',
CTEL VARCHAR(12)
)
CREATE TABLE WASHER
(WID VARCHAR(8) PRIMARY KEY,
WBRAND VARCHAR(8) NOT NULL,
WTYPE VARCHAR(6)
)
CREATE TABLE SUPPLIER
(SID1 VARCHAR(8) PRIMARY KEY,
COMPANY VARCHAR(12),
STEL VARCHAR(12)
)
SELECT *
FROM CLIENT
SELECT *
FROM WASHER
SELECT *
FROM SUPPLIER
CREATE TABLE BUY
(WID VARCHAR(8) FOREIGN KEY REFERENCES WASHER(WID),
SID1 VARCHAR(8) FOREIGN KEY REFERENCES SUPPLIER(SID1),
BNUM INT,
BPRICE INT,
BDATE DATE,
PRIMARY KEY(WID,SID1)/*表级定义主键*/
)
CREATE TABLE SELL
(CID VARCHAR(8) FOREIGN KEY REFERENCES CLIENT(CID),
WID VARCHAR(8) FOREIGN KEY REFERENCES WASHER(WID),
SNUM INT,
SPRICE INT,
SDATE DATE,
PRIMARY KEY(WID,CID)
)
SELECT *
FROM BUY
SELECT *
FROM SELL
INSERT INTO CLIENT VALUES ('C001','张三','男','13384847388'),
('C002','王利','男','13374335555'),
('C003','李玲','女','13573332222'),
('C004','张虎','男','15173166666'),
('C005','王明','男','18107310808'),
('C006','刘珊','女','13907445656')
INSERT INTO WASHER VALUES ('W001','美的','小号'),
('W002','统帅','小号'),
('W003','海尔','中号'),
('W004','海尔','小号'),
('W005','西门子','大号'),
('W006','小天鹅','中号')
INSERT INTO SUPPLIER VALUES ('S001','花市电器公司','13973339999'),
('S002','草市家电集团','15072226666'),
('S003','树市家电公司','18170008888')
INSERT INTO BUY VALUES ('W003','S002',25,3600,'2021-08-11'),
('W005','S002',10,5800,'2021-08-19'),
('W001','S001',12,2200,'2021-08-11'),
('W001','S003',25,1800,'2021-07-02'),
('W002','S001',16,2000,'2021-08-11'),
('W004','S001',20,2500,'2021-02-08'),
('W006','S001',30,3800,'2021-06-16')
INSERT INTO SELL VALUES ('C002','W003',1,4600,'2022-10-25'),
('C001','W005',1,6800,'2022-06-30'),
('C005','W001',2,2800,'2022-06-17'),
('C006','W001',2,3100,'2022-11-08'),
('C001','W004',1,3200,'2022-03-26')
SELECT *
FROM CLIENT
SELECT *
FROM WASHER
SELECT *
FROM SUPPLIER
SELECT *
FROM BUY
SELECT *
FROM SELL
SELECT CNAME,CSEX,CTEL
FROM WASHER,CLIENT,SELL
WHERE WBRAND='海尔' AND CLIENT.CID=SELL.CID AND WASHER.WID=SELL.WID
SELECT WID,SUM(BNUM*BPRICE)
FROM BUY
WHERE SID1 IN (
SELECT SID1
FROM SUPPLIER
WHERE COMPANY='花市电器公司')
GROUP BY WID
UPDATE SELL
SET SPRICE=0.8*SPRICE
WHERE SPRICE>=3500
SELECT CNAME,WBRAND,WTYPE,SPRICE
FROM WASHER,CLIENT,SELL
WHERE WASHER.WID=SELL.WID AND CLIENT.CID=SELL.CID
ORDER BY SPRICE DESC

SELECT BNUM,BUY.WID
FROM BUY,WASHER
WHERE WASHER.WID=BUY.WID AND WTYPE='小号'
CREATE VIEW BUYINFO
AS SELECT BUY.SID1,BUY.WID,WBRAND,BDATE
FROM WASHER,SUPPLIER,BUY
WHERE WASHER.WID=BUY.WID AND SUPPLIER.SID1=BUY.SID1 AND BDATE='2021-08-11'
SELECT *
FROM BUYINFO
CREATE FUNCTION A1(@BNUM INT)
RETURNS TABLE
AS
RETURN SELECT BNUM,BUY.SID1,COMPANY
FROM SUPPLIER,BUY
WHERE SUPPLIER.SID1=BUY.SID1 AND @BNUM<BNUM
SELECT *
FROM A1(15)
CREATE TRIGGER A2
ON WASHER
AFTER DELETE
AS
 DELETE FROM SELL
 WHERE SELL.WID
 IN(SELECT WID FROM deleted)
 GO
DELETE FROM WASHER
WHERE WID IN(
SELECT WID
FROM BUY
WHERE SID1 IN (SELECT SID1
FROM SUPPLIER
WHERE COMPANY='草市家电集团'))
SELECT *
FROM SELL,WASHER

 时间有限,就不做解释了,如有错漏,请评论指出;如有疑问,请留言

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值