版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基础知识数据库什么是数据库
数据库是一个存储数据的仓库,并提供检索、更新、删除数据等操作。数据库的定义
数据库系统和操作系统在计算机系统中属于基础软件平台数据库所处位置
在互联网大数据人工智能时代,对数据的控制、甄别与管理则体现出一个国家的信息化程度数据库的重要地位出现于上世纪60年代数据库的基本概念数据是事物的符号记录,数据的类型多种多样,比如:数字、字符、图像、声音等数据大学生档案记录姓名性别大学学历…小袁男华南理工大学本科生…小袁是华南理工大学的本科生数据解释是数据意义的描述,也称为数据的语义数据库的基本概念数据库,存储并管理着数据,并提供供检索、更新、删除数据等操作。数据库实体数据库是“数据”和“库”概念的组合即能够有效存储数据的“仓库”技术研究对数据的存储、索引和维护两个方面的理解数据库的基本概念数据库管理系统是管理数据库的软件。位于应用的下层,操作系统的上层数据库管理系统(DBMS)数据库管理系统DBMS通过接口执行各种操作,如创建数据库、在数据库中创建表、查询数据、更新数据等DBMS为数据库提供保护和安全,保证多用户条件下的数据一致性数据库的基本概念定义函数提供数据定义语言,允许定义数据库中的数据对象数据操作数据安全与事务管理提供数据操作语言,实现权限内的数据库的基本操作保证数据的安全与完整DBMS的主要功能数据库的基本概念数据库系统数据库系统是数据库涉及的软件与硬件以及其他组成。据库系统的重要组成软件数据库开发与管理人员、最终用户数据库本身硬件人员计算机系统底层的各种物理设备操作系统、数据库管理系统、上层应用程序数据库系统主要组件数据库的基本概念数据库系统的分类数据库系统管理员视角内系统外系统用户视角C/S结构B/S结构采用模式、内部模式和外部模式集中式、分布式和并行式数据模型数据模型
数据模型是数据特征的抽象,在构建数据模型的过程中,需要经历现实世界、信息世界和机器世界,以及两个层次的抽象和转化。数据转化过程数据模型数据库模型三大元素数据结构数据操作
数据完整性约束包括是增删查改等对数据的操作,数据操作需要符合数据定义和规则用于保证数据完整性的一组规则,用于保证数据的正确性、有效性和兼容性数据逻辑层的组织结构,反应了数据本身的内容逻辑上的存在的联系数据模型数据库模型的分类数据库模型层次模型网状模型关系模型面向对象模型按照数据模型划分为层次模型、网状模型、关系模型和面向对象模型。使用树结构来表示实体之间的关系表示具有网格结构的实体之间的关系使用二维表结构来表示实体本身及其关系将实体表示为类,类描述对象属性和实体行为数据库语言数据库语言
结构化查询语言SQL是关系数据库系统的标准语言,是美国国家标准协会所提出的标准。数据库语言的分类用于定义数据库对象的语句,包括对象的创建与删除、对象的结构更改等数据定义语言1是SQL语言中用于添加、修改和删除数据的语句,需要事务提交数据操作语言2以语言的方式提供数据查询功能,保证了数据库的功能的灵活和自定义性数据查询语言3数据库用于灵活控制数据库对象访问的语句数据控制语言4数据库用于控制数据库事务的语句,以确保数据库中的事务完整性事务处理语言5关系数据库关系数据库数据结构
关系结构本质上是一种数据结构,具体是域上笛卡尔积的一个子集,在离散数学中,这样的子集成为域上的一个关系。
关系数据库关系R的约束1有限性、原子性、属性列无序性基本语义限制同一关系内数据关联和不同关系数据关联”超级键“、”候选键“,”主键““外键”机制实现不同关系数据之间的数据关联数据关联描述2关系数据库数据操作
关系数据库的特征是利用数学方法处理其中的数据,关系数据操作都有相应的数据运算作为支撑,其他数据模型(如对象模型等)所不具备的。1基于关系代数基于关系演算2基于关系代数与关系演算(SQL)3关系数据库数据完整性约束
数据语义描述与处理是数据管理的基本特征,从逻辑角度考虑,需要对数据对应实体集的范围外延和数据间关系加以约束,而关系数据完整性约束就是处理数据语义的基本途径之一。1实体完整性参照完整性2用户定义完整性3关系数据库标准语言SQLSQL是Boyce和Chamberlin在1974年提出的标准化查询语言,并在IBM开发的关系数据库管理系统的原型上实现。SQL已经发展成为一种广泛使用的关系数据库标准语言,几乎所有的关系数据库都支持它。只要告诉系统“做什么”,具体实现完全对用户透明非过程操作1每次处理对象是“元组”的集合即关系表,同时输出结果也是关系表面向集合处理2以一种统一的语法结构提供多种应用方式多样使用方式3各类SQL语言类似于自然英语表达,简洁易懂语言简洁易学4SQL具有完全数据库几乎所有功能的综合统一机制高度综合统一5数据库的基本概念标准语言SQLSQL中动词关键词基本功能对应动词模式定义CREATE,DROP,ALTER数据查询SELECT数据操作INSERT,DELETE,UPDATE数据控制GRANT,REVOKE关系数据库关系模式设计
关系模式是指对关系的描述,关系数据模型的设计实际上就是关系数据库的逻辑设计。函数依赖平凡与非平凡函数依赖部分与完全函数依赖传递与直接函数依赖
如果X→Y,且X中的任意真子集X’都有Y函数不属于X’,则Y完全依赖于X
关系数据库关系模式范式
范式是符合某一种级别的关系模式的集合,某一关系模式R为第n范式,可记为R∈nNF。数据库表的每一列都是不可分割的基本数据项,即实体中的某个属性不能有多个值或者不能有重复的属性。第一范式是关系模式的最基本要求第一范式—1NF要求属性完全依赖于主键,不能存在仅依赖主关键字一部分的属性第二范式—2NF要求每一个非主属性既不部分依赖于码也不传递依赖于码第三范式—3NF关系数据库关系数据库保护
数据完整性分为实体的完整性、引用完整性和用户自定义完整性。由基本表创建语句CREATETABLE中的主键定义。实体完整性用CREATETABLE中的外键短语定义外键用REFERENCES短语指示这些外键引用了哪些表的主键引用完整性(参照完整性)分为属性约束和元组约束用户自定义完整性关系数据库
关系数据库事务管理事务是不可分割的工作单元,对应上层应用的一个业务处理。原子性(Atomicity)A一致性(Consistency)C隔离性(Isolation)I持久性(Durability)D一个事务中的所有操作,要么全部完成,要么全部不完成在事务开始之前和事务结束以后,数据库的完整性没有被破坏数据库允许多个并发事务同时对其数据进行读写和修改的能力事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失非关系型数据库NoSQL泛指非关系型的数据库,它包含支持SQL在内多种语言的数据库。需要更灵活的IT系统数据模型比较简单对数据库性能要求高不需要高数据一致性需要映射复杂值使用NoSQL非关系型数据库NoSQL类别键值数据库、宽列存储/列族数据库、文档数据库和图形数据库。分类优点缺点适用场景键值存储数据库扩展性好、查找速度快等无法存储结构化信息、条件查询效率较低储存用户信息,比如会话、配置文件、购物车等列存储数据库查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限分布式的文件系统文档型数据库性能好,灵活性高,复杂性低,数据结构灵活缺乏统一的查询语法Web应用图数据库直观地表达关联关系,高效的插入大量数据以及查询关联数据等不适合分布式的集群社交网络,推荐系统等非关系型数据库CAP理论CAP理论是一致性、可用性和分区容忍度。一致性(Consistency)所有读操作对同一数据区域读取到的值应该是一致的可用性(Availability)发出的请求必须能在最短时间得到响应分区容忍性(Partitiontolerance)所有读操作对同一数据区域读取到的值应该是一致的非关系型数据库CAP理论
不能同时满足一致性、可用性和分区容忍度三个要求,而只能同时满足其中两个。CA把事务控制放到一个节点,避免网络延时与节点分区问题;CPAP存在扩展性差的问题,如SQLServer和MySQL,扩展性差。当出现网络分区的情况时,受影响的服务需要等待数据一致,因此在等待期间就无法对外提供服务。允许系统返回不一致的数据使用网络分区。Thanks
发展史数据库华南理工大学人工管理与文件管理数据文件系统ENIAC——世界上第一台通用计算机处理的数据量较小,数据的筛选和处理,由用户直接管理1946年
新的数据处理系统将计算机中的数据组织成独立的数据文件,系统将记录存储在文件中,并可以修改、插入和删除文件。上世纪五六十年代优势使用磁鼓、磁盘等存储设备,数据保存时间长劣势以程序为导向,数据共享性,独立性、冗余性较差数据库技术应运而生数据库的发展史三个阶段第一代数据库第二代数据库第三代数据库上世纪60年代上世纪70年代分层数据库网格数据库1960s
被用于存储阿波罗登月计划中繁琐复杂的数据基于文件系统,用户使用时需对数据的物理结构有详细理解DBTG报告,确定并建立网格数据库系统的许多概念、方法和技术关系数据库结构简单、使用方便《大型共享数据库的数据关系模型》IBM研究员Codd“关系数据库之父”典型代表:DB2、Ingres、Oracle和Sybase结合面向对象技术、时间序列和人工智能等现代信息和数据处理技术NoSQL非关系型数据库传统数据库(关系型数据库)发展历史关系数据模型非过程化的关系数据语言SEQUEL首个商业化数据库系统SQL/DS首个SQL标准SQL-86ISO采用SQL-86SQL-92SQL-991970年1974年1982年1986年1987年1999年1992年新型数据库发展历史键值数据库21世纪初,关系型数据库的存储和访问性能在应对互联网的高速发展与海量数据时显现不足,难以满足指数增长的数据规模和适应复杂多变的用户需求。2003年,Memcached,是一个键值存储结构,支持高性能,高并发的开源分布式内存缓存系统。
使用键值存储的数据模型相对关系模型更加简单,更适合要求性能高、计算简单的场景Redis、Memcached以及Aerospike代表数据库键值对(Key-Value)结构新型数据库发展历史面向文档数据库MongoDB、CouchDB、RavenDB代表数据库文档(Document)结构
文档是文档数据库处理信息的基本单位,它可以一条很长、无结构的信息,相当于关系数据库的一条记录,但又没有关系数据的严格约束。将存储对象的所有信息集中到单一实例采用了半结构化模型,在数据和模式中不做分离使用XML、JSON或者JSONB等多种形式存储新型数据库发展历史列存储数据库Cassandra、Hbase、Druid代表数据库列存储(WideColum)结构列式存储节约空间、减少IO可依靠列式数据结构做计算上的优化适应快速变化的数据模型列式存储VS行式存储新型数据库发展历史图数据库Neo4j(2007)、OrientDB、JanusGraph代表数据库学者知识图(Graph)结构属性图(PropertyGraph)资源描述框架(RDF)超图(HyperGraph)
以图论为理论基础,使用图模型将关联数据的实体作为顶点存储,关系作为边存储,解决了数据复杂关联带来的严重随机访问问题。图模型Thanks
国外数据库数据库华南理工大学国外数据库总览国外数据库数据库类型IMSIBM公司、商用层次数据库IBMDb2IBM公司、商用关系数据库OracleOracle公司、商用关系数据库MySQLOracle公司、开源关系数据库MicrosoftSQLServer微软公司、商用关系数据库MongoDB开源文档数据库Redis开源内存数据库PostgreSQL开源关系数据库SQLite开源小型数据库IBM、Oracle、微软等巨头率先进行了数据库技术的研究,并抢占了以传统关系数据库为主的传统市场。IMS与IBMDb2IBM公司使用层次模型开发信息管理系统IMS,用于帮助美国国家宇航局管理宏大的“阿波罗登月计划”的资料。20世纪60年代末20世纪70年代初IBM为特定平台所开发的数据管理系统Db21990年IBM为开发通用数据库Db2内存技术、高级管理和开发工具、存储优化、工作负载管理、可行压缩和连续数据可用性Db2数据库新增AI支持、混合多云部署等功能
当前,《财富》1000强企业中的95%以上每天都使用IMS处理超过500亿笔交易,并管理15,000,000GB的关键业务数据。云计算时代OracleOracle关系型数据库由美国甲骨文公司研发与经营,Oracle是目前最广泛使用的数据库系统,支持63种不同语言。高可用性高可扩展性高数据安全性高稳定性1979年,推出了可用于PDP-11计算机上的商用数据库产品Oracle2019年,Oracle19c行级锁、分布式事务处理能力、增强的管理功能、支持面向对象的开发及新的多媒体应用、信息生命周期管理、网格等功能+MySQL1995年,瑞典的MySQLAB公司发布了MySQL2008年MySQLAB被sun公司收购2009年,甲骨文公司(Oracle)正式收购Sun公司MySQL成为了甲骨文公司旗下的产品支持Windows、Linux、MacOS、Solaris等多种主流操作系统为多种编程语言提供了编程接口多平台、多语言兼容1对开发与运维友好2灾难恢复性好支持数据库事务支持夯机所支持外键关联支持热备份支持多线程和多用户支持多种数据库连接接口多个可选用的存储引擎MongoDB2007年开始开发,2009年首度推出支持Windows、Linux、MacOS、Solaris等多种主流操作系统为多种编程语言提供了编程接口多平台、多语言兼容1支持多种数据类型乃至复合的数据类型支持bjson格式2面向集合存储支持复制和数据恢复模式自由支持强大的聚合工具高效的二进制数据存储自动处理分片2020年7月MongoDB4.4RedisBSD许可开源将内存中的数据拷贝保存到磁盘,在意外崩溃后的重启时将磁盘备份的数据重新加载到内存支持数据持久化1利用内存的性能优势和索引结构的简化,显著提升访问性能访问性能高2存储结构为键值全称RemoteDictionaryServerPostgreSQL
号称世界上最先进的开源关系型数据库提供了很多可编程接口,比如C/C++、Python、Java、Ruby、Perl可编程性1除了基本数据类型之外,PostgreSQL还可以自定义数据类型用户自定义类型2从加州大学伯克利分校写的POSTGRES软件包发展而来的1995年加入SQL特性的支持,改名为PostgreSQL多版本并发控制复制系统丰富的索引类型丰富的开发接口和语言支持丰富的数据类型跨平台性SQLite
2000年8月,查理德希普设计开发SQLite有效减少数据库访问延迟,避免了跨进程通信的开销允许被动态链接1打包整个数据库为一个整体文件,包含定义、表、索引以及数据本身跨平台迁移便利2嵌入型的小型数据库,十分轻量,大小小于500KB具有基本的事务性SQLite的本质是一个C语言库,实现了一个小型、快速、独立、高度可靠、功能齐全的SQL数据库引擎。
当设备存储在本地,并发性低,数据量低于TB时,SQLite是最佳选择,因为它快速可靠,开箱即用,不需要安装和配置。Thanks
国产数据库数据库华南理工大学国产数据库总览2008年,阿里云提出"去IOE(摆脱IBM小型机、Oracle数据库及EMC存储设备依赖)国产数据库数据库类型TiDBPingCAP公司、开源分布式关系型数据库DM8达梦公司、关系型数据库OceanBase阿里云、关系型数据库PolarDB阿里云、关系型云数据库Gbase南大通用公司、关系型数据库GaussDB华为公司、关系型数据库2012年我国数据库软件市场规模为53.15亿,2018年增长至139.25亿TiDB开源的SQL数据库北京PingCAP公司自行研发面向分布式环境的关系型数据库通过添加新节点扩展了SQL处理和存储基础设施容量规划更容易、更经济水平伸缩性TiDB就像是一个MySQL5.7服务器,可以继续使用所有现有的MySQL客户端库MySQL兼容语法21将表分割成基于范围的小块,在内部使用两阶段提交以确保以事务一致性强一致性的分布式事务SQL处理和SQL存储扩展独立,对云环境友好原生云43同时支持事务处理(OLTP)和分析处理(OLAP)工作负载最小化ETL使用Raft共识算法来确保信息数据的可用性使用Raft共识算法来确保信息数据的可用性高可用性65数据汇聚TiDB金融行业高并发的OLTPTexthereH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年济南现代工程学院高职单招职业技能考试题库及完整答案详解一套
- 2024年湖南张家界武陵源职业学院高职单招职业技能考试题库附完整答案详解(易错题)
- 2027年额尔齐斯河职业学院单招职业技能考试题库审定版附答案详解
- 金属加工企业车工检修维修安全操作规程
- 2026年国家公务员考试行测真题及答案
- 考试宝典中医内科题库及答案
- 废轮胎回收再利用项目环境影响报告书
- 双液注浆质量管控手册
- 全钒液流独立共享储能项目经济效益和社会效益分析报告
- 尿素项目经济效益和社会效益分析报告
- 2025年执业医师考试(临床执业医师)试题及答案
- 医学静脉疗法考试试卷集
- 道路勘测设计说课课件
- T-CAWABJ 002-2025 疗愈犬服务标准
- DB13-T2342-2016-商业物业管理服务规范-河北省
- 行业标准立项答辩
- DBJ45 024-2016 岩溶地区建筑地基基础技术规范
- 第十三届全国黄金行业职业技能竞赛(首饰设计师赛项)考试题库(含答案)
- 城市道路养护与管理北京城市道路养护管理中心
- GB/T 24820-2024实验室家具通用技术条件
- 精神病学智慧树知到期末考试答案章节答案2024年齐鲁医药学院
评论
0/150
提交评论