当前位置: 首页 > news >正文

数据库讲解(MySQL版)(超详细)【第一章】

一.数据库简介

一般我们口头上所说的“数据库”实际上指的是“数据库管理系统”,因为“数据库”严格来说只是“数据库管理系统”中的一个层次,而关于数据库的层次一共有四个。

二.数据库的四个层次

2.1数据库(database DB)

数据库是最底级的一层,也是硬件层次

它有五种定义描述:

1.数据库在计算机存储设备上存放

2.数据库是一个数据集合

3.这个数据集合是有结构的,这一点也是和文件系统相比最大的特点之一。

4.这个数据集合是相关联的,只有相关联的数据才可以存放在一起。

5.这个数据集合是合理存放的

2.2数据库管理系统(database manager system DBMS)

数据库管理系统是一个操纵和管理数据库的大型软件,通俗点来说,就是一个数据库软件,例如【MySQL】。

一个数据库管理系统,应该包含如下几个功能:

1.数据定义功能

2.数据存取功能

3.数据库运行管理功能

4.数据库建立和维护功能

5.数据库传输功能

2.3数据库系统(database system DBS)

数据库系统是数据库数据库管理系统组成的系统。

数据库系统一般由如下几个部分构成:

1.硬件:

硬件是数据库赖以存在的物理设备,例如:输入输出设备,运算器,控制器,存储器。

2.软件:

基本的系统软件是操作系统,在操作系统之上运行的软件就是【数据库管理系统】。

3.数据库:

数据库是一个包含全部需要管理的数据的集合,它包含两类数据:

(1)所有应用需要的工作数据的集合

(2)存放在数据字典(data dictionary DD)中各级模式的描述信息。主要包括:数据的结构名,意义,描述定义,存储格式,完整性约束,使用权限等信息。注意到,这些信息都是管理数据库的信息,并不属于我们人为添加的信息。

4.用户:

顾名思义,用户包括:

管理和开发人员,数据库管理员,程序员等。

2.4数据库应用系统(database application system DBAS)

数据库应用系统,即在上述三个系统上人为的开发软件。

例如一个学生信息管理软件就是一个数据库应用系统,因为它是一个软件。

三.数据系统的产生与发展

3.1数据,信息,数据管理 数据处理

1.数据:

数据是什么呢?数据不仅仅只是数字文字,还有图纸,报表,声音等。是人们用来形容客观世界或者客观联系的介质,人们是用这些介质来表示数据。

2.信息:

数据经过处理后就是信息,这些信息就是数据的含义,例如一大串乱码数据,但是包含我们的身份证号,我们将数据处理后,只提取出身份证号身份证号就是信息

而信息的特点就是“对我们有用的信息”。

3.数据管理:

数据管理顾名思义,负责管理数据,比如数据的结构,存放方式等,并且数据管理的好坏将直接影响数据处理的效率

4.数据处理:

数据处理就是从大量的数据中提取出对人们有用的信息。

四.数据库系统的特点

1.数据结构化

2.数据冗余度小,共享性高,避免了数据的不一致性

3.具有较高的数据独立性

4.数据由DBMS统一管理

五.数据模型

5.1数据模型的定义:

在数据库中,数据模型是指现实世界数据和信息的模拟和抽象,用来描述数据、组织数据和对数据进行操作。

5.2数据模型应该具备的要求:

1.真实性

2.易理解性

3.易实现性

5.3数据模型的分类:

1.概念数据模型:

简称概念模型,是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是面向数据库用户的现实世界模型。主要用来描述现实世界的概念化结构,例如:E-R模型谓词模型等。

2.逻辑数据模型:

简称数据模型,是用户从数据库中看到的模型,是具体的DBMS所支持的数据模型,例如层次模型、网状数据模型、关系模型、面向对象的模型等。

3.物理数据模型:

简称物理模型,是对数据最底层的抽象,描述数据在系统内部的表示方法和存放方法

每一种逻辑数据模型在实现时都有对应的物理数据模型。

5.4数据模型(逻辑数据模型)的组成要素:

1.数据结构:

数据结构是指对实体模型和实体间联系的表达和实现。

数据结构规定了如何描述数据的类型内容性质数据之间的相互关系。

数据结构是数据模型的最基本的组成部分,规定了数据模型的静态特性。

2.数据操作:

数据操作是指一组用于指定数据结构的任何有效实例执行的操作或推导规则。

例如【查询、插入、删除

3.数据完整性约束:

数据完整性给出数据及其联系应具有的制约和依赖规则,它定义了给定数据模型中数据及其联系所具有的制约和依存规则。

数据完整性约束保证了数据库中数据的正确性、有效性、相容性。

六.信息的三个领域

6.1现实世界

1.实体

2.实体特性

3.实体集

4.实体标识符

6.2信息世界

1.实体记录,对应着现实世界的实体

2.属性,一个实体记录可以有若干个属性,这些属性是对人类有用的信息

3.原子属性,不能再细分的属性称为原子属性,例如年龄,姓名等。

可以再细分的属性称为可分属性,如简历可以分为工作简历、培训简历等。

4.属性值,属性的具体表现称为属性值。

5.值域,每个属性值都有一个变化的范围,这个范围称为值域。

6.3计算机世界

1.记录:信息世界中的实体记录

2.字段:信息世界中的属性

3.文件:信息世界中的实体记录集

