请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE PC (
Pno CHAR(10) REFERENCES (a) (Pno),
Cno CHAR(3) REFERENCES (b)(Cno),
City CHAR(20) (c)
Rank CHAR(20) (d)
Point SMALLINT,
(e)
);
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某竞赛管理系统的部分数据库关系模式如下:
选手:PLAYER(Pno, Pname, Sex, Region, Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话;
竞赛项目:CONTEST(Cno, Cname, Type, Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;
选手参赛:PC(Pno, Cno, City, Rank, Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。
(3)一个选手参加一项竞赛有一个名次和一个积分,名次有4个取值('一'、'二'、 '三'、'无')。另外,竞赛所在城市不能为空。
根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE PC (
Pno CHAR(10) REFERENCES (a) (Pno),
Cno CHAR(3) REFERENCES (b)(Cno),
City CHAR(20) (c)
Rank CHAR(20) (d)
Point SMALLINT,
(e)
);
查询所有未参加“Al”类别竞赛的选手,要求输出选手的编号(Pno),查询结果按照选手编号的升序排列。此功能由下面的SQL语句实现,请补全。
SELECT Pno FROM (f)
WHERE Pno (g)
(SELECT (h) FROM PC, Contest
WHERE (i)
(j) Type='Al')
(k) Pno;
由于某种原因,编号为E06的竞赛项目在正式举办前被取消了。而此前系统中已经记录了一些选手的报名参赛情况,因此需要在系统中删除E06的竞赛项目记录,以及该竞赛的所有报名参赛纪录。根据问题1在选手参赛表PC上定义的参照完整性约束,此功能可以由下面的SQL语句实现,请补全。
(l) FROM (m) WHERE Cno = 'E06';
(n) FROM (o) WHERE Cno = 'E06';