数据库 绪论

目录

数据库基本概念

一.基本概念

1.信息

2.数据

3.数据库(DB)

4.数据库管理系统(DBMS)

5.数据库系统(DBS)

二.数据管理技术的发展

1.人工管理阶段

2.文件系统阶段

3.数据库系统阶段

4.数据库管理系统必须提供以下几方面的数据管理功能

二.数据模型

1.数据模型

2.数据模型的分类

3.概念模型的表示方法

常见的数据模型

四、关系数据库的规范化

第一范式

第二范式

第三范式


数据库基本概念

一.基本概念

1.信息

信息是现实世界事物的存在方式或者运动状态的反映,他通过符号和信号等具体形式表现出来。信息具有可感知、可存储、可加工、可再生等自然属性,是各行各业不可或缺的资源

2.数据

数据是描述事物的符号记录,可以是数字,文字,图形和声音等。数据是数据库中存储的基本对象,是信息的载体。

例如,某校一个数据科学与大数据技术专业学生的基本情况:学号为20250208,姓名为小红的女生,2002年2月20日出生,数据科学与大数据技术专业。在计算机中则如下的形式描述:

(20250208,小红,女,2002-2-20,数据科学与大数据技术)

3.数据库(DB)

数据库就是存放数据的仓库。长期存储在计算机中的,是有组织的、可共享的相关数据集合。具有逻辑关系和确定意义;针对明确的应用目标而设计建立和加载的

4.数据库管理系统(DBMS)

数据库管理系统是位于用户与操纵系统之间的数据管理软件。它和操作系统一样是计算机的基础软件,也是一类大型复杂的软件系统

有以下功能

  • 数据定义功能
  • 数据组织、存储和管理功能
  • 数据操纵功能
  • 数据库的事务管理和运行管理功能
  • 数据库的建立和维护功能
  • 其他功能

5.数据库系统(DBS)

数据库系统是指引入数据库后的计算机系统,一般是指由数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。(简称数据库)

二.数据管理技术的发展

1.人工管理阶段

人工管理数据具有如下特点:

  • 数据不保存
  • 应用程序管理数据
  • 数据不共享
  • 数据不具有独立性

2.文件系统阶段

文件系统管理数据具有以下特点:

  • 数据可以长期保存
  • 数据由专门的软件进行管理

缺点

  • 数据共享性弱,冗余度高
  • 数据独立性弱

3.数据库系统阶段

  • 数据库系统阶段的数据具有如下特点:
  • 整体数据的结构化
  • 数据的共享性强、冗余度低且易于扩充
  • 数据的独立性强
  • 数据由数据库管理系统统一管理和控制

4.数据库管理系统必须提供以下几方面的数据管理功能

  • 数据的安全性保护
  • 数据的完整性检查
  • 数据的并发控制
  • 数据库的恢复

综上,数据库是长期储存在计算机内的有组织、可共享的大量数据的集合。他可提供各种用户共享,具有最小的冗余度和较强的数据独立性。数据库管理系统在数据库建立、运维时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

二.数据模型

1.数据模型

数据模型也是一种模型,他是数据特征的抽象,是数据库系统的核心基础,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操纵提供了一个抽象的框架。

数据模型所描述内容的三个部分:数据结构、数据操作、数据的约束条件;

2.数据模型的分类

概念模型

一种面向用户、面向客观世界的模型,主要用于描述世界的概念化结构。

数据模型

直接面向数据库的逻辑结构,是对现实世界的第二次抽象。

数据模型(层次模型,网状模型,关系模型)

3.概念模型的表示方法

最常用的方法:实体-联系方法(E-R)

实体型用矩形表示;(一般都是名词)

属性用椭圆表示;(一般都是名词)

联系用菱形表示;(一般都是动词,联系也可以有属性)

联系主要有一对一、一对多、多对多;

常见的数据模型

1.层次模型:用树形结构表示各类实体及实体间联系。有且仅有一个结点无双亲结点;除根节点外其他结点仅有一个双亲节点(树)

2.网状模型:用网络结构表示各类实体及实体间联系。允许一个以上的结点无双亲结点;一个结点可以有多于一个的双亲结点;

3.关系模型:用二维表的形式表示各类实体及实体间的联系。关系模型是目前最重要的一种数据模型。关系模型的数据结构:是一种二维表结构,由行和列组成;

<关系模型的数据操作与完整性约束>

关系模型的数据操作主要有查询、插入、删除、修改,这些操作必须满足关系模型的完整性约束条件可

①实体完整性规则

②参照完整性规则

③用户定义的完整性规则

