在开发一个web网站时发现自己在数据库方面有很多不足,故而进行一些补救,从最基础的开始,了解相关概念,之后以MySQL为主,学习SQL语句,之后会系统的再补习一遍数据库系统概论并记录学习过程。

一点警示:如果你是计算机专业,正好在学诸如数据库系统概论,操作系统,数据结构与算法之类的课程,那么很诚恳的建议你,不管它有多枯燥,能务必认真的学习。血的教训。

数据库离不开流

Java中使用 ObjectOutputStream 将 java对象(张三,20…) 序列化到文件中

而数据库通过SQL语句反序列化将对象返回

数据库分类

当今的互联网中,通常把数据库分为两类,即关系型数据库非关系型数据库

关系型数据库:

  1. 采用了关系模型来组织数据,而关系模型是由二维表及其联系组成的数据组织。
  2. 优点:
    1. 易于维护:都是使用表结构,格式一致;
    2. 使用方便:SQL语言通用,可用于复杂查询;
    3. 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
  3. 缺点:
    1. 读写性能比较差,尤其是海量数据的高效率读写
    2. 固定的表结构,灵活度稍欠
    3. 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

常见的关系型数据库有:

  • MySQL

    目前使用最广泛的开源、多平台的关系型数据库,支持事务、符合ACID、支持多数SQL规范

  • Oracle

    支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,功能最强大、最复杂、市场占比最高的商业数据库,使用价格昂贵

  • DB2

    适用于大量数据

  • SqlServer

    支持事务、符合ACID、支持多数SQL规范,属于商业软件,需要注意版权和licence授权费用

非关系型数据库

  • 非关系型数据库也称为NOSQL(Not Only SQL),作为关系型数据库的一个补充,能在特定场景和特点问题下发挥高效率和高性能

  • 常见的非关系型数据库类型有键值(Key-Value)存储数据库面向文档数据库(Document-oriented)

常见的非关系型数据库有:

  • Redis

    开源、Linux平台、key-value键值型Nosql数据库,简单稳定,非常主流的、全数据in-momory、定位于“快”的键值型nosql数据库

  • Memcaced

    一个开源的、高性能的、具有分布式内存对象的缓存系统,通过它可以减轻数据库负载,加速动态的web应用

    面向文档数据库以文档的形式存储,每个文档是一系列数据项的集合,每个数据项有名称与对应的值,主要产品有

  • MongoDB

    开源、多平台、文档型nosql数据库,“最像关系型数据库”,定位于“灵活”的nosql数据库。适用于网站后台数据库(更新快、实时复制)、小文件系统(json,二进制)、日志分析系统(数据量大的文件)

数据库的相关概念

DB–database–数据库

DBMS–database management system --数据库管理系统

  • 基于共享文件系统的数据库管理系统

    ​ Assess

  • 基于C/S架构的数据库管理系统

    MySQL,Oracle,SqlServer

SQL–structure query language–结构化查询语言

  • SQL 可以做数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
  • SQL 在1986年成为 ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在 1987 年成为国际标准化组织(ISO)标准。
  • 仍然存在着多种不同版本的 SQL 语言,但为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令

数据库存储数据的特点

  1. 将数据放在表里,再将表放进库里
  2. 一个数据库可以有多张表,每个表名具有唯一性
  3. 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中类的设计
  4. 表由列组成,我么也称为字段,所有表都是由一个或多个列组成的,每一类类似Java类中的属性
  5. 表中数据按行存储,每一行类似于java中的一个对象

