数据库基础从零开始(1)

数据库概论:

数据库是指长期存储在计算机内有组织可共享的数据集合。数据库中的数据以及数据之间的关系按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享

数据模型:

层次模型、网状模型、关系模型,据说下一代是对象模型

关系型数据库:

关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数的概念和方法处理数据库中的数据,同时也是一个被组织成具有描述的二维表格,表格的实质就是装载数据项的收集器,这些表格中的数据能以不同的方式被存取或者重新召集,而不需要更新组织数据库的表格。

目前常见RDBMS主要有:

Oracle:收费、运行稳定、性能优异、大型企业级应用开发首选

MySQL:免费、开源免费、体积小、速度快、适用于中小型企业应用开发

DB2:收费、速度快、可靠性好、适用于海量数据存储,主要用于在使用IBM组件时

SQLServer:主要在.net应用

Sybase:电信行业历史原因使用

注:这里主要教学MySQL

数据库特点:

数据库中的数据尽可能不重复,以最优化的方式为多种应用服务

数据结构独立于应用

对数据的CRUD由统一软件进行管理和控制DBMS

SQL:

SQL结构化查询语言是一种数据库操作的非过程式编程语言,用于存取数据以及查询、更新和管理关系型数据库系统,一般脚本文件后缀为.sql
经过ANSI和ISO标准化组织结构进行标准化,但是各个数据库管理系统都对标准SQL规范进行了编改和扩充,扩展部分各个数据库不通用,标准部分通用

SQL的特点: 

统合统一、高度非过程化


面向集合的操作方式


以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言


语法简单,其中只有94个英文单词,核心功能只有6个单词【insert update delete select】

 

NoDQL

NoSQL泛指非关系型数据库,主要用于针对超大规模和高并发社交SNS类型网站的解决方案

常见的NoSQL数据库有4种类型:

key-value数据库,使用hash表存储数据。例如Redis


列存储数据库,主要针对分布式的海量数据,例如HBase


文档型数据库,主要存储版本化的文档信息,例如MongoDB


图形化数据库,主要用于计算数据之间的关系,例如Neo4j

 NoSQL适用场景:

数据模型比较简单


需要灵活性很强的IT系统中


对数据库性能要求较高


不需要高度数据一致性

*SQL vs NoSQL:

复杂查询SQL数据库比较擅长


SQL数据库不适合分层次的数据存储,NoSQL可以很好的实现数据的分层次存储


对于要求数据严格一致性的应用中SQL非常使用,而且稳定,能够保证数据操作的原子性和一致性,而NoSQL对事务的处理能力有限,一般保证最终一致性

SQL厂商支持,而NoSQL是社区支持

性能对比中,NoSQL明显优于SQL数据库,一般NoSQL都充分的利用系统的内存资源

NoSQL数据库开发方便,不用考虑数据关系和格式

 下一章节进入MySQL数据库-------


版权声明:本文为m0_64838208原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。