当前位置: 首页 > news >正文

数据库基础-数据库基本概念(1-1)

你好,欢迎来到数据库基础系列专栏,欢迎留言互动哦~

目录

  • 一、数据库基础
    • 1. 数据库基本概念
      • 1.1 数据库
      • 1.2 什么是数据库管理软件
      • 1.3 表
      • 1.4 行
      • 1.5 列和数据类型
      • 1.6 主键
      • 1.7 什么是 SQL

一、数据库基础

1. 数据库基本概念

1.1 数据库

数据库是一个以某种有组织的方式存储的数据集合,可以理解为一个 excel 文件。文件本身不保存具体的数据,数据是放在一个个 sheet 中的。

准确的说。数据库不等同于 mysql,数据库是物理存储方式。 mysql 其实是 DBMS(数据库管理软件)。什么是管理软件呢?只是很多时候我们习惯性将 mysql 这种管理软件叫做数据库而已。后续我们也简单这样理解吧。

1.2 什么是数据库管理软件

我要在 excel 中查询某一条记录怎么查询? 有人会说:excel 有语句可以查询,但是因为这里是因为 excel 提供了语法解析。如果没有这个解析我们怎么做?我们就需要一个中间层 - mysql

在这里插入图片描述

1.3 表

excel 文件中的一个 sheet。

1.4 行

一条完整的数据就是一行数据, 很多数据都是有指定字段的 - 比如一个用户信息包括用户名、密码、生日、年龄、性别等。

1.5 列和数据类型

excel 记录中的列,数据能按照列来存储对关系数据库非常重要,也是数据粒度小的表现、例如用户信息中的用户名、昵称、密码、年龄、生日、性别应该总是独立的列。

通过把它分解开、可有可能利用特定的列对数据进行排序和过滤,例如筛选出所有 20-30 岁的用户,按照年龄排序。如果将年龄和性别放在一起,筛选出 2-30 岁的所有女生就无法做到。

关系数据库中还有个很重要的特性 - 每个列需要指明数据类型,并且只能保存指定的类型。

数据库中每个列都需要指明数据类型,数据类型定义列可以存储的数据种类,例如,如果列中存储的为数字(年龄), 则相应的数据类型应该指明为数值类型。

如果列中存储的是日期,则应该是日期类型等。

数据类型还能帮助正确的排序数据,并在优化磁盘使用方面起重要作用。因此对数据类型要引起重视。

1.6 主键

表中每一行都应该有可以唯一标识自己的一列,比如身份证号码,一般我们把可以唯一区别某一行的数据的列称为主键。

主键用来标识一个特定的列。没有主键,更新和删除表中的指定数据很困难。

表中任何列都可以作为主键,只要满足:

  • 任意两行都不具备相同的主键值;
  • 每个行都必须具有一个主键值(不允许为 NULL)。

主键有几个潜规则:

  • 不能修改主键的值 - 就像可以改名不能修改身份证号码;
  • 已经使用过的主键不能再使用(就像已经废弃的身份证号码不能重复使用一样)。

1.7 什么是 SQL

SQL 是结构化查询语言(Structured Query Language)的缩写,SQL 是一门专门用来和数据库通信的语言。

优点:

  1. sql 不是某个特定数据库供应商专有的语言,集合所有重要的 DBMS 都支持 sql。所以学会了基本上可以用于所有数据库;
  2. sql 简单易学,它的语句全都是由英语单词构成,而且单词数目不多;
  3. sql 尽管简单,但是非常灵活,可以写出复杂的逻辑。

其实可以这样理解 sql 语言的诞生:本身是可以用库代替。没有必要去发明一门语言来增加学习难度,但是库的接口会让问题变得更复杂:

  1. 各种库之间的接口会不一样,难以统一;
  2. 如果需求越来越复杂,库会不停的升级,多个库升级会让问题变得更复杂;
  3. 不同的语言的库会让问题复杂度加倍增加;
  4. 发明一种语法可以脱离具体的库会让问题变得统一,就好比当今存在各种标准:http 协议、typec 数据线等;
  5. 这种思维在编程中大量存在:正则表达式、xpath 语句、sql 语句等都是为了解决这类问题。

