文本描述
IT项目经理考题题库(V1.0)
说明:选题个数可在9~11个间,答题时间2~2.5小时。
版本号
编制人员
编制时间
备注
V 1.
匡光政
2003年5月7日
基础IT技术部分 (每题7~8分)
说明:1、2、3、11必选,4~7可选1或不选,8~9可选
某集团下属单位共800名员工,分布在15个部门,要设计一个含编号、部门、姓名、年龄、工资5项内容的人员数据库系统,请作一数据规划。
Answer: ER图如下:
请编一带循环条件的程序,可分部门遍历上例中的每一条记录。
Answer:
Declare cursor cur_Department
Select Deptcode from Department order by deptcode
Fetch cur_Department into @Deptcode
While @@Fetch_status=
Begin
Select B.Name ‘部门’, A.Name ‘姓名’, A.Station ‘岗位’, A.Age ‘年龄’, A.Salary ‘工资’
from staff A, Department B
Where A.Deptcode = @Deptcode and A.Deptcode = B.Deptcode
Fetch next cur_Department into @Deptcode
End
Close cursor cur_Department
Deallocate cursor cur_Department
请描述数据库、表、表空间、数据文件、数据之间的关系,能用图示补充说明吗?
Answer:
数据库有两个层面,分别是逻辑层面与物理层面。其中逻辑层面主要是指表空间,物理层面主要是指文件。
表是数据库的组成部分,它从物理位置上讲是在文件中,从逻辑上讲在表空间中。
数据存在于表中。
用图表示,补充说明如下:
简要列出Oracle的DDL语句。比较Oracle 数据库存储过程和触发器的异同,存储过程有何作用?
Answer:
DDL是数据定义语言,oracle 的DDL有:创建是用CREATE, 删除是用DROP, 修改ALTER?,清空表中的记录TRUNCATE,授权GRANT,回收权限REVOKE。
下面简要列出:
CREATE?DATABASE?employees?;
CREATE?TABLE?personal_info
(first_name?char(20)?not?null,?last_name?char(20)?not?null,?employee_id?int?not?null)?;
CREATE INDEX index_name ON personal_info (employee_id);
ALTER?TABLE?personal_info ADD?salary?money?null?;
TRUNCATE personal_info;
DROP?TABLE?personal_info;
DROP database employees;
存储过程和触发器相同点
两者都存储在数据库中
两者以编译了的形式存储在数据库中
都使用PL/SQL语法, 触发器类似于存储的过程,可包含SQL语句和PL/SQL语句,可调用其它的存储过程。
存储过程和触发器不同点
触发器所相关表分别存储。而存储过程不用与相关的表分别存储
触发器仅可在表上定义,存储过程不受这个限制。
两者建立的语法不同,触发器是 create trigger …, 而存储过程是 create procedure…
调用方法不同:存储过程由用户或应用显式执行;而触发器是为一激发语句 (INSERT、UPDATE、DELETE)发出进由ORACLE隐式地触发。
存储过程的作用:
存储过程可以包括复杂的商业逻辑或多个操作过程。因为它与一般的PL/SQL块主要的不同是:无需在网上传送大量的源程序代码,只传送一条调用命令,这就大大降低了网络通信的负担;而且只在刚创建时分析编译一次,每次调用直接执行编译了的代码,因此运行速度较快。在实际开发时,对于具有共同特性的功能模块最好使用存储过程,调用时通过使用不同的实际参数值来实现某一具体的处理。如果能充分利用存储过程来完成应用系统的操作与处理,则可大大提高系统的运行性能。
一个数据库一般会设立哪些表空间?
表空间一般会设立system表空间, user表空间, index表空间, temp表空间, DRSYS表空间,RBS表空间,Tools表空间
Oracle 数据库有何安全措施?