数据库基本概念学习笔记

1.数据库是什么

数据库是按照数据结构来组织、存储和管理数据的仓库,它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合。

1.1数据库的组成部分

数据:是数据库中存储的基本对象,包括文字、数字、图像、声音等各种类型。例如,一个电商数据库中存储的商品信息、用户信息、订单信息等都是数据。

数据库管理系统(DBMS):是用于管理数据库的软件系统,它负责对数据库进行统一的管理和控制,包括数据的定义、操作、维护等功能。常见的数据库管理系统有 MySQL、Oracle、SQL Server 等。

数据库应用程序:是指使用数据库的各种应用程序,如电商网站、银行系统、企业管理系统等。这些应用程序通过数据库管理系统提供的接口来访问和操作数据库中的数据,以实现各种业务功能。

1.2数据库的主要特点

数据结构化:数据库中的数据按照一定的结构进行组织和存储,这种结构通常由数据库管理系统定义和管理。例如,在关系型数据库中,数据以表格的形式进行存储,每个表格包含若干行和列,行表示记录,列表示字段,通过定义表格之间的关系,可以实现数据的关联和查询。

数据共享性高:数据库中的数据可以被多个用户或应用程序共享使用,提高了数据的利用率和一致性。例如,一个企业的不同部门可以共享同一个数据库中的客户信息、产品信息等,避免了数据的重复存储和不一致性。

数据独立性强:数据库中的数据与应用程序之间具有一定的独立性,即数据的存储结构和逻辑结构的改变不会影响应用程序的正常运行。这使得数据库系统具有较好的可扩展性和可维护性。

数据安全性高:数据库管理系统提供了一系列的安全机制,如用户认证、授权、数据加密等,以确保数据库中的数据不被非法访问和篡改。

1.3数据库的作用

数据存储和管理:数据库可以将大量的数据按照一定的结构进行存储和管理,方便用户对数据进行查询、插入、删除、修改等操作。例如,一个图书馆可以使用数据库来存储图书信息、读者信息、借阅记录等,方便管理员对图书馆的日常管理和读者对图书的查询借阅。

支持决策制定:通过对数据库中的数据进行分析和挖掘,可以为企业的决策制定提供有力的支持。例如,企业可以通过分析销售数据来了解市场需求和客户行为,从而制定更加合理的生产计划和营销策略。

促进信息共享和交流:数据库可以实现不同用户和应用程序之间的数据共享和交流,提高工作效率和协同能力。例如,在一个企业内部,不同部门可以通过共享数据库中的信息来更好地协同工作,提高企业的整体运营效率。

1.4常见的数据库类型

关系型数据库:是目前应用最广泛的数据库类型,它以表格的形式存储数据,通过表格之间的关系来实现数据的关联和查询。常见的关系型数据库有 MySQL、Oracle、SQL Server 等。

非关系型数据库:也称为 NoSQL 数据库,它不依赖于固定的表格结构来存储数据,而是采用更加灵活的数据模型,如键值对、文档、图形等。常见的非关系型数据库有 Redis、MongoDB、Cassandra 等。

分布式数据库:是指将数据分散存储在多个节点上的数据库系统,它可以通过网络连接多个节点,实现数据的分布式存储和处理。分布式数据库具有高可用性、高扩展性和高性能等优点,适用于大规模数据存储和处理的场景。

2.RDBMS

RDBMS 即关系型数据库管理系统(Relational Database Management System),是一种基于关系模型的数据库管理系统。

核心:用表存储数据

表头有多个字段名,代表每一列数据的含义

一行一行的数据

每一行数据有多个字段值

表包含多行数据

一个数据库中可以存多个表

2.1关系模型基础

数据结构:以表格形式表示数据,每一行代表一条记录,每一列代表一个属性或字段。例如,一个学生信息表可能包含学号、姓名、年龄、性别等列,每行记录对应一个学生的具体信息。

