发布日期:2024-12-25 05:17 点击次数:81
要是没非凡据库,咱们就不可在网上购物,也无法进行在线审批办公。独一是信息化的系统,老是会使用到数据库进行数据的存储和处理,在汇集安全等保测评方面,对数据库进行测评是无法侧宗旨,这亦然安全操办环境测评神色中较难的部分。
那么数据库到底是什么呢?本篇咱们对数据库进行初学种植。
一、数据库的先容
1.1 什么是数据库
读史不错明理,读史不错增智。当先讲讲数据存储的历史,大家就知谈数据库是数据存储在束缚发展中的卓著居品。
20世纪50年代,操办机刚发明不久,数据照旧东谈主工处理阶段。阿谁时候数据无法永久保存,数据也无法分享。
20世纪50年代后期,插足到文献系统阶段。这个时候,数据不错永久保存了,也不错进行大约的分享。
20世纪60年代后期,数据库就运行蓄意出来,插足数据库系统阶段。
数据库处理系统修复在操作系统之上,有利用于数据的处理和存储。数据罢了了分享和集会处理,而况在发生故障的时候不错行使数据库的规复备份机制进行数据规复。
1.2 数据库的分类
1.MySQL
MySQL数据库,开源、免费。目下照旧被Oracle收购了。
2.Oracle数据库
Oracle数据库 甲骨文数据库比拟繁密。
个东谈主的话不错免费使用。
厂商也叫作念Oracle。
目下亦然由Oracle来老成调节Java(Java是一门极为过程的编程话语器具)。
3.SQL Server数据库
SQL Server数据库,由 微软(搞Windows,office的公司) 研发的数据库。
4、其他数据库
还有好多不同的数据库,比如在国产化时间,国产数据库有
1.阿里OceanBase,
2.华为GaussDB,基于pgsql修改
3.腾讯TDSQL,基于mysql修改
4.中兴GoldenDB,基于MySQL修改
5.TiDB
6.东谈主大金仓
7.达梦 ,皆备自主开荒,兼容Oracle
8.阿里 PolarDB,兼容mysql
9.南大通用 GBase,基于Informix修改
10.海量数据库等等
然而 不管哪一个数据库
其实最中枢的东西,都是 SQL(编程话语)
结构化查询话语(Structured Query Language)简称SQL,是一种数据库查询和尺度蓄意话语,用于存取数据以及查询、更新和处理关联数据库系统。
掌持了SQL,将来不管去使用哪个数据库,都不错快速上手
诚然不同的数据库,复旧的SQL语法都略有互异
然而,大无数的SQL语法都是调换的。
二、数据库的结构
2.1 数据库的客户端和办事器
底下咱们以MySQL 为例进行学习之旅。数据库处理系统自身是一个尺度,而且是一个"客户端-办事器"结构的尺度。
客户端: 我是使用方,我需要数据库处理系统提供办事。
办事器:我是数据库处理系统,我为客户端提供不拆开的办事。
两者间的关联:
一个办事器同─时刻可能要给多个客户端提供办事因为办事器不细则客户端啥时候来,办事器接续要永劫候不拆开运行。
在Windows下,MySQL数据库处理系统是否平淡提供办事,一般不错在办事中巡视是否平淡启动。
默许的MySQL 客户端是号令行尺度(console尺度):Windows或Linux都不错使用号令行进行登录,登录MySQL需要输入用户名和密码。
在安设MySQL数据库处理系统时,办事器端尺度和自带的客户端尺度默许会安设在并吞台办事器上,MySQL自带客户端是逼迫台号令行尺度。
为了普及开荒效果,第三方开荒了一些界面友好的可视化应用尺度,这些尺度进一步裁汰了数据库使用的门槛,未必咱们也称之为数据库处理器具,这些器具其实都属于数据库客户端,不错通过SQL话语与数据库进行交互,进行增改删等操作。
愈加简便,界面友好的客户端器具不错安设在数据库办事器上,也不错安设在其他主机上。MySQL常用的是Navicat、HeidiSQL等处理器具。其他数据库如Oracle、SQL Server都有访佛的可视化数据库客户端处理器具。以下列举一些常见的数据库处理器具。
1. Navicat简介(在MySQL数据库上用得较多)简介:一款快速、可靠的数据库处理器具,专为简化数据库的处理及裁汰系统处理老本而设。功能:复旧多种数据库(如MySQL、SQL Server、SQLite、Oracle、PostgreSQL等)的处理和开荒,提供直观化的图形用户界面。性情:复旧无数据库处理、云数据库集成、智能数据同步、高等报表生成等。2. phpMyAdmin(通过Web界面处理MySQL)简介:一个用PHP编写的Web应用尺度,用于处理MySQL数据库。功能:提供数据库处理、表处理、数据导入/导出等功能。性情:通过Web界面进行处理,方便云尔操作。3. Oracle SQL Developer(Oracle官方处理器具)简介:Oracle提供的免费数据库处理器具,适用于Oracle数据库。功能:提供SQL开荒、数据库浏览、数据移动等功能。性情:复旧Oracle数据库的全面处理,包括数据库蓄意、性能调优和安全性处理。4.PL/SQL Developer(专用于Oracle处理,比官方器具好用)简介:一个集成开荒环境,有利开荒面向Oracle数据库的应用。功能:由PL/SQL裁剪器、集成调试器、PL/SQL完善器、SQL窗口等多个组件组成。上风:提供全面的Oracle数据库开荒和处理功能。5. SQL Server Management Studio (SQLServer官方处理器具)简介:Microsoft SQL Server的官方处理器具。功能:提供SQL Server数据库的全面处理功能,包括数据库蓄意、查询、性能监控等。上风:与SQL Server深度集成,提供丰富的处理选项。。6.HeidiSQL(复旧MySQL、SQL Server)简介:一个开源的数据库处理器具,复旧多种数据库。功能:提供数据库浏览、SQL裁剪、数据导入/导出等功能。复旧的数据库:包括MySQL、MariaDB、PostgreSQL、SQL Server等。7. Adminer(复旧MySQL)简介:一个开源的数据库处理器具,复旧多种数据库。功能:提供数据库处理、表处理、SQL查询等功能。复旧的数据库:包括MySQL、MariaDB、PostgreSQL、SQLite等。这些客户端器具不错安设在数据库办事器上,也不错安设在其他主机上。是以,在对数据库的等保测评中,要是在数据库办事器上建树了只可在土产货进行数据库打听处理,那么咱们合计数据库的清苦数据在传输过程的守密性是不适用的,不然办事器和客户端两边都需要建树使用SSL加密等期间来确保数据在传输过程中的守密性。
2.2 数据库的办事器是怎样组织数据的?
一个MySQL办事器上头不错包含多个"数据库"。
此处的"数据库"其实是"数据迷惑",这内部就放了 一些推敲联关联的数据
每个数据库下有许多张表。表格访佛EXCEL里的sheet。
比如咱们新建了个students数据库,内部有三张表,学生信息表(Student表)、课程表(Course表)、还有学科收货表(SC表)。
三、数据库的处理使用
在数据库客户端上,通过用户名密码进行权限考据联络上数据库,再通过SQL语句对办事器上的某个具体库中的表数据进行加多、修改、删除等操作。
要是尺度员我方编制了一个信息系统应用尺度,不错把这个应用尺度作为是数据库客户端。
要是有中间件的话,那么应用尺度-->中间件-->数据库办事器。这种架构下,应用尺度(比如APP或者浏览器)和中间件(比如web应用尺度、WebService等)不错使用Https等合同进行通信,然后由中间件(比如web应用尺度、WebService等)对数据库进行处理操作。访佛你们要约见董事长(数据库)进行谈判,只可跟布告(中间件)先进行谈判,然后布告再跟董事前程行陈说。
这种中间件代理打听时势一般保证数据库中间件不错打听数据库就鼓胀了,其他对外的数据库打听旅途不错关闭从而加强数据库自身的安全性。
念念考一下,MySQL的数据库打听端口是3306,如图这种代理打听模式,客户端是不需要径直打听办事端的3306端口的,这么办事端不错关闭3306端口的对外办事,仅在办事器上提供办事就不错了。
在具体的测评职责中,咱们不可对用户数据进行删除等危急操作,但常使用SQL查询语句看数据库各类计谋建树,以上头的数据库为例,咱们学习一下数据库SQL查询语句是什么样的。
select * from student
暗示查询student表中通盘列*代表代表通盘列,要查询哪一列就把*改成哪一列,不错查询一列,也不错查询多列,多列用逗号离隔from背面跟的是表名
select sno,sname from student
暗示查询student表中学号和姓名信息,其中逗号为英文半角模式逗号