数据库——1,数据库基础

数据库基础

基本知识与关系模型:

在这里插入图片描述
数据库主要就是用来存储数据的软件系统
我们将现实世界中的数据通过抽象建模,然后存储到数据库中,通过表的关系模型(粗略理解就是表项)来描述一个事物,数据库使用者可以通过数据库语言对于数据库中的数据进行查询
数据库构成:数据的集合称为数据库,我们需要通过数据库管理软件来创建,操作数据库,不同的数据库管理软件对于数据库的存储方式,索引方式等等可能都是不同的,但是只要他们都遵守某一种数据库语言,然后通过后端的不同实现,让自己的数据库遵守这门语言的语法,数据的使用者就可以方便的使用了,不同的使用者通过不同的数据库应用程序来操作数据库
在这里插入图片描述
在这里插入图片描述
关系型数据库主要就是将一张一张的表作为存储数据的模式,所以表又称为关系,使用这种存储模式的数据库也叫关系型数据库
在这里插入图片描述
在这里插入图片描述
表的组成:一张表通过表名,表格式,表内容三部分组成;其中表名和表标题表明了这张表用来存储的数据是什么,且每个值有什么意义,所以这两项称为关系模式;行称为元组;列称为字段,属性
在这里插入图片描述
数据库就是将一张张有关系的表组织起来的集合

什么是数据库系统:

在这里插入图片描述
数据库构成:数据的集合称为数据库,我们需要通过数据库管理软件来创建,操作数据库,不同的数据库管理软件对于数据库的存储方式,索引方式等等可能都是不同的,但是只要他们都遵守某一种数据库语言,然后通过后端的不同实现,让自己的数据库遵守这门语言的语法,数据的使用者就可以方便的使用了,不同的使用者通过不同的数据库应用程序来操作数据库
在这里插入图片描述
在这里我们就可以清楚的看出,对于数据库的不同部分的具体描述,可以结合上述理解

什么是数据库管理系统:

在这里插入图片描述
从用户视角看,用户需要DBMS进行数据的整理,需要创建数据库,创建关系,对于关系的格式进行定义,所以数据库需要有这些功能,DBMS需要给用户提供DDL,也就是对于数据库的定义
在这里插入图片描述
当我们使用数据库时,需要对数据的数据进行增删改查等操作,所以我们需要一门数据库操作语言对于数据库内各种数据进行操作
在这里插入图片描述
对于数据库管理员来说,需要对于不同用户的不同增删改查进行限制,所有需要一门数据库的控制语言
在这里插入图片描述
在这里插入图片描述
数据库语言也就是对于上述的三种语言的组合,对于数据库语言有一些统一的标准,例如sql语言,不同的数据库管理系统通过底层实现相同的sql语法实现虽然数据库管理系统的底层逻辑可能不一样,但是通过封装实现相同的查询功能

在这里插入图片描述
sql语言可以对于高级语言进行嵌入,这样就可以满足用户的查询操作了

我们再来看看一个dbms需要那些部分
在这里插入图片描述
对于不同的语言需要有不同的编译器,对于数据库管理语言需要转化为基础的关系演算操作,再由查询引擎来完成各种各样的关系演算完成查询功能
在这里插入图片描述
一个数据库系统包含很多次序,通过不同程序之间的协作完成各种功能
在这里插入图片描述
在这里插入图片描述

数据库系统的结构抽象与演变:

数据库结构

在这里插入图片描述
在这里插入图片描述
一个数据库系统就相当于通过不同的软件不同的人员可以对于DBMS进行操作,从而对于数据库进行操作
在这里插入图片描述
对于数据库系统,分为三个层次,外层次,也就是用户层次,提供通过不同的软件实现,看到数据的一部分,也就是使用DCL进行了限制;概念层次,也就是全局层次,可以通过DBMS进行操作,可以看到数据库的所有数据;内层次,可以看到数据库的组织形式,以什么样的存储方式来存储的
在这里插入图片描述
数据的模式也就是之前说的表的模式,包括表名和表的标题;视图也就是不同层次看到的数据
在这里插入图片描述
对于不同层次,看到的关系模式可能时不同的,所有就展现了不同的视图,对于不同的应用程序,可能用户看到的数据显示在一块,但是可能跨越了多张表的查询操作,对于不同的应用程序这样的查询操作可能不同,也就展现了不同的视图
在这里插入图片描述
两层映像:ec映像关系的时全局模式和外模式,可能全局模式的组织结构修改了,如果没有ec映像,可能应用程序端就要进行大规模的代码修改,但是因为加入了ec映像的关系,可能只需要修改ec映像的映射关系就可以使应用程序端代码无需修改。而ci映像也就是数据库从物理存储到全局展示之间的联系
在这里插入图片描述
在这里插入图片描述
对于不同层次的模式修改,可以通过改变映射来实现对于上层的数据的不变性

数据模型

在这里插入图片描述
我们之前已经讲过了关系模式,关系模式也就是在关系型数据库中的组织显示包括了表名和表标题;而这里的数据模型也就决定了数据结构,不同数据模型有不同的操作和约束关系,例如关系模型中,有对于数据的增删改查这些基本操作,同时对于某一列,可以定义主键约束,这样这一列的数据就是不可重复的了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于树结构,可以通过不同的指针的指向不同的数据,将各种数据串联起来
在这里插入图片描述

数据库系统的演变:

在这里插入图片描述
在这里插入图片描述
原来人们之间使用操作系统的文件来实现不同的数据存储,但是也存在各种各样的问题,例如因为没有映射,如果数据库修改所有的程序都要进行修改
在这里插入图片描述
在这里插入图片描述
数据库的出现通过数据库对于操作系统的操作,实现物理存储的组织,然后通过和用户的交互实现数据查询
数据库中主要的数据库就是关系数据库
在这里插入图片描述
关系数据库存在第一范式,也就是数据按行列组织,对于关系数据库将sql语言转化为各种关系运算实现不同的功能
在这里插入图片描述
对于一般的关系数据库的遵守第一范式的原因,导致不同的行列不可再分,也就导致了不能出现上述情况,但是随着面向对象的发展,便出现了面向对象数据库,可以根据数据的可分的性质,分为列下面的子列等等
在这里插入图片描述
不同的数据库关系系统通过遵守odbc的规则完成,在java中也成为jdbc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值