关系操作:支持多种关系操作,如选择、投影、连接等。选择操作可从表中筛选出符合特定条件的记录,如查询年龄大于 20 岁的学生;投影操作能选取表中的某些列,如只查看学生的姓名和学号;连接操作则可根据共同属性将多个表关联起来,如通过学生的学号将学生表和成绩表关联查询。

完整性约束:包括实体完整性、参照完整性和用户定义完整性。实体完整性确保表中每行记录的主键唯一且不为空;参照完整性保证表间关联字段的一致性,防止出现无效关联;用户定义完整性则由用户根据具体业务规则定义特定的约束条件,如成绩的取值范围等。

2.2RDBMS 的主要功能

数据定义:允许用户定义数据库的结构,包括创建、修改和删除表、视图、索引等数据库对象。例如,使用 CREATE TABLE 语句创建新表,指定表名、列名、数据类型及约束条件等。

数据操纵:提供对数据的插入、查询、更新和删除操作。如 INSERT 语句用于插入新记录,SELECT 语句用于查询数据,UPDATE 语句用于修改已有记录,DELETE 语句用于删除记录。

数据控制:实现对数据库的访问控制和安全管理,包括用户认证、授权和权限管理等功能。管理员可创建不同用户账号,并为其分配不同的数据库操作权限,确保数据的安全性和完整性。

数据维护:负责数据库的备份、恢复、性能优化等维护工作。定期备份数据库可防止数据丢失,通过性能优化措施如索引优化、查询优化等可提高数据库的运行效率。

2.3常见的 RDBMS 产品

MySQL:开源免费的 RDBMS,广泛应用于中小型企业和互联网应用开发。具有性能高、成本低、安装配置简单等优点,如 WordPress 等众多知名网站都采用 MySQL 作为后端数据库。

Oracle:功能强大、稳定性高的商业 RDBMS,常用于大型企业关键业务系统。提供了丰富的企业级功能和强大的性能优化能力,如金融、电信等对数据安全和稳定性要求极高的行业常采用 Oracle 数据库。

SQL Server:微软推出的 RDBMS,与 Windows 操作系统紧密集成,具有良好的易用性和扩展性。适用于基于 Windows 平台的企业级应用开发,如企业资源规划(ERP)系统、客户关系管理(CRM)系统等。

3.SQL(Structured Query Language)

结构化查询语言

在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库

sql语言主要分为:.

DQL:数据查询语言,用于对数据进行查询,如select

DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete

TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback

DCL:数据控制语言,进行授权与权限回收,如grant、revoke

DDL:数据定义语言,进行数据库、表的管理等,如create、drop

CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor。

对于测试工程师来讲、重点是数据的查询,需要熟练编写DQL,其它语言如TPL、DCL、CCL了解即可

SQL是一门特殊的语言,专门用来操作关系数据库

不区分大小写

4.MySQL

MySQL是一个关系型数据库管理系统,由瑞典MYSQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于racle旗下产品。

特点

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBSD、0S/2 Wrap、Solaris等

为多种编程语言提供了API,如C、C++、Python、Java、Perl、PHP、Eiffel、Ruby等支持多线程,充分利用CPU资源

优化的SQL查询算法,有效地提高查询速度

提供多语言支持,常见的编码如GB2312、BIG5、UTF8

提供TCP/IP、ODBC和JDBC等多种数据库连接途径

提供用于管理、检查、优化数据库操作的管理工具

大型的数据库。可以处理拥有上千万条记录的大型数据库

支持多种存储引擎

MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库

MySQL使用标准的SQL数据语言形式

开源 免费 支持多平台

 简单总结为以下:

数据库概述

数据库是按数据结构组织、存储和管理数据的仓库,是长期存储在计算机内有组织、可共享、统一管理的数据集合。其组成包括数据、数据库管理系统(DBMS)及数据库应用程序。具有数据结构化、共享性高、独立性强、安全性高等特点,作用体现在数据存储管理、支持决策制定以及促进信息共享交流等方面。常见类型有:关系型数据库、非关系型数据库、分布式数据库。

