2018-06-30 第五十五天 oracle

简介:

一、分页查询

--rowid :对应着数据库中的一条记录,是当一条记录被写入数据库的时候,由数据库管理系统生成。数据库系统自己来维护。

 

select * from emp where rowid='AAAE51AAEAAAAHLAAA'

 

--rownum  被称为 伪列。不是数据库中存在 的一个字段值。而是根据查询到的结果,添加上的一个逻辑顺序编号。

select rownum,e.* from emp e

--显式查询的前5条数据

select rownum,e.* from emp e where rownum <=5

 

--查询6-10条的数据  rownum 永远是从1开始,第一条满足条件的数据 rownum 的值是1.  不能使用 >=  

select rownum,e.* from emp e where rownum >= 6 and rownum <=10

 

--查询工资从高到低的前5条数据

select * from emp order by sal desc

---添加rownum

select e.* from emp e order by sal desc

--使用子查询

select rownum,T.* 

from (select e.* from emp e order by sal desc) T

where rownum <=5

 

--查询6-10--通用的公式

select rownum,T2.* from

(select rownum R,T.* 

from (select e.* from emp e order by sal desc) T

where rownum <=15--page*count

) T2 where T2.R >10--page-1*count

 

--count 变量代表一页显式的条数

--page 当前是第几页

 

二、三大范式

 

 

优点:结构合理、冗余较小、尽量避免插入删除修改异常。

 

缺点:性能降低、多表查询比单表查询速度慢。

 

数据库的设计应该根据当前情况和需求做出灵活的处理。

在实际设计中,要整体遵循范式理论。

如果在某些特定的情况下还死死遵循范式也是不可取的,因为可能降低数据库的效率,此时可以适当增加冗余而提高性能。

 

第一范式:字段不能再分。

第二范式:不存在局部依赖(联合主键)。

第三范式:不含传递依赖(不含间接依赖)。

 

使用范式可以减少冗余,但是会降低性能

 

特定表的的设计可以违反第三范式,增加冗余提高性能。

 

数据库表之间的关系:

一对一:学生和学生证

一对多:学生和班级

多对多:学生和课程

 

如何表示数据库表之间的关系?

使用外键

 

数据库外键关系表示的其实是一种一对多关系

一对一:外键+唯一

多对多:引入中间表,把一个多对多表示为两个一对多

 

目录
相关文章
|
存储 负载均衡 NoSQL
MongoDB·最佳实践·count不准原因分析
背景 一般来说,除了由于secondary延迟可能造成查询secondary节点数据不准以外,关于count的准确性问题,在MongoDB4.0官方文档中有这么一段话On a sharded cluster, db.
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能技术的探讨
人工智能的概念,人工智能的发展,人工智能的各种学派,人工智能的应用领域
387 4
|
11月前
|
数据安全/隐私保护
PHP-Casbin 中 ABAC 的使用方法
PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。
166 0
|
12月前
|
机器学习/深度学习 存储 人工智能
《迁移学习与联邦学习:推动人工智能发展的关键力量》
在人工智能发展中,迁移学习和联邦学习成为重要技术。迁移学习通过跨任务知识迁移,加速新任务学习,节省资源并解决数据稀缺问题;联邦学习则以分布式方式实现联合学习,保护数据隐私,促进多方合作。两者在提升模型性能、保障数据安全及推动AI创新方面发挥关键作用,为AI发展带来新机遇。
278 8
|
ARouter 测试技术 开发工具
面试中如何回答关于组件化的问题?
本文介绍了Android面试中常见的组件化问题及其解答,涵盖组件化的概念、实现方法、优势与挑战等内容。通过详细解析,帮助你更好地理解组件化的核心要点。
185 7
面试中如何回答关于组件化的问题?
|
XML 前端开发 小程序
用Prompt技巧激发无限创意
本文深入探讨当前最前沿的prompt engineering方案,结合OpenAI、Anthropic和Google等大模型公司的资料,以及开源社区中宝贵的prompt技巧分享,全面解析这一领域的实践策略。
623 13
|
缓存
webpack 打包多页面应用
webpack 打包多页面应用
163 2
IndexedDB-增增删改查示例
IndexedDB-增增删改查示例
293 5
|
存储 SQL Go
全网最长的sql server巡检脚本分享(1000行)
全网最长的sql server巡检脚本分享(1000行)
424 1
|
SQL OLAP 数据库
OceanBase怎么样
【8月更文挑战第9天】OceanBase怎么样
368 4