oracle 运动会练习
有某个学生运动会比赛信息的数据库,保存了如下的表:
运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department)
项目item(项目编号itemid,项目名称itemname,项目比赛地点location)
成绩grade(运动员编号sporterid,项目编号itemid,积分mark)
请用SQL语句完成如下功能:
1. 建表,注意满足如下要求:
a) 定义各个表的主码外码约束
b) 运动员的姓名和所属系别不能为空值。
c) 积分要么为空值,要么为6,4,2,0, 分别代表第一,二,三名和其他名次的积分,注意名次可以有并列名次,后面的排名不往前提升,例如,如果有两个并列第一,则没有第二名。
--删除表
drop table grade;
drop table item;
drop table sporter;
--运动员
create table sporter(
sporterid number(4) primary key,
name varchar2(20) not null, --b) 运动员的姓名不能为空值。
sex char(2),
department varchar2(20) not null -- b) 运动员所属系别不能为空值。
);
--项目
create table item(
itemid char(4) primary key,
itemname varchar2(20),
location varchar2(20)<