数据库
adamyoungjack
师傅领进门,修行看个人。
展开
-
计算机系统
参考文档:https://www.processon.com/view/link/5fcef86e1e085306e0e5b18b原创 2020-12-08 11:57:10 · 72 阅读 · 0 评论 -
数据库系统概述
1. 绪论1.1 数据库系统概述1. 数据库的4个基本概念2. 数据库管理技术的产生和发展3. 数据库系统的特点1.2 数据模型1. 两类数据模型2. 概念模型3. 数据模型的组成要素4. 常用的数据模型5. 层次模型6. 网状模型7. 关系模型1.3 数据库系统的结构1. 数据库系统模式的概念2. 数据库系统的三级模式结构3. 数据库的二级映像功能与数据独立性1.4 数据库系统的组成2. 关系数据库2.1 关系数据结构及形式化定义1. 关系2. 关系模式3.关系原创 2020-11-28 11:59:04 · 476 阅读 · 0 评论 -
数据库
1. 简介1.1 定义数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加、修改、删除、查询等操作。数据库就是存储和管理数据的一个仓库,是用来持久化存储和快速读取数据的。1.2 分类关系型数据库非关系型数据库2.1 关系型数据库1. 定义是指采用了关系模型来组织数据的数据库,简单来说,关系模型指的就是二维表格模型,好比Excel文件中的表格,强调使用表格的方式存储数据。关系型数据库效果图:2. 核心元素数据行数据列数据表数据原创 2020-11-21 19:21:27 · 647 阅读 · 0 评论 -
MySQL分布式设计
1. 复制集与分布式复制集(Replication)数据库中数据相同,起到备份作用高可用 High Available HA分布式(Distribution)数据库中数据不同,共同组成完整的数据集合通常每个节点被称为一个分片(shard)高吞吐 High Throughput复制集与分布式可以单独使用,也可以组合使用(即每个分片都组建一个复制集)关于主(Master)从(Slave)这个概念是从使用的角度来阐述问题的主节点 -> 表示程序在这个节点上最先更新数据原创 2020-11-21 18:22:52 · 873 阅读 · 0 评论 -
关系型数据库管理系统
1. 简介数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果想要使用关系型数据库就需要安装数据库管理系统,其实就是一个应用软件。2. 分类关系型数据库管理系统可以分为:关系型数据库服务端软件关系型数据库客户端软件2.1 关系型数据库服务端软件主要负责管理不同的数据库,而每个数据库里面会有一系列数据文件,数据文件是用来存储数据的, 其实数据库就是一系列数据文件的集合。2.2 关系型原创 2020-11-21 19:32:24 · 2754 阅读 · 0 评论 -
非关系型数据库
1. 简介1.1 定义数据仓库1.2 作用存储和管理数据与文件的区别:按照一定格式存储,读写速度极高1.3 特点持久化存储读写速度极高数据有效性1.4 组成数据行数据列数据表数据库2. 分类2.1 关系型数据库1. 定义采用关系模型存储组织数据2. 结构二维表结构3. 分类oracle,mysql,sql server,sqlite4. 使用关系型数据库管理系统4.1 定义应用软件4.2 组成关系型数据库客户端软件关原创 2020-11-16 13:23:36 · 110 阅读 · 0 评论 -
Mysql
1. 简介1.1 地位最流行的关系型数据库管理系统之一1.2 特点:开源免费支持大型数据库支持SQL通用语言支持多种编程语言的接口和多种操作系统数据存储在磁盘读取速度慢,但能永久保存3. 使用3.1 分开使用1. 数据库客户端软件图形化界面客户端Navicat解压:tar -zxvf navicat112_mysql_cs_x64.tar.gz启动:./start_navicat命令行客户端MySQL2. 数据库服务器端软件3.2 合并使用数据库编程原创 2020-11-16 14:21:17 · 167 阅读 · 0 评论 -
MySQL数据库设计
1. 需求根据项目产品原型图中的部分,进行数据库设计。表结构字段类型、是否允许为null、是否有默认值索引设计数据库引擎的选择2 注意事项为了查询效率,可以做冗余字段设计(空间换时间的思想,属于一种反范式设计)2.1 字段类型的选择1. 整型的存储大小与显示大小mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?建立下面这张表:CREATE TABLE `test` ( `id`原创 2020-11-21 18:59:33 · 4418 阅读 · 0 评论 -
命令行客户端MySQL的使用
1. 登录和登出数据库登录数据库:mysql -uroot -p说明:-u: 后面是登录的用户名-p: 后面是登录密码, 如果不填写, 回车之后会提示输入密码登录数据库效果图:登录成功后, 输入如下命令查看效果:# 显示当前时间select now();登出(退出)数据库:quit 或 exit 或 ctrl + d2. 数据库操作的SQL语句查看所有数据库show databases;创建数据库create database 数据库名 charset=ut原创 2020-11-21 20:15:36 · 111 阅读 · 0 评论 -
MySQL数据库的条件查询
1. 聚合函数能够写出查询总行数的SQL语句count(col): 表示求指定列的总行数max(col): 表示求指定列的最大值min(col): 表示求指定列的最小值sum(col): 表示求指定列的和avg(col): 表示求指定列的平均值1.1 简介聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据。1.2 分类常用的聚合函数:count(col): 表示求指定列的总行数max(col): 表示求指定列的最原创 2020-11-23 19:25:55 · 565 阅读 · 0 评论 -
MySQL数据库查询语法
1. as关键字在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用 as 给字段起一个别名。1.1 使用 as 给字段起别名select id as 序号, name as 名字, gender as 性别 from students;1.2 可以通过 as 给表起别名-- 如果是单表查询 可以省略表名select id, name, gender from students;-- 表名.字段名select students.id,students.原创 2020-11-22 21:45:15 · 435 阅读 · 0 评论 -
事务
将查询结果插入到其他表中想要完成表复制可以使用: insert into … select …思考目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加,那么如何实现添加商品分类信息的操作?答案:创建一个商品分类表,把goods表中的商品分类信息添加到该表中。将goods表中的分类名称更改成商品分类表中对应的分类id创建商品分类表-- 创建商品分类表create table good_cates( id .原创 2020-11-23 20:05:14 · 250 阅读 · 0 评论 -
SQL
1. Redis事务1.1 基本事务指令Redis提供了一定的事务支持,可以保证一组操作原子执行不被打断,但是如果执行中出现错误,事务不能回滚,Redis未提供回滚支持。multi 开启事务exec 执行事务127.0.0.1:6379> multiOK127.0.0.1:6379> set a 100QUEUED127.0.0.1:6379> set b 200QUEUED127.0.0.1:6379> get aQUEUED127.0.0.1:637原创 2020-11-21 18:05:44 · 116 阅读 · 0 评论 -
Redis
1. 简介1.1 定义KV模型的持久化日志型缓存数据库1.2 特点内存数据库,但也支持数据的持久化不仅支持简单的key-value类型的数据,同时提供list,set,zset,hash等数据结构的存储支持数据的备份,即master-slave模式的数据备份性能极高丰富的数据类型原子丰富的特性,支持丰富的接口,key过期1.3 应用场景缓存社交类应用购物车,session共享首页1.4 安装与配置...原创 2020-11-16 14:31:35 · 173 阅读 · 0 评论 -
Redis分布式设计
1. Mysql分布式1.1 复制1. 简介也叫主从同步,备份,是一个异步的复制过程在两台数据库服务器的基础上实现了读写分离,把两台数据库服务器分为一台主服务器(master)和一台从服务器(slave),一台主服务器对应一台从服务器。master只负责写入(write)数据,从服务器只负责同步主服务器的数据,并让外部程序读取(read)数据也可以让外部程序读取数据(master也可以让外部程序读取数据)3. 本质slave从master获取Binary log,然后再在自己身上完全顺序的原创 2020-11-13 23:53:53 · 335 阅读 · 0 评论 -
MongoDB
1. 简介1.1 关系型数据库与非关系数据库1. nosql“NoSQL”一词最早于1998年被用于一个轻量级的关系数据库的名字随着web2.0的快速发展, NoSQL概念在2009年被提了出来NoSQL在2010年发展起来, 现在国内外众多网站, 如、 淘宝、 京东、 百度、google等, 都在使用nosql开发高性能的产品对于一名程序员来讲, 使用nosql已经成为一条必备技能NoSQL最常用的解释是“non-relational”, “Not Only SQL”也被很多人接受, 指的原创 2020-11-22 18:32:36 · 479 阅读 · 0 评论 -
数据库优化
1. 简介数据库是Web应用至关重要的一个环节,其性能的优劣会影响整合Web应用,所以需要对数据库进化优化以提高使用性能。2. 分类2.1 理解索引2.2 SQL查询优化避免全表扫描,应考虑在 where 及 order by 涉及的列上建立索引;查询时使用select明确指明所要查询的字段,避免使用select *的操作;SQL语句尽量大写,如 SELECT name FROM t WHERE id=1对于小写的sql语句,通常数据库在解析sql语句时,通常会先转换原创 2020-11-21 17:54:47 · 52 阅读 · 0 评论 -
缓存设计
1. 缓存内容1.1 缓存介绍缓存: 减小数据库的访问压力, 提高并发能力1.2 缓存架构基本架构多级缓存1.3 缓存粒度1. 缓存某个数值一个键只保存一个值, 键利用率低场景: 验证码2. 缓存数据对象一条数据库记录优点: 可以多次复用场景: 用户/文章数据 # 用户的基本信息user = User.query.filter_by(id=1).first()user -> User对象{ 'user_id':1, 'use原创 2020-11-14 19:24:29 · 875 阅读 · 0 评论 -
分布式ID
1. UUID1.1 定义UUID是通用唯一识别码(Universally Unique Identifier)的缩写,开放软件基金会(OSF)规范定义了包括 网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素。利用这些元素来生成UUID。UUID是由128位二进制组成,一般转换成十六进制,然后用String表示。550e8400-e29b-41d4-a716-4466554400001.2 优缺点UUID的优点:通过本地生成,没有经过网络I/O,性能较原创 2020-11-21 17:40:30 · 53 阅读 · 0 评论 -
数据库编程
1. 简介数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,比如:数据类型和约束。2. 数据类型数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。常用数据类型如下:整数:int,bit小数:decimal字符串:varchar,char日期时间: date, time, da原创 2020-11-21 20:02:26 · 759 阅读 · 0 评论 -
ORM
ORM: 对象关系映射作用:将定义数据库“模型类”==>数据库表将定义数据库模型类中的“属性”==>数据库表字段将模型类对象的操作(add, delete,commit)==>对应的SQL语句,并将执行结果提交到数据库优点:只需要面向对象编程,不需要面向数据库表写代码实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异(sqllit,mysql,oracle)有语法提示,省去自己拼写SQL,保证SQL语法的正确性ORM提供官方功能(dialect,可以转化为多种原创 2020-11-01 18:17:05 · 96 阅读 · 0 评论