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
、表间关系有三种,分别是:
一对一,一对多,多对多。各举一个例子:学号和身份证号。一对多:学生,手机号;多对多:学生和课程。