最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
复制透明: 采用复制技术的分布方法,用户不需要知道数据是复制到那些节点,如何复制的。
位置透明: 用户无需知道数据存储的物理位置。
逻辑透明: 局部数据模型透明,用户或应用程序无需知道局部场地使用的是那种数据模型。
数据库完整性约束:
实体完整性约束: 使用数据库时,给数据表定义主键,约束的是主键(主键不能为空,不能重复)
参照完整性: 对外键的完整性约束
用户自定义完整性: 用户自定义约束。
触发器: 可以写脚本来约束数据库的数据的要求。
例题:
答案:C,4个,A、B、C各一个关系模式,中间的联系一个关系模式
关系代数: 并、交、差、笛卡尔积(×)、投影(Π)、选择(σ)、连接(∞)
函数依赖:
部分函数依赖: (A / B)主键中的一个就可以确定C字段的值。
传递函数依赖,知道A可以确定B,知道B可以确定C,但是B不能确定A。
价值与用途:
求候选关键字:
例题:
答案:A、 ABCD、B
范式:
第一范式(1NF): 属性不可拆分或无重复的列。
第二范式(2NF): 完全函数依赖。在一个关系中,若某非主属性数据项依赖全部关键字称之为完全函数依赖。
第三范式(3NF): 消除传递依赖。不依赖与其它非主属性。满足第三范式之前需要先满足第二范式,数据库中的属性依赖仅能依赖与主属性,不存在其它非主属性的关联。
BC范式(BCNF): 所有非主属性对每一个码都是完全函数依赖;所有主属性对于每一个不包含它的码,也是完全函数依赖;没有任何属性完全函数依赖于非码的任意组合。
第四范式(4NF): 对于每一个X->Y,X都能找到一个候选码。
范式在等级不断提高的同时,规范化程度越来越高,更有可能解决插入异常、删除异常、数据冗余。
例题:
答案:C、D、A
当范式级别不够时,主要采取的策略是将模式进行拆分,拆分下来之后,它的级别就上去了。
无损分解:拆分后可还原
a代表当前的关系模式拥有当前这个属性,b则当表不拥有这个属性。
R1∩R2 -> (R1 - R2) / R1∩R2 -> (R2 - R1) 其中一个在原来的依赖关系中有,则为无损分解。
反规范化:
ACID准则:
A(Atomicty)原子性: 事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
C(Consistency)一致性: 事务前后数据的完整性必须保持一致。
I(Isolation)独立性: 多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
D(Durability)持久性: 一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
为了保护数据库中数据安全可靠和正确有效,数据库管理系统DBMS提供数据库恢复、并发控制、数据完整性保护与数据安全性保护等功能。
数据存储与恢复:
定期将数据进行备份;再进行事务处理时,将数据更新的相关内容写入日志文件,当系统正常运行时,按一定时间间隔设定检查点文件,把内存缓冲区内容还未写入到磁盘中的数据记录到检查点文件中;当发生故障时,根据现场数据内容、日志文件的故障前映像和检查点文件来恢复系统的状态。
最后
给大家送一个小福利
附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。
9)]