【一】初步认识数据库

  • 数据库概览
  • 数据库 缘起
    • 表(Table)的理解
    • 用表来定义数据库
    • 数据库系统的理解
      • 概念层次的理解
      • 实例层次的理解
    • 数据库管理系统的理解
      • 从用户角度看
      • 从系统实现角度看
      • 典型的数据库管理系统
    • 数据库语言
      • 数据库定义、操纵、控制语言
      • 数据库语言 VS 高级语言
  • 内容回顾
  • 练习

数据库概览

走马观花快速一瞥,数据库为何方神圣?

在这里插入图片描述

假设你现在有很多很多表,为了快速 添加、删除、修改、查找 数据,你需要想办法管理这些表:

  • 这些表中是一些 相互有关联关系的数据,这样的 表的集合叫做数据库 (Database);
  • 管理数据库(也就是管理这些表)的 系统软件叫做 数据库管理系统(DBMS);
  • 这些数据库管理系统 由谁来使用 呢?就是 数据库管理员(DBA);
  • 那数据库管理员怎么使用这些系统?就需要 数据库语言(SQL);所以你要成为 DBA,就要先掌握这个语言,才能操作数据库;
  • 如果有些人不学计算机,没有掌握数据库语言,怎么办呢?那我们学计算机的为他们开发 数据库应用程序(DBAP,图形界面);
  • 不同的用户使用不同的能完成某功能的 数据库应用程序通过数据库管理系统来操作数据库
  • 那如何根据数据库(那些表)设计 具体的数据库应用程序呢?需要从现实世界抽象出信息(ER图),再设计出关系模式,用数据库语言定义这些表,存储在计算机中;
  • 学习了 数据库设计,再进一步学习 数据库的维护和控制,再学习 数据库的存储和查询,这又涉及到数据的一致性、可靠性,即 数据库事务处理

在这里插入图片描述

  • 数据库(DB): Database
  • 数据库管理系统(DBMS): Database Management System
  • 数据库管理员(DBA): DataBase Administrator
  • 数据库应用(DBAP): DataBase Application

这就是,很多很多表引发的问题以及解决方法,即数据库。

【重点与难点】

  • 一组概念的区分:数据库数据库系统数据库管理系统
  • 的相关要素和术语
  • 数据库系统 的构成、工作环境
  • 了解 数据库管理系统 的功能:从 用户角度 和从 系统角度

数据库 缘起

数据库是一种技术,更是一种思维。

应用数据库,实现积累的收益。

在这里插入图片描述

表(Table)的理解

这里的数据,就是上文提到的一些有关联关系的 表(Table),表是以 按行按列 形式组织和展现的数据。

E.F.Codd, 基于对“表(Table)”的理解:

  • 提出了“关系”及关系模型
  • 提出了关系数据库理论
  • 开创了数据库的时代
  • 当前普遍应用的数据库管理系统的奠基者
  • 获得了 计算机领域最高奖“图灵奖”

那么,表里有什么?

这需要 抽象,抽象就是要 理解 表的要素,然后 区分 开各个要素,再给它们 命名,用以 表达 表的信息。

在这里插入图片描述

Table 中描述了一些 相互有关联关系的数据

  • “学生成绩单” 是这个表的 表名
  • “班级”、“课程”、…、“成绩”这一行是表的 表标题(格式);
  • 粉红色框框的一行行一列列的内容是表的 表内容(值);
  • 表名 和 表标题 构成这个表的 关系(模式)。
  • 表名、表标题和表内容 构成这个 (关系)。
  • 这个表内容的每一行又叫 行(row)/元组(tuple)/记录(record)
  • 这个表内容的每一列又包含 列名列值

用表来定义数据库

Database: 相互之间有关联关系的 Table 的集合。

在这里插入图片描述

除了表形式的关系数据库外,还有图像数据库和工程数据库。

在这里插入图片描述

数据库系统的理解

