尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

数据库 基础知识 期末考试总结

数据库 基础知识 期末考试总结 数据库基础知识期末考试总结根据老师布置的习题整理知识点可能不够全面仅供复习参考。1. 数据库的三级模式与二级映像数据库的三级模式和二级映像保证了数据的逻辑独立性与物理独立性。三级模式模式逻辑模式Schema描述数据库中全体数据的逻辑结构和特征。外模式用户模式External Schema描述数据库用户能够看到和使用的局部数据逻辑结构。内模式存储模式Internal Schema描述数据在数据库内部的物理存储结构和存取方式。二级映像外模式模式映像当模式发生变化时通过调整该映像使外模式尽量保持不变从而保证数据的逻辑独立性。模式内模式映像当内模式发生变化时通过调整该映像使模式尽量保持不变从而保证数据的物理独立性。数据独立性逻辑独立性用户应用程序与数据库的逻辑结构相互独立。物理独立性用户应用程序与数据库中数据的物理存储方式相互独立。2.ALTER、MODIFY与UPDATEALTER TABLE修改表结构。MODIFY某些数据库管理系统中ALTER TABLE的子句用于修改列的数据类型、长度等属性。UPDATE修改数据库中已有记录的数据内容不改变表结构。不同 DBMS 的具体语法可能不同。例如MySQL 支持ALTER TABLE ... MODIFY ...SQL Server 通常使用ALTER TABLE ... ALTER COLUMN ...。3. 触发器Trigger触发器是用户定义在关系表上的一类由事件驱动的特殊过程也称为事件—条件—动作规则。通俗示例存在关系 A 和关系 B。当对 A 执行插入、删除或修改操作时要求自动改变 B 中的特定记录此时可以定义触发器完成该操作。需要掌握定义触发器激活触发器删除触发器。4. 候选码、主码、公共关键字与外码元组Tuple关系表中的一行即数据库中的一条记录。属性Attribute关系表中的一列。候选码Candidate Key若关系中某一属性组的值能够唯一标识一个元组并且其任何真子集都不能唯一标识元组则该属性组称为候选码。主码或主键Primary Key若一个关系存在多个候选码从中选定一个作为主码。公共关键字Common Key两个关系中相容或相同、用于表示关系间联系的属性或属性组。外码或外键Foreign Key关系中的一个属性或属性组其值引用另一个关系的候选码通常是主码。被引用的关系称为主表包含外码的关系称为从表。5. 关系模型的完整性约束关系模型中有三类完整性约束实体完整性Entity Integrity主码的任何属性都不能取空值主码值必须唯一。参照完整性Referential Integrity外码值必须为空或者等于被引用关系中某个候选码的值。用户定义的完整性User-defined Integrity根据具体应用环境和业务需求定义的约束条件。6. 关系模型的常用操作关系模型中的常用操作包括查询Query插入Insert删除Delete修改Update。7. 数据库设计的六个阶段数据库设计通常分为以下六个阶段需求分析通过调查、收集和分析确定用户对数据库的需求。概念结构设计将用户需求抽象为信息结构常用工具是 E-R 模型。逻辑结构设计将 E-R 图等概念模型转换为所选 DBMS 支持的逻辑数据模型。物理结构设计为给定的逻辑数据模型选择满足应用需求的物理结构和存取方法。数据库实施建立数据库、编写并调试应用程序、组织数据入库并试运行。数据库运行和维护数据库投入运行后的监控、评价、调整、备份和维护。8. 数据库系统的特点数据结构化数据共享性高数据冗余度低数据易于扩充数据独立性高数据由数据库管理系统DBMS统一管理和控制。9. 数据库类型的划分数据库可以按照所采用的数据模型划分类型如层次数据库、网状数据库、关系数据库等。10.BETWEEN ... AND ...谓词BETWEEN ... AND ...和NOT BETWEEN ... AND ...用于查找属性值位于或不位于指定范围内的元组。通常包含上下边界。例如WHEREageBETWEEN20AND25表示年龄在 20 至 25 之间包括 20 和 25。11.WITH GRANT OPTIONWITH GRANT OPTION表示权限可传递。用户获得权限后可以将该权限授予其他用户。12.CASCADE级联操作例如数据库记录员工及其工作信息。员工离职并删除员工记录后要求自动删除对应的工作信息可以在工作信息表的外码约束中定义ONDELETECASCADE13. DBS、DB 与 DBMSDBDatabase数据库。DBMSDatabase Management System数据库管理系统。DBSDatabase System数据库系统通常由数据库、DBMS、应用程序、数据库管理员和用户等组成。14. 空值NULL的判断判断空值应使用ISNULL或ISNOTNULL不能使用 NULL或 NULL判断。15. 聚集函数COUNT(*)COUNT(*)统计结果中的元组数不因某些属性为NULL而忽略该元组。COUNT(column)只统计该列中非NULL的值。16. 数据不一致与数据冗余数据冗余是产生数据不一致的重要根源。同一事实被重复存储时如果更新不完整多个副本之间就可能出现矛盾。17. 事务、故障与恢复操作事务事务是用户定义的一个数据库操作序列这些操作要么全部完成要么全部不完成是一个不可分割的工作单位。事务具有四个基本特性即 ACID原子性Atomicity一致性Consistency隔离性Isolation持久性Durability。数据库系统中的故障事务故障事务未达到预期终点可能由事务自身发现也可能由程序无法处理的非预期错误导致。系统故障系统停止运行并需要重新启动又称软故障Soft Crash。例如 CPU 故障、操作系统故障、DBMS 错误或系统断电。介质故障外存设备发生故障又称硬故障Hard Crash。例如磁盘损坏、磁头碰撞或强磁场干扰。常见操作COMMIT提交事务的全部操作。ROLLBACK事务发生故障或主动终止时撤销事务已完成的操作使数据库回到事务开始前的状态。UNDO恢复系统撤销未完成事务已经执行的修改。REDO恢复系统重新执行已提交事务的更新确保其结果真正写入数据库。18. 故障对数据库的影响故障可能产生以下影响事务本身被破坏数据库物理结构未被破坏但由于事务异常终止数据可能处于不正确或不一致状态。19. 数据库恢复的基本原理数据库恢复的基本原理是利用冗余。系统通过额外保存的数据副本或操作记录在故障发生后重建正确状态。20. 建立冗余数据的常用技术建立冗余数据最常用的技术包括数据转储Backup/Dump登记日志文件Logging。21. 检查点Checkpoint检查点技术通常包括在日志文件中增加检查点记录建立重新开始文件由恢复子系统动态维护相关恢复信息。检查点能够缩小故障恢复时需要扫描和处理的日志范围提高恢复效率。22. 并发控制与数据不一致事务是并发控制的基本单位。并发操作可能带来以下问题丢失修改Lost Update事务 T1 和 T2 读取同一数据并分别修改其中一个事务提交的结果覆盖另一个事务已经提交的结果。不可重复读Non-repeatable Read事务 T1 读取数据后事务 T2 修改并提交该数据导致 T1 再次读取时得到不同结果。广义教材表述中还可能包括T2 修改记录T1 再次读取时值发生变化T2 删除记录T1 按相同条件再次读取时记录消失T2 插入记录T1 按相同条件再次查询时记录增加。此类插入导致的现象通常称为幻读Phantom Read。读脏数据Dirty Read事务 T1 修改某一数据但尚未提交事务 T2 读取了该数据。随后 T1 被撤销数据恢复原值此时 T2 读到的就是无效的脏数据。23. 并发控制机制并发控制机制使用正确方式调度并发操作使一个事务的执行尽量不受其他事务的不当干扰。主要技术包括封锁Locking时间戳Timestamp乐观并发控制Optimistic Concurrency Control多版本并发控制Multi-Version Concurrency ControlMVCC。24. 封锁类型排他锁Exclusive LockX 锁排他锁又称写锁。若事务 T 对对象 A 加 X 锁则 T 可以读取和修改 A其他事务不能再对 A 加任何类型的锁。共享锁Shared LockS 锁共享锁又称读锁。若事务 T 对对象 A 加 S 锁则 T 可以读取 A但不能修改 A。其他事务可以继续对 A 加 S 锁但不能加 X 锁直至已有 S 锁被释放。25. 三级封锁协议一级封锁协议事务 T 修改数据 R 前必须对 R 加 X 锁并保持到事务结束。可防止丢失修改。二级封锁协议在一级封锁协议基础上事务 T 读取数据 R 前必须加 S 锁读取完成后即可释放。可防止丢失修改和读脏数据。三级封锁协议在一级封锁协议基础上事务 T 读取数据 R 前必须加 S 锁并保持到事务结束。可防止丢失修改、读脏数据和不可重复读。26. 死锁死锁是指两个或多个事务相互等待对方已经占有的资源形成循环等待导致事务无法继续执行。主要处理方法死锁预防死锁检测诊断与解除。27. 可串行化调度与两段锁协议可串行调度Serializable Schedule多个事务并发执行的结果与这些事务按某一种顺序串行执行的结果相同。可串行性Serializability判断并发事务调度是否正确的重要准则。冲突可串行化是可串行化的充分条件但不是必要条件。事务遵守两段锁协议是产生冲突可串行化调度的充分条件但不是可串行化的必要条件。28. 两段锁协议与可串行化如果所有事务都遵守两段锁协议则其并发调度具有冲突可串行化性质。两段锁协议将事务分为增长阶段只能申请锁不能释放锁缩减阶段只能释放锁不能再申请锁。29. 具有检查点的恢复技术使用日志进行数据库恢复时恢复子系统需要确定哪些事务应当重做哪些事务应当撤销。如果每次都扫描全部日志会产生两个问题搜索整个日志耗费大量时间某些已提交事务的修改已经写入数据库却仍可能被重复执行造成不必要的开销。检查点技术在日志中增加检查点记录并维护重新开始所需的信息。恢复子系统定期或不定期建立检查点记录相关数据库状态。发生故障后可从适当的检查点附近开始分析日志从而提高恢复效率。30. 死锁预防的优缺点及 DBMS 的常用处理方式优点可以从机制上防止死锁发生。缺点数据和资源需求具有动态性预先控制较困难可能限制系统并行性可能造成资源利用率下降。实际 DBMS 通常采用死锁检测与解除机制。并发控制子系统检测到死锁后选择一个回滚代价较小的事务作为牺牲事务撤销该事务并释放其持有的锁使其他事务继续运行。31. 数据模型与 E-R 模型数据模型数据模型是对现实世界数据特征的抽象用于描述数据、组织数据以及定义对数据的操作是数据库系统的核心和基础。根据用途数据模型通常可以分为概念模型逻辑模型物理模型。人们通常先将现实世界抽象为信息世界再将信息世界转换为机器世界中的数据结构。E-R 模型最常用的概念模型是实体—联系方法Entity-Relationship Approach简称 E-R 模型。实体之间的联系可以包括一对一1:1一对多1:n多对多m:n。这些联系可以存在于两个实体型之间、多个实体型之间也可以存在于同一实体型内部。E-R 图的基本表示方法实体型矩形属性椭圆形联系菱形。绘制时可先确定实体及其属性再列出实体之间的联系及其基数最后形成完整 E-R 图。关系模型关系可以分为基本关系基本表或基表查询表视图表。关系模型要求关系满足规范化条件其中最基本的要求是关系中的每个分量必须是不可再分的数据项。关系的描述称为关系模式Relation Schema可形式化表示为R(U, D, DOM, F)E-R 模型向关系模型的转换1:1 联系可以在任一端关系中加入另一端的主码和联系自身的属性通常根据参与约束和应用需求选择。1:n 联系在 n 端关系中加入 1 端关系的主码作为外码并加入联系自身的属性。m:n 联系为联系单独建立关系其中加入两端实体的主码作为外码并加入联系自身的属性通常两端主码的组合构成该关系的候选码。32. 函数依赖设R(U)是属性集 U 上的关系模式X、Y 是 U 的子集。若对R(U)的任意可能关系 rr 中任意两个元组只要在 X 上的属性值相等在 Y 上的属性值也必然相等则称X 函数确定 Y或Y 函数依赖于 X记作X → Y非平凡函数依赖若X → Y但Y ⊄ X则称X → Y为非平凡函数依赖。平凡函数依赖若X → Y且Y ⊆ X则称X → Y为平凡函数依赖。完全函数依赖若X → Y并且对 X 的任意真子集 X′ 都有X′ ↛ Y则称 Y 完全函数依赖于 X。部分函数依赖若X → Y但 Y 不完全函数依赖于 X即存在 X 的某个真子集 X′ 满足X′ → Y则称 Y 部分函数依赖于 X。传递函数依赖在关系模式R(U)中若X → Y、Y → Z且 Y 不能函数确定 X同时 Z 不直接属于 Y则称 Z 对 X 存在传递函数依赖。33. 规范化与范式基本概念主属性包含在任何一个候选码中的属性。非主属性不包含在任何候选码中的属性。规范化Normalization通过模式分解将低一级范式的关系模式转换为若干个高一级范式关系模式的过程。第一范式1NF关系中的每个属性值都是不可再分的原子值。第二范式2NF关系模式属于 1NF并且每个非主属性都完全函数依赖于每个候选码即不存在非主属性对候选码的部分函数依赖。如果所有候选码都只包含一个属性则不会出现对候选码的部分函数依赖因此该关系模式在满足 1NF 的前提下满足 2NF。第三范式3NF关系模式属于 2NF并消除了非主属性对候选码的传递函数依赖。更形式化地说对每个非平凡函数依赖X → AX 是超码或者 A 是主属性。BCNF对关系模式中的每个非平凡函数依赖X → Y决定因素 X 都必须是超码。BCNF 的条件通常比 3NF 更严格。34. 码的基本概念候选码Candidate Key能够唯一标识元组并且不存在具有该能力的真子集的属性组。主码Primary Key从多个候选码中选定的一个候选码。主属性Prime Attribute包含在任何一个候选码中的属性。非主属性Non-prime Attribute不包含在任何候选码中的属性。全码All-key关系模式的全部属性共同构成候选码。35. 关系代数关系代数是一种抽象查询语言通过对关系进行运算表示查询。按照运算符类型可以分为传统集合运算和专门关系运算。传统集合运算并Union差Difference/Except交Intersection笛卡尔积Cartesian Product。专门关系运算选择Selection从关系 R 中选择满足给定条件的元组。投影Projection从关系 R 中选择若干属性列组成新关系。连接Join从两个关系的笛卡尔积中选取属性间满足给定条件的元组。等值连接Equijoin从关系 R 与 S 的笛卡尔积中选取指定属性值相等的元组。自然连接Natural Join一种特殊的等值连接对同名属性进行比较并在结果中去除重复的同名属性列。除运算Division设T R ÷ ST 包含 R 中不属于 S 的属性。T 中每个元组与 S 中全部元组的组合都必须出现在 R 中。36. 创建存储过程存储过程是保存在数据库中的、经过预编译的 SQL 语句和控制语句集合可以被调用执行并支持变量、参数和流程控制等功能。以下是 SQL Server 风格的示例CREATEPROCEDUREusp_useridINT,nameVARCHAR(50)N小白,cntINTOUTPUTASBEGINSELECT*FROM[user]WHEREidid;END;GO说明PROCEDURE可以简写为PROC多个参数之间使用逗号分隔参数后添加OUTPUT表示该参数可用于返回值具体语法因 DBMS 而异。37. 内连接与外连接内连接INNER JOIN查询两张表中满足连接条件的匹配数据。左外连接LEFT JOIN保留左表的全部记录右表没有匹配项时右表对应列为NULL。右外连接RIGHT JOIN保留右表的全部记录左表没有匹配项时左表对应列为NULL。若需要查找“仅存在于一张表而不存在于另一张表”的记录通常需要外连接配合IS NULL条件。例如SELECTA.*FROMALEFTJOINBONA.idB.idWHEREB.idISNULL;38. 建立视图基本语法CREATEVIEW视图名称ASSELECT...WITHCHECKOPTION;WITH CHECK OPTION用于限制通过视图执行的插入或更新使修改后的记录仍然满足视图的查询条件。–
返回列表