文档章节

数据库初探(二)

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、使用游标索引等技术来提高查询效率

© 著作权归作者所有

共有 人打赏支持
下一篇: JVM运行机制
f
粉丝 5
博文 117
码字总数 34138
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

并发+超时示例

func installMantisAgent() {log.Println("begin auto repair mantis agent")num := 0succNum := 0failNum := 0var Q *queue.Queueswitch g.Config().RepairType {ca......

我爱吃葱花
9分钟前
0
0
增加一列自增id

ALTER TABLE xxxx ADD iSiteId INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;

colin_86
19分钟前
2
0
开发函数计算的正确姿势 —— 爬虫

在 《函数计算本地运行与调试 - Fun Local 基本用法》 中,我们介绍了利用 Fun Local 本地运行、调试函数的方法。但如果仅仅这样简单的介绍,并不能展现 Fun Local 对函数计算开发的巨大效率...

阿里云官方博客
23分钟前
0
0
安卓代码混淆

Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。 proguard的作用 : 1,代码混淆 2,精简代码,删掉没有用到的代码,减小apk的体积。 使用场景...

whoisliang
28分钟前
1
0
配置Tomcat虚拟主机

12月13日任务 16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 配置tomcat监听80端口 默认tomcat监听的是8080端口,如果想直接输入ip就访问到网页,就需要进行...

robertt15
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部