数据库笔记

数据模型:

层次模型:采用的是树(二叉树)的结构来表达实体和实体间联系

网状模型:采用的是的结构来表达实体和实体间联系

对象模型:采用的面向对象的思想,用对象和其之间的联系来表达实体和实体间联系

关系模型:采用的是二维表

特性:

原子性:事务是一个不可分割的整体,为了保证事务的总体目标,事务必须具有原子性,即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成,避免了只执行这些操作的一部分而带来的错误。原子性要求失误必须被完整执行。 (回滚)

一致性:一个事务执行之前和之后,数据库数据必须要保持一致性状态。数据库的一致性状态应该满足模式锁指定的约束,那么在完整执行该事务后数据库仍然处于一致性的状态。为了维护所有数据的完整性,在关系型数据库中,所有规则必须应用到事务的修改上。数据库的一致性状态由用户来负责,由并发控制机制实现。例如银行转账,转账前后两个账户金额之和应保持不变。由此并发操作带来的数据不一致性包括丢失数据修改、读脏数据。不可重复读、产生‘幽灵’数据。

隔离性:隔离性也被成为独立性,当两个或多个事务并发执行时,为了保证数据的安全性,将一个事物内部的操作与事务的操作隔离起来,不被其他正在执行的事务看到。

持久性:持久性也被成为永久性,事务完成之后,DBMS保证它对数据库中的数据的修改是永久性的,当系统或介质发生故障时,该修改也永久保持。持久性一般通过数据库备份与恢复来保证。

独立性:

在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。

数据独立性分成物理数据独立性和逻辑数据独立性两级。

物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。

数据库系统的数据独立性包括数据存储结构与数据逻辑结构的变化两方面

数据的变化而影响应用程序并不能真正反映数据库系统的数据独立性

性能分析:

explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。

explain语法:explain select … from … [where ...] 例如:explain select * from news;

SQL顺序:

select语句完整语法如下:

  1. select 目标表的列名或列表达式序列

  1. from 基本表名和(或)视图序列

  1. [where 行条件表达式]

  1. [group by 列名序列 [having 组条件表达式]]

  1. [order by 列名 [asc | desc]]

写法顺序:select--from--where--group by--having--order by

执行顺序:from--where--group by--having--select--order by

就是select要放后面,如果有order by,则order by放最后,因为order by 是对结果进行排序

故障:

(1)事务内部的故障:事务内部故障可分为预期的和非预期的,其中大部分的故障都是非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等

(2)系统故障:系统故障也称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要系统重新启动的一类故障。这类事务不破坏数据库,但是影响正在运行的所有事务

(3)介质故障:介质故障也称为硬故障,主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障

(4)计算机病毒故障:计算机病毒故障是一种恶意的计算机程序,它可以像病毒一样繁殖和传播,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏(破坏方式以数据库文件为主)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值