文档章节

数据库初探(二)

f
 fang_faye
发布于 2017/08/08 22:05
字数 885
阅读 2
收藏 0

两年多以后,还是会想起曾经的那个问题。范式的本质是什么?到现在我也只能弱弱的写上自己浅薄的理解,本质大概应该就是为了更加规范。设计数据库时会遵循不同的设计规范,进而设计出更加合理的关系型数据库,这些规范就是范式。

(前言:有关函数依赖以及码、主码、外码的相关知识可自行查找)

范式简介:

第一范式(1NF):每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式。

第二范式(2NF):若R属于1NF,且每一个非主属性完全函数依赖于码,则R属于2NF。

第三范式(3NF):在1NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)。

巴斯-科德范式(BCNF):在1NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖)。

不同数据库的分页技术:

为什么需要分页技术?

在查询情况下,最经常的情况就是我们需要查询几条数据,而不是全部的查询出结果,比如最为经典的情况就是在我们写一个查询结果列表的情况,我们希望结果是分页显示,也就是查询出一段记录集。

Mysql:Mysql是最为方便的,由一个limit关键字来完成。

Oracle:Oracle数据库为我们提供了两个很重要的字段:RowId和RowNumber,来完成分页查询。

MSsql:SQL Server 2005以上可以使用ROW_BUNMER()函数实现分页。SQL server分页实现起来比较复杂,也有多种方式进行分页。具体各种分页方式的性能比较可参考:

http://www.cnblogs.com/yangecnu/p/Introduct-Server-Side-Paging-with-SQL-Server.html

——————————————再更新——————————————————————

关系型数据库系统的查询优化:查询优化在关系数据库系统中有着非常重要的地位。关系查询优化是影响RDBMS性能的关键因素,也是关系型数据库取得巨大成功的关键所在。查询优化的优点在于用户不必考虑如何最好的表达查询以获得较好的效率,也在于系统可以比用户程序的优化做得更好。

关系型数据库系统的查询优化就是选择一个高效执行的查询处理策略,有多种方法。按照优化的层次可分为代数优化物理优化。其中代数优化指关系代数表达式的优化,即按照一定的规则,改变代数表达式中操作的次序和组合,使查询执行更加高效;物理优化指存储路径和底层操作的选择。可基于规则、代价或语义进行选择。

查询优化经验:

1、尽量避免全表扫描

2、查询时先过滤,再关联

3、使用游标索引等技术来提高查询效率

© 著作权归作者所有

共有 人打赏支持
f
粉丝 2
博文 66
码字总数 19284
作品 0
崇明
其他
【HTML5初探之本地存储】如果没有数据库。。。

导航 【初探HTML5之使用新标签布局】用html5布局我的博客页! 【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放 【HTML5初探之绘制图像(上)】看我canvas元素引领下一代web页面...

范大脚脚
2017/12/07
0
0
干货来了!2016年DevExpress资源汇总(更新、文档)

在2016年,著名软件界面解决方案专家DevExpress进行了重大升级,EVGET围绕版本升级推出了一系列干货资源,现将2016年所有Dev资源使用教程汇总于此,欢迎收藏转发点赞哦~ DevExpress WPF入门指...

Miss_Hello_World
2016/11/25
36
0
Android Instrumentation自动化测试框架

Android monkey test 脚本的编写 Instrumentation 是google开发的Android测试框架(http://developer.android.com/reference/android/test/InstrumentationTestRunner.html) 主要分为下列项......

IamOkay
2016/02/25
246
0
Solr初探(4)——后台数据导入及Document的增删改查

进入Solr后台页面,选择一个核,点击,进入管理标签: 一、添加Document 在Solr初探(2)——域管理中我们已经说过了,id是一个Document必须要包含的field,让我们新建一个,类型为: 在查询...

yuanlaijike
04/10
0
0
MyBatis初探一

一、MyBatis介绍 mybatis(持久层框架3.2.6 or 3.2.7)简单执行流程 >1.SqlMapConfig.xml(全局配置文件),配置数据源,事务和运行环境等 >2.配置映射文件(编写SQL语句):mapper.xml... >3.SqlSes...

AAASSSSddd
2016/04/02
64
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos7安装docker和docker-compose

docker-安装 yum update yum install -y docker-engine docker-compose pip install -U docker-compose...

落叶清风
3分钟前
0
0
7个Python实战项目代码,让你感受下大神是如何起飞的!

关于Python有一句名言:不要重复造轮子。 但是问题有三个: 1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。 2、确...

糖宝lsh
4分钟前
0
0
【随记】Maven 与mysql 版本(maven mysql 5.1.38用的最多)

MySQL Connector/J 我的电脑mysql版本为5.7.20-log maven pom.xml 依赖可用5.1.38 pom.xml依赖代码 $加<properties>变量名的实例代码 <properties><!-- data --><mysql-connector-ja......

颖伙虫
7分钟前
0
0
观察者模式

意图: 在对象的内部状态发生变化时,自动通知外部对象进行响应。 构成 被观察者:内部状态有可能被改变,而且又需要通知外部的对象。 观察者:需要对内部状态的改变做出响应的对象。 Java实...

noob_fly
14分钟前
0
0
设计模式之 MVC

MVC 是 模块化思想或者分层思想的实践。 当我们设计一个Web应用的时候,我们的业务流是,读取数据库中的数据,进行逻辑处理,渲染到页面;如果是交互型的页面,那么页面有输入或者事件发生的...

backbye
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部