`
mx19841031
  • 浏览: 76159 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

数据库系统概念读书笔记(3)--关系模型

阅读更多

 关系模型是E-R模型之后的又一大模型,而该模型也是现在的数据库中运用最广泛的模型,ORACLE,DB2都是基于关系数据库模型的。而且为关 系模型制定查询语言也是非常直截了当的事情(不知道又没有谁想想过E-R模型里面的查询语句应该是什么样子的),关系模型甚至还给出了一个让E-R模型平 滑转换到关系模型的方法。这样,关系模型就几乎成了E-R模型的一个完整替代品。本章讨论的就是这么三个问题-----关系模型的概念,关系查询语言,E -R模型转换为关系模型。

1.关系模型的基本概念

  1. 关系:一系列值之间的联系就叫做关系。
  2. 关系集合:一系列相同关系组成的集合就叫做关系集合。
  3. 关系数据库:由一组关系集合(表)组成的集合。
  4. 关系查询语言:操作关系获取信息的语言,例如SQL,就是其中一种实现。

 而在数学的角度,关系可以被理解成一系列域上的笛卡尔子集(不知道这个是什么的朋友还是好好看看数学吧。),当然这种理解在研究纯理论的时候比较重要。

2.E-R模型和关系模型的关系

因为E-R模型的设计比较直观,而可惜的是直接支持E-R模型的商业数据库确实少只有少,更多的是支持关系模型的。所以提供一个比较完善的E-R模型和关系模型转换方法是比较重要的。这里强调的是E-R模型中的主码怎么转换到关系模型中。

  1. 强实体集:实体集的主码成为关系的主码。
  2. 弱实体集:依赖的强实体集和弱实体集的分辨符的组合成为关系的主码。
  3. 联系集:按照对应情况
    1. 1-1:参与联系的任意一方的主码成为关系的主码。
    2. 1-N:参与联系的多方主码成为关系的主码。
    3. N-N:参与联系的各方的主码的组合成为关系的主码。
  4. 多值属性:多值属性的主码可以用采用该属性的实体集的主码和属性值组成的码作为关系的主码。

从E-R模式中导出的一个关系模式r1可能在他的属性中包括另一个模式r2的主码。那么这个属性叫做r1参照r2的外码(foreign-key),注意,模式图里面是没有foreign-key的。

3.关系代数

可以算作关系模式核心中的核心,都比较简单,这里来一个索引式的纪录。

  1. 基本运算

     关系模型是E-R模型之后的又一大模型,而该模型也是现在的数据库中运用最广泛的模型,ORACLE,DB2都是基于关系数据库模型的。而且为关 系模型制定查询语言也是非常直截了当的事情(不知道又没有谁想想过E-R模型里面的查询语句应该是什么样子的),关系模型甚至还给出了一个让E-R模型平 滑转换到关系模型的方法。这样,关系模型就几乎成了E-R模型的一个完整替代品。本章讨论的就是这么三个问题-----关系模型的概念,关系查询语言,E -R模型转换为关系模型。

    1.关系模型的基本概念

  2. 关系:一系列值之间的联系就叫做关系。
  3. 关系集合:一系列相同关系组成的集合就叫做关系集合。
  4. 关系数据库:由一组关系集合(表)组成的集合。
  5. 关系查询语言:操作关系获取信息的语言,例如SQL,就是其中一种实现。

 而在数学的角度,关系可以被理解成一系列域上的笛卡尔子集(不知道这个是什么的朋友还是好好看看数学吧。),当然这种理解在研究纯理论的时候比较重要。

2.E-R模型和关系模型的关系

因为E-R模型的设计比较直观,而可惜的是直接支持E-R模型的商业数据库确实少只有少,更多的是支持关系模型的。所以提供一个比较完善的E-R模型和关系模型转换方法是比较重要的。这里强调的是E-R模型中的主码怎么转换到关系模型中。

  1. 强实体集:实体集的主码成为关系的主码。
  2. 弱实体集:依赖的强实体集和弱实体集的分辨符的组合成为关系的主码。
  3. 联系集:按照对应情况
    1. 1-1:参与联系的任意一方的主码成为关系的主码。
    2. 1-N:参与联系的多方主码成为关系的主码。
    3. N-N:参与联系的各方的主码的组合成为关系的主码。
  4. 多值属性:多值属性的主码可以用采用该属性的实体集的主码和属性值组成的码作为关系的主码。

从E-R模式中导出的一个关系模式r1可能在他的属性中包括另一个模式r2的主码。那么这个属性叫做r1参照r2的外码(foreign-key),注意,模式图里面是没有foreign-key的。

3.关系代数

可以算作关系模式核心中的核心,都比较简单,这里来一个索引式的纪录。

  1. 基本运算
    1. 选择运算
    2. 投影运算
    3. 并运算
    4. 集合差运算
    5. 迪卡儿集运算
    6. 更名运算
  2. 附加运算
    1. 集合交
    2. 自然连接
    3. 除运算
  3. 扩展的关系代数运算
    1. 广义投影
    2. 聚集函数(avg,min,max,sun,group by ,etc)
    3. 外连接(左外连接,右外连接,全外连接)

4.数据库的修改

  1. 删除
  2. 插入
  3. 更新

5.视图

目前所给的例子,都是在逻辑层(参考第一章)上进行的操作,而有的时候,我们需要做出来一个虚拟的表给用户看,除安全性考虑(视图是只读的)之外,更加考虑到用户的直觉问题(让他看到更合理的数据)。

关于视图,其实很简单,就是一个查询语句而已,使用它的时候需要注意如下几点:

  1. 视图的更新通常是在显示的时刻(这非常像写时复制技术)
  2. 视图是只读的(因为通过视图更新是非常混乱的事情)
  3. 视图有可能被数据库缓存,所以对于查询量高的查询,尽量用试图吧。
  4. 视图是可以被展开的,也就是说,可以用视图来定义视图(这个功能很cool吧),但是不可以递归定义。

这一章作为语法的介绍来讲是非常容易的,但是里面涉及的查询是非常灵活的,需要反复的演练才可以。

  1.  
    1. 选择运算
    2. 投影运算
    3. 并运算
    4. 集合差运算
    5. 迪卡儿集运算
    6. 更名运算
  2. 附加运算
    1. 集合交
    2. 自然连接
    3. 除运算
  3. 扩展的关系代数运算
    1. 广义投影
    2. 聚集函数(avg,min,max,sun,group by ,etc)
    3. 外连接(左外连接,右外连接,全外连接)

4.数据库的修改

  1. 删除
  2. 插入
  3. 更新

5.视图

目前所给的例子,都是在逻辑层(参考第一章)上进行的操作,而有的时候,我们需要做出来一个虚拟的表给用户看,除安全性考虑(视图是只读的)之外,更加考虑到用户的直觉问题(让他看到更合理的数据)。

关于视图,其实很简单,就是一个查询语句而已,使用它的时候需要注意如下几点:

  1. 视图的更新通常是在显示的时刻(这非常像写时复制技术)
  2. 视图是只读的(因为通过视图更新是非常混乱的事情)
  3. 视图有可能被数据库缓存,所以对于查询量高的查询,尽量用试图吧。
  4. 视图是可以被展开的,也就是说,可以用视图来定义视图(这个功能很cool吧),但是不可以递归定义。

这一章作为语法的介绍来讲是非常容易的,但是里面涉及的查询是非常灵活的,需要反复的演练才可以。  

分享到:
评论

相关推荐

    读书笔记:《数据库系统概念》.pdf

    《数据库系统概念》这本书主要介绍了数据库管理系统的概念和核心组成部分,包括数据库的使用场景、目标、数据抽象、数据模型、数据库语言以及关系数据库等。以下是关键知识点的详细说明: 1. **数据库管理系统(DBMS...

    超详细数据库系统与概论笔记2019上——个人笔记.zip

    数据库系统是信息技术中的核心部分,它负责存储、管理和检索数据,是企业和组织处理大量信息的基础。...通过阅读和理解这份笔记,读者将能够深入理解数据库系统的基本原理,为实际应用打下坚实基础。

    数据库系统概念读书笔记-关系数据库

    关系数据库是数据库系统的核心组成部分,它基于关系模型理论,由一系列相互关联的表格组成。每个表格都有一个唯一的名称,用于区分不同的数据实体。表格中的每一行代表了一个特定实体的实例,也就是一组值之间的联系...

    数据库系统概论学习笔记.docx

    概念模型是现实世界的抽象,如实体、属性、码和域,而数据模型则具体到数据库系统的实现,如关系模型、层次模型和网状模型。 关系模型是最常用的数据模型,其逻辑结构表现为二维表格,每个表格(关系)由行(记录)...

    数据库系统概论总结

    总的来说,数据库系统概论涉及了数据管理的各个层面,从基础概念到高级模型,再到实际应用,为理解数据库的工作原理和设计方法提供了全面的知识框架。深入学习这一领域,对于开发高效、可靠和适应性强的数据库系统至...

    数据库系统概论读书笔记.doc

    《数据库系统概论》读书笔记主要涵盖了数据库的基础概念、特点、数据库管理系统(DBMS)的功能、数据库系统(DBS)的构成、数据模型以及实体-联系模型等内容。以下是这些知识点的详细解释: 1. 数据:数据是数据库...

    数据库原理与技术笔记

    通过以上概述可以看出,《数据库原理与技术笔记》涵盖了数据库领域的重要概念和技术发展历史,从基本概念出发,逐步深入到数据库系统的设计和实现原理,为学习数据库技术提供了全面而系统的指南。

    数据库笔记与常用笔记

    数据库是存储和管理数据的核心工具,对于理解和操作数据库,掌握其基本概念、SQL语言以及实践经验至关...记住,理论知识与实践经验相结合是掌握任何技术的关键,所以不仅要阅读笔记,还要动手操作,不断试验和改进。

    数据库系统例题+复习范围+手写笔记(纯干货)

    通过解决各种类型的例题,可以深化对关系模型、SQL语言、数据库设计、事务处理、并发控制、恢复机制等核心概念的理解。例题可能包括选择题、填空题、简答题以及综合应用题,涵盖了数据库的基础知识到高级主题。通过...

    【中文】【 数据库系统概论第三版 】【pdf】【10.16 MB】

    - **数据模型**:包括层次模型、网状模型、关系模型等,这些模型是理解数据库结构的基础。 - **关系数据库理论**:关系数据库是目前应用最为广泛的数据库类型之一,其理论基础主要包括关系代数、关系演算等。 - **...

    数据库原理入门知识学习笔记

    本文将深入探讨数据库的基础概念,包括数据库、数据库管理系统、数据模型以及数据的抽象级别。 首先,数据库(Database)是一个非常大的、集成的数据集合,用于支持应用开发。它不仅仅是数据的存储,更涉及到数据的...

    《大数据挑战-NoSQL数据库技术》读书笔记

    ### 《大数据挑战-NoSQL数据库技术》读书笔记 #### 一、概论 NoSQL数据库是一种新型数据库管理系统,它区别于传统的关系型数据库,具备非关系型、分布式、不具备传统意义上的ACID特性的三大特点。 - **非关系型**...

    软考中级数据库系统工程师下午题应用技术笔记

    【软考中级数据库系统工程师下午题应用技术笔记】 在备考全国计算机技术与软件专业技术资格(水平)考试,尤其是“数据库系统工程师”这一中级职称时,考生需要深入理解数据库设计的基本概念和技术,包括关系规范化...

    数据库系统原理复习资料

    1. **关系数据库模型**:这是最常见的数据库模型,以二维表格的形式存储数据,如ER(实体关系)模型用于设计数据库结构,SQL(结构化查询语言)用于操作数据。 2. **数据模型**:包括概念模型(如实体-关系模型ER)...

    ---SQL2005--读书笔记

    在SQL2005的读书笔记中,我们探讨的是微软的SQL Server 2005这一强大数据库管理系统的关键概念和技术。SQL(Structured Query Language)是用于管理关系数据库的标准语言,而SQL Server 2005作为其一个版本,提供了...

    《SQL语言与数据库操作技术大全》读书笔记模板x.pptx

    《SQL语言与数据库操作技术大全》读书笔记模板 本书主要讲解SQL语言和数据库操作技术,面向SQL和SQL Server的初学者,内容涵盖了数据库系统、SQL语言、Transact-SQL语言、数据库设计、数据查询、数据操纵、事务控制...

    Oracle数据库笔记-JackChiang.docx

    包括实体关系模型(ER模型)、范式理论以及数据规范化等概念。 10. **监控与诊断**:使用企业管理器(EM)、性能监视工具(如ADDM和AWR报告)以及V$视图进行性能监控,及时发现并解决性能问题。 11. **版本管理和...

    基于Springboot的学生读书笔记共享系统源码数据库.zip

    - 学生读书笔记共享系统可能包含多个数据库表,如用户表(存储学生信息)、笔记表(存储读书笔记内容)、分类表(用于分类笔记)、评论表(用户对笔记的评价)等。这些表之间可能存在一对多、多对多等关系,需要...

    四级数据库工程师复习笔记及试题答案详解

    - **与关系数据模型的关系**: 主流的关系数据库系统,其理论基础是关系数据模型,而该模型是在离散数学集合论中“关系”这一基本概念上发展起来的。 - **与编译系统的关系**: 当用户访问数据库时,DBMS对用户提交...

Global site tag (gtag.js) - Google Analytics