关系型数据库

MySql学习笔记(基础)

ぃ、小莉子 提交于 2019-12-05 12:00:46
MySql学习笔记(基础) 学习笔记 数据库基础 SQL的基本操作 基本操作:CRUD(增删改查) 更新数据库 删除数据库 表操作 修改数据表 查看数据 更新数据 删除数据 中文数据问题 校对集问题 数据类型(列类型) 字段属性 范式: 蠕虫复制 查询数据 连接查询 学习笔记 数据库基础 1.什么是数据库? 数据库:database,存储数据的仓库 数据库:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存) 2.数据库的分类? 数据库基于存储介质的不同:进行了分类,分为两大类:关系型数据库(SQL)和非关系型数据库(NoSQL:Not Noly SQL,不是关系型的数据库都叫做非关系型数据库) 3.不同的数据库阵营中的产品有哪些? 关系型数据库: 大型:Oracle,DB2 中型:SQL-SERVER,MySql等 小型:access等 非关系型数据库: memcached,mongodb,redis(同步到磁盘) 4.两种数据库阵营的区别? 关系型数据库:安全(保存磁盘基本不可能丢失)容易理解,比较浪费空间(二维表) 非关系型数据库:效率高,不安全(断电会丢失) 关系型数据库 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库。 关系模型:一种所谓建立在关系上的模型,关系模型包含三个方面。 数据结构:数据存储的问题,二维表(有行和列)

数据库理论基础

倾然丶 夕夏残阳落幕 提交于 2019-12-05 11:27:01
一、什么是数据库 数据:描述事物的符号记录,可以是数字、文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。 数据库:存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享。 数据库特点如下: 数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复) DBMS:数据库管理系统(能够操作和管理数据库的大型软件,例如MySQL。) 二、数据库与文件系统区别 数据库系统:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件, 用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全 性和完整性。 文件系统:文件系统是操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 2.1、对比与区别 2.1.1、管理对象不同 文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存,例如可执行文件为.exe,word文件为.doc。

python中对数据库的理解--------MySQL数据库

好久不见. 提交于 2019-12-05 10:56:27
数据库:按照数据结构来组织、存储和管理数据的仓库。 数据库的分类:关系型数据库和非关系型数据库 MySQL------关系型数据库。 关系型数据库的特点 : 将数据保存在不同的表中,再将这些表放入数据库中,而不是将所有数据统一放在数据库里。 优点:这样不仅增加了Mysql的读取速度,灵活性和可管理型也得到了很大的提高,访问以及管理Mysql数据库的最常用标准化语言为SQL结构化查询的语句,竟而让数据持久化存储在硬盘中; 关系图表: 关系型数据库的设计规则:遵循ER模型和三范式 了解什么是ER模型:(实体—联系----属性) ER模型组成分为实体和联系,实体是对现实生活中的抽象,实体与实体之间的信息传输是通过联系来实现的。属性是实体与联系共享的一个名片。属性从分类上讲有简单属性和复合属性,有单值属性和多值属性,储存属性和派生属性。在复合属性中,各个属性之间存在一定的逻辑依赖关系,或者说是层次关系,比如书地址属性,它可以分为省,市,县…。而对峙属性它们之间不存在一定的联系,比如说学位,它可以有硕士,博士,学士等等。 对ER模型的操作其实就是对ER模型元素的操作,就是对实体,联系,属性之间的操作,操作的目的是实现对用户的需求的同时还要减少数据的冗余。 E:Entity代表实体的意思,对应到数据库当中的一张表。 R:Relationship代表关系的意思。 三范式:1、列不能拆分 2

redis简介

我怕爱的太早我们不能终老 提交于 2019-12-05 07:54:09
一、关系数据库与非关系数据库的对比 关系型数据库特点: 基于单一关系模型,结构化存储,有完整性约束(关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。) 通过二维表建立数据之间的联系 采用结构化查询语言(SQL)做数据读写 操作保存数据的一致性 非关系型数据库特点: 非结构化的存储 基于多维关系模型 部署容易,开源免费,成本低 nosql和关系型数据库比较 优点: 1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。 3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。 4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。 缺点: 1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库几十年的技术同日而语。 2)不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本。 3)不提供关系型数据库对事物的处理。 关系型数据库的优缺点 优点: 1、易于维护

flask与Django的区别

