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

数据库简介和sqlite3安装

        数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
        严格意义上来说,"数据库"不能被称之为"数据库",而是数据库管理系统,数据库管理系统是为了数据库而设计的计算机软件(通过数据库管理系统去操作数据库中的数据),一般具有存储, 截取,安全保障,备份等基础功能。 数据库与数据库管理系统类似于计算机中的 EXCEL 中的表格 和EXCEL 这个软件的关系

关系性数据库和非关系型数据库

        关系型数据库:指采用了关系模型来组织数据的数据库,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
        1.成本: 非关系数据库简单易部署,基本都是开源软件,不需要像使用关系型那样花费大量成本购买使用,非关系型数据库相比关系型数据库价格便宜。
        2.查询速度: 非关系数据库将数据存储于缓存之中,而且不需要经过 SQL 层的解析,关系型数据库将数据存储在硬盘中,自然查询速度远不及非关系数据库。
        3.存储数据的格式: 非关系的存储格式是 key,value 形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而关系型数据库则只支持基础类型。
        4.扩展性: 关系型数据库有类似 join 这样的多表查询机制的限制导致扩展很艰难。非关系基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
        5.持久存储: 非关系不使用于持久存储,海量数据的持久存储,还是需要关系型数据库
        6.数据一致性: 非关系型数据库一般强调的是数据最终一致性,不像关系型数据库一样强调数据的强一致性,从非关系型数据库中读到的有可能还是处于一个中间态的数据,非关系不提供对事务的处理。

常见关系型数据库

Oracle 是 1983 年推出的世界上第一个开放式商品化关系型数据库管理系统 甲骨文
DB2 是美国 IBM 公司开发的一套关系型数据库管理系统
SQL Server 是 Microsoft 公司推出的关系型数据库管理系统
Access 是由微软发布的关系数据库管理系统
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle旗下产品。
sqlite3 轻量级的开源关系型数据库管理系统,很适合在嵌入式设备中使用

常见的非关系型数据库

键值数据库:Redis Memcached Riak
列族数据库: Bigtable HBase Cassandra 文档数据库: MongoDB CouchDB MarkLogic
图形数据库: Neo4j InfoGrid

关系型数据库的优缺点

优点:
        1. 采用二维表结构非常贴近正常开发逻辑(关系型数据模型相对层次型数据模型和网状型数据模型等其他模型来说更容易理解);
        2. 支持通用的 SQL (结构化查询语言)语句;
        3. 丰富的完整性大大减少了数据冗余和数据不一致的问题。并且全部由表结构组成,文件格式一致;
        4. 可以用 SQL 句子多个表之间做非常繁杂的查询;
        5. 关系型数据库提供对事务的支持,能保证系统中事务的正确执行,同时提供事务的恢复、回滚、并发控制和死锁问题的解决。
        6. 数据存储在磁盘中,安全可靠。
缺点:
        1. 高并发读写能力差:网站类用户的并发性访问非常高,而一台数据库的最大连接数有限,且硬盘 I/O 有限,不能满足很多人同时连接。
        2. 海量数据情况下读写效率低:对大数据量的表进行读写操作时,需要等待较长的时间等待响应。
        3. 可扩展性不足:不像 web server app server 那样简单的添加硬件和服务节点来拓展性能和负荷工作能力。
        4. 数据模型灵活度低:关系型数据库的数据模型定义严格,无法快速容纳新的数据类型(需要提前知道需要存储什么样类型的数据)。
简而言之: 优点:容易理解,使用方便,易于维护,缺点:并发高,效率低,扩展性不足

非关系型数据库的优缺点

优点:
        1. 非关系型数据库存储数据的格式可以是 key-value 形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
        2. 速度快,效率高。非关系型数据库可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
        3. 海量数据的维护和处理非常轻松,成本低。
        4. 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
        5. 可以实现数据的分布式处理。
缺点:
        1. 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
        2. 非关系数据库没有事务处理,无法保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
        3. 功能没有关系型数据库完善。
        4. 复杂表关联查询不容易实现。

关系型数据库的六大范式

这里只要提及前三范式:
1. 第一范式:
        数据库表中的字段都是单一属性的,不可再分。 (列不可再分)
2. 第二范式
        数据库表汇总不存在非关键字段对任一后选关键字段的部分函数依赖。 不存在传递依赖
3. 第三范式:
        数据表中不存在非关键字段对任一后选关键字段的传递函数依赖。( 表中其他列值必须唯一依赖于主键

什么是 ACID

        数据库事务是指一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性 )属性

