5.某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下:
职工(职工编号,姓名,岗位)
律师(律师编号,姓名)
被告(被告编号,姓名,地址)
案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,
结案日期,结案摘要)
审理(审理编号,案件编号,审理日期,摘要)
有关关系模式的属性及相关说明如下:
(1)职工关系模式的岗位有“法官”、“书记员”和“其他”。
(2)诉讼立案后,即在案件关系中插入一条相应记录。案件关系模式的状态有“待处理”、“审理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待处理”。
(3)案件关系模式的案件类型有“偷窃”、“纵火”等。
(4) 一个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次到多次审理。
【问题1】
假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的SQL语句的空缺部分补充完整。
CREATE TABLE案件(
案件编号CHAR(6) (a) ,
案件类型VARCHAR(10),
案件描述VARCHAR (200),
立案日期DATE
被告VARCHAR (6) REFERENCES被告(被告编号),
律师VARCHAR (6) REFERENCES律师(律师编号),
主审法官VARCHAR (6) (b) ,
状态VARCHAR (6) (c) DEFAULT‘待处理’,
结案日期DATE,
结案摘要VARCHAR (200),
(d) );
【问题2】
请完成下列查询的SQL语句。
(1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。
SELECT案件编号,立案日期,被告.姓名AS被告姓名,地址AS被告地址,案件描述,律师.姓名AS律师姓名, (e)
FROM (f)
WHERE案件.被告=被告.被告编号AND案件.律师=律师.律师编号AND
(g) ;
(2)查询2009年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009年1月1日表示为01-JAN-2009,2009年12月31日表示为31-DEC-2009)
SELECT类型,count(*) AS案件数
FROM案件
WHERE (h)
GROUP BY案件类型
(i) ;
(3)查询立案次数超过5次的被告姓名和地址。
SELECT姓名,地址,count(*)
FROM案件,被告
WHERE (j)
GROUP BY (k)
(l) ;
【问题3】
当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。下面是用触发器实现该需求的SQL语句,请将空缺部分补充完整。
CREATE TRIGGER 审理TRIGGER AFTER (m) ON审理
REFERENCING new row AS nrow
FOR EACH row
WHEN‘未处理’=(SELECT状态
FROM案件
WHERE案件编号- nrow.案件编号)
BEGIN
UPDATE案件 (n)
WHERE (o) ;
END