4.关键字:关键字能够唯一表示文件中的某一个记录的最小字段集。

6.4实体间的联系:

1.一对一关系

2.一对多关系

3.多对多关系

七.常用(结构)数据模型

7.1四种模型

1.层次模型

2.网状模型

3.关系模型

4.面向对象的模型

7.2关系模型的数据约束

1.实体完整性约束:

实体完整性约束指的是任意关系中关键字不能为NULL

2.参照完整性约束:

参照完整性用来约束不同关系,当存在关系间的引用时,要求不能引用不存在的元组。

例如:若属性组F是关系R的外关键字,并且是关系S的关键字,则对于F上的值应该满足:

(1)或取NULL

(2)或等于S中某个元组的关键字值

3.用户定义完整性约束:

类型、宽度等。

八.数据库系统的三级模式

8.1概念模式:

简称模式,是对数据库全局逻辑结构的描述反映的是数据的结构及其联系

一个数据库只有一个概念模式,是数据库三级模式中的中间层,既不涉及数据的物理存储细节和硬件环境,又不与程序设计语言相关。

8.2外部模式:

又称子模式介于模式与应用之间,是用户与数据库之间的接口

一个数据库可以有多个外部模式,外部模式表示了用户所理解的实体、实体属性和实体集之间的联系。

所以说,模式与外模式是一对多的关系

8.3内部模式:

又称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

一个数据库只有一个内部模式,在内部模式中规定了所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节

8.4总结

三层模式仅仅是对数据的描述,而数据实际上只存在于物理层

九.数据库的两级映像与数据独立性

9.0什么是映像

映像是一种对应规则,它指出了映像双方是如何进行转换的。数据库的三级转换是依靠映像来联系和互相转换的。也正是因为这两层映像保证了数据库系统中的数据具有较高的数据独立性。

数据独立性包括:“数据逻辑独立性”和“数据物理独立性”。

逻辑独立性表示一旦模式发生变化,无需改变外模式或应用程序

物理独立性表示不会因为内模式发生改变而影响概念模式

9.1外模式/模式映像:

该映像定义了各个外模式与模式间的映像关系。

如果数据库模式发生改变,例如需要增加记录类型,那么只要对外模式/模式映像做相应修改即可,不需要对外模式和应用程序进行修改,保证了数据的逻辑独立性。

9.2模式/内模式映像

该映像定义了数据库全局逻辑结构存储结构之间的对应关系。

保证了数据的物理独立性

9.3三个抽象数据库

数据库的三级系统层次对应了数据库的三个抽象层次:物理数据库概念数据库用户数据库

数据库管理系统实现映像的能力,将直接影响该数据库系统能够达到的数据独立性的程度。

十.数据库系统外部结构

10.1单用户结构

单用户结构是指在个人计算机使用单用户数据库系统,即整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占。

10.2集中式结构

集中式结构是一种采用大型计算机和终端结合的系统,这种结构将数据库系统,包括应用程序、DBMS、数据集中存放在主机上,所有处理任务都给主机来完成,各个用户通过终端并发地存取数据库,共享数据资源。

10.3分布式结构

数据库中的逻辑上是一个层次,但物理地分布在计算机网络的不同节点上。

网络节点中的每个几点都可以独立处理本地数据库中的数据,执行局部应用。

例如,腾讯,微软等大型公司的数据就使用了分布式结构存储。

10.4客户机/服务器结构

简称CS结构,某个网路节点的计算机专门执行数据库管理系统功能,成为数据库服务器,简称服务器。

而安装应用程序需要数据库的计算机被称为客户机。

10.5浏览器/服务器结构

将应用程序安装在服务器端执行,而客户机端只安装作为前端运行环境的浏览器,这种结构的核心是web服务器

相关文章:

  • 应用内存分析
  • STM32 | 零基础 STM32 第一天
  • Dubbo基础入门二
  • 功能测试+自动化测试代码覆盖率统计
  • C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码
  • #QT(串口助手-界面)
  • 多线程环境中使用UdpClient,适当的同步机制
  • php-webdriver 通过队列的方式实现工作流
  • 刷题第11天
  • 985硕的4家大厂实习与校招经历专题分享(part2)
  • 测试常用的Linux命令
  • 中医把脉笔记
  • react tab选项卡吸顶实现
  • 力资源视角的数字化应用
  • 01背包问题 刷题笔记
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【node学习】协程
  • 【技术性】Search知识
  • 2017-09-12 前端日报
  • Akka系列(七):Actor持久化之Akka persistence
  • Angular 4.x 动态创建组件
  • co模块的前端实现
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • javascript从右向左截取指定位数字符的3种方法
  • JS学习笔记——闭包
  • JS专题之继承
  • magento2项目上线注意事项
  • October CMS - 快速入门 9 Images And Galleries
  • oschina
  • 安卓应用性能调试和优化经验分享
  • 复习Javascript专题(四):js中的深浅拷贝
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 应用生命周期终极 DevOps 工具包
  • 原生js练习题---第五课
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 如何在招聘中考核.NET架构师
  • !!java web学习笔记(一到五)
  • #AngularJS#$sce.trustAsResourceUrl
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (实战篇)如何缓存数据
  • (转)可以带来幸福的一本书
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET 表达式计算:Expression Evaluator
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET正则基础之——正则委托
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @Responsebody与@RequestBody