数据库设计与SQL实践

1、对于任何包含多个主题的电子表格,请指出在插入、更新或删除数据时至少会出现的一个修改问题。

  • 以艺术课程列表为例,若更改第一行的 CourseDate 值,可能意味着课程日期变更,那么其他行的 CourseDate 值也应更改;或者意味着开设了一门新的高级粉彩课程。
  • 若删除 ADVISER 表中的第一行,学生 Andrews 和 Fischer 的 AdviserLastName 值将无效,因为教授 Baker 在 ADVISER 表中已不存在。

2、使用数据表视图,将以下员工表的前三行数据录入到你的员工表中。第一行:员工编号1,名字Mary,姓氏Jacobs,部门Administration,职位CEO,主管无,办公电话360 - 285 - 8110,邮箱Mary.Jacobs@WP.com;第二行:员工编号2,名字Rosalie,姓氏Jackson,部门Administration,职位Admin Assistant,主管1,办公电话360 - 285 - 8120,邮箱Rosalie.Jackson@WP.com;第三行:员工编号3,名字Richard,姓氏Bandalone,部门Legal,职位Attorney,主管1,办公电话360 - 285 - 8210,邮箱Richard.Bandalone@WP.com。

  • 打开 Microsoft Access 中的 WP 数据库
  • 打开 EMPLOYEE 表的数据表视图
  • 录入第一行数据:
  • 员工编号:1
  • 名字:Mary
  • 姓氏:Jacobs
  • 部门:Administration
  • 职位:CEO
  • 主管:无
  • 办公电话:360 - 285 - 8110
  • 邮箱:Mary.Jacobs@WP.com

  • 录入第二行数据:

  • 员工编号:2
  • 名字:Rosalie
  • 姓氏:Jackson
  • 部门:Administration
  • 职位:Admin Assistant
  • 主管:1
  • 办公电话:360 - 285 - 8120
  • 邮箱:Rosalie.Jackson@WP.com

  • 录入第三行数据:

  • 员工编号:3
  • 名字:Richard
  • 姓氏:Bandalone
  • 部门:Legal
  • 职位:Attorney
  • 主管:1
  • 办公电话:360 - 285 - 8210
  • 邮箱:Richard.Bandalone@WP.com

3、解释在关系中更改数据时出现的一个修改问题,以及在该关系中删除数据时出现的第二个修改问题。

ADVISER_LIST 关系为例,更改数据时,由于顾问数据会为每个受指导学生重复出现,若顾问信息(如办公室)发生更改,需要在该顾问所有受指导学生的行中进行更新。例如,顾问有 20 个受指导学生,更改一次信息就需要输入 20 次。

删除数据时,若删除的学生是某个顾问唯一的受指导学生,那么不仅会删除该学生的数据,还会删除该顾问的数据,导致在尝试删除一个实体数据时,意外丢失了另一个实体的信息。

4、文本指出,可以认为“拥有关系的唯一原因是存储函数依赖的实例”。用你自己的话解释这意味着什么。

这意味着在数据库中创建关系(表)的主要目的是为了保存函数依赖的具体情况。例如,在客户关系中,客户编号决定了客户的姓氏、名字和电话等信息,我们通过创建客户关系表来存储这种函数依赖关系,即客户编号与其他客户信息之间的对应关系。 关系表是存储和体现函数依赖的一种方式 ,通过它可以清晰地表达和管理数据之间的依赖关系。

5、考虑一个名为ORDER_ITEM的表,其模式为:ORDER_ITEM (OrderNumber, SKU, Quantity, Price),其中SKU是“库存单位”编号,类似于零件编号,这里它表示表中每行销售的是哪种产品。注意,一个OrderNumber必须至少关联一个SKU,也可能关联多个。回答以下问题。A. 定义第一范式(1NF)。ORDER_ITEM是否符合1NF?如果不符合,原因是什么,要使其符合1NF需要做什么?进行必要的更改以使ORDER_ITEM符合1NF。如果这一步需要创建一个额外的表,请确保新表也符合1NF。B. 定义第二范式(2NF)。既然ORDER_ITEM已符合1NF,它是否也符合2NF?如果不符合,原因是什么,要使其符合2NF需要做什么?进行必要的更改以使ORDER_ITEM符合2NF。如果这一步需要创建一个额外的表,请确保新表也符合2NF。C. 定义第三范式(3NF)。既然ORDER_ITEM已符合2NF,它是否也符合3NF?如果不符合,原因是什么,要使其符合3NF需要做什么?进行必要的更改以使ORDER_ITEM符合3NF。如果这一步需要创建一个额外的表,请确保新表和之前步骤中创建的任何其他表也符合3NF。D. 定义巴斯 - 科德范式(BCNF)。既然ORDER_ITEM已符合3NF,它是否也符合BCNF?如果不符合,原因是什么,要使其符合BCNF需要做什么?进行必要的更改以使ORDER_ITEM符合BCNF。如果这一步需要创建一个额外的表,请确保新表和之前步骤中创建的任何其他表也符合BCNF。

范式分析与规范

A. 第一范式(1NF)

定义 :一个表需满足以下条件:
1. 符合关系的一组条件;
2. 有定义的主键;
3. 没有重复组。

判断 ORDER_ITEM 是否符合 1NF
- 需根据其具体数据情况判断。
- 若表中 没有重复组 ,并且存在合适的主键(例如: OrderNumber SKU 组合作为主键),则符合 1NF。
- 若不符合 1NF,应:
- 找出重复组并去除;
- 确定合适的主键。
- 如需创建新表, 新表也必须满足 1NF 的所有条件


B. 第二范式(2NF)

定义 :一个关系符合 2NF 当且仅当:
1. 它符合 1NF;
2. 所有非键属性完全依赖于整个主键(即不存在部分函数依赖)。

应用到 ORDER_ITEM
- 假设主键为复合主键(如 OrderNumber

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值