2017-09-05 19:10:55

一、数据库定义

从本质上讲,数据库就是信息的集合,它可以存在很长时间,往往是很多年。一般来讲,"数据库"这个词指的是有数据库管理系统管理的数据的集合。数据库管理系统DBMS将满足:

  1. 允许用户使用专门的数据定义语言来创建新的数据库并指定其模式(数据的逻辑结构)。
  2. 给予用户使用适当的语言来查询数据和修改数据的能力,这种语言通常被称为查询语言(query language)。
  3. 支持对非常大量的数据进行长期的存储,允许搞笑的存取数据已进行查询和数据修改。
  4. 是数据具有持久性,即能够从故障,多种类型的错误或者故意滥用中进行恢复。
  5. 控制多个用户同时对数据进行访问,不允许用户间有不恰当的相互影响(称为孤立性),并且不会发生在数据上进行了部分的而不是完整的数据操作的情况(称为原子性)。

二、DBMS种类

DBMS主要通过数据保存的格式来进行分类,现阶段主要有以下5种:

  • 层次型数据库(Hierarchical Database,HDB)

最古老的数据库之一,它把数据通过层次结构的方式表现出来。层次型数据库曾经是数据库的主流,但随着关系型数据库的普及,现在已经很少使用了。

  • 关系型数据库(Relational Database,RDB)

是现在应用最广泛的数据库。关系型数据库1969年诞生,可谓历史悠久,和excel工作表一样,它也采用行列二维表结构来管理数据,所以简单易懂。同时,它还专门使用sql语言进行数据的操作。这种类型的dbms称为关系数据库管理系统(RDBMS)。比较具有代表性的RDBMS有如下几种

Oracle DB : 甲骨文公司的RDBMS

SQL Server : 微软的RDBMS

Mysql : 开源的RDBMS

PostgreSQL : 开源的RDBMS,学术性更重一点

  • 面向对象数据库(Object Oriented Database,OODB)

编程语言中有一种被称为面向对象的语言。该类数据库把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保这些对象的数据库。

  • XML数据库(XML Database,XMLDB)

最近几年,XML作为在网络上进行数据交互传输的形式逐渐普及起来。XML数据库可以对XML形式的大量数据进行高速的处理。

  • 键值存储系统(Key-Value Store,KVS)

这是一种单纯用来保存查询所使用的主键和值的组合的数据库。具有编程语言经验的读者可以把它想象成关联数组或者是散列表。近年来,随着键值存储系统的管饭应用,这种存储系统主键为人们所关注。

三、事务机制

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

  • 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
  • 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  • 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  • 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python mysql-数据库基础知识的更多相关文章

  1. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  2. 阿里面试官必问的12个MySQL数据库基础知识,哪些你还不知道?

    数据库基础知识 1.为什么要使用数据库 (1)数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 (2)数据保存在文件 优点: 数据永久保存 缺点: 1)速度比内存操作慢,频繁的IO操作. ...

  3. Java基础86 MySQL数据库基础知识

    本文知识点(目录): 1.MySQL数据库的概述    2.MySQL数据库的管理[对数据库的操作](查询.删除.创建数据库,以及查询和修改数据库的编码模式)    3.表的管理[对数据库 表的操作] ...

  4. Mysql数据库基础知识

    什么是Mysql数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQ ...

  5. MySQL数据库基础知识复习

    现在是2020年寒假,这也是新年写的第一篇博客,用了十几天的时间自学了数据库基础部分,想总结一下得失同时并通过写博客来复习前面学的知识点. 个人: 1.本来是计划一周学完基础部分的178p但没能完成这 ...

  6. mysql数据库基础知识和认识

    mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  7. python week09 Mysql 数据库基础知识

    第一篇:初识数据库 注:<基础概念,不再赘述,点开链接查看> 第二篇:库相关操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些 ...

  8. [mysql]数据库基础知识

    数据库管理系统DBMS 软件 bin config db (保存数据) 写程序: 数据库在本地 找到目录 添加数据 数据库在远程 socket连接上远程机器 socket发送命令 需要做的事情 程序 ...

  9. Mysql数据库基础知识(全)

    前言:本博文为个人笔记,记录了Mysql的一些基本操作,一般掌握本博文就可以了解数据库.表.数据项的增删改查,希望对大家的学习有所帮助. 首先下载PHPSTUDY,将Mysql配置为系统变量. 具体操 ...

  10. Mysql之基础知识笔记

    Mysql数据库基础知识个人笔记 连接本地数据库: mysql -h localhost -u root -p 回车输入数据库密码 数据库的基础操作: 查看当前所有的数据库:show database ...

随机推荐

  1. [转]Visual C++ RunTime的特征——非烫即屯

    Visual C++ RunTime的特征——非烫即屯 大一刚学C语言,第二次上机课,当我发现我照着书抄写的程序在运行之外的黑框里面跳出一排“烫烫烫烫烫”,当时就震惊了.你们能想象一个来自小城, 在大 ...

  2. 016-sed

    行处理:一次处理一行.正则选定文本 ----->>sed处理格式:一.命令行格式:sed [options] 'command' files(如果没有则是通过管道)1.options: - ...

  3. AVPlayerLayer

    AVPlayerLayer 最后一个图层类型是AVPlayerLayer.尽管它不是Core Animation框架的一部分(AV前缀看上去像),AVPlayerLayer是有别的框架(AVFound ...

  4. RocketMQ事务消费和顺序消费详解

    一.RocketMq有3中消息类型 1.普通消费 2. 顺序消费 3.事务消费 顺序消费场景 在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一.创建订单 ,第二:订单付款,第三:订单完成. ...

  5. kafka-python的API简单介绍

    在上一篇文章中说明了kafka-python的API使用的理论概念,这篇文章来说明API的实际使用. 在官方文档详细列出了kafka-python的API接口https://kafka-python. ...

  6. bzoj1647 / P1985 [USACO07OPEN]翻转棋

    P1985 [USACO07OPEN]翻转棋 其实我们只要枚举第一行的状态,后面的所有状态都是可以唯一确定的. 用二进制枚举灰常方便 #include<iostream> #include ...

  7. Linux下Tomcat同时部署两个工程然而只有一个能访问问题

    Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...

  8. ”MySQL索引“学习总结

    序 learn by doing 是最快的学习方式.在百度外卖研发中心,我每天工作接触数据库方面最多的就是"索引",另外面试官在面试时也一定会考察到索引. Part 1, Expl ...

  9. 九数组分数|2015年蓝桥杯B组题解析第五题-fishers

    九数组分数 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码. #include <stdio.h> void t ...

  10. LightOJ - 1247 Matrix Game (Nim博弈)题解

    题意: 给一个矩阵,每一次一个玩家可以从任意一行中选任意数量的格子并从中拿石头(但最后总数要大于等于1),问你谁赢 思路: 一开始以为只能一行拿一个... 将每一行石子数相加就转化为经典的Nim博弈 ...