关系型数据库管理系统(RDBMS)

基于关系模型,用表存储数据,涵盖表头字段、多行数据等。关系模型基础涉及数据结构、关系操作及完整性约束。主要功能包含数据定义、操纵、控制与维护。常见产品有 MySQL、Oracle、SQL Server 等,各有其应用优势及适用场景。

SQL(结构化查询语言)

是用于在数据库中操作的语言,适用于关系型数据库,主要分为 DQL(数据查询语言)、DML(数据操作语言)、TPL(事务处理语言)、DCL(数据控制语言)、DDL(数据定义语言)、CCL(指针控制语言),测试工程师需重点掌握 DQL。

MySQL

是关系型数据库管理系统,由瑞典公司开发,后历经收购现属 Oracle 旗下。具备诸多特点,如用 C 和 C++ 编写保证可移植性,支持多操作系统、多编程语言、多线程,有优化的查询算法、多语言支持、多种数据库连接途径,还提供管理工具,分为社区版和商业版,因体积小、速度快、成本低且开源免费等优势,常被中小型网站开发选用。

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

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

相关文章

应用系统开发(12) Zync中实现数字相敏检波

在 Xilinx Zynq 系列(如 Zynq-7000 或 Zynq UltraScale+)中实现数字相敏检波(DSP,Digital Synchronous Detection)可以通过硬件(PL部分,FPGA逻辑)和软件(PS部分,ARM Cortex-A 处理器)的协同工作来实现。以下是一个详细的设计方法,包括基本原理和 Zynq 的实现步骤。…

力扣hot100-->二分查找

目录 二分查找 1. 33. 搜索旋转排序数组 2. 34. 在排序数组中查找元素的第一个和最后一个位置 3. 240. 搜索二维矩阵 II 3. 287. 寻找重复数 二分查找 1. 33. 搜索旋转排序数组 中等 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前&am…

南京邮电大学《智能控制技术》课后作业

一、问题一 复现二输入单输出模糊控制系统,改动其中一到两个环节(隶属度设置、规则等),对比修改前后控制效果。 定义模糊 %Fuzzy Control for water tank clear all; close all;anewfis(fuzz_tank);%Fuzzy Inference System stru…

苹果ASA归因对接以及API接入

一、归因概要 广告归因,目的是用于衡量广告带来的激活用户的成本以及后续进一步的用户质量表现。 Apple Ads 广告平台是基于 App Store(站内广告),同时属于自归因平台(通常称为 SAN)。这两个因素&#xff…

hhdb数据库介绍(9-18)

Oracle兼容性说明 数据类型兼容 本节主要介绍 HHDB Server与Oracle 数据库中数据类型的详细兼容对比信息。 比较项Oracle数据库数据类型HHDB Server数据类型对应项/替代项字符串/字符VARCHAR2( n )VARCHAR( n )字符串/字符NVARCHAR2( n )VARCHAR( n ) character set utf8字符…

服务器数据恢复—raid5阵列故障导致上层系统分区无法识别的数据恢复案例

服务器数据恢复环境: 某品牌DL380服务器,服务器中三块SAS硬盘组建了一组raid5阵列。服务器安装Windows Server操作系统,划分了3个分区,D分区存放数据库,E分区存放数据库备份。 服务器故障: RAID5阵列中有一…

STM32设计电流与温度监控python上位机监控平台设计

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 在现代工业自动化和智能设备管理中,对电流和温度的实时监控是…

STM32F103ZET6快速创建工程

1.创建工程目录,点击进目录, 然后复制目录的路径 2.双击打开kile5, 然后点击project, 创建工程 3.找到刚才的目录, 然后加入工程 4.输入芯片 STM32F103ZE, 然后保存 5.勾选对应的初始文件 6.加入main.c函数 7.双击进入Source_code文件夹 , 然后加入User,进入User 8.加入main.c文…

GIS与Web开发结合的产物:WebGIS