E-R 模型

        E-R 模型又叫实体-关系模型, 全称为 实体联系模型 实体关系模型 实体联系模式图 ,主要是用来描述现实世界中的概念模型的,具体来说就是使用一下三种东西来描述我们要存储的数据:
        实体 客观存在的事物 在 E-R 图上用矩形表示
        属性 实体所具有的某一种属性 在 E-R 图上用椭圆表示
        联系 实体之间的相互关联 在 E-R 图上用菱形表示
        一个实体一般就会对应一个表格,每一个属性对应表格中的一列,表格一般会根据实体关系模式去设计,如下就是 E-R 图模型

主键和外键

        关系型数据库中的一条记录中拥有若干个属性,若其中某一个属性/属性组能够唯一的标识一条记录,该属性就可以是一个主键。
        比如对于一个学生表(学号,姓名,性别,班级);
        其中每一个学生的学号是唯一的,学号就是一个主键
        对于课程表(课程编号,课程名,学分,任课老师,开课时间);
        其中课程编号是唯一的,课程编号就是一个主键
        对于成绩表(学号,课程号,分数);
        其中单一的属性无法标识一条记录的,学号和课程号的组合才能唯一的标识一条记录,学号和课程号的组合是一个主键
        成绩表中的学号不是成绩表的主键,但是它和学生表中的学号相互对应,并且学生表中的学号是学生表的主键,则称成绩表的学号是学生表的外键.(在本表中不是主键,但是在其他表中是主键)
同理,成绩表中的课程号是课程表的外键
        主键和外键主要是为了维护关系型数据库的数据完整性
        主键是能够确定一条记录的唯一标识,外键用于与另一张表关联,能够确定另一张表格的字段,用于保持数据的一致性.
        注意在 sqlite3 数据库中的外键默认是关闭的。

数据库的安装

sqlite3 数据库的安装

方式 1:通过源代码安装
1.从 SQLite 下载页面 把源码包下载下来然后拷贝虚拟机目录(不要放到共享目录),例如:
cp sqlite-snapshot-201803271513.tar.gz /home/china/
2.解压源代码
tar -zxvf sqlite-snapshot-201803271513.tar.gz
3.进入源代码的目录
cd sqlite-snapshot-201803271513/
4. 自动配置生成 Makefile
./configure
5.自动编译源代码
make
6.安装数据库
sudo make install
方式 2:通过 APT 安装
命令如下:
sudo apt-get install sqlite3
sudo apt-get install sqlite3-doc
sudo apt-get install sqlitebrowser

相关文章:

数据库简介和sqlite3安装

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 严格意义上来说,"数据库"不能被称之为"数据库",而…...

颈肩肌筋膜炎做什么检查

颈肩肌筋膜炎症状 颈肩背部广泛疼痛酸胀沉重感、麻木感,僵硬、活动受限,可向后头部及上臂放散。疼痛呈持续性,可因感染、疲劳、受凉、受潮等因素而加重。查体见颈部肌紧张,压痛点常在棘突及棘突旁斜方肌、菱形肌等,压…...

django建站过程(3)定义模型与管理页

定义模型与管理页 定义模型[models.py]迁移模型向管理注册模型[admin.py]注册模型使用Admin.site.register(模型名)修改Django后台管理的名称定义管理列表页面应用名称修改管理列表添加查询功能 django shell交互式shell会话 认证和授权 定义模型[models.py] 模仿博客形式&…...

node开发微信群聊机器人第⑤章

▍PART 序 看本文时,请确保前4章都已经看过,不然本章你看着看着思维容易跳脱!再一个机器人教程只在公众号:“程序员野区”首发。csdn会跟着发一份,未经博主同意,请勿转载!欢迎分享到自己的微信…...

如何助力企业出海?未来发展趋势是什么?尽在「云通信」Tech专场

2023杭州云栖大会 倒计时4天! 阿里云云通信 2大并行Session 6场话题演讲 今日「云通信」Tech 议程内容抢先知晓 01 「云通信」Tech • 国内企业出海,如何更高地提升市场营销的ROI,提升客户的转化率? • 面对海外存量客户&a…...

安装虚拟机(VMware)保姆级教程及配置虚拟网络编辑器和安装WindowsServer以及本地访问虚拟机和配置服务器环境

目录 一、操作系统 1.1.什么是操作系统 1.2.常见操作系统 1.3.个人版本和服务器版本的区别 1.4.Linux的各个版本 二、VMware Wworkstation Pro虚拟机的安装 1.下载与安装 注意:VMWare虚拟网卡 2.配置虚拟网络编辑器 三、安装配置 WindowsServer 1.创建虚拟…...

使用Typecho搭建个人博客网站,并内网穿透实现公网访问

