数据库/存储 2021_05_18 每日一练
【题目描述】
1.已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
要求实现如下5个处理:
1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
今天在学校学习ORACLE 10G实验的时候遇到一个问题。
SQL> conn scott/tiger
Connected.
SQL> create table t1 as select * from dba_objects;
create table t1 as select * from dba_objects
*
ERROR at line 1:
ORA-00942: table or view does not exist
可是我的同学运行就能通过。我问他,他也说不上来。老师也下班回家了。
我估计可能是我没授权给 scott,可是我应该赋予scott什么权限才能让这句语句正常执行而不会报错呢?
题目是这样的:
创建一个存储过程,存储过程名为p_login,用于操作用户登录的校验,登录需要使用EMPNO和EMPPASS,并需要提示登录中的错误,如是EMPNO不存在,还是EMPNO存在EMPPASS错误,还是其他错误等。
要求:
1)不同的输出状态用不同的输出编号标识(out_code)如EMPNO存在且密码正确out_code=0,EMPNO不存在此类错误的out_code=1,用户名存在密码错误out_code=2,其他错误out_code=3
2)不同的输出状态对应不同的输出描述或提示,输出描述用out_desc标识
3)存储过程运行结束要把输出状态对应的输出标识(out_code)和输出描述(out_desc)输出。
以下是我写的脚本:
create or replace procedure p_login ( NO IN number, PASS IN nvarchar2, out_code OUT number, out_desc OUT nvarchar2)
is
count1 number(10);
vcount number(10);
other EXCEPTION;
begin
select ID into count1 from EMP where EMPNO= NO;
select ID into vcount from EMP where EMPPASS= PASS and EMP.ID = count1;
if (count1 is not null and vcount is not null) then
out_code:=0;
out_desc:= '登录成功';
elsif (count1 is Null and vcount is Null) then
out_code:=1;
out_desc:= 'EMPNO不存在';
elsif (count1 is not Null and vcount is Null) then
out_code:=2;
out_desc:= '密码错误';
else out_code:=3;
out_desc:= '其他错误';
end if;
dbms_output.put_line(out_code||out_desc);
end p_login;
运行的时候会有错。主要原因是:在oracle中,只要某个参数为空的话 那么系统就报错了。。。这种情况应该怎么处理呢?貌似用IS NULL没用啊?
【题目描述】
( 21 )有以下程序
# include ( stdio.h >
main ()
{ int a = l ; b = 2 ;
for ( ; a < 8 ; a++ ) { b+=a ; a+=2 ; }
printf ( " %d , %d \ n ", a , b ) ;
}
程序运行后的输出结果是
A ) 9 , 18
B ) 8 , 11
C ) 7 , 11
D ) 10 , 14
【题目描述】
4.在实践中,对象设计常常来自数据。下表是一个软件顾问公司的数据,它列出
顾问师的现行工作分配。
很明显,这个表违反了 第三范式。审查表中的数据,然后进行面向对象的设
图表达出表中隐含对象之间的静态关系。
再用“一类——表格”标准法则, 把对象映射为规范化的关系结构。
名字 身份证号 工作分配 百分比 价格 公司 地址
John Smith 123-45-6789 数据库设计 60% 55 ABCD 888ave
Tom Chan 582-54-5528 网络安装 40% 70 ABCD 888ave
Mike Brown 473-55-8721 软件编码 100% 80 IT。com 1 main st
John Smith 123-45-6789 数据库设计 40% 60 IT。com 1 main st
Sue Li 743-31-3782 客户培训 100% 65 IT。com 1 main st
Tom chan 582-54-5528 网络安装 60% 75 HiTech 7 state Rd