《数据库》第一、二章作业

第一章 作业 填空题

  1. 指出含义
    1. DML:数据操纵语言
    2. DBMS:数据库管理系统:是数据库系统的核心组成部分,它是介于用户与操作系统之间的一层数据管理软件,是用户和数据库的接口。
    3. DDL:数据定义语言
    4. DB:数据库:是长期存储在计算机内有组织、可共享的数据集合,数据库中的数据按一定的数据模型组织、描述、存储,冗余度小,具有较高的数据独立性、共享性和易扩展性。
    5. DBS:数据库系统,在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员和最终用户构成。数据模型是数据库的核心。
    6. DBA:数据库管理员
  2. 数据库系统中人员主要包括数据库管理人员(DBA)系统分析员数据库设计人员应用程序员最终用户
  3. DBS 组成部分包括(数据库(DB))、(数据库管理系统(DBMS))、(应用系统 )、(数据库管理员)、( 最终用户)五部分。
  4. DBMS 是位于(用户)和(操作系统)之间的一层管理软件。
  5. 数据库和文件的根本区别是( 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以。(实现数据的整体结构化))。
  6. DBMS 提供的数据控制功能包括(安全性保护)、(完整性检查)、(并发控制)、(数据库恢复)。
  7. 数据库中,数据模型用于(描述数据结构、数据操作以及数据约束的数学形式体系),数据模型应当满足(能比较真实地模拟现实世界)、
    容易被人所理解)、(便于计算机上实现)三方面要求。
  8. 数据模型的三要素包括(数据结构 )、( 数据操作)、(数据完整性约束)。
  9. 概念模型也称为(信息模型),是(按用户的观点或认识对现实世界的数据和信息进行建模),主要用于(数据库设计),与具体的 DBMS 和机器(无关)。
  10. 数据的独立性是指(应用程序 和 数据结构 之间相互独立, 互不影响),可以分为(数据的逻辑独立性)和(数据的物理独立性

第二章 作业

  1. 简述如下概念,并说明它们之间联系与区别。

    1. 域、笛卡儿积、关系、元组、属性。

      • 域:是一组具有相同数据类型的值的集合。
      • 笛卡儿积:给定一组域 D 1 , D 2 , ⋅ ⋅ ⋅ , D n D_1,D_2,···,D_n D1,D2,,Dn,它们之中可以有相同的域。它们的笛卡尔积是 D 1 × D 2 × ⋅ ⋅ ⋅ × D n = ( d 1 , d 2 , ⋅ ⋅ ⋅ , d n ) ∣ d i ∈ D i , i = 1 , 2 , ⋅ ⋅ ⋅ , n D_1 \times D_2 \times ··· \times D_n = { ( d_1,d_2,···,d_n ) | d_i \in D_i,i = 1,2,···,n } D1×D2××Dn=(d1,d2,,dn)diDi,i=1,2,,n
      • 关系: D 1 × D 2 × ⋅ ⋅ ⋅ × D n D_1 \times D_2 \times ··· \times D_n D1×D2××Dn 的子集称为 D 1 , D 2 , ⋅ ⋅ ⋅ , D n D_1,D_2,···,D_n D1,D2,,Dn 的关系表示为r( D 1 , D 2 , ⋅ ⋅ ⋅ , D n D_1,D_2,···,D_n D1,D2,,Dn)。
      • 元组:集合中的每个元素( d 1 , d 2 , ⋅ ⋅ ⋅ , d n d_1,d_2,···,d_n d1,d2,,dn)称为一个n元组,简称元组。
      • 属性:关系二维表的每列对应于关系的一个域,域可以相同,为区别必须给每列起个名字,称为属性。
      • 联系:关系是笛卡尔积的有限子集,也是一个二维表, 表的每行对应于关系的一个元组,表的每列对应于关系的一个域,为了区分,域可以相同,为区别必须给每列起个名字,称为属性。
    2. 超码、候选码、主码、外码。

      • 超码:关系r中的一个或多个属性的集合A,若A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码。
      • *候选码:关系r的一个或多个属性的集合A,若A是关系r的超码,且A的任意真子集都不能成为关系r的超码,则称属性集A为候选码。 *
      • 主码:若一个关系有多个候选码,则可以选定其中的一个候选码作为该关系的主码 。*
      • 外码:设F是关系r的一个属性(或属性集),Ks是关系s的主码。如果F与Ks相对应(即关系r中属性F的取值范围对应于关系s中主码Ks的取值范围的子集),则称F是关系r参照关系s的外码(foreign key),简称F是关系r的外码。
      • 联系:关系r的外码是关系s的主码的子集,而主码属于候选码,候选码属于超码。
  2. 关系模型的完整性规则由哪些?
    实体完整性、参考完整性、用户自定义完整性

  3. 关系模型的主要操作有哪些?
    查询操作和更新操作(包括插入、删除、修改)两大类

  4. 关系代数的基本运算有哪些?
    选择、投影、集合并、集合差、笛卡儿积和更名等

  5. 试述等值连接与自然连接的区别与联系?

    • 联系:等值连接是关系的广义笛卡尔积的子集。自然连接是一种特殊的等值连接。即两者都是两个关系连接之后的产物。
    • 区别:等值连接不要求两个关系中进行比较的分量是相同的属性组,而只要可以进行相等比较即可,是从行进行的一种运算。而自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,是从行和列进行的一种运算。

《数据库》第一、二章作业_第1张图片《数据库》第一、二章作业_第2张图片
6. 对于图2-8数据库ScoreDB的模式导航图,根据图2-11所示的实例数据,给出运算结果。

  1. ( ∏ s t u d e n t N a m e , b i r t h d a y , c o u r s e N o ( S t u d e n t ⋈ S c o r e ) ) ÷ ( ∏ c o u r s e N o ( σ s t u d e n t N o = ′ 150100 1 ′ ( S c o r e ) ) ) (\prod _{studentName,birthday,courseNo}(Student \Join Score)) \div (\prod_{courseNo}(\sigma_{studentNo='1501001'}(Score))) (studentName,birthday,courseNo(StudentScore))÷(courseNo(σstudentNo=1501001(Score)))

含义:选修了学号为1501001的同学所有选修课程的学生姓名和出身日期。

studentName birthday
王红 2000-04-26
  1. ( ( ∏ s t u d e n t N o , c o u r s e N o ( S c o r e ) ) ÷ ( ∏ c o u r s e N o ( σ c o u r s e N o   L I K E ′ C S % ′ ( C o u r s e ) ) ) ) ⋈ S c o r s e ((\prod_{studentNo,courseNo(Score)})\div (\prod_{courseNo(\sigma_{courseNo \ LIKE'CS\%' (Course)})})) \Join Scorse ((studentNo,courseNo(Score))÷(courseNo(σcourseNo LIKECS%(Course))))Scorse

含义:选修了计算机系所有开设课程的学生的成绩信息

studentNo courseNo term score
1501001 CN028 15161 85
1501001 CS012 15162 88
1501001 CS015 16171 92
1501008 AC001 15161 76
1501008 CN028 15161 86
1501008 CS012 15162 93
1501008 CS015 16171 96
1602005 AC001 17181 88
1602005 CS012 16172 90
1602005 CS015 17181 87
  1. 对于图2-8所示的成绩管理数据库ScoreDB的模式导航图,根据图2-11所示的实例数据,试着写出如下查询的关系待数表达式,并给出其查询结果。
    1. 查询2000年元旦以后出生的全体男同学
      σ b i r t h d a y > 2000 − 01 − 01 ⋀ s e x = ′ 男 ′ S t u d e n t \sigma_{birthday>2000-01-01\bigwedge sex='男'}Student σbirthday>20000101sex=Student
studentNo studentName sex birthday native nation classNo
1501008 王红 2000-04-26 上海 汉族 CS1501
1503045 王红 2000-04-26 北京 汉族 AC1503
  1. 查询2016-2017学年第二学期(16172)开出课程的编号、名称和学分
    ∏ c o u r s e N o , c o u r s e N a m e , c r e d i t H o u r ( C o u r s e ⋈ ( σ t e r m = ′ 1617 2 ′ S c o r e ) ) \prod_{courseNo,courseName,creditHour}(Course \Join (\sigma_{term='16172'}Score)) courseNo,courseName,creditHour(Course(σterm=16172Score))
courseNo courseName creditHour
CS012 操作系统 5
  1. 查找班级名称为”会计学15(3)班“的学生在2015-2016学年第一学期(15161)选课情况,要求显示学生姓名、课程号、课程名称和成绩。
    ∏ s t u d e n t N a m e , c o u r s e N o , c o u r s e N a m e , s c o r e ( S t u d e n t ⋈ ( σ c l a s s N a m e = ′ 会 计 学 15 ( 3 ) 班 ′ C l a s s ) ⋈ ( σ t e r m = ′ 1516 1 ′ S c o r e ) ⋈ C o u r s e ) \prod_{studentName,courseNo,courseName,score}(Student \Join (\sigma_{className='会计学15(3)班'}Class) \Join( \sigma_{term='15161'} Score) \Join Course) studentName,courseNo,courseName,score(Student(σclassName=153Class)(σterm=15161Score)Course)
studentName courseNo courseName score
李宏冰 AC001 基础会计 92
李宏冰 CN028 大学语文 83
王红 AC001 基础会计 52
王红 CN028 大学语文 80
  1. 查找选修了2016-1017学年第一学期(16171)开出的全部课程的学生学号和姓名
    ∏ s t u d e n t N o , s t u d e n t N a m e ( S t u d e n t ⋈ ( S c o r e ÷ ( ∏ c o u r s e N o ( σ t e r m = ′ 1617 1 ′ S c o r e ) ) ) ) \prod_{studentNo,studentName}(Student \Join (Score \div (\prod_{courseNo}(\sigma_{term='16171'}Score)))) studentNo,studentName(Student(Score÷(courseNo(σterm=16171Score))))
studentNo studentName
1501008 王红
1503045 王红
1602002 刘方晨
  1. 对于图2-10所示的成绩管理数据库SCDB的模式导航图,试着写出如下查询的关系待数表达式。
    《数据库》第一、二章作业_第3张图片
    1. 查询2016级蒙古族学生信息,包括学号、姓名、性别和所属班级。
      ∏ s t u d e n t N o , s t u d e n t N a m e , s e x , c l a s s N o ( ( σ n a t i o n = ′ 蒙 古 族 ′ S t u d e n t ) ⋈ ( σ g r a d e = ′ 201 6 ′ C l a s s ) ) \prod_{studentNo,studentName,sex,classNo}((\sigma_{nation='蒙古族'}Student) \Join (\sigma_{grade='2016'}Class)) studentNo,studentName,sex,classNo((σnation=Student)(σgrade=2016Class))
    2. 查询”C语言程序设计“课程的开课班号、上课时间以及上课地点。
      ∏ c C l a s s N o , t i m e , l o c a t i o n ( C o u r s e C l a s s ⋈ ( σ c o u r s e = ′ C 语 言 程 序 设 计 ′ C o u r s e ) ⋈ C l a s s r o o m ) \prod_{cClassNo,time,location}(CourseClass\Join(\sigma_{course='C语言程序设计'}Course) \Join Classroom) cClassNo,time,location(CourseClass(σcourse=CCourse)Classroom)

你可能感兴趣的:(数据库,数据仓库,数据库架构,数据库开发)