数据库(一)初步认识数据库系统

什么是数据库?

表:以按行按列形式组织及展现的数据

如下便是一个表,也叫关系,描述了一批相互有关联关系的数据

数据库:起源于规范化表(如成绩单)的处理,简称DB,是相互有关联关系的若干表的集合。简单说就是一堆文件,这些文件中存储了具有特定格式的数据

什么是数据库管理系统? 

作用:专门管理数据库中的数据的,数据库管理系统可以对数据库当中的数据进行增删改查。

类型:层次型、网状型、关系型(本课程主要学习)。

常见的数据库管理系统:MySQL,Oracle、MS SqlServer、DB2、sybase等.....

用户角度看数据库管理系统

一.数据库定义:定义数据库中表的名称标题等

1.DBMS提供数据定义语言即DDL

2.用户使用DDL描述其所要建立表的格式

3.DBMS依照用户的定义,创建数据库及其中的表

二.数据库操纵:向数据库的表进行增删查改等操作

1.DBMS提供数据操纵语言(DML)

2.用户使用DML描述其索要进行的增删改查等操作

3.DBMS根据用户的操作描述,实际执行这些操作

三.数据库控制:控制数据库中数据使用的权限

1.DBMS提供数据控制语言(DCL),即对数据访问权限的控制

2.用户使用DCL描述其对数据库所要实施的控制,即用户对数据的访问权限

3.DBMS依照用户的描述进行权限的检查,实际进行控制

四.数据库维护:转储,恢复,重组等,一般由数据库管理员使用和掌握

1.DBMS提供一系列程序

2.这些程序提供对数据库维护的各种功能

3.用户使用这些程序进行对各种数据库维护操作

数据库语言

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

1.数据定义语言(DDL):用于用户定义数据格式,如定义表明,表标题,列名及其结构形式

2.数据操纵语言(DML):用于用户对数据进行操作,如增删查改检索统计数据

3.数据控制语言(DCL):用于用户对数据进行控制,如定义对不同用户的权限

以上三种语言统称为SQL语言 ,即结构化数据语言

DBMS按照用户使用的SQL语言进行定义,操纵,控制和维护

SQL语言相当于高级语言的一个或多个循环程序,用于在数据库中遍历数据进行对特定数据的操

纵,也可以嵌入在高级语言中使用

系统角度看数据库管理系统

这些程序有以下几种:

语言编译器:将用数据库语言书写的内容,翻译成DBMS可执行的命令。例如: DDL编译器,DML编

译器,DCL编译器等;

查询优化(执行引擎)与查询实现(基本命令的不同执行算法) :提高数据库检索速度的手段;例如贯穿

于数据存取各个阶段的优化程序;

数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索

引/文件和记录管理器等;

通信控制:提供网络环境下数据库操作与数据传输的手段

事务管理:提供提高可靠性并避免并发操作错误的手段

故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用

程序

安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段

完整性控制:提供数据及数据操作正确性检查的手段

数据字典管理:管理用户已经定义的信息

应用程序接口(API) :提供应用程序使用DBMS特定功能的手段

数据库数据装载、重组等实用程序

数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行

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

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

相关文章

基于鳑鲏鱼优化算法(Bitterling Fish Optimization,BFO)的无人机三维路径规划

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行…

童装WP模板

童装WP模板 https://www.wpniu.com/moban/6359.html

JDBC和连接池

JDBC和连接池 大纲 JDBC连接数据库的方式 具体案例 JDBC 需求:满足Java程序能对多个不同的数据库进行操作,而创建了一种接口,实现对数据库的规范 连接数据库的方式 1.方法1 先创建一个Driver对象,然后设置连接到的数据…

微信小程序提示确认框

