安卓手机建设网站,线上教育,哪个网站有利于做课件,重庆好的网站制作公司系统分析师-案例分析-数据库
更多软考资料 https://ruankao.blog.csdn.net/ 文章目录 系统分析师-案例分析-数据库数据库考察知识点规范化函数依赖范式1NF2NF3NF 规范化问题不规范化反规范化设计反规范化设计同步问题 并发控制性能优化完整性约束视图安全分布式数据库特点优点…系统分析师-案例分析-数据库
更多软考资料 https://ruankao.blog.csdn.net/ 文章目录 系统分析师-案例分析-数据库数据库考察知识点规范化函数依赖范式1NF2NF3NF 规范化问题不规范化反规范化设计反规范化设计同步问题 并发控制性能优化完整性约束视图安全分布式数据库特点优点查询优化 NoSQL VS SQL类型 内存数据库云数据库 数据库考察知识点
年份知识点形式分数2018视图的基本概念与用法简答82018规范化设计简答82018事物、触发器、物化视图简答92019读写分离、主从复制,MySQL复制方式填空82019SQL和NoSQL特点比较填空82019混合数据库数据同步问题简答92020索引的副作用简答92020物理分区模式比较填空简答462020读写分离、主从复制简答62021主题数据库的设计要求和基本特征简答102021云数据库的特点简答82022两阶段提交协议(2PC)来解决服务数据的一致性问题简答72022分布式数据库服务数据的一致性问题填空82022分布式数据库发布更新数据原子性问题简答102023SQL和NoSQL特点以及比较简答82023NoSQL特点以及比较填空82023混合数据库简答9
规范化
函数依赖
给定一个X能唯一确定一个Y就成X确定Y或说Y依赖X。记X-Y。部分函数依赖(只发生在联合主键) A-CAB - C。传递函数依赖: A - B , B - C , A ! B A - C。
范式
学生表(学号课程名学生姓名学生地址(省市县)教师号教师地址成绩) (学号 - 学生姓名学号 - 学生地址(省市县)学号 - 教师号教师号 - 教师地址学号课程名 - 成绩
1NF
每一个分量必须是一个不可分的数据项即表中不允许小表。 学生表(学号课程名学生姓名学生省学生市学生县教师号教师地址成绩)
2NF
实体的非主属性完全完全依赖于主关键字即消除部分函数依赖。 学生表(学号课程名学生姓名学生省学生市学生县教师号教师地址) 成绩表(学号课程名成绩)
3NF
任何非主属性不依赖于其它非主属性。即在2NF上消除传递依赖。 学生表(学号课程名学生姓名学生省学生市学生县教师号) 教师表(教师号教师地址) 成绩表(学号课程名成绩) 就是主键可以直接决定非主键。
规范化问题
不规范化
数据冗余教师姓名列出现多次。修改异常如修改教师地址需要保证同时修改完所有行。插入异常没有学生信息的时候教师信息无法插入。删除异常学生信息清空的时候会将教师信息清空。
反规范化设计
规范化设计之后会降低查询效率。降低连接操作的需求。
增加冗余列在多个表中存在相同的列。增加派生列在表中增加本表和它表计算生产的列。重新组表把需要查看的两个表的结果保存为新表。水平分割表按行分常用于分部署数据库或者对历史数据不关心的表。垂直分割表按列分常用于分部署数据库。
反规范化设计同步问题
应用程序同步批量处理同步触发器
并发控制 ACID原子性、一致性、隔离性、持久性 引发的问题。丢失更新(A覆盖了B的修改)、不可重复读(A第一次读到的数据后B修改了数据A再次读取数据得到的值不一样)脏数据(A读到的数据是回滚前的数据) 读写(排它)锁
性能优化
提升硬件CPU 内存 IO 网络软件提升进程优先级CPU使用权内存预分配数据库设计反规范化设计、分库分表、读写分离、索引优化、SQL查询优化(减少多表和子查询)应用软件数据库连接池
完整性约束
实体完整性(主键唯一非空)、参照完整性(外键唯一或空)、用户定义完整性(用户自定义范围)
视图
视图(View)是从一个或多个表(或视图)导出的表。视图与表不同视图是一个虚表即视图所对应的数据不进行实际存储数据库中只存储视图的定义在对视图的数据进行操作时系统根据视图的定义去操作与视图相关联的基本表。
视图的优点:
视图能简化用户的操作视图机制可以使用户以不同的方式查询同一数据视图对数据库重构提供了一定程度的逻辑独立性视图可以对机密的数据提供安全保护
安全
用户标识和鉴别(密码、口令)存取控制(用户权限)密码存储用传递(加密)视图保护(用户权限)审计(记录操作)
分布式数据库
由一组数据组成的这组数据分布在计算机网络的不同计算机上网络中的每个节点具有独立处理的能力(称为场地自治)它可以执行局部应用同时每个节点也能通过网络通信子系统执行全局应用。
特点
分布性 数据物理上分布在不同位置但逻辑上属于同一个系统。共享性数据可以被网络上多个用户或系统共享。可用性系统设计能够面对硬件故障、网络问题等异常时继续提供服务。自治性系统中每个几点具有独立管理自己的数据和操作的能力。
优点
分布式数据库可以解决企业部门分散而数据需要相互联系的问题。如果企业需要增加新的相对自主的部门来扩充机构则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。分布式数据库可以满足均衡负载的需要。当企业已存在几个数据库系统而且实现全局应用的必要性增加时就可以由这些数据库自下而上构成分布式数据库系统。相等规模的分布式数据库系统在出现故障的概率上不会比集中式数据库系统低但由于其故障的影响仅限于局部数据应用因此就整个系统来说它的可靠性是比较高的。
查询优化
降低通讯为核心
全局查询树的变换:例如在做笛卡尔积之前先进行投影和选择运算。副本的选择与多副本的更新策略:多个副本存在于不同的节点如何选择。查询树的分解:对所有节点采取后续遍历法直到所有叶节点均被成功地遍历为止。半连接与直接连接等:不需要传递整个关系只要传送连接时与对方匹配的元组即可。
NoSQL VS SQL
特征SQLNoSQL并发支持支持并发、效率低并发性能高存储与查询关系表方式存储、SQL查询海量数据存储、查询效率高扩展方式向上扩展向外扩展索引方式B树、哈希等键值索引应用领域面向通用领域特定应用领域数据一致性实时一致性弱一致性数据类型结构化数据非机构化事物高事务性弱事务性水平扩展弱强数据容量有限数据海量数据
类型
类型代表典型应用场景数据模型优点缺点Key-ValueRedis、MemCache缓存、日志等Key-Value/全键值对键操作性能高(基于键的增删查改都快)可扩展性强数据无结构列式存储HBaseOLAP列簇式存储查找速度快、可扩展性强功能相对局限文档型MongoDBweb应用key-value value为结构化数据使用JSON或者XML等格式来存储数据格式灵活查询性能不高、缺乏统一语言图数据库NeoJs社交网络、推荐系统等节点和关系组成的图利用图结构的各类算法需对图整计算分布集群方案实现困难
内存数据库
内存数据库抛弃了磁盘数据管理的传统方式基于全部数据都在内存中重新设计了体系结构并且在数据缓存、快速算法、并行操作方面也进行了相应的改进所以数据处理速度比传统数据库的数据处理速度要快很多一般都在10倍以上。 特点:工作版本常驻内存活动事务只与实时内存数据库的内存拷贝打交道。 常见的内存数据库:Redis、SQLite、Mircrosoft SQLServer Compact 等。
云数据库
云数据库是指被优化并部署到云端虚拟计算环境中的数据库。可以实现按需付费、按需扩展、高可用性以及存储整合等优势。
云数据库的特点包括高并发、高性能、高可用、高可靠、存储整合、高效部署、按需扩展、按需付费、云端迁移等诸多特点。