如何快速的了解某种数据库

   这段时间由于工作需要,接触了多种数据库。其中关系型数据库包括:Oracle、DB2、Informix、Teradata、Netezza、MySQL、MS SQLServer、Sybase、PostgreSQL、Greenplum、浪潮KDB、达梦数据库、华三MPP Data Engine、GBase、Hive等;NoSQL包括MongoDB、Redis、HBase、Cassandra等。那么,如何快速的了解或者学习某种数据库?大体可以通过数据库存储结构、数据库逻辑概念和对象结构以及字符集这四个方面快速了解或掌握。

1. 数据库存储结构
存储结构,从存储设备上划分,可以粗略的划分为两大类:持久性存储(如硬盘、SSD等)和临时性存储(如内存),对应这两类,数据库存储结构可以分为物理结构和内存结构。物理结构简单来说就是在持久性存储设备上可见的、物理存在的文件以及这些文件的用处和相互依存关系,内存结构指的是在内存中存在的数据结构以及这些结构的用处和关系。

如Oracle,物理结构包括控制文件、在线日志文件、数据文件、参数文件等;内存结构包括SGA、PGA等;

如Informix,物理结构包括数据文件、配置文件、物理日志文件等;内存结构包括共享内存端等;

如Sybase,物理结构包括设备文件、配置文件、日志文件等;内存结构包括过程缓冲区、数据缓冲区等。

2.数据库逻辑概念
数据库逻辑概念,是对物理结构的逻辑封装,通过增加一系列的概念,便于使用和管理数据库。

如Oracle,表空间Tablespace用于管理物理存储、Segment/Extend/Block用于管理数据存储、User作为容器可用于权限管理和数据库对象存储;

如Teradata,用户User用于数据的存储组织和权限管理、数据库DB在User下用于数据的划分和组织等;

如DB2,表空间Tablespace用于物理存储的管理、User用于权限管理、Schema作为数据库对象的存储容器、BufferPool用于缓存的管理等;

如Mongodb,数据库DB用于存储管理和数据组织、Collection类似数据表作为数据的存储管理;

如Redis,Key/Value键值对,Key可以是根据业务意义自定义的信息,Value可以为任意序列化后的二进制数据或者更高级的Set/List等结构。

3.数据库对象结构
数据库对象,指的是数据库Database、用户User、模式Schema、数据表Table、索引Index、约束Constraint、触发器Trigger、存储过程Procedure等对象。通过了解数据库对象结构,也就基本掌握如何通过DML操作数据库了。

如Oracle,在同一台主机上可以有N个数据库,每个数据库中可以有N个User(Schema),每个User下有N张表…,连接数据库后可通过Username.Tablename访问数据表。值得一提的是,在12.2+版本后,增加了所谓的ContainerDB,其实是在DB和User之间加了一层database,实现了类似SQLServer或者Sybase的对象结构;

如DB2,在同一台主机上可以有N个数据库,每个数据库中可以有N个User,每个User下有N个Schema,每个Schema下有N张表…,可通过Schemaname.Tablename访问数据表;

如MySQL,在同一台主机上可以有N个DB Server,每个Server可以有N个DB,每个DB有N个Table,数据表可通过以下方式进行访问:

   `database <dbname>select * from <tablename>`

如华三MPP Data Engine,数据库对象结构基本与MySQL类似;

如MongoDB,在同一台主机上可以有N个DB Server,每个Server可以有N个DB,每个DB有N个Collection,数据表可通过以下方式进行访问:

   `use <database>db.collectionname.find()`

4.数据库字符集
数据库字符集,在先前文章已有介绍,不再详述。

如Oracle,字符集有ZHS16GBK、AL32UTF8、WE8ISO8859P1等,其中ZHS(中文)/AL(所有)/WE(西欧)等表示语言,16/32/8表示字符存储使用字节数,最后一部分是实际的字符集。

如DB2 LUW,常用字符集有GBK、819(即ISO8859P1)、1208(即Unicode,使用UTF8编码)

如Sybase,常用字符集有EUCGB(即GB2312)、CP850、GB18030、ISO_1(即ISO8859P1)、Roman8(在HP-UX下的默认字符集)

如MySQL,常用字符集有Latin1(即ISO8859P1)、UTF8、GBK

如Teradata,常用字符集有Latin、Unicode(使用UTF16编码)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-2374926/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6906/viewspace-2374926/

