【数据库概论】第一章 数据库概论

1.1 数据库系统概述

1.1.1 数据库的四个基本概念

  1. 数据
  2. 数据库
  3. 数据库管理系统DBMS
  4. 数据库系统DBS

1.1.2 数据库的特点

  1. 数据结构化
  2. 数据的共享性高、冗余度低并且易扩充
  3. 数据独立性高
  4. 数据由数据库管理系统统一管理和控制

1.2 数据模型

1.1.1 数据模型

数据模型也是一种模型,他是对现实世界数据特征的抽象。也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础。

1.2.1 两类数据模型

根据模型应用的不同目的,可以将模型划为两大类,它们属于两个不同的层次。第一类是概念模型,第二类是逻辑模型和物理模型。

  • 概念模型是按用户观点来对数据和信息建模,主要用于数据库设计。
  • 第二类中逻辑模型主要包括层次模型、网状模型、面向对象数据模型和对象关系模型等。第二类中的物理模型是对数据最底层的抽象,它描述数据在系统内的表示方式和存取方法,是面向计算机系统的。

1.2.2 概念模型

  1. 实体(entity)
    客观存在并且可以相互区别的食物成为实体。比如一个职工、一个学生、一个部门等
  2. 属性(attribute)
    实体所具有的某一特性成为属性,一个实体可以由若干个属性来刻画,比如学生实体可以由学号、姓名、性别等属性构成。
  3. 码(key)
    唯一标识实体店属性集称为码,比如学号属性称为学生实体的码。
  4. 实体型(entity type)
    实体名以及其属性名集合来抽象和刻画同类实体称为实体,例如,学生(学号,姓名,性别,入学时间)就是一个实体型
  5. 实体集
    同一类型实体的集合称为实体集,例如全体学生就是一个实体集合。
  6. 联系
    实体之间的联系通常指不同实体集之间的联系,比如实体之间的联系有一对一、一对多、多对多等类型

1.2.3 数据模型的组成要素

数据模型是严格定义一组概念的集合,因此数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成

  1. 数据结构
    数据结构描述数据库组成和对象时间的关系
  2. 数据操作
    数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作以及有关的操作规则。
  3. 数据的完整性约束条件
    数据的完整性约束条件是一组完整性规则。完整性规则是给定数据模型中数据及其联系所具有的制约和依存规则,用于限定数据模型的数据库状态以及状态变化,从而保证数据的正确、有效和相容。在这里描述的比较抽象,看不懂的也不用担心,后面有详细介绍,届时会比较通俗易懂

1.2.4 关系模型

关系模型是最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。这也是我们研究的重点。

关系模型的数据结构

  • 关系(relation):一个关系对应一张表,例如图1.14
  • 元组(tuple):表中的一行就是一个元组
  • 属性(attribute):表中的一列就是一个属性,每个属性的名称称为属性名
  • 码(key):又称为码键,表中的某个可以唯一确定一个元组的属性组称之为码
  • 域(domain):域是一组具有相同数据类型的值的集合。属性的取址范围来自某个域。如人的性别取值范围为(男,女)
  • 分量:元素中的一个属性值
相关推荐
YANZ22219 分钟前
亚马逊绿标(CPF):从环保认证到跨境流量新引擎
java·大数据·人工智能·搜索引擎·百度
努力努力再努力wz20 分钟前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql
薛定谔的悦30 分钟前
储能充放电状态机执行逻辑详解
linux·数据库·能源·储能·bms
Elastic 中国社区官方博客44 分钟前
Elasticsearch percolator 用于电商搜索治理:将模糊查询转换为可控的检索策略
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
shamalee1 小时前
Gemini3.1Pro:2026招聘效率革命
大数据·人工智能
zxrhhm1 小时前
PostgreSQL 中的层级查询 Oracle CONNECT BY 替代方案
数据库·postgresql·oracle
逸Y 仙X1 小时前
文章二十二:ElasticSearch EQL事件查询语言
java·大数据·elasticsearch·搜索引擎·全文检索
icestone20001 小时前
智能客服如何按客户类型切换话术?一套支持“渠道标签 + 用户自选 + 对话推断“的分类架构设计
大数据·人工智能·ai编程
万事大吉CC2 小时前
【3】深入剖析 Django 之 MTV:路径引用与资源加载机制
数据库·django·sqlite
Hical_W2 小时前
用 Hical + MySQL 5 分钟搭建 CRUD API(C++20 协程版)
数据库·mysql·c++20