相关文章:

数据库基础-数据库基本概念(1-1)

你好,欢迎来到数据库基础系列专栏,欢迎留言互动哦~ 目录一、数据库基础1. 数据库基本概念1.1 数据库1.2 什么是数据库管理软件1.3 表1.4 行1.5 列和数据类型1.6 主键1.7 什么是 SQL一、数据库基础 1. 数据库基本概念 1.1 数据库 数据库是一个以某种有…...

学习笔记-架构的演进之服务容错策略-服务发现-3月day01

文章目录前言服务容错容错策略附前言 “容错性设计”(Design for Failure)是微服务的一个核心原则。 使用微服务架构,拆分出的服务越来越多,也逐渐导致以下问题: 某一个服务的崩溃,会导致所有用到这个服务…...

采编式AIGC视频生产流程编排实践

作者 | 百度人工智能创作团队 导读 本文从业务出发,系统介绍了采编式 TTV的实现逻辑和实现路径。结合业务拆解,实现了一个轻量级服务编排引擎,有效实现业务诉求、高效支持业务扩展。 全文6451字,预计阅读时间17分钟。 01 背景 近…...

Leetcode23. 合并k个升序链表

一、题目描述: 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释&#…...

从用户出发,互联网产品策划方法论

【一】从用户到需求 产品经理需要具备两个非常重要的技能,一个叫策划,一个叫感知用户。 我们在分析问题的时候往往会说“这么做,我认为用户会怎么怎么样”、“用户会认为这样很不爽”,当我们这样说时,很有可能是把自己当成了用户,用某些特定的情感或记忆代表了用户。 当我…...

STM32 E18-D80NK红外检测

本文代码使用 HAL 库。 文章目录前言一、E18-D80NK 红外传感器:1. E18-D80NK 的介绍2. 电器特性二、红外检测小实验代码讲解三、实验现象总结前言 这篇文章介绍 如何使用 STM32 控制 E18-D80NK 进行红外检测。 一、E18-D80NK 红外传感器: 1. E18-D80N…...

Linux常用命令--进程和计划任务管理

一、程序和进程的关系 1、程序 ①保存在硬盘、光盘等介质中的可执行代码和数据 ②静态保存的代码 2、进程 ①在cpu及内存中运行及进程代码 ②动态执行的代码 ③父(fork)、子进程,每个程序可以创建一个或多个进程 父进程和子进程的区别&am…...

Unity TextMeshPro

Unity TextMeshPro 简介 TextMeshPro(也简称为TMP)号称是Unity的终极文本解决方案,它是Unity 的 UI 文本和旧版文本网格体的完美替代品。 功能强大且易于使用,使用高级文本渲染技术以及一组自定义着色器;提供实质性的视觉质量改进,同时在文本样式和纹理方面为用户提供令人…...

虹科分享| 浅谈HK-Edgility边缘计算平台

上周,我们推出了虹科新品HK-Edgility边缘计算平台以及uCPE解决方案。本篇文章我们再来谈一谈到底什么是边缘计算?为什么需要边缘计算?边缘计算和云计算有什么关系?HK-Edgility边缘计算平台将为您带来什么?一、边缘计算…...

React Router v6详解

旧版本React Router使用方式 BrowserRouter:通过 history 库,传递 history 对象,location 对象Switch:匹配唯一的路由 Route,展示正确的路由组件Route:视图承载容器,控制渲染 UI 组件 新版本R…...

帮助100w人成功入职的软件测试面试常见问题以及答案

测试面试题怎么来设计测试方案根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。被测试的特性:通过对需求规格…...

tensorflow2.4--2.回归问题分析

文章目录前言流程案例操作前言 流程 回归问题预测连续值,在某个区间内变动. 常见的线性回归问题模型是yaxb,然而现实世界由于大量的数据偏差以及复杂度,同时还有大量的噪声,往往达不到如此的精确解,实际解决问题时需要考虑噪声的存在 对于噪声,往往我们已经假设了它符合高斯…...

【2023】DevOps、SRE、运维开发面试宝典之Kafka相关面试题

