软考(中级)软件设计师核心笔记(3)数据库系统——SQL、并发控制、答题技巧

📅 2026/8/1 13:33:07
软考(中级)软件设计师核心笔记(3)数据库系统——SQL、并发控制、答题技巧
三、SQL语言1、权限控制授权授权关键字GRANT语法GRANT增、删、改、查[,···n]字段 ON表、视图 TO WITH GRANT OPTIONWITH GRANT OPTION级联授予允许这个用户在将相同的权限授予其他用户收回收回关键字REVOKE语法REVOKE增、删、改、查[,···n]字段 ON表、视图 FROM RESTRICT默认/ CASEADE收回级联四、并发控制事务特性ACID1.原子性执行要么都做COMMIT事务提交要么都不做ROLLBACK事务回滚2.一致性结果事务执行结果必须保证数据库从一个一致性状态变为另一个一致性状态3.隔离性过程当多个事务并发执行一个事务在提交或回滚之前对其他事务是不可见的4.持续性数据事务一旦提交数据是持久保存的并发问题1.脏读事务处理数据提交前被另一事务读到A操作数据90-1080B读取数据80A数据回滚902.数据丢失多个事务同时操作同一数据A先读B后读B先操作A后操作使得A事务更新的数据被覆盖3.不可重复读同一事务多次读取结果不一致A读数据100B操作数据100-10A再次读取90封锁协议S封锁共享锁对于事务中读数据可以重复加S锁在数据加S锁之后不能再加S锁以外的其他锁X封锁排他锁对数据加入X锁之后在事务提交之前不能再加入其他锁五、数据库设计答题技巧1.结合题干站在出题人角度去分析详细分析试题说明2.熟练掌握基本知识如ER图联系类型判断一对多···ER图转关系模式R{U,F}主/外键判断规范化理论范式判断例题)1、例题分析1分析部门编号名称电话经理部门:员工 为 1:*2分析员工工号姓名岗位电话工资主键为工号3分析客房房号类型收费状态主键为房号4分析客户客户号单位名称联系人联系电话地址主键为客户号5分析预定申请号客户号入住时间入住天数客房类型客房数量预定:客户 为 1:1客户:预定 为 1:多6分析入住安排申请号业务员房号姓名性别身份证号入住时间天数电话主键为身份证号入住时间外键为房号申请号员工:预定 为 1:* 员工:房号 1:*房号:预定 *:*问题1补充2-1ER图 4个联系通过以上分析得出ER图联系联系一、经理:部门 1:1联系二、员工:部门 *:1联系三、客户:预定申请 *:1联系四三元联系、员工:预定申请 1:*员工:客房 1:*预定申请:客房 *:*所以得出三元联系结论员工:客房:预定申请 1:*:*问题2补充关系模式a部门ID 外键b客户号 主键单位名称 非主属性c申请号ID 主键 客户号 外键d身份证号入住时间 主键问题3客房是否有规范化理论1.答案存在2.依据根据题描述客房房号为主键收费标准取决于客房类型。已知函数依赖 客房类型收费标准客房类型并非主属性所以不满足第三范式单属性满足第二范式但每一个非主属性须由主属性直接传递所以会出现大量冗余及插入/修改/删除异常3.改进将客房{房号类型收费状态}分开为 客房1{房号类型状态}客房2{类型收费})2、例题解分析员工工号身份证号姓名性别手机号 主键工号商品条码名称所在超市采购价格销售价格商品介绍 主键条码顾客ID姓名身份证号手机号收货地址 主键ID托运公司ID公司名电话地址 主键ID订单关系订单ID货运方式顾客ID商品数量支付条码 订单ID外键顾客ID采购关系代购ID订单ID工号商品条码订单:商品 1:*商品:采购员 1:1订单:采购员 1:*其中属性为联合主键均为主属性运送关系运送ID订单ID配送ID货运公司ID发货时间主键运送ID外键订单ID配送ID货运公司ID问题1补充ER图1.配送员:货运公司 *:*2.货运公司:订单 1:*3.配送员:订单 1:*所以得出三元联系配送员:货运公司:订单 *:*:*问题2补充空缺aba.顾客ID商品条码b.订单ID商品条码问题3增加弱实体顾客收货地址需求并修改【运送】关系模式1.收货地址{地址ID顾客ID收货地址} 地址ID为主键顾客ID为外键2.运送关系{运送ID订单ID配送ID货运公司ID发货时间地址ID})3例题解分析1球队编号名称成立时间人数主场地址球队主教练2球员姓名身份证号出生日期申告家庭地址3教练姓名身份证号出生日期资格证书号级别4裁判姓名身份证号出生日期资格证书号获取证书时间级别5球队关系球队编号队员编号1:*6比赛比赛ID主球队ID客球队ID裁判ID比分日期问题1补充ER图1球员:球队 *:12二元联系主队球队:裁判 *:* 客队球队:裁判 *:*问题2补充关系模式1球队ID外键2球队ID外键问题3增加赞助实体赞助商:球队 1:* 赞助商:球员 *:*修改ER图和关系模式新增 赞助实体赞助商:球队 1:* 赞助商:球员 *:*