数据库基本概念学习笔记

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.xdnf.cn/news/19551.html

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

相关文章

智慧环保平台_大数据平台_综合管理平台_信息化云平台

系统原理   智慧环保是新一代信息技术变革的产物,是信息资源日益成为重要生产要素和信息化向更高阶段发展的表现,是经济社会发展的新引擎。   现今,环保信息化建设进入高速发展阶段。在此轮由物联网掀起的信息浪潮下,环境信息…

如何通过电脑监控软件远程监控一台电脑的所有屏幕画面记录

7-1 本教程介绍一个简单的工具,可以安装在电脑中,按设置的时间间隔,自动对屏幕截图保存,并且可以在有网络的其它电脑上远程提取截图文件。 该软件用于自动记录电脑的屏幕画面内容和变化,如果你有这方面的使用场景&am…

深度解读混合专家模型(MoE):算法、演变与原理

假设一个专家团队共同解决复杂问题。每位专家都拥有独特的技能,团队通过高效分配任务实现了前所未有的成功。这就是混合专家(Mixture-of-Experts,MoE)模型架构背后的基本思想,这种方法允许机器学习系统,特别…

电商微服务项目第一天(品牌管理)

1.BaseTrademarkController&#xff08;品牌管理CRUD&#xff09; /*** 添加品牌* param baseTrademark* return*/PostMapping("baseTrademark/save")public Result<BaseTrademark> save(RequestBody BaseTrademark baseTrademark){baseTrademarkService.save(…

初探Ranking系统的离在线满意度评估

【引子】在上周发布了《大模型应用系列&#xff1a;从Ranking到Reranking》之后&#xff0c; 有AI 产品经理问我&#xff0c;如何评估Ranking 系统的性能呢&#xff1f; 再进一步&#xff0c;如何评估RAG系统的性能呢&#xff1f; 老码农整理了一下在搜索引擎方面的感受&#x…

初识C++ (五)

没事干就学习 auto关键字 auto是C程序设计语言的关键字。自C11以来&#xff0c;auto关键字用于两种情况&#xff1a;声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。C98标准中auto关键字用于自动变量的声明&#xff0c;但由于使用极少且多余…

shell脚本判断nginx安装和运行

shell脚本判断nginx安装和运行 脚本内容&#xff1a; 传入服务名称&#xff1a; read -p "请输入要判断的程序名称:" service_name 查看服务进程&#xff1a; countps -aux | grep -cw $service_name 判断nginx是否安装&#xff08;系统中是否有nginx命令&#xff…

电脑msvcr100.dll丢失的解决方法,详细介绍多个解决方法

由于系统中关键文件msvcr100.dll的缺失&#xff0c;用户可能会遭遇一系列始料未及的困扰与问题。msvcr100.dll是Microsoft Visual C运行库中的一个核心动态链接库文件&#xff0c;对于许多应用程序的正常运行至关重要。当这个特定的dll文件丢失时&#xff0c;可能会导致部分软件…

Windows安装vcpkg教程(VS2022)

内容摘要&#xff1a; 本文详细介绍如何在Windows系统上使用 Git 克隆 vcpkg 仓库来安装vcpkg工具&#xff0c;并链接Visual Studio 2022。 目录 一、关于vcpkg 二、开发环境 三、安装Git 四、使用 Git 克隆 vcpkg 仓库 一、关于vcpkg vcpkg 是一个开源的 C 包管理工具&am…

TypeScript泛型基础知识

1.1 泛型 泛型是可以在保证类型安全的前提下&#xff0c;让函数等与多种类型一起工作&#xff0c;从而实现复用&#xff0c;常用于&#xff1a;函数、接口、class中。 需求&#xff1a;创建一个id函数&#xff0c;传入什么数据就返回该数据本身&#xff08;也就是说&#xff0c…

多线程的安全问题

什么是线程安全问题&#xff1f; 多个线程&#xff0c;访问同一资源&#xff0c;出现了问题&#xff0c;就是线程安全问题&#xff08;数据不准确&#xff0c;或者直接报错&#xff09; 1&#xff09;错误演示&#xff1a; public class Demo04 {static int tickedNum 100;/…

推荐一套相片复原工具:Focus Magic

Focus Magic是一套相片复原工具&#xff0c;能够帮助你修补及强化那些模糊不清楚的影像。其他那些锐利化工具只能够修补那些只有一点模糊的相片&#xff0c;但有了Focus Magic你就可以把那些根本完全没对准焦距的相片重新对准焦距。程序还可以以插件的形式作为其他图形处理工具…

C++:类的继承

在C中&#xff0c;类的继承是一种面向对象编程&#xff08;OOP&#xff09;的重要特性&#xff0c;它允许一个类&#xff08;子类或派生类&#xff09;继承另一个类&#xff08;基类或父类&#xff09;的属性和方法。通过继承&#xff0c;可以重用现有的代码&#xff0c;减少重…

详细解读Gson 、Jackson 、FastJson 三大json序列化工具

一 gson Google提供的用来java对象和JSON数据之间进行映射的JAVA类库 优缺点 优点&#xff1a;快速、高效&#xff0c; 依赖少只有一个jar包&#xff0c;面向对象&#xff0c;数据传输解析方便 缺点&#xff1a;速度较慢 mvn依赖 <dependency><groupId>com.go…

版块控制---git

引入 设想&#xff0c;当我们写论文时&#xff0c;对第一版不够满意时&#xff0c;想做出修改但是又怕修改时回毁掉整个论文版本&#xff0c;所以我们通常会进行备份&#xff0c;以防止数据被修改后的崩毁&#xff0c;版块控制就是这个合理创建管理备份的过程&#xff0c;而且这…

BLE 蓝牙客户端和服务器连接

蓝牙通信在设计小型智能设备时非常普遍&#xff0c;之前一直没有使用过&#xff0c;最近使用ardunio ESP32 做了一些实验&#xff0c;做了一个收听播客的智能旋钮&#xff08;Smart Knob&#xff09;&#xff0c;它带有一个旋转编码器和两个按键。 本文介绍BLE 服务器Server和W…

图(Graph)的概念和遍历

目录 定义 相关概念 无向图&#xff08;Undirected graphs) 有向图&#xff08;Directed graphs&#xff09; 完全图 稀疏图 稠密图 权&#xff08;Weight&#xff09; 网&#xff08;Network&#xff09; 子图&#xff08;Subgraph&#xff09; 图的顶点与边间关系 …

python成长技能之正则表达式

文章目录 一、认识正则表达式二、使用正则表达式匹配单一字符三、正则表达式之重复出现数量匹配四、使用正则表达式匹配字符集五、正则表达式之边界匹配六、正则表达式之组七、正则表达式之贪婪与非贪婪 一、认识正则表达式 什么是正则表达式 正则表达式&#xff08;英语&…

Unity图形学之RenderQueue

1.指定物体的渲染顺序 Tags { “Queue” “XXXX” } 取值类型&#xff1a; Background&#xff1a; 对应数值为 1000&#xff0c;用于需要被最先渲染的对象&#xff0c;。 Geometry&#xff1a; 对应数值为 2000, 用于不透明的物体。这个是默认的选项&#xff08;如果不指明…

i春秋-破译(凯撒密码+数字替换单词中的字母)

练习平台地址 竞赛中心 题目描述 题目内容 就是破译&#xff01;&#xff01;&#xff01; 解题 观察到最后一段是四个字母加上{xxxxx}的形式&#xff0c;很像flag&#xff0c;我们猜测要破译的主要是这个片段 大括号依然存在&#xff0c;那么可能是通过凯撒密码来加密的&a…