文章目录 1、消息队列的流派2、kafka的优势3、Kafka与Zookeeper的关系4、Kafka消息队列各组件概念5、Kafka消息队列应用场景6、Kafka消息收发的过程7、Kafka消息数据存储概念8、kafka消息的偏移量概念原理9、Kafka消息数据的顺序消费概念原理10、Kafka单播消费消息的原理11、Ka…...

CentOS系统编译安装PHP-5.6.27版本

一、手动安装编译工具: yum install -y gcc gcc-c 二、添加用户和用户组: groupadd web useradd -M -s /sbin/nologin -g web php 三、yum安装依赖: yum -y install libmcrypt libmcrypt-devel mcrypt mhash libxml2-devel libpng-devel l…...

和风SDK查询城市ID(保姆级教程)

android studio版本:2021.2.1例程名:hfserachcityid这几天没什么事做,而且我原来那个“项目”因为免费api不能用了,只能改为和风的免费api,但需要申请,而且还要城市ID,玩天气的基本都知道城市ID这个东西&am…...

暴力递归到动态规划

暴力递归到动态规划 假设有排成一行的n个位置, 记为1~n,n-定大于或等于2。开始时机器人在其中的m位置上(m 一定是1~n中的一个)。如果机器人来到1位置,那么下一步只能往右来到2位置;如果机器人来到n位置, 那么下一步只能…...

Java:Java仍然处于领先地位?

没有多少编程语言能够自吹自擂并持续流行20多年,但Java就是其中之一。Java应用程序不仅局限于web和移动开发,而且给大数据和人工智能留下了深刻的印象。不用多说,让我们讨论一下Java流行的几个原因!!1.实用性根据JamesGosling的说法&#xff…...

虚拟地址空间

本节目录1.如何理解区域划分2.为什么一个变量可以存储两个不同的值?3.深入理解虚拟地址空间为什么要有地址空间?4.理解什么是挂起?1.虚拟地址空间究竟是什么?2.映射关系的维护是谁做的?1.如何理解区域划分 所谓的区域…...

Python基础篇(十五)-- Pygame游戏编程

1 初识Pygame Pygame是一个开源的Python模块,专门用于多媒体应用(如电子游戏)的开发,其中包含对图像、声音、视频、事件、碰撞等的支持。Pygame建立在SDL的基础上,SDL是一套跨平台的多媒体开发库,用C语言实…...

LeetCode 热题 HOT 100 Java 题解 -- Part 2

练习地址 Part 1 : https://blog.csdn.net/qq_41080854/article/details/128829494 LeetCode 热题 HOT 100 Java 题解 -- Part 236. 二叉树的中序遍历 9437. 不同的二叉搜索树 9638. 验证二叉搜索树 9839. 对称二叉树 10140. 二叉树的层序遍历 10241. 二叉树的最大深度 10442.…...

【项目实战】IDEA常用快捷键汇总

一、修改为Eclipse的快捷键 相信很多朋友跟我一样, 都是习惯了eclipse的快捷键,没错,习惯这东西真的很难改!IDEA非常强大,支持我们修改IDEA中的keymap为Eclipse的快捷键!友好又贴心,有没有&…...

更新 TKK 失败,请检查网络连接。谷歌翻译 translation插件不能用解决办法 亲测有效

谷歌翻译无法使用,谷歌回应解释是,谷歌翻译使用率过低,所以选择停止服务。网上也有说法,指出根本原因为,提供API接口的googleapis被墙,这导致js文件和字体资源无法加载。 这里提供两种解决办法 方案一 修…...

SpringBoot整合MybatisPlus多数据源

相信在很多使用MybatisPlus框架的小伙伴都会遇到多数据源的配置问题,并且官网也给出了推荐使用多数据源 (dynamic-datasource-spring-boot-starter) 组件来实现。由于最近项目也在使用这个组件来实现多数据源切换,因此想了解一下该组件是如何运行的&…...

【教程】如何使用Java生成PDF文档?

在如今数字化时代,越来越多的人使用PDF文档进行信息传递和共享。而使用Java生成PDF文档也成为了一个非常重要的技能,因为Java作为一种通用的编程语言,可以在不同的操作系统和平台上运行。下面,我们将为您介绍如何使用Java生成PDF文…...

