1.什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,长期储存在计算机内、有组织的、可共享的数据集合。

数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

2.主要特点

⑴ 实现数据共享

数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

⑵ 减少数据的冗余度

同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

⑶ 数据的独立性

数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

⑷ 数据实现集中控制

文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

⑸数据一致性和可维护性,以确保数据的安全性和可靠性

主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

⑹ 故障恢复

由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

3.数据库种类

(1).比较流行的数据库模型有三种:层次式数据库,网络式数据库,关系型数据库.现在最常用的是关系型数据库和非关系型数据库,这两类就是现在用的最广泛的.

4.关系型数据库

关系型数据库就是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或者多个关系表格上,通过对这些关联的表格分类,合并,连接或者选取等运算来实现数据的管理.主要的关系型数据库代表为:MySQL,Oracle.

MySQL:

被广泛的应用在Internet的大中小网站中,体积小,速度快,开源,所以很受欢迎,

主要使用者:互联网,各种网站,游戏公司,电商平台.

Oracle:

性能优越,不开源,价格昂贵.

主要是传统的大企业,大公司,政府,金融,证券等行业使用.

5.非关系型数据库(NOSQL)

NoSQL,泛指非关系型的数据库。NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状。Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库,Facebook的Cassandra,Apache的HBase.redis,mongodb.

6.数据库缓存机制:

      Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

由于memcached为纯内存软件,一旦重启所有数据都会丢失,所以新浪基于其开发了持久化存储机制,和异步主辅复制机制,使其具有事务恢复功能,持久化数据存储和分布式复制能力,最近几年逐步被redis所替代.

新浪基于这个开发了一个机制,断电之后,数据还是会保存.

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

转载于:https://www.cnblogs.com/liulei-LL/p/7754832.html

MySQL学习之一数据库简介相关推荐

  1. django 数据库mysql学习向数据库表中添加数据

    环境:windows ,已经安装了 mysql, 安装了django 1.新建一个django 项目 2.新建一个子应用 python manage.py startapp moelsinfo 3.在 ...

  2. MySQL学习之数据库详解~2021

    MySQL 1.初始MySQL JavaEE : 企业级java开发 Web 前端 (页面:展示,数据! ) 后台 (连接点:连接数据库JDBC,连接前端(控制,控制视图跳转,和给前端传递数据)) 数 ...

  3. 查询mysql视图_MySQL数据库简介及常用命令

    MySQL简介: 1.MySQL发展史:MySQL是my ess que ell而不是myseqel.开发者是瑞典的MySQL AB公司的monty widenius,2008年被sun公司收购,09 ...

  4. MySQL学习笔记数据库学习【二】

    查询练习 一.查询练习的准备 准备创建 几个表: 学生表(Student):学号.姓名.性别.出生年月日.班级 课程表(Course):课程号.课程名称.教师编号 成绩表(Score) :学号.课程号 ...

  5. MySQL学习笔记——数据库的创建、修改与删除

    目录 一.数据库的创建和管理 1.基础知识 1.1 数据储存过程 1.2 标识符的命名规则 1.3 MySQL中的数据类型: 2.创建和管理数据库 2.1 创建数据库 2.2 管理数据库 2.3 修改 ...

  6. MySQL学习_数据库和表的基本操作

    目录 1 创建和查看数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 2 数据类型 2.1 整数类型 2.2 日期数据类型 2.3 字符串数据类型 3表的基本操作 ...

  7. MySQL学习之数据库查询

    数据库查询 一.基本查询语句 Select {* |<字段列表>} [ From <table1>,<table2>-- [where <expr>] ...

  8. MYSQL学习与数据库综合实验(九)——触发器

    9触发器 9.1触发器是什么 MySQL 的触发器和存储过程一样,都是嵌入到 MySQL 中的一段程序,是 MySQL 中管理数据的有力工具.不同的是执行存储过程要使用 CALL 语句来调用,而触发器 ...

  9. MYSQL学习与数据库综合实验(七)——参照性完整实验

    7.参照性完整实验 7.1定义 参照完整性:是指保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系.它涉及两个或两个以上表数据的一致性维护.外键值将引用表中包含此外键的记录和被引用表中主键与 ...

  10. MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术

    目录 一.子查询优化 二.视图重写 三.等价谓词重写 四.条件化简(条件优化技术) 1.条件下推 2.条件化简 五.外连接消除.嵌套连接消除.连接消除 六.数据库的约束规则与语义优化 七.非SPJ优化 ...

最新文章

  1. pythonpop方法桐柏到郑州大_python脚本之一键移动自定格式文件方法实例
  2. 1,字符是否为空,2,比较两个字符大小。String.Compare(String, String)。string.IsNullOrEmpty(string)...
  3. 乱码问题产生的原因与解决方案---UTF-8
  4. 6个您需要了解的日志管理工具(以及如何使用它们)
  5. office communications server 2007 标准版部署详细步骤及错误分析
  6. 什么是句柄?指针和句柄的区别
  7. 最新YYCMS影视源码_比米酷好用_模板超好看
  8. GB50174-2008《电子信息系统机房设计规范》
  9. 信号处理simulink仿真-DSP系统工具箱
  10. 钽电容正负极_钽电容是什么?怎么区分正负极?
  11. EXSi虚拟机缺少vmdk文件报错问题
  12. 用spark统计50年美国最常见的20个名字
  13. Apple开发账号添加团队成员
  14. 现代教育技术计算机网络试题及答案,现代教育技术试题及答案解析
  15. 【刘晓燕语法长难句】 简单句
  16. 2019-10 前端技术汇总
  17. H.265的各种帧(详解):接入图像
  18. Servlet/JSP(2)-数据共享(Cookie Session等),分页
  19. 2021开学季好物推荐 男女生宿舍幸福感数码好物指南
  20. 树上取石子's 题解

热门文章

  1. 时间序列分析工具箱——tibbletime
  2. 【R图秀】情人节快乐!
  3. 希望 线段树 01背包
  4. 我所见过的最简短、最灵活的javascript日期转字符串工具函数
  5. 用Kotlin开发Android的Hello Kotlin!!
  6. Android中Parcelable和Serializable接口用法
  7. 如何使用浏览器的F12调试页面?
  8. linux三剑客之awk
  9. Centos安装Kafka集群
  10. 联想第三季:PC+时代的航母启航?