题目一:
一个科研管理系统要满足以下需求:1、对科研项目的管理(项目编号,项目名称,主持人,经费,下达部门);2、对科研人员的管理(人员编号,姓名,性别,职称,专业);3、一个科研项目有多人参加,一人可以参加多个项目。
要求:
1、建立该系统的关系模型(表),并给出数据类型;
2、写出每个关系的关键字,若有外部关键字,写出外部关键字。
3、所建关系模型满足3NF吗?并说明理由。题目二:
使用下面两个表写出SQL语句。学生基本信息表student(s_no,s_name,s_sex,birthday),学生成绩表grade(s_no,c_no,score)。
1、插入一个学生信息(1034,张三,男,1990-9-1);
2、把张三的课程号为001的课程改为89分;
3、查询所有男生的姓名,年龄;
4、所有不及格学生的姓名和成绩。

解决方案 »

  1.   

    项目(项目编号 varchar(30),项目名称,nvarchar(50),主持人 nvarchar(20),经费 decimal(18,2),下达部门 nvarchar(50)) 项目编号为主键
    人员(人员编号 varchar(30),姓名 nvarchar(20),性别 bit,职称 nvarchar(20),专业  nvarchar(20)) 人员编号为主键
    项目参与(编号,项目编号 varchar(30),人员编号 varchar(30),承担工作 varchar(1000)) 编号为主键,项目编号是项目表的外键,人员编号是人员表的外键当然满足,你自己看吧.insert into student select '1034','张三','男','1990-9-1'
    update a set score=89 from grade a inner join student b on a.s_no=b.s_no
    where a.c_no='001' and b.s_name='张三'
    select s_name,datediff(yy,birthday,getdate()) as age from student
    select a.s_name,b.scroe from grade b inner join student a on a.s_no=b.s_no
    where scroe<60 and c_name='你'
      

  2.   


    --题目二
    1.insert into student values ('1034','张三','男','1990-9-1')
    2.update grade set score=89 where s_no='1034' and c_no='001'
    3.select 姓名,年龄 from student where s_sex='男'
    4.select s_name,score from student a inner join grade b on a.s_no=b.s_no where b.score<60
      

  3.   

    c_name='你'
    WELL DONE