I.MX6ULL内核开发13:pinctrl子系统和gpio子系统-led实验

目录 一、pinctrl子系统 1.1 pinctrl子系统编写格式以及引脚属性介绍 1.1.1 iomux节点介绍 1.1.2 pinctrl子节点编写格式 1.1.3 引脚配置信息介绍 1.2 将RGB灯引脚添加到pinctrl子系统 1.2.1 查找RGB灯使用的引脚 1.2.2找到引脚宏定义 1.2.3 设置引脚属性 1.2.4 在…...

Linux系列 使用vi文本编辑器

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi编辑器的工作模式 3.命令模式中的…...

【java基础】接口(interface)

文章目录基础介绍接口的定义关于接口字段和方法的说明使用接口抽象类和接口接口方法冲突的一些说明方法相同名称和参数,返回值相同方法名称相同,参数不同,返回值相同方法返回值不同,名称参数相同方法完全相同,一个有默…...

ChatGPT(GPT3.5) OpenAI官方API正式发布

OpenAI社区今天凌晨4点多发送的邮件,介绍了ChatGPT官方API的发布。官方介绍文档地址为“OpenAI API”和“OpenAI API”。 ChatGPT(GPT3.5)官方API模型名称为“gpt-3.5-turbo”和“gpt-3.5-turbo-0301”。API调用价格比GPT text-davinci-003模型便宜10倍。调用费用为…...

CAD中如何将图形对象转换为三维实体?

有些小伙伴在CAD绘制完图纸后,想要将图纸中的某些图形对象转换成三维实体,但却不知道该如何操作,其实很简单,本节CAD绘图教程就和小编一起来了解一下浩辰CAD软件中将符合条件的对象转换为三维实体的相关操作步骤吧! 将…...

【K8S笔记】Kubernetes 集群架构与组件介绍

K8S 官方文档 https://kubernetes.io/zh/docs/home ##注重关注 概念和任务 板块。 K8S 集群架构 K8S也是运用了分布式集群架构: 管理节点/Master 整个集群的管理,任务协作。工作节点/Node 容器运行、删除。 K8S 组件介绍 管理节点/Master 相关组件 …...

如何用服务器做网站/品牌策划方案怎么写

这是基于java的电子邮件系统--工具软件下载,基于java开发的邮件系统,包括基本的邮件收发,附件功能-Java-based development of e-mail system, including the basic send and receive mail, attachments.软件介绍基于j…...

wordpress英文主题破解版/互联网营销师含金量

QPushButton 在任何 GUI 设计中,命令按钮都是最重要和最常用的控件。 任何计算机用户都熟悉带有保存、打开、确定、是、否和取消等作为标题的按钮。 在 PyQt API 中,QPushButton 类对象提供了一个按钮,当单击该按钮时,可以对其进行编程以调用某个函数。 QPushButton 类从…...

wordpress 插件主题冲突/湖南专业seo公司

2. RBAC实践 创建一个名为deployment-clusterrole的clusterrole​ a) 该clusterrole只允许创建Deployment、Daemonset、Statefulset的create操作 在名字为app-team1的namespace下创建一个名为cicd-token的serviceAccount,并且将上一步创建clusterrole的权限绑定到该serviceAcc…...

wordpress精简化教程/seo网站关键词优化方式

问题 1:C 中的类可以定义多个对象,那么对象构造的顺序是怎样的? 问题 2:对象构造顺序会带来什么影响呢? 对象构造往往与构造函数相关联,构造函数体有可能是非常复杂的程序逻辑组成,不同类的构造…...

制作app的教程/seo还有用吗

1、说明系统:centos7.2cuda版本:9.0报错信息:在执行.run文件后报错# sh cuda_9.0.176_384.81_linux.run The driver installation is unable to locate the kernel source. Please make sure that the kernel source packages are installed …...

品牌餐饮加盟网站建设/油烟机seo关键词

IT在短短的十几年内,已经成为我国重要的经济增长点,国家更是大力扶持。目前,IT产业已经进入全产业IT化的时代,各个行业都在IT化、互联网化、信息化,这意味着你只要掌握了IT技术,就业范围将不会仅限于IT互联…...