数据库技术
1.什么是数据库
数据库是指长期存储在计算机内有组织可共享的数据集合。数据库总的数据按照一定的数据模型组织、描述和存贮,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定范围内可以被多个用户所共享。
层次模型
网状模型
关系模型
关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数概念和方法处理数据库中的数据,同时也是一个被组织成拥有正式描述性的表格。该形式的表格实质是装载数据项的收集体,这些表格中的数据能以不同的方式被存取或重新召集而不需要更新组织数据库表格。主流RDBMS有Oracle、DB2、SQL Server、Sybase、MySQL等。
2.什么是DBMS
数据库管理系统Database Management System,简称DBMS是位于用户与操作系统之间的一层数据管理软件。
DBMS的用途
科学地组织和存储数据、高效地获取和维护数据
3.数据库特点
数据尽可能不重复,以最优方式为多种应用服务;
数据结构独立于应用;
对数据的CRUD由统一软件进行管理和控制。
4.RDBMS的特点
数据以表格的形式出现-表在数学中被表示为关系
每行为各种记录名称
每列为记录名称所对应的数据域
许多的行和列组成一张表单
若干的表单组成database
关系模型的优缺点
建立在严格的数学概念的基础上
概念单一。数据结构简单、清晰,用户易懂易用;
实体和各类联系都用关系来表示;
对数据的检索结果也是关系。
关系模型的存取路径对用户透明
具有更高的数据独立性,更好的安全保密性;
简化了程序员的工作和数据库开发建立的工作
缺点:
存取路径对用户透明导致查询效率往往不如非关系数据模型;
为提高性能,必须对用户的查询请求进行优化。增加了开发数据库管理系统的难度。
5.SQL
SQL结构化查询语言是一种数据库操作的非过程化编程语言,用于存取数据以及查询、更新和管理关系型数据系统,一般数据库脚本文件的扩展名也是.sql。
允许用户在高层数据结构上工作,不要求用户了解数据的存放方式,对于不同底层结构的数据库系统使用相同的数据输入与管理的接口。
一个SQL类型的数据库对于使用者是便于理解和组织结构的,通过数据元与数据元之间的关系可以整理出对系统的数据处理逻辑,并且可以进行人为精简数据,达到最优或者较优解。
SQL的特点
综合统一、高度非过程化;
面向集合的操作方式;
以同一种语法结构提供两种使用方法;即可以直接以命令方式交互使用;也可以嵌入主语言中使用;
语言简洁,易学易用;在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。
6.NoSQL
NoSQL泛指非关系型数据库。主要是针对超大规模和高并发的SNS类型动态网站的解决方案(Web2.0)。
常见的NoSQL数据库类型有4种:
key-value数据库。使用hash表存储数据,例如Redis。简单易部署,但是对部分值进行查询或更新时效率低下;
列存储数据库,用于应对分布式存储的海量数据,键仍旧存在,只是指向了多个列,例如HBase;
文档型数据库,该类型的数据模型是版本化的文档,半结构化的文档以JSON格式存储,例如MongoDB;
图形数据库,主要用户关系计算Neo4j;
NoSQL的适用场景:
数据模型比较简单。
需要灵活性很强的IT系统。
对数据库性能要求较高。
不需要数据高度的一致性。
对于给定的key比较容易映射复杂值的环境。