概念层次的理解

数据库系统(工作环境):

  • 数据库(DB): Database
  • 数据库管理系统(DBMS): Database Management System
  • 数据库管理员(DBA): DataBase Administrator
  • 数据库应用(DBAP): DataBase Application
  • 计算机基本系统

在这里插入图片描述

实例层次的理解

数据库系统(工作环境):图书管理数据库系统

在这里插入图片描述

数据库管理系统的理解

  • 怎样利用数据库管理系统管理数据库?
  • 数据库管理系统应具有什么功能?

从用户角度看

  1. 数据库定义: 定义数据库中 Table 的名称、标题(内含的属性名称及对该属性的值的要求)等。
  • DBMS 提供一套 数据定义语言 (DDL:Data Definition Language)给用户;
  • 用户使用 DDL 描述所要建立表的格式
  • DBMS 依照用户的定义,创建数据库及其中的 Table
    在这里插入图片描述
  1. 数据库操纵:向数据库的 Table 中 增加/删除/更新数据对数据进行查询、检索、统计 等。
  • DBMS 提供一套 数据操纵语言 (DML:Data Manipulation Language)给用户;
  • 用户使用 DML 描述 其所要进行的 增、删、改、查 等操作;
  • DBMS 依照用户的操作描述,实际执行 这些操作。

在这里插入图片描述

  1. 数据库控制:控制数据库中数据的使用—哪些用户可以使用,哪些不可以。
  • DBMS 提供一套 数据控制语言 (DCL:Data Control Language)给用户;
  • 用户使用 DCL 描述 其对数据库所要实施的控制;
  • DBMS 依照用户的描述,实际进行控制

在这里插入图片描述

  1. 数据库维护:转储/恢复/重组/性能监测/分析…
  • DBMS 提供一系列 程序(实用程序/例行程序) 给用户;
  • 在这些程序中提供了对数据库维护的各种功能;
  • 用户使用 这些程序进行各种数据库维护操作。

数据库维护的实用程序,一般都是由数据库管理员(DBA)来使用和掌握的。

在这里插入图片描述

从系统实现角度看

“形式->构造->自动化”–数据库管理系统的实现。

在这里插入图片描述

DBMS 为完成 DB 管理,在后台运行着一系列程序…

  • 语言编译器将用数据库语言书写的内容,翻译成 DBMS 可执行的命令。(可以类比 C 编译器可以把 C 语言代码编译成 CPU 可以懂的二进制指令 来理解)例如:DDL 编译器, DML 编译器, DCL 编译器等;
  • 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段。例如:贯穿于数据存取各个阶段的优化程序;
  • 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
  • 通信控制:提供网络环境下数据库操作与数据传输的手段。
  • 事务管理:提供提高可靠性并 避免并发操作错误 的手段。
  • 故障恢复使数据库自动恢复到故障发生前正确状态的手段。例如:提供了备份、运行日志操控等实用程序;
  • 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段。
  • 完整性控制:提供数据及数据操作正确性检查的手段。
    在这里插入图片描述

典型的数据库管理系统

  • Oracle
  • MySQL
  • PostgreSQL
  • DB2(IBM)
  • Sybase
  • Microsoft SQL Server
  • Microsoft Access
  • Microsoft FoxPro
  • MongoDB(面向文档)

在这里插入图片描述

【总结】

数据库管理系统,包括数据库语言,和数据库执行例行程序。

在这里插入图片描述

数据库语言

数据库语言:使用者通过数据库语言利用 DBMS 操作数据库;

SQL 语言是结构化的数据库语言

数据库定义、操纵、控制语言

  • 数据定义语言(DDL:Data Definition Language) ----DBMS 提供给用户,以便用户定义数据格式;
  • 数据操纵语言(DML:Data Manipulation Language)----DBMS 提供给用户,以便用户对数据进行操作;
  • 数据控制语言(DCL:Data Control Language)----DBMS 提供给用户,以便用户对数据进行控制;
  • 数据库各种操作的执行----DBMS 按用户要求进行定义、操纵、控制和维护。