WebGIS,其实是利用Web开发技术结合地理信息系统(GIS)的产物,它是一种通过Internet实现GIS交互操作和服务的最佳途径。 WebGIS通过图形化界面直观地呈现地理信息和特定数据,具有可扩展性和跨平台性。 它提供交互性&am…

Python模块、迭代器与正则表达式day10

1、Python模块 1.1模块的简介 在编写代码的时候,创建的.py文件就被称为一个模块 1.2模块的使用 想要在a文件里使用b文件的时候,只要在a文件中使用关键字import导入即可 1.2.2 from ...import...语句 导入模块可以使用import,如果只导入模…

调用 Xinference OpenAI接口时报错 Model not found in the model list, uid

错误如下, 请不要被错误吓住或蒙蔽双眼, 自己看最下面的报错内容 Traceback (most recent call last): File "C:\Users\HW\.conda\envs\aibot\Lib\site-packages\starlette\responses.py", line 259, in __call__ await wrap(partial(self.listen_for_disconn…

小红书内容推荐算法开发:利用API打造个性化用户体验

在这个内容为王的时代,个性化推荐算法成为了各大平台争夺用户注意力的利器。小红书,作为国内领先的内容分享社区,其丰富的用户生成内容(UGC)和独特的社区氛围,为推荐算法的开发提供了肥沃的土壤。本文将深入…

没钱买KEGG怎么办?REACTOME开源通路更强大

之前搜集免费生物AI插图时简单提到了通路数据库Reactome(https://reactome.org/), 那些精美的生物插图只能算是该数据库附赠的小礼品,他的主要功能还是作为一个开源的通路数据库,为相关领域的研究者提供直观的可视化生…

ChatGPT学术专用版,一键润色纠错+中英互译+批量翻译PDF

ChatGPT academic项目是由中科院团队基于ChatGPT专属定制。论文润色、语法检查、中英互译、代码解释等可一键搞定,堪称科研神器。 功能介绍 我们以3.5版本为例,ChatGPT学术版总共分为五个区域:输入控制区、输出对话区、基础功能区、函数插件…

版本控制【Git Bash】【Gitee】

目录 一、什么是版本控制? 二、版本控制的种类: 1、本地版本控制 2、集中版本控制 3、分布式版本控制 三、下载Git Bash 四、Git Bash 配置 五、Git Bash使用 1、切换目录:cd 2.查看当前文件路径:pwd 3.列出当前目录下文件…

关于Java合并多个Excel中的数据【该数据不是常规列表】,并入库保存的方案

1. 背景 最近在使用RPA(机器人流程自动化)做数据采集的时候。发现那个RPA采集,一次只能采集相同格式的数据,然后入到Excel或者库中。由于院内系统的业务限制,导致采集的数据是多个Excel,并且我们这边的需求…

【进阶系列】python的模块

模块 创建一个 .py 文件,这个文件就称之为 一个模块 Module 如何使用 import 想要B.py文件中,使用A.py文件,只需要在B.py文件中使用关键字import导入即可。 import A# 若A是一个包的话,可以这样写 import A.函数名from impor…

使用Web Workers提升JavaScript的并行处理能力

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的并行处理能力 使用Web Workers提升JavaScript的…

从零开始使用GOT-OCR2.0——多模态通用型OCR(非常具有潜力的开源OCR项目):项目环境安装配置 + 测试使用

在之前精读了这个多模态的OCR项目论文,理解了其基本的模型架构,论文精读地址: 【论文精读】GOT-OCR2.0源码论文——打破传统OCR流程的多模态视觉-语言大模型架构:预训练VitDet 视觉模型 阿里通义千问Qwen语言模型-CSDN博客 本文在…

【Golang】——Gin 框架中的表单处理与数据绑定

在 Web 应用开发中,表单是用户与服务器交互的重要手段。Gin 框架对表单处理提供了高效便捷的支持,包括数据绑定、验证等功能。在本篇博客中,我们将详细介绍如何使用 Gin 框架处理表单数据,涵盖基础操作与进阶技巧,帮助…