1、select 5/2,null*5 from dual,得到的两个结果分别是:2.5、null因为:null值不能运算,不能比较;dual的名字叫虚表或哑表,作用是:求表达式的值。
2、select nvl(入学日期,sysdate) from 学生表:此句的功能是:如果入学日期为空,则返回系统日期。其中nvl所起的作用是:转换null值。
3、select decode(部门,10,'后勤部',20,'开发部','综合部') from 员工表:此句的功能是:如果部门字段的值为10,则显示为后勤部,20显示为开发部,其它的都显示为综合部。(相当于if if else)
4、学生缴费表(学号,缴纳金额,缴费日期)。学号为07001同学在2007-7-21缴纳5000块。插入语句为:insert into 学生缴费表(学号,缴纳金额,缴费日期) values(‘07001’, 5000,to_date(‘2007-7-21’,’yyyy-mm-dd’)。如果缴费日期为今天,则插入语句为:insert into 学生缴费表(学号,缴纳金额,缴费日期) values(‘07001’, 5000,sysdate)。
5、用序列完成自动编号功能,一共有两个步骤,一是创建序列,命令为:_create sequence 序列名。二是在插入语句中使用序列对象(学生表(自动编号,姓名)) :insert into 学生表(自动编号,姓名) values(序列名.nextvalue,’张三’)。
2、select nvl(入学日期,sysdate) from 学生表:此句的功能是:如果入学日期为空,则返回系统日期。其中nvl所起的作用是:转换null值。
3、select decode(部门,10,'后勤部',20,'开发部','综合部') from 员工表:此句的功能是:如果部门字段的值为10,则显示为后勤部,20显示为开发部,其它的都显示为综合部。(相当于if if else)
4、学生缴费表(学号,缴纳金额,缴费日期)。学号为07001同学在2007-7-21缴纳5000块。插入语句为:insert into 学生缴费表(学号,缴纳金额,缴费日期) values(‘07001’, 5000,to_date(‘2007-7-21’,’yyyy-mm-dd’)。如果缴费日期为今天,则插入语句为:insert into 学生缴费表(学号,缴纳金额,缴费日期) values(‘07001’, 5000,sysdate)。
5、用序列完成自动编号功能,一共有两个步骤,一是创建序列,命令为:_create sequence 序列名。二是在插入语句中使用序列对象(学生表(自动编号,姓名)) :insert into 学生表(自动编号,姓名) values(序列名.nextvalue,’张三’)。
说明:Oracle用单引号,Java用双引号。
6、(查书)DML语句指:数据操作语言(增删改)。DDL语句指:数据定义语言(如建表) 。DCL语句指:数据控制语言(如存储过程)。
6、(查书)DML语句指:数据操作语言(增删改)。DDL语句指:数据定义语言(如建表) 。DCL语句指:数据控制语言(如存储过程)。
D:Data数据: L:Language:语言
M:Manage:操作 D:Define:定义 C:Control:控制
7、学生成绩表(学号,课程编号,成绩,是否通过)。有的成绩可能null。所有成绩在60以下的同学,是否通过字段设置为“未通过”,否则设置为“通过”。其更新语句写为(2条updae或1条update):
7、学生成绩表(学号,课程编号,成绩,是否通过)。有的成绩可能null。所有成绩在60以下的同学,是否通过字段设置为“未通过”,否则设置为“通过”。其更新语句写为(2条updae或1条update):
update test_stu t set t.是否通过='未通过' where nvl(t.成绩,0)<60
update test_stu t set t.是否通过='通过' where nvl(t.成绩,0)>=60
(用case语句可以一定搞定,decode条件只能是值)
8、索引与序列有什么区别:索引是数据库的一种对象,其作用是主要是加快数据库查询速度,另外也有约束的功能,如唯一索引。
9 、delete和trunate、drop有什么区别:delete是删除表的数据,删除数据时同时要维护表的索引;truncate是将表的数据和索引所占用的磁盘空间直接初始化,所以速度很快,不能回滚。drop是删除表对象。
10、主键和唯一键的区别:主键能保证一个字段不能为空,不能重复。唯一键保证一个字段值不能重复,但可以为null。
11、主键和外键的区别:主键能保证一个字段不能为空,不能重复。外键保证字段的值必须先在另一个表的主键中存在。
12、提交和回滚有什么区别:相当于确认和撤消的功能。
13、你对流水号的理解是:对于业务表,标记每笔业务发生的顺序号。
8、索引与序列有什么区别:索引是数据库的一种对象,其作用是主要是加快数据库查询速度,另外也有约束的功能,如唯一索引。
9 、delete和trunate、drop有什么区别:delete是删除表的数据,删除数据时同时要维护表的索引;truncate是将表的数据和索引所占用的磁盘空间直接初始化,所以速度很快,不能回滚。drop是删除表对象。
10、主键和唯一键的区别:主键能保证一个字段不能为空,不能重复。唯一键保证一个字段值不能重复,但可以为null。
11、主键和外键的区别:主键能保证一个字段不能为空,不能重复。外键保证字段的值必须先在另一个表的主键中存在。
12、提交和回滚有什么区别:相当于确认和撤消的功能。
13、你对流水号的理解是:对于业务表,标记每笔业务发生的顺序号。
14、配置表空间的关键配置是:表空间文件设置为自动扩展。
配置用户的权限分别是:角色中的resouce权限(表示能够建表和增删改查等);系统中的无限表空间权限(Unlimited TableSpace)。
15、使用PowerDesign中,name的意思是:PD专用,显示字段的中文意思。 Code的意思是:数据库中字段实际的代码。Comment的意思是数据库中字段实际的注释:将Code设置为大写的步骤是:模型选项中设置Table和Column的Code。
15、使用PowerDesign中,name的意思是:PD专用,显示字段的中文意思。 Code的意思是:数据库中字段实际的代码。Comment的意思是数据库中字段实际的注释:将Code设置为大写的步骤是:模型选项中设置Table和Column的Code。
16、请写三个范式的规则和理解(*)。
第一范式:一个列必须只有一个值。各行必须互不相同,即一个表必须要有主键。
第二范式:在第一范式的基础上,各个非主键列必须都依赖于主键列。
第三范式:在第二范式的基础上,非主键列之间必须毫无关系,相互独立。
17、表间关系有三种,分别是:一对一,一对多,多对多。各举一个例子:学号和身份证号。一对多:学生,手机号;多对多:学生和课程。