在这里插入图片描述

数据库语言 VS 高级语言

  1. 一条数据库语言语句相当于高级语言的一个或多个循环程序

在这里插入图片描述

数据库语言(标准的 SQL 语言):

Select 学号,姓名 From 学生登记表 Where 性别 = ‘男’;

高级语言:

For K=1 to 最后一条记录 读第K条记录If 性别=‘男’ then显示第K条记录Endif
Next K
  1. 数据库语言可以嵌入到高级语言(宿主语言)中使用

交互式数据库语言(标准的:SQL语言):

Select 学号,姓名
From 学生登记表
Where 性别=‘男’;

嵌入式数据库语言(SQL 语句嵌入到某一种高级语言中):

在这里插入图片描述

内容回顾

在这里插入图片描述

练习

  1. 关于数据库系统和数据库管理系统,下列说法正确的是__________。

A. 数据库系统和数据库管理系统指的是同一软件产品

B. 数据库系统和数据库管理系统指的是不同软件产品

C. 数据库管理系统是软件产品,而数据库系统不仅仅是软件产品

D. 数据库系统是软件产品,而数据库管理系统不仅仅是软件产品

正确答案:C

  1. 关于数据库系统,下列说法正确的是__________。

A. 数据库系统的构成包括计算机/网络基本系统、数据库和数据库管理系统

B. 数据库系统的构成包括计算机/网络基本系统、数据库、数据库管理系统和数据库应用程序

C. 数据库系统的构成包括计算机/网络基本系统、数据库、数据库应用程序和数据库管理员

D. 数据库系统的构成包括数据库、数据库管理系统、数据库应用程序、数据库管理员以及计算机与网络基本系统

正确答案:D

  1. 从用户角度看数据库管理系统的功能,下列说法正确的是__________。

A. 数据库管理系统就是通过数据库语言让用户操作进而提供数据库操纵功能的系统

B. 数据库管理系统就是通过数据库语言让用户操作进而提供数据库定义和数据库操纵功能的系统

C. 数据库管理系统就是通过数据库语言让用户操作进而提供数据库定义、数据库操纵和数据库控制功能的系统

D. 数据库管理系统就是通过数据库语言让用户操作进而提供数据库定义、数据库操纵和数据库控制功能的系统,同时提供了一系列程序能够实现对数据库的各种存储与维护

正确答案:D

  1. 从系统角度看数据库管理系统,其功能包括__________。

A. 数据库语言及其编译

B. 查询实现与查询优化

C. 事务处理

D. 不仅仅有(A)(B)(C )功能,还包括其他功能

正确答案:D

  1. 从系统角度看数据库管理系统,其功能包括__________。

A. X-查询实现与查询优化

B. Y-事务处理

C. Z-数据存储与索引

D. 不仅仅包含X-、Y-、Z-功能,还包括其他功能

正确答案:D

  1. 下列哪些功能不是数据库管理系统的功能__________。

A. 完整性控制

B. 并发控制

C. 通讯控制

D. 处理机控制

正确答案:D

  1. 关于数据库系统语言,下列说法正确的是__________。

A. 数据库系统语言包括了DDL和DML

B. 数据库系统语言包括了DDL、DML和DCL

C. 数据库系统语言包括了DDL、DML和C++/Java

D. 数据库系统语言包括了DDL、DML和程序设计语言

正确答案:B

  1. 关于DDL,下列说法正确的是__________。

A. DDL是数据库定义语言

B. DDL是数据库操纵语言

C. DDL是数据库控制语言

D. DDL是数据库维护语言

正确答案:A

  1. 关于DML,下列说法正确的是__________。

A. DML是数据库定义语言

B. DML是数据库操纵语言

C. DML是数据库控制语言

