【一】初步认识数据库

news2024/11/25 8:14:50

  • 数据库概览
  • 数据库 缘起
    • 表(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.coloradmin.cn/o/859464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ORACLE行转列、列转行实现方式及案例

ORACLE行转列、列转行实现方式及案例 行转列案例方式1.PIVOT方式2.MAX和DECODE方式3.CASE WHEN和GROUP BY 列转行案例方式1.UNPIVOT方式2.UNION ALL 行转列 案例 假设我们有一个名为sales的表,其中包含了产品销售数据。表中有三列:product(…

vue 设置了表单验证的el-input,在触发验证后无法继续输入的问题解决

问题表现 在项目中碰到的问题&#xff0c;说是input框出现验证提示后&#xff0c;该框就无法输入新的数据了 下面是我的代码&#xff1a; // dom结构 <el-form ref"addForm" :rules"addFormRules" :model"addForm" label-width"100px&…

【ChatGPT 指令大全】怎么使用ChatGPT辅助程式开发

目录 写程式 解读程式码 重构程式码 解 bug 写测试 写 Regex 总结 在当今快节奏的数字化世界中&#xff0c;程式开发变得越来越重要和普遍。无论是开发应用程序、网站还是其他软件&#xff0c;程式开发的需求都在不断增长。然而&#xff0c;有时候我们可能会遇到各种问题…

MySQL多表连接查询

目录 表结构 创建表 表数据插入 查询需求 1.找出销售部门中年纪最大的员工的姓名 2.求财务部门最低工资的员工姓名 3.列出每个部门收入总和高于9000的部门名称 4.求工资在7500到8500元之间&#xff0c;年龄最大的人的姓名及部门 5.找出销售部门收入最低的员工入职时间…

Vc - Qt - QToolButton

QToolButton 是 Qt 框架中的一个类&#xff0c;是 QPushButton 的子类。它可以显示一个可单击的按钮&#xff0c;并且可以与弹出菜单、图标和文本等进行关联。 QToolButton的一些常见特性和用法包括&#xff1a; 设置文本&#xff1a;使用 setText() 函数设置按钮上的文本。设置…

Cloud Studio一个永不间断的云端工作站

一、简介 官网 Cloud Studio 是基于浏览器的集成式开发环境&#xff08;IDE&#xff09;&#xff0c;为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#xff0c;随时随地打开浏览器就能在线编程。 Cloud Studio 作为在线 IDE&#xff0c;包含…

【CSS】透明背景的圆角渐变边框实现方案

css的渐变边框可以用下面方式实现 border-image: linear-gradient(rgb(89, 0, 255),pink) 30 30; css的圆角边框可以用下面方式实现 border-radius: 20px; 那想要实现一个圆角的渐变边框呢&#xff0c;可能会以为&#xff0c;两个都用上不就可以了&#xff0c;但事实是&…

稳定性治理三,故障预防、发现、处理

目录&#xff08;故障预防&#xff0c;故障发现&#xff0c;故障处理&#xff09; 集群分组隔离线程池隔离DB 双库&#xff0c;慢 SQL 隔离多级缓存 redis 主要缓存mapdb 降级缓存localCache限流 分类进行频次统计限流sentinel 平台精细化接口限流降级熔断自动预案 稳定性相关的…

新法!《个人信息保护合规审计管理办法(征求意见稿)》解读

8月3日&#xff0c;依据《中华人民共和国个人信息保护法》等法律法规&#xff0c;国家互联网信息办公室起草了《个人信息保护合规审计管理办法&#xff08;征求意见稿&#xff09;》&#xff08;下文简称“办法”&#xff09;&#xff0c;并向社会公开征求意见。 据悉&#xff…

ThreadLocal原理和实践

一、概述 ThreadLocal是线程本地变量&#xff0c;解决多线程环境下成员变量共享存在的问题。ThreadLocal为每个线程创建独立的的变量副本&#xff0c;他的特性是该变量的引用对全局可见&#xff0c;但是其值只对当前线程可用&#xff0c;每个线程都将自己的值保存到这个变量中…

Java并发编程(二)并发理论[JMM/重排序/内存屏障/Happens-Before 规则]

JMM(Java内存模型) 概述 JMM即Java内存模型(Java Memory Model),是一种抽象的概念,并不真实存在,JMM描述的是一组规则或规范,通过这组规范定义了程序中各个变量的访问方式Java内存模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操…

Java实现籍贯级联选择器

在工作中要求写一个籍贯的级联选择器&#xff0c;记录一下自己写这个级联选择器的过程&#xff0c;因为自己才刚开始工作&#xff0c;有很多地方都没有考虑的很清楚&#xff0c;希望各位大佬能给出建议。 一、需求 A:正常的23个省&#xff0c;籍贯由“省区/县/市”组成&#xf…

javaScript:分支语句的理解与使用(附带案例)

目录 前言 补充 另一种说法 分支语句 1.if语句 a.单分支语句 注意 b.双分支语句 注意点 c.多分支语句&#xff08;分支语句的联级语句&#xff09; 补充 2.三元运算符 三元运算符 &#xff1f; &#xff1a; 使用场景 3.switch语句 解释 释义&#xff1a…

2000-2022年全国地级市乡村振兴测算数据(30个指标)

1、时间&#xff1a;2000-2022年 2、来源&#xff1a;城市统计NJ、各地区统计NJ 3、范围&#xff1a;地级市 4、指标&#xff1a;乡村振兴指数、人均农业机械总动力&#xff08;千瓦&#xff09;、粮食综合生产能力&#xff08;万吨&#xff09;、农业劳动生产率&#xff08…

ToolLLM:能够使用 16000 种真实 API 的 LLM

随着对 LLM&#xff08;大语言模型&#xff09;的了解与使用越来越多&#xff0c;大家开始偏向于探索 LLM 的 agent 能力。尤其是让 LLM 学习理解 API&#xff0c;使用工具进行对用户的 instruction&#xff08;指令&#xff09;进行处理。然而&#xff0c;目前的开源大模型并不…

Oracle连接数据库提示 ORA-12638:身份证明检索失败

ORA-12638 是一个 Oracle 数据库的错误代码&#xff0c;它表示身份验证&#xff08;认证&#xff09;检索失败。这通常与数据库连接相关&#xff0c;可能由于以下几个原因之一引起&#xff1a; 错误的用户名或密码&#xff1a; 提供的数据库用户名或密码不正确&#xff0c;导致…

开源数据库Mysql_DBA运维实战 (DDL语句)

DDL DDL语句 数据库定义语言&#xff1a;数据库、表、视图、索引、存储过程. 例如:CREATE DROP ALTER DDL库 定义库{ 创建业务数据库&#xff1a;CREAATE DATABASE ___数据库名___ ; 数据库名要求{ a.区分大小写 b.唯一性 c.不能使用关键字如 create select d.不能单独使用…

单片机学到什么程度可以找到工作?

STM32是意法半导体公司推出一款32位的单片机&#xff0c;其具有超低的价格、超多的外设、丰富的型号、优异的实时性、极低的开发成本等优势&#xff0c;并且stm32相关资料都非常全面和细致&#xff0c;所以很适合小白的学习。对于开发方式的选择&#xff0c;选择一种适合自己的…

MySQL索引3——Explain关键字和索引使用规则(SQL提示、索引失效、最左前缀法则)

目录 Explain关键字 索引性能分析 Id ——select的查询序列号 Select_type——select查询的类型 Table——表名称 Type——select的连接类型 Possible_key ——显示可能应用在这张表的索引 Key——实际用到的索引 Key_len——实际索引使用到的字节数 Ref ——索引命…

day1 ARM架构概述

ARM处理器架构 1、指令集&#xff1a; 1.1、复杂指令集(CISC)&#xff1a;包含处理复杂操作的特定指令&#xff0c;指令长度不固定&#xff0c;执行需要多个周期&#xff1b; 1.2、简单指令集(RISC)&#xff1a;指令简单而有效&#xff0c;格式和长度通常是固定的&#xff0c;…