还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库基础Web本课程将深入探讨开发中的数据库应用包括数据库设计、查询优化、安全Web,性等关键主题通过实践和案例分析学习如何构建高效、可靠的数据库系,Web统课程简介基础知识数据库基础应用实战Web Web这门课程将涵盖开发的基础知识包我们将介绍不同类型的数据库系统如关系最后我们将把所学的知识应用到实际的Web,,括、和等基本技型数据库、数据库等并学习基本应用程序开发中涉及前端和后端的整HTML CSSJavaScript NoSQL,Web,能的数据建模和查询合SQL开发简史Web静态网页时代早期互联网时期网页内容主要为纯文本和简单的图像交互性很弱,,动态网页时代随后出现了基于服务器端脚本的动态网页技术如、和增强了网,ASP JSPPHP,页交互性时代Web
2.0年代、等客户端技术的发展带来了更丰富的用户体验2000,Ajax JavaScript移动互联网时代随着智能手机的普及网页需要适应移动端出现了响应式设计和移动应用等新,,技术什么是数据库Web在线存储和查询灵活的数据模型高可扩展性易于集成数据库是一种通过互联网数据库支持多种数据模型数据库能够轻松处理大规数据库可以与其他Web Web,Web Web Web访问和管理的数据库系统它如关系型、文档型、键值对等模数据和高并发访问具有强应用程序和服务无缝集成方,,,允许用户在任何地方通过浏览可根据应用需求灵活选择合适大的扩展能力满足不同规模便开发人员构建复杂的系,Web器远程存储和查询数据的数据模型应用的需求统数据库的优势Web灵活性强可扩展性强与传统数据库相比数据库数据库可以轻松应对海量,Web Web具有更高的灵活性能够更好地数据和高并发访问具备强大的,,适应业务需求的变化可扩展性成本效益高易于访问数据库部署、维护和运营数据库可以通过浏览器或Web Web成本较低能够为企业带来显著进行远程访问提高了数据,API,的成本优势的可访问性数据库的应用场景Web电子商务社交网络金融服务医疗健康在线商城和零售业广泛使用社交平台利用数据库存储银行、证券等金融行业使用医疗机构利用数据库记录Web Web数据库来管理产品信息、和管理用户资料、好友关系、数据库来处理交易记录、和管理患者病历、预约信息、Web Web订单、客户等数据动态消息等投资组合、客户信息等诊疗记录等常见的数据库类型Web关系型数据库文档型数据库基于表格的数据存储模型支持复杂查询和事务处理例如将数据存储为灵活的文档形式擅长处理半结构化数据例如,,,,、、、MySQL PostgreSQLOracle MongoDBCouchDB键值数据库列族数据库简单高效的存储适用于缓存和实时应用场景例如按列存储数据擅长处理大规模数据和高并发例如、key-value,,,,HBase、Redis MemcachedCassandra关系型数据库数据组织结构操作语言事务处理成熟技术关系型数据库以行和列的形式关系型数据库使用结构化查询关系型数据库支持原子关系型数据库技术发展成ACID组织数据遵循严格的数据模语言进行数据操作包性、一致性、隔离性、持久性熟、、,SQL,,Oracle MySQLSQL式每个表格都有固定的结构括增、删、改、查等功能事务特性确保数据的完整性等产品广泛应用于企,,Server包括表名、列名和数据类型语句简单易懂适合复杂和安全性业信息系统中SQL,查询和数据分析文档型数据库灵活的数据模型高性能和可扩展性强大的查询能力文档型数据库采用灵活的数据模型可以存文档型数据库通常能提供高吞吐量和低延迟文档型数据库提供了功能丰富的查询语言,,,储复杂的数据结构无需预先定义数据模式可以轻松地扩展到处理大量数据和高并发访可以进行复杂的数据搜索和聚合分析满足,,这使其能够更好地适应快速变化的业务需求问各种应用场景的需求键值数据库简单灵活分布式架构键值数据库采用简单明了的数据键值数据库天生支持分布式部署,结构,可以快速存储和检索数据可以在多个节点上存储和处理海它们在性能和扩展性方面都有出量数据这使它们能够提供高可众表现用性和高伸缩性广泛应用键值数据库广泛应用于缓存系统、实时数据处理、物联网数据管理等场景,是当今互联网时代不可或缺的数据存储技术列族数据库数据存储高可扩展性列族数据库采用稀疏矩阵的数据存储列族数据库能够通过水平扩展来应对方式可以高效存储大量无规则的结构海量数据和高并发的需求具有很强的,,化数据可扩展性高性能高灵活性列族数据库擅长处理大量结构化数据列族数据库的模式灵活可以应对不断,,读写操作的性能更优于传统关系型数变化的数据需求更适合处理复杂数据,据库图数据库非传统数据模型高性能关系查询12图数据库采用图结构存储数据图数据库擅长处理复杂的连接,使用节点、边、属性来展示实查询能快速找到实体之间的关,体之间复杂的关系系链广泛应用场景主要代表产品34图数据库适用于社交网络、知、、Neo4j JanusGraph识图谱、推荐系统等需要表达等是广泛使用的开ArangoDB复杂关系的场景源和商业图数据库时序数据库定义特点应用场景主流产品时序数据库是一种专门用于存时序数据库擅长处理来自时序数据库广泛应用于物联网、、IoT InfluxDBOpenTSDB储和管理时间序列数据的数据设备、传感器等源源不断的实监测、金融交易分析、网络性等都是知名的开Prometheus库系统它能高效地捕获、存时数据流它提供高性能的数能监控等领域用于分析历史源时序数据库企业级产品包,储和查询大量随时间变化的数据压缩和聚合功能趋势和预测未来走向括时序数据库服务、微AWS据软时序洞见等Azure数据建模概念设计1确定业务需求并提出概念模型逻辑设计2根据概念模型定义逻辑数据结构物理设计3将逻辑模型转换为可执行的数据库架构数据建模是构建高效、可扩展的数据库的关键步骤从高层概念到具体实现,数据建模包括三个主要阶段确定业务需求、设计逻辑模Web:型和最终实施物理数据库通过这一系列循序渐进的过程可以确保数据库结构与应用程序需求完全吻合,数据建模基本概念实体与属性关系与约束12实体是独立存在的对象属性则是描述实体特征的特点合实体之间存在的联系称为关系关系通常有多种类型需要合,,,理定义实体和属性是数据建模的基础理定义同时还需设置相应的约束条件抽象与概括视图与模型34在数据建模中需要抽象出核心实体和关键属性并以概括的视图是面向用户的数据表现形式模型则是更加抽象和概括,,,方式表达复杂的业务逻辑的数据结构设计两者紧密关联关系模型实体在关系模型中我们将现实世界中的对象抽象为实体如客户、订单、产品等,,属性每个实体都有一组属性描述其特征如客户的姓名、联系方式等,关系实体之间可以存在各种关系如客户和订单、订单和产品等,文档模型灵活的数据结构高效的查询能力良好的扩展性文档数据库不需要预先定义固定的模式可文档数据库支持灵活的查询语言可以针对文档数据库具有水平扩展能力轻松应对海,,,以存储半结构化和非结构化的数据更好地文档内部的嵌套结构进行精确查找和聚合分量数据和高并发访问的需求,适应不断变化的需求析图数据模型灵活性高查询性能优秀图数据模型可以建模复杂的数据基于图的查询可以快速遍历节点关系适用于社交网络、知识图谱和边之间的关系对于关系密集型,,等应用场景应用很有优势丰富的分析功能图数据库提供了社区发现、路径分析等丰富的分析功能可以挖掘数据背后,的隐藏关系基础SQLSELECT1从数据库中选择数据WHERE2筛选数据行JOIN3连接多个数据表聚合4对数据进行统计分析结构化查询语言是专门用于操作关系型数据库的编程语言它提供了强大的数据操作和管理功能包括语句用于选取数据、SQL,SELECT WHERE条件过滤数据行、连接多个数据表、聚合函数进行统计分析等语句是掌握数据库开发的基础JOIN SQLWeb语句SELECT基本语法列选择语句用于从数据库表中选择数据其基本语法为可以选择一个、多个或所有列使用通配符可以选择所有列SELECT*列名表名SELECT FROM条件筛选排序输出子句可以用于根据特定条件筛选数据行条件可以使用各子句用于对输出结果进行排序可以指定升序或降序WHERE ORDERBY,种比较运算符如、、等=条件WHERE过滤数据比较运算符12子句可以用来过滤数可以使用WHERE,,=,=,=,据仅返回满足指定条件的记录等比较运算符进行过滤,逻辑运算符模糊查询
34、和逻辑运算关键字可以使用通配符AND ORNOT LIKE符可以组合多个条件进行过滤进行模糊匹配如,%keyword%连接JOIN联表查询表关系设计执行机制SQL连接可以从多个数据表中获取所需的在数据库建模时需要根据业务需求合理设引擎在执行时会根据指定的连接JOIN,SQL JOIN,数据通过指定查询条件实现更加丰富和复计表结构建立表与表之间的关联关系为复条件将多个表的数据进行动态匹配和合并,,,,,杂的查询杂查询奠定基础返回最终的查询结果聚合函数求和平均值使用函数计算一列数值的总和使用函数计算一列数值的平均SUM AVG这在报表和分析中非常有用值可以快速了解数据的整体趋势计数最大值使用函数统计一个表或视图使用函数找出一列数值的最大COUNT MAX中的行数很好地描述数据规模值可以快速定位数据中的峰值子查询什么是子查询子查询的优势子查询的应用场景编写子查询的技巧子查询是嵌套在另一个语子查询能够在复杂的查询中提•根据嵌套查询的结果进行•查看外层查询的上下文确SQL,句中的查询语句它可以作为供更精确和灵活的数据选择筛选保子查询的输出与主查询主查询中的一个条件或者作为它可以在主查询中使用结果需要的数据一致,•将嵌套查询的结果作为主主查询的一部分从而实现更强大的数据分析查询的一部分•合理控制子查询的复杂程度避免性能瓶颈•实现数据聚合和分组统计,•适当使用子查询中的聚合函数和连接操作索引优化索引类型选择索引列顺序优化12根据查询需求选择合适的索引将最常用于查询条件的列放在类型如树索引、哈希索引、索引的最左侧提高索引命中率,B,全文索引等索引覆盖查询动态调整索引34合理设计索引使查询语句中的根据数据变化情况及时添加、,所有列都包含在索引中减少回删除或重建索引保持索引高效,,表操作事务管理事务定义属性事务隔离ACID事务是一组原子性的数据操作序列要么全事务具有原子性、一致性不同事务之间通过隔离级别来控制读写操作,Atomicity,部执行成功要么全部回滚确保数据的完整、隔离性和持久防止出现数据异常,,Consistency Isolation性性等特性Durability ACID特性ACID原子性一致性Atomicity Consistency事务要么全部成功执行,要么全事务执行前后,数据库都必须维部失败回滚,不存在中间状态持一致性状态隔离性持久性Isolation Durability并发事务之间相互独立,不会互事务一旦提交,它对数据库的修相干扰改就是永久性的事务隔离级别读未提交读已提交可重复读串行化事务可以读取未提交的数据,事务只能读取已提交的数据,事务在整个过程中看到的数据事务串行执行,可以避免任何可能会出现脏读的情况可以避免脏读,但可能会出现是一致的,可以避免不可重复并发问题,但性能较差不可重复读的问题读的问题并发控制锁机制隔离级别乐观并发控制并发性调优并发控制的常见方法是使用锁数据库提供了不同的事务隔离在某些场景中可以采用乐观合理设计并发控制策略、选择,机制确保同一时间只有一个级别如读未提交、读已提交、并发控制即不使用锁而是在恰当的隔离级别并根据实际,,,,事务可以访问同一数据读锁可重复读和串行化以平衡并更新时检查数据是否被修改情况进行性能调优是保证,,,和写锁可以根据不同的需求灵发性和数据一致性之间的权衡从而减少锁带来的性能开销数据库并发处理能力的关Web活应用键备份与恢复定期数据备份快速恢复12为了防止数据丢失定期对数据在发生数据丢失或系统故障时,,进行备份是非常重要的备份能够快速恢复数据至关重要可以采用物理磁盘或云端备份备份数据应能在短时间内被恢等方式复使用完整性验证差异备份34定期验证备份数据的完整性和除了全量备份还应采用差异备,可用性确保数据恢复时不会出份的方式以减少备份时间和存,,现问题储空间数据安全与访问控制数据加密身份认证通过加密技术保护数据的机密性通过用户名、密码、生物特征等,确保数据在传输和存储过程中不方式验证用户身份控制对系统和,被非法访问数据的访问权限访问控制审计跟踪基于用户角色和权限设置精细控记录用户的访问日志方便事后查,,制用户对数据和功能的操作权限询和审计提高系统的安全性和透,明度课程总结通过本课程您已经掌握了数据库的基础知识从开发历史、数据库类,WebWeb型、数据建模、基础到事务管理和数据安全您现在对数据库有了全面SQL,Web而深入的理解。
个人认证
优秀文档
获得点赞 0