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

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):域是一组具有相同数据类型的值的集合。属性的取址范围来自某个域。如人的性别取值范围为(男,女)
  • 分量:元素中的一个属性值
相关推荐
小乌龟不会飞1 小时前
Ubuntu 安装 etcd 与 etcd-cpp-apiv3
数据库·etcd
一瓣橙子1 小时前
缺少关键的 MapReduce 框架文件
大数据·mapreduce
永洪科技8 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
计算机毕设定制辅导-无忧学长8 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
weixin_307779138 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
程序员柳9 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
梦在深巷、9 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机9 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10249 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
祁思妙想11 小时前
八股学习(三)---MySQL
数据库·学习·mysql