D. DML是数据库维护语言

正确答案:B

  1. 从用户角度看数据库管理系统,其功能包括__________。

A. 数据库定义

B. 数据库操纵

C. 数据库控制

D. 上述全部

正确答案:D

  1. 从用户角度看数据库管理系统,其功能包括__________。

A. 数据库定义

B. 数据库操纵

C. 数据库控制

D. 数据库维护

正确答案:A、B、C、D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/60211.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter +Maven+jenkins 接口性能全自动化测试

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知&#xff0c…

浪潮数字咨询专家孙崇虎受邀为第十二届中国PMO大会演讲嘉宾

浪潮数字企业技术有限公司集团管控事业部咨询专家孙崇虎先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:VUCA时代的项目管理信息化应对。大会将于8月12-13日在北京举办,敬请关注! 议题简要: 当前…

NGINX组件(rewrite)

一、location匹配的规则和优先级(*) URI:统一资源标识符,是一种字符串标识,用于标识抽象的或者是物理资源;如:文件、图片、视频等 nginx中的URI匹配的是:网址”/“后的路径 如&…

10分钟学会阿里OSS对象存储

一. 前言 最近有很多小伙伴问,如果我们要进行大规模的文件存储该怎么做? 其实实现文件存储的技术有很多,如果我们在网上搜索一下,你会发现实现的技术简直是五花八门,比如有一种技术叫FastDFS就可以实现文件存储,但该…

IoT 物联网安全事件的持续检测和监控解决方案

对于IoT物联网安全事件的持续检测和监控,可以采用以下解决方案: 设备管理和漏洞修复:确保设备的固件和软件及时更新,并修补已知的漏洞。建立一个设备清单,并定期审查和更新其中的设备。 流量分析和异常检测&#xff1a…

matplotlib 笔记:基本用法

1 axis 1.0 对比原始图像 import numpy as np import matplotlib.pyplot as plt xrange(5) yrange(10,20,2) plt.plot(x,y) 1.1 plt.axis(equal) x轴和y轴单位长度相同 import numpy as np import matplotlib.pyplot as plt plt.axis(equal) xrange(5) yrange(10,20,2) pl…

IDEA全局设置MyBatis中写SQL语句提示

把这两个设置改成MySQL即可:

OpenCV 中的光流 (C++/Python)

什么是光流? 光流是一项视频中两个连续帧之间每像素运动估计的任务。基本上,光流任务意味着计算像素的位移矢量作为两个相邻图像之间的对象位移差。光流的主要思想是估计物体由其运动或相机运动引起的位移矢量。 理论基础 假设我们有一个灰度图像——具有像素强度的矩阵。我…

Jenkins 中 shell 脚本执行失败却不自行退出

Jenkins 中 执行 shell 脚本时,有时候 shell 执行失败了,或者判断结果是错误的,但是 Jenkins 执行完成后确提示成功 success 。 此时,可以通过条件判断来解决这个问题,让 Jenkins 强制退出并提示执行失败 failed 。 …

java【native关键字】

描述: native只能修饰方法,表示这个方法的方法体代码不是用java语言实现的,而是由c/c语言编写的。但是对于java程序员来说,可以当作java的方法一样正常去调用它,或者子类重写它 语法: 用在方法的返回值类…

【网络编程】万字详解||一个简单TCP服务器(TCP、线程池、守护进程)源码+介绍

TCP服务器 锁:Lock.hpp代码介绍 守护进程:daemonize.hpp代码说明 日志文件:log.hpp代码说明 任务处理 Task.hpp代码说明 线程池 ThreadPool.hpp代码说明 客户端 TCPClient.cc代码说明 服务器 TCPServer.cc代码说明 头文件包 util.hpp代码 Mak…

Leetcode-每日一题【剑指 Offer 16. 数值的整数次方】

题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入:x 2.00000, n 10输出:1024.00000 示例 2: 输入&#…