奇怪的数据库问题
Strange Database Questions
CREATE TABLE customers
(
cid CHAR(4),
cname CHAR(20),
PRIMARY KEY(cid)
)
CREATE TABLE orders
(
oid CHAR(6),
odate CHAR(6),
custid CHAR(4),
PRIMARY KEY(oid),
FOREIGN KEY (cusitd) REFERENCES customers(cid) ON DELETE CASCADE
)
如果客户记录数为10条,订单记录数为15条,在运行后面的命令后,
DELETE FROM customers C
WHERE C.cid = '2000'
customers 和 orders 中所有记录的总和最少和最多等于:
- 最多 24- 至少 9
- 最多 25- 至少 9
- 最多 24- 至少 18
- 最多 25- 至少 18
我们的助教select (2)。为什么 ?这是个奇怪的问题 :) 不知道 table !
2) at most 25- at least 9
删除前所有记录的总和为10+15 = 25。
如果没有C.cid='2000'的客户,删除命令不会删除任何记录,总和保持不变==>最多25条记录。
如果客户 C.cid='2000' 存在,并且订单 table 中的所有记录都被客户 C.cid='2000' 引用,则删除命令从客户 C.cid='2000' 中删除一条记录 table,以及订单table的所有记录(15),共16条记录。
25 - 16 = 9,所以至少有 9 条记录。
CREATE TABLE customers
(
cid CHAR(4),
cname CHAR(20),
PRIMARY KEY(cid)
)
CREATE TABLE orders
(
oid CHAR(6),
odate CHAR(6),
custid CHAR(4),
PRIMARY KEY(oid),
FOREIGN KEY (cusitd) REFERENCES customers(cid) ON DELETE CASCADE
)
如果客户记录数为10条,订单记录数为15条,在运行后面的命令后,
DELETE FROM customers C
WHERE C.cid = '2000'
customers 和 orders 中所有记录的总和最少和最多等于:
- 最多 24- 至少 9
- 最多 25- 至少 9
- 最多 24- 至少 18
- 最多 25- 至少 18
我们的助教select (2)。为什么 ?这是个奇怪的问题 :) 不知道 table !
2) at most 25- at least 9
删除前所有记录的总和为10+15 = 25。
如果没有C.cid='2000'的客户,删除命令不会删除任何记录,总和保持不变==>最多25条记录。
如果客户 C.cid='2000' 存在,并且订单 table 中的所有记录都被客户 C.cid='2000' 引用,则删除命令从客户 C.cid='2000' 中删除一条记录 table,以及订单table的所有记录(15),共16条记录。
25 - 16 = 9,所以至少有 9 条记录。