数据库基本概念学习笔记

news2024/11/19 22:41:20

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.coloradmin.cn/o/2243664.html

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

相关文章

ssm139选课排课系统的设计与开发+vue(论文+源码)_kaic

摘 要 互联网的普及,改变了人们正常的生活学习及消费习惯,而且也大大的节省了人们的时间,由于各种管理系统都再不断的增加,更方便了用户,也改良了很多的用户习惯。对于选课排课系统查询方面缺乏系统的管理方式&#x…

Datawhale组队学习】模型减肥秘籍:模型压缩技术3——模型量化

模型量化的目的是通过将浮点运算转换为定点运算,以减少模型大小、内存和存储需求,同时加快推理速度,降低计算功耗,使得模型在低算力设备上运行更加高效,特别适用于嵌入式设备或移动端场景。 不同数据类型(…

【MongoDB】MongoDB的集群,部署架构,OptLog,集群优化等详解

文章目录 一、引入复制集的原因二、复制集成员(一)基本成员(二)主节点(Primary)细化成员 三、复制集常见部署架构(一)基础三节点(二)跨数据中心 四、复制集保…

Javaweb梳理17——HTMLCSS简介

Javaweb梳理17——HTML&CSS简介 17 HTML&CSS简介17.1 HTML介绍17.2 快速入门17.3 基础标签17.3 .1 标题标签17.3.2 hr标签17.3.3 字体标签17.3.4 换行17.3.8 案例17.3.9 图片、音频、视频标签17.3.10 超链接标签17.3.11 列表标签17.3.12 表格标签17.3.11 布局标签17.3.…

远程管理不再难!树莓派5安装Raspberry Pi OS并实现使用VNC异地连接

前言:大家好!今天我要教你们如何在树莓派5上安装Raspberry Pi OS,并配置SSH和VNC权限。通过这些步骤,你将能够在Windows电脑上使用VNC Viewer,结合Cpolar内网穿透工具,实现长期的公网远程访问管理本地树莓派…

力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)

解题思路&#xff1a; 方法一&#xff1a;递归&#xff08;左中右&#xff09; class Solution {List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {recur(root);return res;}public void recur(TreeNode root…

MySQL查询执行(七):临时表

临时表重名 思考&#xff1a;临时表和内存表的区别? 内存表&#xff0c; 指的是使用Memory引擎的表&#xff0c; 建表语法是create table …enginememory。 这种表的数据都保存在内存里&#xff0c; 系统重启的时候会被清空&#xff0c; 但是表结构还在。 除了这两个特性看上…

自己动手写Qt Creator插件

文章目录 前言一、环境准备1.先看自己的Qt Creator IDE的版本2.下载源码 二、使用步骤1.参考原本的插件2.编写自定义插件1.cmakelist增加一个模块2.同理&#xff0c;qbs文件也增加一个3.插件源码 三、效果总结 前言 就目前而言&#xff0c;Qt Creator这个IDE&#xff0c;插件比…

【星海随笔】ZooKeeper-Mesos

开源的由 Twitter 与 伯克利分校的 Mesos 项目组共同研发设计。 两极调度架构 支持高可用集群&#xff0c;通过ZooKeeper进行选举。 Mesos master 管理着所有的 Mesos slave 守护进程 每个slave运行具体的任务或者服务。 Franework 包括的调度器和执行机两部分 执行器运行在Me…

集群聊天服务器(12)nginx负载均衡器

目录 负载均衡器nginx负载均衡器优势 如何解决集群聊天服务器跨服务器通信问题&#xff1f;nginx的TCP负载均衡配置nginx配置 负载均衡器 目前最多只能支持2w台客户机进行同时聊天 所以要引入集群&#xff0c;多服务器。 但是客户连哪一台服务器呢&#xff1f;客户并不知道哪一…

集群聊天服务器(3)muduo网络库

目录 基于muduo的客户端服务器编程 muduo只能装在linux中&#xff0c;依赖boost库 客户端并不需要高并发 基于muduo的客户端服务器编程 支持epoll线程池&#xff0c;muduo封装了线程池 而且还有完善的日志系统 使用muduo库代码非常固定&#xff0c;基本就只有chatserver的类名…

深入内核讲明白Android Binder【一】

深入内核讲明白Android Binder【一】 前言一、Android Binder应用编写概述二、基于C语言编写Android Binder跨进程通信Demo0. Demo简介1. 服务的管理者server_manager.c2. Binder服务端代码实现 test_service.c2.1 实现思路2.2 完整实现代码 3. Binder客户端代码实现 test_clie…

NIST 发布后量子密码学转型战略草案

美国国家标准与技术研究所 (NIST) 发布了其初步战略草案&#xff0c;即内部报告 (IR) 8547&#xff0c;标题为“向后量子密码标准过渡”。 该草案概述了 NIST 从当前易受量子计算攻击的加密算法迁移到抗量子替代算法的战略。该草案于 2024 年 11 月 12 日发布&#xff0c;开放…

探索大规模语言模型(LLM)在心理健康护理领域中的应用与潜力

概述 心理健康是公共卫生最重要的领域之一。根据美国国家精神卫生研究所&#xff08;NIMH&#xff09;的数据&#xff0c;到 2021 年&#xff0c;22.8% 的美国成年人将患上某种形式的精神疾病。在全球范围内&#xff0c;精神疾病占非致命性疾病负担的 30%&#xff0c;并被世界…

排序(C语言实现)

排序 文章目录 排序插入排序直接插入排序折半查找插入排序希尔排序 选择排序简单选择排序堆排序一、构建堆**堆有以下性质**&#xff1a;**堆的存储方式**&#xff1a;**设计堆**数据结构堆的维护堆的初始化创建堆插入一个元素删除一个元素返回有效元素的个数获得优先级最高的元…

i春秋-EXEC(命令执行、nc传输文件、带外通道传输数据)

练习平台地址 竞赛中心 题目描述 题目内容 小猫旁边有一个no sign F12检查页面 没有提示 检查源代码 发现使用了vim编辑器 进而联想到vim编辑器的临时交换文件.xxx.swp 访问.index.php.swp&#xff0c;成功下载文件 使用vim -r 查看文件内容 vim -r index.php.swp <?p…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——14.哈希(2)(模拟实现)

1.概念介绍 1.1开散列 开散列&#xff08;Open Hashing&#xff09;&#xff0c;也叫链地址法&#xff0c;是一种解决哈希冲突的方法。每个哈希表槽位保存一个链表&#xff0c;所有散列到同一位置的元素都存储在该链表中。当插入元素发生冲突时&#xff0c;将新元素添加到相应…

使用Web Speech API实现语音识别与合成技术

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Web Speech API实现语音识别与合成技术 使用Web Speech API实现语音识别与合成技术 使用Web Speech API实现语音识别与合成技…

自动驾驶系列—面向自动驾驶的模型迭代:工具、平台与最佳实践

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发&#xff0c;能够通过模板渲染结合数据生成动态页面。在这篇文章中&#xff0c;我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据&#xff0c;并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染&#xff1f;1.1 概…