关系数据库基础练习

目录

第一题:

题目描述:

 题目分析:

 答:

第二题:

题目描述:

题目分析:

 答:

第三题:

题目描述:

题目分析:

答:


第一题:

题目描述:

设有描述顾客购买商品情况的关系模式:购买(顾客号,顾客名,顾客地址,商品号,商品名,生产厂家,商品价格,购买时间,购买数量)

  • 1.指出此关系模式的主键
  • 2.判断此关系模式属于第几范式,如果不是第三范式,请将其规范化为第三范式模式关系

 题目分析:

首先,让我们来解决这个关系模式的问题。

  1. 主键:主键是一个用于唯一标识每个元组(行)的属性或属性组合。在这个关系模式中,可以使用(顾客号,商品号,购买时间)作为主键,因为这三个属性的组合可以唯一标识每次购买记录。

  2. 范式判断:

    • 第一范式(1NF)要求每个属性都是原子的,不可再分的。这个关系模式似乎已经满足第一范式,因为属性没有多值属性或复杂的数据结构。
    • 第二范式(2NF)要求在满足第一范式的基础上,消除部分依赖。部分依赖是指非主键属性依赖于主键的一部分属性。在这个关系模式中,(商品名,生产厂家,商品价格)依赖于主键的一部分(商品号),因此这个关系模式不符合第二范式。

现在,让我们规范化这个关系模式为第三范式(3NF):

  1. 创建两个新的关系模式,一个用于顾客信息,另一个用于商品信息。这两个模式可以分别命名为“顾客”和“商品”。

    • 顾客(顾客号,顾客名,顾客地址)
    • 商品(商品号,商品名,生产厂家,商品价格)
  2. 创建一个新的关系模式用于购买记录,命名为“购买记录”。它将包含主键和外键,以引用顾客和商品信息。

    • 购买记录(购买时间,购买数量,顾客号(外键),商品号(外键))

这样,我们已经将原始关系模式规范化为第三范式,消除了部分依赖,使数据更加组织化和一致。每个模式都有其自己的主键,并且数据被分解为更小的、相关的部分。

 答:

-主键是(顾客号,商品号,购买时间)。

-顾客关系模式(Customer):

主键:顾客号(CustomerID)
属性:顾客名(CustomerName),顾客地址(CustomerAddress)
商品关系模式(Product):

主键:商品号(ProductID)
属性:商品名(ProductName),生产厂家(Manufacturer),商品价格(Price)
购买记录关系模式(PurchaseRecord):

主键:购买时间(PurchaseTime),顾客号(CustomerID),商品号(ProductID)
属性:购买数量(Quantity)

第二题:

题目描述:

设有描述学生信息的关系模式:学生(学号,姓名,所在系,系主任,课程号,课程名,学分,成绩)。学分由课程号唯一决定,每个系只有一个系主任,一个人担任一个系的主任。

  • 1.此关系模式属于第几范式?
  • 2.若不是第三范式,请将其规范化为第三范式模式关系,并指出分解后各关系模式的主键和外键。

题目分析:

首先,让我们来解决这个关系模式的问题:

  1. 此关系模式属于第一范式(1NF)。

    • 所有属性都是原子的,不可再分的。没有多值属性或复杂的数据结构。
  2. 此关系模式不属于第二范式(2NF)。

    • 课程名和学分依赖于部分主键(课程号),而不是完全依赖于主键(学号和课程号)。

现在,让我们将其规范化为第三范式(3NF):

我们需要将原始关系模式分解为多个关系模式,以消除传递依赖和部分依赖。

  1. 学生信息关系模式(Students):

    • 主键:学号(StudentID)
    • 属性:姓名(Name),所在系(Department),系主任(DepartmentHead)
  2. 课程信息关系模式(Courses):

    • 主键:课程号(CourseID)
    • 属性:课程名(CourseName),学分(Credits)
  3. 学生成绩关系模式(Grades):

    • 主键:学号(StudentID),课程号(CourseID)
    • 属性:成绩(Grade)

在这种规范化后的结构中,每个关系模式都处于第三范式。学生成绩关系模式中的学号和课程号分别是外键,分别引用了学生信息关系模式和课程信息关系模式的主键。这种分解消除了传递依赖和部分依赖,使数据更有组织性和一致性。

 答:

-此关系模式属于第一范式(1NF)


-学生信息关系模式(Students):

主键:学号(StudentID)
属性:姓名(Name),所在系(Department),系主任(DepartmentHead)
课程信息关系模式(Courses):

主键:课程号(CourseID)
属性:课程名(CourseName),学分(Credits)
学生成绩关系模式(Grades):

主键:学号(StudentID),课程号(CourseID)
属性:成绩(Grade)

第三题:

题目描述:

设有描述教师信息的关系模式:教师(教师号,教师名、职称,所在系,办公地点),假设每位教师只属于一个系,每个系有唯一一个办公地点。

  • 1.此关系模式属于第几范式?
  • 2.若不是第三范式,请将其规范化为第三范式模式关系,并指出分解后各关系模式的主键和外键。

题目分析:

这个关系模式不符合第三范式(3NF)。

首先,让我们回顾一下第三范式的要求:

  1. 每个非主属性必须完全函数依赖于候选键(主键)。
  2. 每个非主属性不应该传递依赖于候选键。

在给定的关系模式中,我们有以下属性:

  • 教师号 (教师号是主键)
  • 教师名
  • 职称
  • 所在系
  • 办公地点

问题在于 "所在系" 和 "办公地点" 属性依赖于教师号,而不是直接依赖于候选键(主键)。每个教师的所在系和办公地点与他们的教师号直接相关,而不是与候选键相关。

为了将关系模式规范化为第三范式,我们需要分解它为两个或多个关系,确保每个关系都满足3NF的要求。在这种情况下,我们可以分解为以下两个关系:

  1. 教师信息(教师号[主键],教师名,职称,所在系)
  2. 系办公地点(所在系[主键],办公地点)

现在,每个关系都符合第三范式的要求。在第一个关系中,每个非主属性(教师名、职称、所在系)都完全函数依赖于主键(教师号)。在第二个关系中,办公地点属性完全函数依赖于主键(所在系),并且没有传递依赖。

答:

-此关系模式属于第二范式(2NF)。


-教师信息(教师号[主键],教师名,职称,所在系)
系办公地点(所在系[主键],办公地点)

你可能感兴趣的:(数据库)