【一】初步认识数据库

  • 数据库概览
  • 数据库 缘起
    • 表(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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

gitblit-使用

1.登入GitBlit服务器 默认用户和密码: admin/admin 2.创建一个新的版本库 点击图中的“版本库”,然后点击图中“创建版本库” 填写名称和描述,注意名称最后一定要加 .git选择限制查看、克隆和推送勾选“加入README”和“加入.gitignore文件”在图中的1处…

2023一带一路东盟工商领袖峰会在曼谷成功举行,发明家周初材被授予中泰友好交流大使

今年是共建“一带一路”倡议提出十周年。十年来,共建“一带一路”倡议从理念到行动,从愿景到现实,开展更大范围、更高水平、更深层次的区域合作,致力于维护全球自由贸易体系和开放型世界经济,推动文明交流互鉴&#xf…

openeuler服务器 ls 和ll 命令报错 command not found...

在openeuler服务器执行 ls 和ll 命令报错 command not found... 大概是系统环境变量导致的问题。 我在安装redis是否没有安装成功后就出现了这样的情况。编辑profile文件没有写正确,导致在命令行下ls 和 ll 等命令不能够识别。 重新设置一下环境变量。 export PAT…

【项目学习1】如何将java对象转化为XML字符串

如何将java对象转化为XML字符串 将java对象转化为XML字符串,可以使用Java的XML操作库JAXB,具体操作步骤如下: 主要分为以下几步: 1、创建JAXBContext对象,用于映射Java类和XML。 JAXBContext jaxbContext JAXBConte…

Oracle 开发篇+Java通过共享模式访问Oracle数据库

标签:共享服务器进程、shared server process释义:shared server process是Oracle的一种数据库连接技术,类似的还有专用模式和DRCP ★ 数据库配置 alter system set shared_server_sessions1 scopespfile; alter system set max_shared_serv…

最大限度增加销售额!亚马逊提醒卖家准备Q4季度促销库存!

亚马逊美国站发布公告称为了最大限度提高卖家销售额,确保您的亚马逊物流库存在第四季度的促销活动中按时到达亚马逊运营中心,亚马逊建议卖家检查补货库存并及时将库存送到运营中心,以下是公告内容: 为了最大限度地提高您的假期销…

Practices9(双指针)|283. 移动零、11. 盛最多水的容器、15. 三数之和

283. 移动零 1.题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,…

全网最细,Fiddler修改接口返回数据详细步骤实战,辅助接口测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在测试的过程中&a…

React入门学习笔记3

事件处理 通过onXxx属性指定事件处理函数(注意大小写) React使用的是自定义(合成)事件, 而不是使用的原生DOM事件——为了更好的兼容性 eg:οnclick》onClickReact中的事件是通过事件委托方式处理的(委托给组件最外层的元素)——为了更高效通过event.target得到发生…

新版Android Studio模拟器浮动

(水一篇,但其实很多入门同学不知道) 安装新版Andorid Studio后会发现模拟器是内嵌在AS中的,如何让她浮动

day5 STM32中断系统

中断的基本概念 在处理器中,中断是一个过程,即CPU正常执行程序的过程中,遇到外部或者内部的紧急时间需要处理,暂时终止当前程序的执行,转而去为处理紧急的时间,待处理完毕后再返回被打断的程序出继续往下执…

ffmpeg命令行是如何打开vf_scale滤镜的

前言 在ffmpeg命令行中,ffmpeg -i test -pix_fmt rgb24 test.rgb,会自动打开ff_vf_scale滤镜,本章主要追踪这个流程。 通过gdb可以发现其基本调用栈如下: 可以看到,query_formats()中创建的v…

消息队列(3) -封装数据库的操作

前言 上一篇博客我们写了, 关于交换机, 队列,绑定, 写入数据库的一些建库建表的操作 这一篇博客中,我们将建库建表操作,封装一下实现层一个类来供上层服务的调用 , 并在写完该类之后, 测试代码是否完整 实现封装 在写完上述的接口类 与 xml 后, 我们想要 创建一个类 ,来调用…

保证接口数据安全的10种方式

我们日常开发中,如何保证接口数据的安全性呢?个人觉得,接口数据安全的保证过程,主要体现在这几个方面:一个就是数据传输过程中的安全,还有就是数据到达服务端,如何识别数据,最后一点…

Java基础篇--修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问控制修饰符 非访问修饰符 访问控制修饰符 private:私有访问权限,用于修饰类的属性和方法。被private修饰的成员只能在本类中进行访问。default(默认访问权限&…

ctypes使用浅谈

什么是ctypes: ctypes 是 Python 的一个标准库,用于与 C 语言进行交互。它提供了一组工具和函数,可以方便地调用动态链接库(DLL)或共享对象(SO)中的 C 函数,并处理 C 数据类型的转换…

MySQL中基础查询语句

用户表user数据如下: iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543famale20北京大学Deijing42315female 23 浙江大学ZheJiang55432male25山东大学Shandong 1,写出ddl语句创建如上表,…

自动化实践-全量Json对比在技改需求提效实践

1 背景 随着自动化测试左移实践深入,越来越多不同类型的需求开始用自动化测试左移来实践,在实践的过程中也有了新的提效诉求,比如技改类的服务拆分项目或者BC流量拆分的项目,在实践过程中,这类需求会期望不同染色环境…

6.6 实现卷积神经网络LeNet训练并预测手写体数字

模型架构 代码实现 import torch from torch import nn from d2l import torch as d2lnet nn.Sequential(nn.Conv2d(1,6,kernel_size5,padding2),nn.Sigmoid(),#padding2补偿5x5卷积核导致的特征减少。nn.AvgPool2d(kernel_size2,stride2),nn.Conv2d(6,16,kernel_size5),nn.S…

竞赛项目 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…