【面试收货】数据库部分

原创 2016年08月30日 12:13:42

1.关于Oracle中left join 俩种写法

select * from a,b where a.id=b.id(+);--该写法的执行效率高
select * from a left join b on a.id=b.id;

不熟悉Oracle,所以本问题有待实验。


2.数据库范式

参考博客:http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html
第一范式:具有原子性,所有字段值都是不可分解的原子值。

      如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。


第二范式:确保表中的每列都和主键相关在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

下图不符合第二范式

下图满足第二范式


第三范式:确保每列都和主键列直接相关,而不是间接相关。


3.解释下DML与DDL

参考博客:http://blog.csdn.net/tomatofly/article/details/5949070

主要的区别是DML是显示提交,能回滚. DDL是隐式提交,不能回滚.


1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

2 .数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
表 视图 索引 同义词 簇

DDL操作是隐性提交的!不能rollback 


相关文章推荐

收货-维修-送货+管理记录平台开发记录(一)————平台需求及数据库设计

过年前,在深圳的二哥要我帮忙为他的公司做一个类似于记账的平台,因为他们之前使用的是人工记录,很容易出错,所以希望我做一个管理平台来帮他管理公司。 ---------------在不专业的客户和我这个...

仿淘宝收货地址,本地数据库

谁说咱们攻城狮不能写出既幽默又能懂的博客呢,本人想推出一系列博文,可以给刚接触Android开发的做一个参考,也可以与接触Android已久的各路大神比较一下,本人喜欢交流,如果有写得不好的地方,欢迎...

【面试】数据库部分_达内培训

数据库部分 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 employee:      eid,ename,salary,deptid;  select * from e...

【面试】数据库部分_Oracle培训

一、             数据库部分   一、             数据库部分 1.  存储过程和函数的区别 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调...

Java面试(数据库部分)

1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 employee: eid,ename,salary,deptid; select * from employeeorder ...

Java面试(数据库部分)

Java面试(数据库部分)
  • hoho_12
  • hoho_12
  • 2016年09月28日 21:38
  • 2638

java面试④数据库部分

2.3.1 数据库的分类及常用的数据库 数据库分为:关系型数据库和非关系型数据库 关系数据库:mysql,oracle,sqlServer 非关系型:redis,mongoDB 2.3.2 简单介绍...

模仿京东做的收货地址选择

  • 2017年07月20日 17:43
  • 1.05MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【面试收货】数据库部分
举报原因:
原因补充:

(最多只允许输入30个字)