如何快速的了解某种数据库相关推荐

  1. IM开发基础知识补课(三):快速理解服务端数据库读写分离原理及实践建议

    1.前言 IM应用从服务端数据的角度来看,它是一种很特殊的应用场景,抛开基础数据.增值业务和附属功能不谈,单从IM聊天工具的立身之本--聊天数据来说,理论上是不需要在服务端存储的(或者说只需要短暂存储 ...

  2. 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作

    这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在安装织梦系统的时候,有一次 ...

  3. CentOS7下使用yum快速安装配置oracle数据库

    2019独角兽企业重金招聘Python工程师标准>>> CentOS7下使用yum快速安装配置oracle数据库 2017年10月10日 15:29:23 aladdin_sun 阅 ...

  4. oracle静默创建实例linux,linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例

    linux CentOS7下快速静默安装Oracle11GR2数据库并创建实例 本文章适合已经熟悉安装过程,需要快速部署使用 初学者建议分步学习:https://edu.51cto.com/cours ...

  5. MySQ快速基础篇_MySQL数据库基础

    MySQ快速基础篇_MySQL数据库基础 文章目录 MySQ快速基础篇_MySQL数据库基础 MySQL数据库基础 学习目录 学习目标 一.数据库概述 1.数据库介绍 2.数据库分类 ☆ 关系型数据库 ...

  6. Go快速、并行的数据库测试 | Gopher Daily (2021.10.03) ʕ◔ϖ◔ʔ

    每日一谚:Gopher can use the same language for errors as everything else. Go技术生态 快速.并行的数据库测试 - https://ke ...

  7. 利用建站快速软件包:XAMPP,构建基于winodws平台快速搭建PHP的数据库应用- kimai - 团队时间记录

    前言: 用php编写的web应用程序,需运行在php的web容器中,其中apache server是一个针对php web容器,它是apache下的开源项目. 通常要运行一个web程序,我们还需要安装 ...

  8. 切换数据库_如何快速切换到其他数据库实例

    在一台机器上有多个实例,如何快速切换到其他实例呢 ? 以前,我们一般是通过export ORACLE_SID=newsid方式来完成,其实,我们安装了oracle数据库后,数据库已经帮我们创建 了一个 ...

  9. android sqlite 打包 xe,C++ Builder XE10快速开发关于sqlite数据库APP应用发布小结

    因为C++ Builder XE10资料一直较少,所以作为C++ Builder业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长! 本视频系列,主要是讲解C++ Builder XE1 ...

最新文章

  1. python process 函数_Python Process创建进程的2种方法详解
  2. Jamie and Tree[CF916E]
  3. Apollo自动驾驶入门课程第①讲—无人驾驶概览
  4. 使用MetaMask实现转账交易时附带Input Data数据
  5. 前端—每天5道面试题(十一)
  6. matlab绘制庞加莱截面_如何用mathematica或Matlab画弹性摆的庞加莱截面
  7. Wattagio for Mac(电池管理) 免激活版
  8. 中国电信联合多方加速推进OpenStack技术产业化 —— OSCAR即将发布“OpenStack技术应用场景”技术规范...
  9. 力学现象演示——圆周运动与弹簧弹力
  10. 网络口碑营销推广怎么能提高消费者的信任
  11. 【C】【吐血整理】你们要的C语言实例大全-综合应用篇
  12. 华为云各组件等缩写与全拼
  13. NHibernate Mapping Attribute实现复合主键映射
  14. android 仿QQ登陆界面实现
  15. Android 12源码单手模式
  16. MUR6060PT-ASEMI快恢复二极管MUR6060PT
  17. 计算机系统维护博客,关于Windows系统简单日常维护
  18. cad字体安装_免费的CAD字体去哪找?下载之后如何安装?1分钟教你搞定
  19. 帆软报表开发学习笔记(八)
  20. 鸿蒙OS应用开发之——页面间跳转

热门文章

  1. python自学难吗?零基础学python难吗?
  2. 车牌识别,车辆检测,车牌检测和识别,与车相关的点点滴滴
  3. 如何从微信中获取表情包
  4. 从微信小程序到抖音小程序:转换指南
  5. 传奇开服怎么开服?不会技术自己能开服吗?传奇开服需要准备什么?前期需要投入多少?
  6. 上海莉莉丝、米哈游、B站、小红书、得物等互联网公司前端面试总结
  7. 华米新一代智能可穿戴芯片2020年第四季度量产
  8. 腾讯会议的各种使用办法
  9. 程序员应该了解的计算机知识(一)——基础理论
  10. 证件照还用去照相馆别费钱了自己就能搞定