For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
数据库架构开发是大多数Java程序员在开发软件的时候都会用到的一个编程开发技术,而本文我们就通过案例分析来讲简单了解一下,数据库开发应用基础知识分享。
1、数据库的乐观锁和悲观锁是什么?
确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性,乐观锁和悲观锁是并发控制主要采用的技术手段。
悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作
在查询完数据的时候就把事务锁起来,直到提交事务
实现方式:使用数据库中的锁机制
乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。
在修改数据的时候把事务锁起来,通过version的方式来进行锁定
实现方式:使用version版本或者时间戳
2、超键、候选键、主键、外键分别是什么?
超键:在关系中能标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。
候选键(候选码):是小超键,即没有冗余元素的超键。
主键(主码):数据库表中对储存数据对象予以和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
外键:在一个表中存在的另一个表的主键称此表的外键。
候选码和主码:
例子:邮寄地址(城市名,街道名,邮政编码,单位名,收件人)
它有两个候选键:{城市名,街道名}和{街道名,邮政编码}
如果我选取{城市名,街道名}作为标识实体的属性,那么{城市名,街道名}就是主码(主键)
3、SQL约束有哪几种?
NOTNULL:用于控制字段的内容一定不能为空(NULL)。
UNIQUE:控件字段内容不能重复,一个表允许有多个Unique约束。
PRIMARYKEY:也是用于控件字段内容不能重复,但它在一个表只允许出现一个。
FOREIGNKEY:用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK:用于控制字段的值范围。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。