常见数据库分类及其特点相关推荐

  1. 数据库分类和负载均衡方案

    最近我在研究数据库方面的知识,包括数据库发展历史.分类.使用场景.大数据时代的数据库等等.网上收集了很多资料,整理出来,供感兴趣的同学参考. 一.数据库发展史和数据库分类 为啥我会把发展史和分类放在一 ...

  2. 图数据库的类别有哪些?解读:图数据库分类与原理

    图数据库作为新兴NoSQL数据库的代表,可以分为四种类型.图数据库应用广泛,无论是互联网行业还是传统的金融.地产.医疗等行业,都可以通过图数据库的应用进一步提升企业效率.数易轩致力于图数据库技术服务, ...

  3. 超全的数据库分类介绍

    〓数据库的分类〓 数据库通常分为层次式数据库.网络式数据库和关系式数据库三种.而不同的数据库是按不同的数据结构来联系和组织的. 而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系 ...

  4. 支持常见数据库差异对照说明

    支持常见数据库差异对照说明 类 项 Oracle SQLServer 2005(+) MYSQL 4.x OSCAR DB2 服务 JDBC端口 1521 1433(需要补丁) 3306 2003 字 ...

  5. 深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升?...

    来源:知乎 原文链接:深度学习系统相比较传统的机器学习系统,针对常见的分类问题,精度究竟能有多大提升? 问题: 我现在手头有一个binary classification的问题.数据量在一百万左右.每 ...

  6. java中常见数据库字段类型与java.sql.Types的对应

    转自:http://blog.csdn.net/hbzyaxiu520/article/details/5457225 常见数据库字段类型与java.sql.Types的对应 Oracle与java. ...

  7. 数据库分类与四大类NoSQL数据库

    0. 数据库分类 关系型数据库:Oracle.MySQL 非关系型数据库(NoSQL) Key-Value: 内存KV:Redis,Memcached 持久化KV:Redis,LevelDB Colu ...

  8. GC—MS常见数据库有哪些,NIST和AMDIS有什么作用?

    GC-MS常见数据库有哪些,NIST和AMDIS有什么作用? (1)提出问题 GC-MS常见数据库有哪些,特点是什么?NIST和AMDIS有什么作用? (2)GC-MS常见数据库介绍 谱库检索是定性分 ...

  9. 常见电机分类和驱动原理动画

    常见电机分类和驱动原理动画 文章目录 常见电机分类和驱动原理动画 基本分类 直流有刷电机 直流无刷电机(BLDC) 步进电机(Stepper motor) 舵机(steering engine) 伺服 ...

最新文章

  1. 运维利器:钉钉机器人脚本告警(Linux Shell 篇)
  2. 【android-tips】android xml布局总结篇
  3. python log文件如何不写入syslog_Centos下python 对syslog重写进行日志记录
  4. github 和git_Google编码文档:Git和GitHub
  5. Android:Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
  6. 谷歌的下一个×××烦
  7. 【POJ 2482】【扫描线问题】Stars in Your Window【包星星问题】
  8. 图像处理——alpha融合
  9. “拼多多”的假面人生
  10. Word2007版首页页眉如何去掉?
  11. maven依赖查询网站
  12. notejs 视频教程 智能社
  13. cadence 软件导出ad 文件出错
  14. 马踏棋盘问题(C++版)
  15. matplotlib.pyplot——cmap直观理解
  16. ahk捕捉连续按esc键
  17. ETH持续暴雷!历史是如此的相似
  18. ROS2—服务(Service)
  19. 服务器之间的文件传输
  20. 什么是IDC ,可以用来做什么

热门文章

  1. RoCE、iWARP、IB和TCP等网络的基本知识及差异对比
  2. ResNet和ResNeXt
  3. 详述 SQL 中的 distinct 和 row_number() over() 的区别及用法
  4. 零碎学习之-slam
  5. 在td标签中文字超出显示省略号,鼠标悬停显示所有文本
  6. VUE2.0 学习(一)HTML单页面使用vue技术
  7. Lua中 pairs 和 ipairs 的区别
  8. Elliptic Labs与小米联手,向印度市场推出红米 11SE智能手机
  9. 高校毕业生网上报到系统计算机水平,毕业生报到证网上报到流程
  10. 如何使用Babel实现polyfill