2020-07-17SQL刷题笔记二

2020-07-17  本文已影响0人  _笑口常开

group by 用来分组数据, where 用来过滤数据

数据库范式

范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。
数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。
一般在我们设计关系型数据库的时候,最多考虑到BCNF就够。
符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。

  • 1NF:每个关系r的属性值为不可分的原子值,1NF是所有关系型数据库的最基本要求。
  • 2NF:满足1NF,非主属性完全函数依赖于候选键(左部不可约)
  • 3NF:满足2NF,消除非主属性对候选键的传递依赖
  • BCNF:满足3NF,消除每一属性对候选键的传递依赖

数据库系统的特点:

数据库管理系统DBMS 提供以下几方面的数据控制功能:

本地管理表空间和字典管理表空间的特点

  1. 本地管理表空间:
  1. 字典管理表空间:

显然,本地管理表空间这种方式更优。

JDBC PreparedStatement 缺点及解决办法:

不能直接用它来执行in条件语句

  • 分别进行单条查询——这样做性能很差,不推荐。
  • 使用存储过程——这取决于数据库的实现,不是所有数据库都支持。
  • 动态生成PreparedStatement——这是个好办法,但是不能享受PreparedStatement的缓存带来的好处了。
  • 在PreparedStatement查询中使用NULL值——如果你知道输入变量的最大个数的话,这是个不错的办法,扩展一下还可以支持无限参数。

MYSQL 日志的分类

MYSQL主从复制

基于日志 bin-log
基于全局事务标识符 GTID

  • master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
  • slave将master的binary log events拷贝到它的中继日志(relay log)
  • slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
上一篇下一篇

猜你喜欢

热点阅读