苦逼管理研究生自学和数据库写完发现没有答案,特来,请大家帮我看看有没有问题 最后一问不清楚需求请求说明一下!
(a)CREATE TABLE customer (
cust_id CHAR(5),
cust_name VARCHAR(20) NOT NULL,
Phone CHAR(11),
Email TEXT,
PRIMARY KEY (cust_id));
CREATE TABLE magazine (
mag_id CHAR(5),
mag_name, VARCHAR(20) NOT NULL,
unit_price_grey, NUMERIC(3,2),
unit_price_colour NUMERIC(3,2),
PRIMARY KEY ( mag_id ));
CREATE TABLE advert (
ad_id CHAR(5),
cust_id CHAR(5) ,
ad_name VARCHAR(20) NOT NULL,
category TEXT,
Height NUMERIC(20,2),
Width NUMERIC(20,2),
is_colour TEXT CHECK(true,false),
PRIMARY KEY(ad_id),
FOREIGN KEY (cust_id) REFERENCES customer);
CREATE TABLE placement(
ad_id CHAR(5),
mag_id VARCHAR(20) UNIQUE,
date TEXT,
PRIMARY KEY ( ad_id, mag_id,)
FOREIGN KEY (ad_id) REFERENCES advert
FOREIGN KEY (mag_id) REFERENCES magazine);
(b)(i)SELECT mag_name , unit_price_grey
FROM magazine
ORDER BY unit_price_grey DESC;
(ii)SELECT c.cust_name
FROM customer c
JOIN adverse a
ON a.cust_id=c.cust_id
WHERE category =’Food’
ORDER BY cust_name ASC;
(iii)SELECT category,tot(ad_id)
FROM adverse a
JOIN place p
ON p.ad_id=a.ad_id
Where date = ‘2022-04-%’
ORDER BY tot(ad_id) DESC;
(c)STEP1 ALTER TABLE placement RENAME TO placement_TMP;
.tables
COMPANY_TMP TESTBAK
STEP2 CREATE TABLE placement(
ad_id CHAR(5),
mag_id VARCHAR(20) NOT NULL ,
date TEXT,
amount TEXT DEFAULT(1),
PRIMARY KEY ( ad_id, mag_id,)
FOREIGN KEY (ad_id) REFERENCES advert
FOREIGN KEY (mag_id) REFERENCES magazine);
STEP3 INSERT INTO COMPANY(ad_id, mag_id, date)
SELECT ad_id, mag_id, date
FROM placement_TMP;
DROP TABLE placement_TMP;
.tables
placement TESTBAK
(d)
(d)
题目意思翻译一下,大概要实现什么。创建表、插入数据。。。