十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

软件设计师备考笔记【day3】-数据库

软件设计师备考笔记【day3】-数据库 一数据库模型1三级模式两级映像1三级模式外模式面向普通用户 / 应用程序的局部视图概念模式模式数据库整体逻辑结构唯一、全局描述整张数据库所有实体、关系、属性内模式数据库物理存储结构描述数据在硬盘上的存储方式、索引、文件结构最底层面向硬件存储2两级映像模式/内模式映像保证物理独立性外模式/模式映像保证逻辑独立性2E-R 模型实体用矩形表示每个实体由一组属性来表示。联系用菱形表示一对一(1:1)、一对多(1:n)、多对多(m:n)。3属性用椭圆表示是实体某方面的特性3数据库设计概念结构设计E-R 模型业务实体与联系逻辑结构设计关系模式、数据表、范式、主外键物理结构设计存储结构、索引、物理存取方案二数据库操作1关系模型的完整性规则1 实体完整性主码主键的主属性不能为空、不能重复2参照完整性外键的值必须存在3用户定义完整性满足用户要求2关系五大基本运算选择 σ选行投影 π选列笛卡尔积两张表全组合连接条件匹配拼接除运算用于包含查询三SQL语句DDL 数据定义create、alter、drop 库、表、索引、视图DML 数据操作insert、update、deleteDQL数据查询selectDCL 数据控制grant 授权、revoke 回收权限视图索引四数据库范式1依赖的分类1部分函数依赖主键为复合主键时非主属性仅依赖主键其中一部分不依赖完整主键只要主键里的某一小部分就能单独决定 Y不需要整个主键。案列主键(学号课程号)学生姓名 → 只靠【学号】就能确定不需要课程号姓名部分依赖于 (学号课程号)2完全函数依赖非主属性必须依赖完整复合主键缺少任意一个主键字段无法确定必须整个主键一起才能决定 Y少一个都不行案列主键(学号课程号)成绩 依赖于 (学号 课程号)只知道学号 → 查不出某一门课成绩只知道课程号 → 不知道是谁的成绩成绩 完全依赖于 (学号课程号)3直接依赖A - B(A是主键B直接由A决定)4传递依赖A - B - C(A是主键B依赖于A而C又依赖于B导致C间接依赖于A)2范式基本概念候选码是一个或多个属性的集合它能够唯一地、最小地标识表中的每一行数据。主属性出现在候选码里的字段一个表就一个主码非主属性不在候选码里的字段特性候选码主码数量一个表可以有多个一个表只能有一个来源根据数据本身的特性确定从候选码中人为选定作用所有能唯一标识记录的“备选人”被选中的、用于实际操作的“负责人”关系主码的“候选池”候选码的“最终代表”假设有一个学生表包含以下字段学号、身份证号、姓名、手机号。学号可以唯一确定一个学生且没有多余属性所以它是一个候选码。身份证号同样可以唯一确定一个学生它也是一个候选码。手机号如果规定每个学生的手机号也必须唯一那么它也是一个候选码。(姓名, 手机号)虽然这个组合也能唯一确定一个学生但它不是候选码。因为单独的手机号已经足够了姓名在这里是多余的不满足“最小性”。我们有学号、身份证号、手机号三个候选码。设计者通常会选择学号作为主码因为它简短、稳定且是业务上的自然标识3判定候选码类型特征说明L 类只出现在依赖箭头左边→的左边从未出现在右边这类属性一定是候选码的一部分R 类只出现在依赖箭头右边→的右边从未出现在左边这类属性一定不是候选码的一部分N 类既不在左边也不在右边这类属性一定是候选码的一部分LR 类既在左边也在右边可能是候选码的一部分需要验证4范式11NF列字段具有原子性所有字段不可再拆分不能一列存多个数据。22NF每一个非主属性完全依赖于任何一个候选码不能存在部分函数依赖33NF所有非主属性既无部分依赖也无传递依赖于候选码。普通字段只能直接依赖主键五事务和并发控制1事务的四大特性原子性要么全执行要么全回滚一致性事务前后数据完整一致隔离性事务之间互不干扰D持久性提交后数据永久保存2事务并发三大问题脏读一个事务读取了另一个事务尚未提交的修改数据。不可重复读同一事务内多次读取同一数据结果不一致幻读在同一个事务内两次执行相同的范围查询返回的记录行数不一致。3封锁机制共享锁 S读共享、写排斥排他锁 X读写都排斥
返回列表