使用Typecho搭建个人博客网站,并内网穿透实现公网访问 文章目录 使用Typecho搭建个人博客网站,并内网穿透实现公网访问前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 …...

RabbitMQ (4)

RabbitMQ (4) 文章目录 1. 死信的概念2. 死信的来源3. 死信代码案例3.1 TTL 过期时间3.2 超过队列最大长度3.3 拒绝消息 前言   上文我们已经学习完 交换机 ,知道了几个交换机的使用 ,下面我们来学习一下 死信队列 1. 死信的概念 先从概念解释上搞清楚这…...

导入Embassy库进行爬虫

Embassy是一个基于Lua的轻量级爬虫框架,可以方便地进行网页抓取和数据提取。它提供了简单易用的接口和丰富的功能,可以帮助开发者快速构建爬虫应用。 要使用Embassy进行爬虫,首先需要安装Embassy库。可以通过Lua的包管理工具luarocks来安装E…...

GoLong的学习之路(十三)语法之标准库 log(日志包)的使用

上回书说到,flag的问题。这回说到日志。无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 文章目录 log配置logger配置日志前缀配置日志输出位置自定义logger …...

别处拿来的VUE项目 npm run serve报错

问题现象: 从别处拷贝来的VUE项目,根据说明通过npm install 加载了项目依赖 ,但是运行npm run serve里报错: npm ERR! Missing script: "serve" npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm ru…...

Istio 运行错误 failed to update resource with server-side apply for obj 问题解决

Istio 环境 kubernetes version: v1.18.2 istio version: v1.10.0运行之后 istio-operator 的日志就抛出下面错误,而且会一直重启 # kubectl get iop -A NAMESPACE NAME REVISION STATUS AGE istio-system iop-pro-cluster…...

分布式事务(Seata)——Seata分布式事务XA模式、AT模式、TCC模式的介绍和对比 结合案例分析AT模式和XA模式【源码】

前言 事务(TRANSACTION)是一个不可分割的逻辑单元,包含了一组数据库操作命令,并且把所有的命令作为一个整体向系统提交,要么都执行、要么都不执行。 事务作为系统中必须考虑的问题,无论是在单体项目还是在分布式项目中都需要进行…...

GMT 格式 转 标准日期格式

需求:有一个时间格式:TUE NOV 14 08:00:00 GMT08:00 2000 我需要将这种格式的时间转换为标准日期格式,并且只修改这种时间格式的时间,不影响其他的 思路:我想到的是用正则来判断,SimpleDateFormat来进行转换…...

【蓝桥杯选拔赛真题01】C++参赛建议 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++参赛建议 一、题目要求 1、编程实现 2、输入输出 二、算法分析 <...

小红书为什么流量不好,小红书笔记质量评判标准有哪些?

我们都知道小红书平台强大的种草力与传播力&#xff0c;需要依靠优质笔记的输出来达成。但是很多时候&#xff0c;我们撰写了笔记&#xff0c;却无法被收录&#xff0c;获得流量&#xff0c;这都是因为笔记质量出现了问题。那么小红书为什么流量不好&#xff0c;小红书笔记质量…...

优化改进 | YOLOv2算法超详细解析(包括诞生背景+论文解析+技术原理等)

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv2是YOLO&#xff08;You Only Look Once&#xff09;目标检测算法的第二个版本&#xff0c;它在YOLOv1的基础上做了很多改进&#xff0c;包括使用更深的卷积神经网络Darknet-19作为特征提取器、使用Batch Normalizati…...

作为前端开发,你应该知道的这十几个在线免费工具

​偶然刷到知乎一位前端大佬 表歌 多篇优秀实用的文章&#xff0c;真的发现宝藏了 以下内容就是他在知乎分享的十几个在线免费工具 1. 页面设计检查清单&#xff1a;https://www.checklist.design/ 页面设计检查清单 通过清单可以检查一些常用容易忽略的设计要素。 2. 背景色…...

【广州华锐互动】关于物理力学的3D实验实操平台

在科学的广阔领域中&#xff0c;物理力学是一个至关重要的分支&#xff0c;它探索了物体在力作用下的运动规律。然而&#xff0c;传统的物理实验往往需要复杂的设备和大量的操作&#xff0c;这对于学生来说是一项巨大的挑战。为了解决这个问题&#xff0c;广州华锐互动开发了物…...

LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

LVS简介 LVS&#xff08;Linux Virtual Server&#xff09;是一种基于Linux内核的高可用性负载均衡软件。它通过将客户端请求分发到多个后端真实服务器&#xff0c;提高系统性能和可靠性。LVS支持多种调度算法&#xff0c;如轮询、最少连接、源地址哈希等&#xff0c;用于决定…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...