数据库(database、db)指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。
关系型数据库:它是将数据以关联关系或者二维表的形式存储的数据库。如 oracle、mysql、db2、sql server等;
关系:一张二维表,每个关系都具有一个关系明,也就是表名。
属性:二维表内列,也称为字段,是有一定范围
元祖:二维表内行,也成为数据或记录
关联关系:表和表之间的引用,比如订单表,用户表,商品表之间的关系
优点:1.容易理解
2.使用方便:sql语言
3.易于维护
缺点:1. 遇到高并发情况,硬盘I/O成为最大瓶颈
- 进行横向扩展的时候,遇到大数据时,需要进行数据迁移或者停机维护等。
3. ACID,https://baike.baidu.com/item/acid/10738?fr=aladdin
非关系型数据库:一般是以键值对(Key-Value)方式存储数据的数据库。如 redis、hadoop(hbase)、MongoDB 等
例:{key1:value1,key2:value2....}
{id:1,username:”张三”}
非关系数据库,非关系型,分布式的,并且不保证遵循ACID原则,且结构不固定。
优点:空间利用率较好,用户可以根据需求任意添加字段
适用于SNS(social networking service)比如,fb,微博
缺点:处理简单数据结构,文字,图片,视频。
非关系数据库的分类:
面向高性能并发的key-value数据库
面向海量数据访问文档的数据库
面向搜索内容的搜索引擎
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用的访问oracle的工具有SQL*Plus,EM,SQL Developer,PL Sql/developer,TOAD等。
SQL分类
DDL(Data Definition Language):数据定义语言,用来定义表、列等;
如:创建数据表...
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
如:添加数据,修改数据,删除数据
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
如:查询数据
DTL (Data Transaction Language):数据事务语言,用来操作事务。
如:开启事务,提交事务
DCL (Data Control Language):数据控制语言。用来操作用户和权限
如:创建用户,授权。