Skip to main content

第 1 次作业

Course WorkDatabasePrincipal and Application of DatabaseAbout 5 minAbout 1569 words

1.

试述数据、数据库、数据库管理系统、数据库系统的概念以及它们之间的关系.

数据

描述事物的符号记录

数据库

Database, 简称 DB. Database 是长期储存在计算机内、有组织的、可共享的大量数据的集合

数据库管理系统

Database Management System, 简称 DBMS. DBMS 是位于用户与操作系统之间的一层数据管理软件, 它属于基础软件, 是一个大型复杂的软件系统. 用于科学地组织和存储数据、高效地获取和维护数据.

数据库系统

Database System, 简称 DBS. 在计算机系统中引入数据库后的系统构成. 由 数据库, 数据库管理系统 (及其开发工具), 应用系统, 数据库管理员, 最终用户 构成.

2.

试述数据模型的概念和数据模型的三个要素.

概念

数据模型是一个描述数据语义、数据与数据之间联系 (数据结构), 数据操作, 以及完整性约束的概念工具的集合数据模型

组成要素
数据结构

描述数据库的组成对象 (数据) 以及对象之间的联系

数据操作

指对数据库中各种对象 (型) 的实例 (值) 允许执行的操作集合, 包括操作及有关的操作规则

完整性约束

一组完整性规则, 它给定数据模型中数据及其联系所具有的制约和依存规则, 用以限定符合数据模型的数据库状态以及状态的变化, 以保证数据库中数据的正确、有效和相容

3.

简述数据库的三级模式是如何实现数据的物理和逻辑独立性的.

外模式 / 模式映像

对应于一个模式可以有多个外模式. 对于每个外模式, DBMS 都有一个外模式 / 模式映像, 它定义了该外模式与模式之间的对应关系. 在各自的外模式描述中定义外模式/模式映像.

当模式改变时, 数据库管理员修改有关的外模式 / 模式映象, 使外模式保持不变. 应用程序是依据数据的外模式编写的, 从而应用程序不必修改, 保证了数据与程序的逻辑独立性, 简称为数据的逻辑独立性.

模式 / 内模式映像

数据库中只有一个模式, 也只有一个内模式, 模式 / 内模式映像是唯一的, 它定义了数据全局逻辑结构与存储结构之间的对应关系. 在模式描述中定义模式 / 内模式映像.

当数据库的存储结构改变了 (例如选用了另一种存储结构), 数据库管理员修改模式 / 内模式映象, 使模式保持不变. 应用程序不受影响, 保证了数据与程序的物理独立性, 简称为数据的物理独立性.

4.

简述关系、关系模式、关系数据库模式、关系数据库实例这些概念的联系与区别.

关系

关系模型的基本数据结构就是二维表, 亦称为关系. 关系模型中, 现实世界的实体以及实体间的各种联系都是用关系来表示.

关系模式

对于一个二维表, 有表头部分和表体部分. 表头部分定义了该表的结构, 即定义了该表由哪些列构成 (假设由 nn 列构成), 每个列的名字和取值范围等; 表体就是所有数据行的集合, 每一个数据行都是由表头部分规定的 nn 列有关联的取值的集合构成.

对应于关系数据库, 表的每一个数据行对应于关系的一个元组, 表体对应于关系, 关系是元组的集合, 关系是值的概念; 表头部分对应于关系模式, 关系模式是型的概念, 它定义了元组集合的结构, 即定义了一个元组由哪些属性构成 (假设由 nn 个属性构成), 每个属性的名字和来自的域等.

关系数据库模式

关系数据库也有型和值之分

  • 型就是关系数据库模式, 即它所包含的所有关系模式的集合;
关系数据库实例
  • 值就是这些关系模式在某一时刻所对应的关系的集合, 通常就称为关系数据库实例.

5.

设教务管理数据库中有三个关系如下:

S(SNO, SNAME, AGE, SEX, SDEPT)

其中: SNO: 学号, SNAME: 姓名, AGE: 年龄, SEX: 性别, SDEPT: 所在系

C(CNO, CNAME, CDEPT, TNAME)

其中: CNO: 课程号, CNAME: 课程名, CDEPT: 开课系, TNAME: 任课教师

SC(SNO, CNO, GRADE)

其中: SNO: 学号, CNO: 课程号, GRADE: 成绩

上述关系中属性的数据类型自定, 试用关系代数表达式表示下列查询语句:

5.1

检索 LIU 老师所授课程的课程号、课程名.

ΠCNO,CNAME(σTNAME=“LIU”(C)) \Pi_{\text{CNO}, \text{CNAME}}\pqty{\sigma_{\text{TNAME} = \text{``LIU''}}\pqty{\text{C}}}

5.2

检索年龄大于 23 岁的男学生的学号与姓名.

ΠSNO,SNAME(σAGE>23SEX=Male(S)) \Pi_{\text{SNO}, \text{SNAME}}\pqty{\sigma_{\text{AGE} > 23 \wedge \text{SEX} = \text{Male}}\pqty{\text{S}}}

5.3

检索学号为 S3 的学生所学课程的课程名与任课教师名。

ΠCNAME,TNAME(C/ΠCNO(σSNO=S3(SC))) \Pi_{\text{CNAME}, \text{TNAME}}\pqty{\text{C} / \Pi_{CNO}\pqty{\sigma_{\text{SNO} = S3}\pqty{\text{SC}}}}

5.4

检索至少选修 LIU 老师所授课程中一门课的女学生姓名.

ΠSNAME(σTNAME=“LIU”(C)SCσSEX=Female(S)) \Pi_{\text{SNAME}}\pqty{\sigma_{\text{TNAME} = \text{``LIU''}}\pqty{\text{C}} \Join \text{SC} \Join \sigma_{\text{SEX} = \text{Female}}\pqty{\text{S}}}

5.5

检索 WANG 同学不学的课程的课程号.

ΠCNO(C)ΠCNO(σSNAME=“Wang”(S)SCC) \Pi_{\text{CNO}}\pqty{\text{C}} - \Pi_{\text{CNO}}\pqty{\sigma_{\text{SNAME} = \text{``Wang''}}\pqty{\text{S}} \Join \text{SC} \Join \text{C}}

5.6

检索全部学生都选修的课程的课程号与课程名.

ΠCNO,CNAME,SNO(CSC)/ΠSNO(S) \Pi_{\text{CNO}, \text{CNAME}, \text{SNO}}\pqty{\text{C} \Join \text{SC}} / \Pi_{\text{SNO}}\pqty{\text{S}}