<关系模型的优缺点>

优点:

①数据结构单一②关系规范化③概念简单

缺点:

存储路径透明,查询效率步入非关系数据模型;

(4)面向对象模型

常见概念:类、对象、封装继承;

优点:适合处理丰富的数据类型;开发效率高;提高了数据访问的性能;

缺点:没有准确的定义;维护起来比较麻烦;不适合所有应用;

四、关系数据库的规范化

范式------某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,符合标准的关系才是规范化的。范式可以分为多个等级:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)等。

第一范式

(1)第一范式(1NF)关系模式设计中的最基本要求(原子性,属性不可分的再细了)

如果关系模式R中所有的属性都是不可分解的,则称该关系模式R满足第一范式(First Normal Form),简称1NF,记作R∈1NF。

第二范式

(2)第二范式(2NF)(每个表都要有一个主键,其他属性依赖这个主键)

什么是函数依赖?

A B是关系模式R中的两个属性或属性组合,A的值确定--B的值就可以唯一确定,即A函数确定B函数,或者B函数依赖于A函数,记作A->B;

☆ 如果A→B是R的一个函数依赖,且对于A的任何一个真子集A',A'→B都不成立,则称A→B是完全函数依赖。反之,如果A'→B成立,则称A→B是部分函数依赖。(部分确定部分依赖,全部确定完全依赖)

步入正题!

如果一个关系模式R∈1NF,且R中的每一个非主属性都完全函数依赖于码,则称该关系模式R满足第二范式

(Second Normal Form),简称2NF,记作R∈2NF。

2NF是在1NF的基础上建立起来的,要求实体的非主属性必须完全依赖于主码,不能存在仅依赖主码一部分的属性,如果存在则要把这个属性和主码的这一部分分离出来形成一个新的关系。

学生成绩表:

学号,姓名,课程号,课程名,成绩

学号 课程号 成绩

主码 非主属性

学号 姓名

主码 非主属性

课程号 课程名

主码 非主属性

不满足2NF的关系会出现诸如插入异常、删除异常和修改异常等问题。

第三范式

(3)第三范式(3NF)(各属性直接不能相互依赖,只能依赖主键)

如果一个关系模式R∈2NF,且R中的每个非主属性都不传递函数依赖于码,则称该关系模式R满足第三范式

(Third Normal Form),简称3NF,记作R∈3NF。

所谓传递函数依赖是指假设A、B、C是关系模式R中的3个属性或属性组合,如果A→B,B A,B A,B→C,则

称C对A传递函数依赖,传递函数依赖记作A→C。(A→B→C得A→C)

例如,学生信息表(学号,姓名,年龄,班级号,班主任)中,"班主任"依赖于"学号"。"班主任"对"学号"的依赖,是因为"班主任"依赖于"班级号","班级号"依赖于"学号"而产生的。这样就构成了传递依赖,因此不符合3NF。

要想让这个关系模式符合3NF,可以将其分解为两个关系模式:

(1)学生信息表(学号,姓名,年龄,班级号)

(2)班级信息表(班级号,班主任)

可以将其分解为三个符合2NF的关系

(1)学生信息表(学号,姓名)

(2)课程信息表(课程号,课程名)

(3)成绩表(学号,课程号,成绩)

相关推荐
cookqq4 分钟前
mongodb源码分析session异步接受asyncSourceMessage()客户端流变Message对象
数据库·sql·mongodb·nosql
呼拉拉呼拉16 分钟前
Redis故障转移
数据库·redis·缓存·高可用架构
什么都想学的阿超19 分钟前
【Redis系列 04】Redis高可用架构实战:主从复制与哨兵模式从零到生产
数据库·redis·架构
pp-周子晗(努力赶上课程进度版)39 分钟前
【MySQL】视图、用户管理、MySQL使用C\C++连接
数据库·mysql
斯特凡今天也很帅1 小时前
clickhouse常用语句汇总——持续更新中
数据库·sql·clickhouse
超级小忍2 小时前
如何配置 MySQL 允许远程连接
数据库·mysql·adb
吹牛不交税2 小时前
sqlsugar WhereIF条件的大于等于和等于查出来的坑
数据库·mysql
hshpy3 小时前
setting up Activiti BPMN Workflow Engine with Spring Boot
数据库·spring boot·后端
文牧之4 小时前
Oracle 审计参数:AUDIT_TRAIL 和 AUDIT_SYS_OPERATIONS
运维·数据库·oracle
篱笆院的狗4 小时前
如何使用 Redis 快速实现布隆过滤器?
数据库·redis·缓存