课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库架构开发技术的学习与应用是每一位软件编程开发程序员都应该熟练掌握的一个编程知识点,下面我们就通过案例分析来简单了解一下,数据库基础概念分享。
1、MVCC
多版本并发控制(Multi-VersionConcurrencyControl,MVCC),MVCC在数据表中每行记录后面都保存有两个隐藏的列,用来存储更新信息的事务号:DB_TRX_ID和一个回滚指针:DB_ROLL_PTR(指向该行数据上一次修改前的数据,存储在undolog中)。
系统版本号:每开始一个新的事务,系统版本号就会自动递增)。(更新包括增删改)
更新事务号:更新一个数据行时的事务版本号(事务版本号:事务开始时的系统版本号。)
各种操作具体实现:
插入操作时,记录创建版本号。
删除操作时,记录删除版本号。
更新操作时,先记录删除版本号,再新增一行记录创建版本号。
查询操作时,要符合以下条件才能被查询出来:删除的版本号未定义或大于当前事务版本号(删除操作是在当前事务启动之后做的)。创建的版本号小于或等于当前事务版本号(创建操作是事务完成或者在事务启动之前完成)
通过版本号减少了锁的争用,提高了系统性能。可以实现提交读和可重复读两种隔离级别,未提交读级别无需使用MVCC。
快照读:使用MVCC读取的是快照中的数据,这样可以减少加锁带来的开销。
当前读:读取的是新的数据,需要加锁。
2、数据库中的基本概念
主键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能标识一条记录,该属性组就可以成为一个主键(一张表只有一个,不允许重复,不允许为空)。
外键:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键(一张表可以有多个,可以有重复的,可以是空值)。
元组:可以理解为数据表的某一行属性:可以理解为数据表的某一列,属性名就是列的字段。
候选码:某一属性组能标识一个元组而其子集不能,则称该属性组为候选码。若有多个候选码,选择其中一个为主码。
主属性:候选码包含的属性(一个或多个)。
非主属性:顾名思义,就是候选码不包括的属性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。