房东的猫 提交于 2019-12-05 07:32:17
flask与Django的区别 ''' flask: 1. 轻量级web框架,只有一个内核, 默认依赖两个外部库:Jinja2 模板引擎和Werkzeug WSGI 工具集, 自由,灵活,可扩展性强,开发者可以根据需求自己造轮子 2. 适用于做小型网站以及web服务的API, 开发大型网站无压力,架构需自行设计 3. 与关系型数据库结合不弱于Django,而与非关系型数据库的结合远远 优于Django 4. 处理请求是上下文管理 Django: 1. 重量级web框架,功能齐全,提供一站式解决的思路, 能让开发者不用在选择应用上花费大量时间 2. 自带ORM(Object-Relational Mapping 对象关联映射)和模板引擎, 支持JinJa等非官方模板引擎灵活度不高 3. 自带ORM使Django和关系型数据库耦合度过高, 如果要使用非关系型数据库,需要使用第三方库 4. 自带数据库管理app 5. 成熟、稳定开发效率高、相对于Flask,Django的整体封闭性比较好, 适合做企业级网站的开发 6. python web框架的先驱,第三方库丰富 7. 上手容易,开发文档详细、完善、资料丰富 ''' Flask蓝图和Django路由映射的区别 ''' flask: 1. flask是利用蓝图进行模块划分的,通过app装饰器注册模块蓝图, 在主模块统一调用; 2.

数据库

不打扰是莪最后的温柔 提交于 2019-12-05 05:16:05
数据库的简介 一、数据库的基本概念:数据、数据库、数据库管理系统、数据库系统 数据:数据( Data)是用来记录信息的可识别符号,是信息的具体表现形式。 数据库:( 1)数据库(Database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。简单地说,就是用来存放数据的仓库。 ( 2)数据库中的数据按一定的数学模型、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。 数据库管理系统:( 1)数据库管理系统(Database Management System,简称DBMS)是一种操纵和管理数据库的大型软件,介于应用程序与操作系统之间,用于建立、使用和维护数据库,包括数据的定义、数据操纵、数据库运行管理及数据库建立与维护等功能。 ( 2)它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 ( 3)用户通过DBMS 访问数据库中的数据,数据库管理员也通过 DBMS进行数据库的维护工作。 ( 4)它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。 ( 5)数据库管理系统是数据库系统的核心,是管理数据库的软件。 ( 6)数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。

redis、memcached、mongdb

有些话、适合烂在心里 提交于 2019-12-05 04:44:10
>>Memcached Memcached的优点: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。 支持直接配置为session handle。 Memcached的局限性: 只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型。 无法进行持久化,数据不能备份,只能用于缓存使用,且重启后数据全部丢失。 无法进行数据同步,不能将MC中的数据迁移到其他MC实例中。 Memcached内存分配采用Slab Allocation机制管理内存,value大小分布差异较大时会造成内存利用率降低,并引发低利用率时依然出现踢出等问题。需要用户注重value设计。 >>Redis Redis的优点: 支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算) 支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手段。 支持通过Replication进行数据复制,通过master-slave机制,可以实时进行数据的同步复制,支持多级复制和增量复制,master

SQL 相关

不打扰是莪最后的温柔 提交于 2019-12-05 04:28:08
数据库:保管数据的仓库,以及数据管理的方法和技术。 数据库的特点:实现数据共享,减少数据冗余; 采用特定的数据类型; 具有较高的数据独立性;具有统一的数据控制功能; 数据库系统主要组成部分: 数据库、数据库管理系统、数据库应用程序。 SQL = Structured Query Language 结构化查询语言 SQL 和 NoSQL = 关系型数据库 和 非关系型数据库 mysql优势:运行速度快 免费 复杂程度较低,易于学习 跨平台可移植 丰富的接口 支持查询语言。。 终端连接数据库: mysql -u用户名 -p密码 -h连接主机 -P端口 比较重要的存储引擎: InnoDB MyISAM 另外还有: Memory Archive ----show engines:查看所有存储引擎 InnoDB 支持事务,行级别锁,外键,mysql的默认存储引擎 MyISAM 仓库引擎/存储引擎,增删改比较快 修改表名:alter table 旧表名 rename 新表名; 修改字段的数据类型:alter table 表名 modify 字段名 数据类型; 修改字段名:alter table 表名 change 旧字段名 新字段名 数据类型; 添加字段:alter tabale 表名 add 新字段名 数据类型; 删除字段:alter table 表名 drop 字段名; 修改字段的排列位置

mysql 执行原理

无人久伴 提交于 2019-12-05 02:43:29
1.为什么使用Msyql 开放、免费 2.mysql介绍 关系型数据库管理系统(RDBMS)来存储和管理的大数据量。   所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法 来处理数据库中的数据。 RDBMS即关系数据库管理系统(Relational Database Management System)的特点:   1.数据以表格的形式出现   2.每行为各种记录名称   3.每列为记录名称所对应的数据域   4.许多的行和列组成一张表单   5.若干的表单组成database 注:   保证数据一致性。   关系型数据库,表与表之间存在对应关系。   非关系行数据库,表之间不存在关系,数据独立,随便存。 MYSQL是最流行的关系型数据库管理系统 。 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 使用标准的SQL数据语言形式。 可以允许于多个系统上,并且支持多种语言。 这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 对PHP有很好的支持,PHP是目前最流行的Web开发语言。 支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB, 64位系统支持最大的表文件为8TB。 是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MYSQL系统。 GPL协议

redis的应用场景 为什么用redis

血红的双手。 提交于 2019-12-05 00:38:48
一、不是万能的菲关系系数据库redis 在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,redis:是非关系型数据库不仅可以做缓存还能干其它事情,Memcache:是仅用做缓存。常常让我们对这二者进行比较,主要也是由于Redis最广泛的应用场景就是Cache。 1.2 redis 都能干嘛 缓存,毫无疑问这是Redis当今最为人熟知的使用场景。再提升服务器性能方面非常有效; 排行榜,在使用传统的关系型数据库(mysql oracle 等)来做这个事儿,非常的麻烦,而利用Redis的SortSet(有序集合)数据结构能够简单的搞定; 计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类操作如果用MySQL,频繁的读写会带来相当大的压力;限速器比较典型的使用场景是限制某个用户访问某个API的频率,常用的有抢购时,防止用户疯狂点击带来不必要的压力; 好友关系,利用集合的一些命令,比如求交集、并集、差集等。可以方便搞定一些共同好友、共同爱好之类的功能; 简单消息队列,除了Redis自身的发布/订阅模式,我们也可以利用List来实现一个队列机制,比如:到货通知、邮件发送之类的需求,不需要高可靠,但是会带来非常大的DB压力,完全可以用List来完成异步解耦; Session共享,以PHP为例