数据库面试笔记

数据库基本运算:投影运算、选择运算、排序运算


连接方式:

内连接 inner jion
外连接有三种方式:左连接,右连接和全连接。
2.1 左连接:根据左表的记录,在被连接的右表中找出符合条件的记录与之匹配
找不到与左表匹配的,用null表示
自连接:当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接

1、数据库设计范式:一二三范式,BCNF范式

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的,结构明晰的,不会发生插入删除更新操作异常。反之会造成数据的冗余,操作异常为编程人员甚至业务数据操作制造麻烦。

一、数据库基础

1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式

模型是对现实世界的抽象,在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象的过程,有如下四种:概念数据模型、逻辑数据模型、外部数据模型、和内部数据模型。
http://www.360doc.com/content/13/0418/21/11971201_279313765.shtml

概念数据模型:表达用户需求观点的数据全局逻辑结构的模型
逻辑模型表达计算机实现观点的DB全局逻辑结构的模型,从数据库实现的角度出发,对数据的建模

 2三层模式和两级映射

外模式,逻辑模式,内模式
外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述
逻辑模式是数据库中全部数据的整体逻辑结构的描述
内模式是数据库在物理存储方面的描述。

   两级映射的定义:由于三层模式的数据结构可能不一致,即记录类型、字段类型的命名和组成可能不一样,因此需要三层模式之间的映像来说明外部记录、逻辑记录、内部记录之间的对应性。三层模式之间存在两级映像:

数据库设计过程:
根据用户需求,设计数据库的概念模型<概念设计>
根据转换规则,把概念模型转换成数据库的逻辑模型
根据用户的业务特点,需根据逻辑模型设计不同的外部模型,给程序员使用,外部模型与逻辑模型之间的对应性称为映像<逻辑设计>

二. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)

数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等

数据操纵:Select ,insert,update,delete,

数据控制:grant,revoke

四。视图

视图(

从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从 数据库系统 内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例
视图 视图
如查询,插入,修改,删除操作等。
视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。安全原因, 另一原因是可使复杂的查询易于理解和使用。
视点集中
·简化操作
·定制数据
·合并分割数据
·安全性
五. 完整性约束:实体完整性、参照完整性、用户定义完整性
六. 第三范式:
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。

1.第一范式(确保每列保持原子性)

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

2.第二范式(确保表中的每列都和主键相关,不存在部分依赖)

第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

3.第三范式(确保每列都和主键列直接相关,而不是间接相关,不存在传递依赖)

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关

2NF( 第二范式 )消除了非主属性对键的 传递函数依赖 ,则称为3NF

对3NF关系进行投影,将消除原关系中主属性对键的部分与传递依赖,得到一组BCNF关系

     

实体关系(ER)模型的目标是捕获现实世界的数据需求,并以简单、易理解的方式表现出来。ER模型可用于项目组内部交流或用于与用户讨论系统数据需求。

ER模型中的基本元素

基本的ER模型包含三类元素:实体、关系、属性

八. 索引作用

唯一性、提升检索速度
9、Java中加载数据库的步骤


















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值