数据库关键点

如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除

锁 是在多用户环境中对数据访问的限制封锁就是事务 T 在对某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁。
加锁后事务 T 就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。
(锁蕴含的基本概念是用户需要对表的排它访问)?
从程序员的角度看:分为乐观锁和悲观锁。
乐观锁:完全依靠数据库来管理锁的工作。
悲观锁:程序员自己管理数据或对象上的锁处理。

子查询:一个 select 语句嵌套在另一个 select 语句中。

—索引—是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,
然后根据指定的排序次序排列这些指针

—优点提高查询执行的速度。
强制实施数据的唯一性。
提高表之间联接的速度。
缺点 存储索引要占用磁盘空间。
数据修改需要更长的时间,因为索引也要更新。

视图是一种虚拟表,通常是作为来自一个或多个表 的行或列的子集创建的。

视图本质上讲,就是保存在数据库中的select查询
视图并不是数据库中存储的数据值的集合。
1、对最终用户的好处
2、结果更容易理解
3、获得数据更容易


对开发人员的好处
1、限制数据检索更容易
2、维护应用程序更方便


存储过程使用一个名称存储的预编译T-SQL语句和流程控制语句的集合

1、由数据库开发人员或数据库管理员编写

2、用来执行管理任务或应用复杂的业务规则

优点:1、执行速度更快。首次运行时,进行优化和编译得到执行计划并将该计划存储在系统表中,以后直接运行。
2、实现多个程序共享应用程序逻辑
3、组件式编程
4、能够屏蔽数据库的结构,实现更高的安全性
5、减少网络流通量


数据库设计和建模必要性?
好的数据库结构有利于:
-节省数据的存储空间
-能够保证数据的完整性
-方便进行数据库应用系统的开发?

设计不好的数据库结构将导致-数据冗余、存储空间浪费-内存空间浪费

不管数据库的大小和复杂程度如何,可以用下列基本步骤来设计数据库:
–收集信息
–标识对象
–设计数据模型
–标识每个对象 存储的信息类型
–标识对象之间的关系

?数据模型是一种标识实体类型及其实体间联系的模型。
典型的数据模型由网状模型、层次模型和关系模型。
什么是规范化从关系数据库的表中,除去冗余数据的过程称为规范化。
—精简数据库的结构
—从表中删除冗余的列
—标识所有依赖于其它数据的数据

三级范式第一范式的定义:
如果一个表中没有重复组(即行与列的交叉点上只有一个值,而不是一组值),则这个表属于第一范式(常记成1NF):
简而言之:"每一字段只存储一个值"。例如:职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码)

第二范式的定义:如果一个表属于1NF,任何属性只依赖于关键字,则这个表属于第二范式(常记成2NF )。简而言之:必须先符合1NF的条件,且每一行都能被唯一的识别。

将1NF转换成2NF的方法是添加主键。学号,课程名,成绩

第三范式的定义:如果一个表属于2NF,且不包含传递依赖性,则这个表是第三范式(常记成3NF)。
满足3NF的表中不包含传递依赖。简而言之:没有一个非关键属性依赖于另一个非关键属性。
学号,课程号,成绩,学分学号,姓名,所在系,系名称,系地址
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值