引言:数据库时一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库组成
在数据中存在行与列
记录:行
字段(属性):列
以行+列的形式就组成了表(数据存储在表中)
关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享,具有最小冗余度和较高的数据独立性,它是统一管理的相关数据的集合。
表的集合,是存储数据的仓库,以一定的组织方式存储的相互有关的数据集合
**数据库管理系统(DatabaseManagementSystem,DBMS)**是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作

一些新的元素被添加进主流数据库系统中
==引申:==SQL + NoSQL组合使用(NoSQL非关系型数据库)
web——》redis ——》mysqlCPU——》缓存—》内存
相互关联的数据的集合
较少的数据冗余
程序与数据相互独立
保证数据的安全、可靠
最大限度地保证数据的正确性
数据可以并发使用并能同时保证一致性
数据定义—查询、更新
数据处理
数据安全
数据备份
单机架构
大型主机/终端架构
主从式架构(C/S)
分布式架构
关系统型数据库相关概念
关系Relational :关系就是二维表,其中:表中的行、列次序并不重要
行row:表中的每一行,又称为一条记录record
列column:表中的每一列,称为属性,字段,域field
主键Primary key:PK , 用于惟一确定一个记录的字段,一张表只有一个主键
域domain:属性的取值范围,如,性别只能是’男’和’女’两个值,人类的年龄只能0-150
关系模型可用简单的"实体-关系-属性"来表示
模型E-R
• 实体内部的联系:指组成实体的各属性之间的联系。
• 实体之间的联系:指不同实体之间联系。
• 实体之间的联系用菱形框表示

| 关系型数据库 | 应用举例 |
|---|---|
| Oracle, MySQL | 12306用户信息系统 |
| SQLServer、Sybase | 淘宝账号系统 |
| lnformix、access | 联通手机号信息系统 |
| DB2、FoxPRO | 银行用户账号系统 |
| PostgreSQL | 网站用户信息系统 |
MongoDB 、 Redis(内存数据库/缓存数据库)K-V键值对、与之类似的Memcache,K-V键值对
redis-memecache对比:
相同点:存储高热数据(在内存中高速运行)
不同点:redis可以做持久化保存,可以存储对象
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
关系型数据库
关系数据库结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息(完整信息),关系数据库写到哪里也就是存储在硬盘当中,读写系统就会受到的Io限制或者瓶颈
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
关系型数据
**优点:**易于维护:都是使用表结构,格式一致;
使用方便:sQL语言通用,可用于复杂查询;
复杂操作:支持sQL,可用于一个表以及多个表之间非常复杂的查询。
**缺点:**读写性能比较差,尤其是海量数据的高效率读写;
固定的表结构,灵活度稍欠;
高并发读写需求,传统关系型数据库来说,硬盘I/o是一个很大的瓶颈。
缓存加速软件 非关系型数据库(NoSQL): MongoDB 、 Redis(内存数据库/缓存数据库)K-V键值对、与之类似的Memcache,K-V键值对 redis-memecache对比: 相同点:存储高热数据(在内存中高速运行) 不同点:redis可以做持久化保存,可以存储对象
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
非关系型数据库
优点
格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,
使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
高扩展性;
成本低:nosql数据库部署简单,基本都是开源软件。
缺点
不提供sql支持,学习和使用成本较高;
无事务处理;
数据结构相对复杂,复杂查询方面稍欠;
好多数据写在内存中
MySQL网址:http://www.dev.mysql.com/downloads
MySQL是一款深受欢迎的开源关系型数据库,是Oracle旗下的产品遵守GPL协议,可以免费使用与修改
特点:
MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
MySQL社区版是由分散在世界各地的MySQL开发者.爱好者一起开发与维护,可以免费使用
区别
日志
数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分
mysql与oracle日志有所区别
mysq1写一条数据,同步到日志中一条
PS:insert into ky11 (id,name,score)values(1,zhangsan’,20);
oracle:重做日志组
一个组中至少3个日志成员,轮流存储日志
还会有另一个组与之同步/备份
阿里云0SS对象存储,一式三份备份(使用重做日志组思想)
对象存储:存储大都是一些静态文件,图片、音频、视频
不能直接在对象存储中修改数据
飞天平台,盘古系统(分布式),钟馗(安全),伏羲(分布式应用调度)女娲(选举/调度),盘古一式三份
神农(分布式监控)
mysql存储引擎
myisam和innodb
myisam:快速读取,不支持事务
innodb:更注重写,支持事务
本文主要讲述了数据库的基本概念、数据库系统发展史,当今主流的数据库以及关系数据库和非关系数据库的区别。