如图所示,如何弹出微信小程序自带默认弹框? 代码如下: wx.showModal({ title: 确认, content: 确定要删除吗?, success (res) { if (res.confirm) { console.log(用户点击确定) } else if (res.cancel) { console.log(用…

物联网电气融合实训室建设方案

1 教学实训总体设计 1.1 建设背景 (一)政策推动与战略部署 近年来,物联网技术在全球范围内得到了广泛的关注和应用。作为信息技术的重要组成部分,物联网在推动经济转型升级、提升社会管理水平、改善民生福祉等方面发挥着重要作…

二、TensorFlow结构分析(5)案例

案例: minimize(error) 代码: def linear_regression():# 自实现线性回归# 1)准备数据X tf.random.normal(shape[100,1])y_true tf.matmul(X,[[0.8]]) 0.7# 2)构造模型# 定义模型参数 用 变量weights tf.Variable(initial_v…

Linux的基本权限

一、对shell的浅显认识 shell是操作系统下的一个外壳程序,无论是Linux操作系统,还是Windows操作系统,用户都不会直接对操作系统本身直接进行操作,需要通过一个外壳程序去间接的进行各种操作 在Linux的shell外壳就是命令行&#…

Storyboard动画、EventTrigger事件触发器

就是动画&#xff0c;要注意的就是EventTrigger中的SourceName就是想要实现这个功能的按钮 <StackPanel Orientation"Vertical"><Rectanglex:Name"rect"Width"200"Height"40"Fill"Pink" /><StackPanel Orie…

java之lombok

Lombok是一个实用的java类库&#xff0c;能通过注解的形式自动生成构造器&#xff0c; getter setter equsls hashcode tostring等方法 并且可以自动化生成日志变量&#xff0c;简化java开发&#xff0c;提高效率 作用 导入 <dependency><groupId>org.projectlomb…

Servlet API 详细讲解

Servlet API 详细讲解 API就是一组类和方法的集合&#xff0c;servlet 中的 类是非常多的&#xff0c;咱们只需要学习 3个类即可。 HttpServletHttpServletRequest&#xff08;服务器如何读取客户端响应&#xff09;HttpServletResponse&#xff08;服务器如何把响应返回给客…

C++ 中的头文件和源文件

#include<>一般用于包含系统头文件&#xff0c;诸如stdlib.h、stdio.h、iostream等&#xff1b; 类库目录下查找失败&#xff0c;编译器会终止查找&#xff0c;直接报错&#xff1a;No such file or directory. #include""一般用于包含自定义头文件&#xff…

Ubuntu18.04 下使用 Pybind11实现 C++ 调用 Python 函数和类的示例

Pybind11 是一个轻量级的库&#xff0c;它提供了在 C 中无缝集成 Python 代码的能力。使用 Pybind11&#xff0c;你可以很容易地从 C 调用 Python 代码&#xff0c;反之亦然。下面我将通过一个简单的例子来展示如何在 Ubuntu 系统上使用 Pybind11 从 C 调用 Python 接口。 安装…

css--浮动

一. 浮动的简介 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一。 二. 元素浮动后的特点 &#x1f922;脱离文档流。&#x1f60a;不管浮动前是什么元素&#xff0c;浮动后&#xff1a;默认宽与高都是被内容撑开&#xff0…

数据结构系列-链表实现

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” #define _CRT_SECURE_NO_WARNINGS #include"List.h" void ListTest01() {LTNode* plist LTInit();LTPushFront(plist, 1);LTPushFront(plist, 2);LTPushFront(plist, 3);…

VBA_NZ系列工具NZ02:VBA读取PDF使用说明

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

Ubuntu 安装谷歌拼音输入法

一、Fcitx 安装 在Ubuntu 下&#xff0c;谷歌拼音输入法是基于Fcitx输入法的。所以&#xff0c;首先需要安装Fcitx。一般来说&#xff0c;Ubuntu最新版中都默认安装了Fcitx&#xff0c;但是为了确保一下&#xff0c;我们可以在系统终端中运行如下命令&#xff1a; sudo apt ins…

第15章——西瓜书规则学习

1.序贯覆盖 序贯覆盖是一种在规则学习中常用的策略&#xff0c;它通过逐步构建规则集来覆盖训练数据中的样本。该策略采用迭代的方式&#xff0c;每次从训练数据中选择一部分未被覆盖的样本&#xff0c;学习一条能够覆盖这些样本的规则&#xff0c;然后将这条规则加入到规则集中…

ArmSoM规划开发基于RK3576的开发套件

ArmSoM正计划推出一款新的产品&#xff0c;这款产品将采用强大的RK3576芯片。 本文将为您介绍我们的新产品搭载的RK3576性能参数&#xff0c;以及它如何为您提供卓越的性能和功能。 RK3576处理器 RK3576处理器是一款强大的处理器&#xff0c;具备出色的性能和多样化的功能&a…

Web Worker:JavaScript的后台任务解决方案

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

eFuse在汽车域控制器架构中如何提供更智能的保护?

汽车应用的电气化和自动化趋势推动了域控制器的兴起&#xff0c;用以减轻线缆重量并将车辆架构简化为多个局部化的电源中心。设计人员可以利用这种新兴架构&#xff0c;将传统保险丝和机械继电器替换为更紧凑的电子保险丝 (eFuse)&#xff0c;以提供更先进的保护功能&#xff0…