还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库原理与实践欢迎来到《数据库原理与实践》课程!本课程旨在全面介绍数据库系统的核心概念、设计原则、实现技术以及实际应用通过本课程的学习,你将掌握数据库系统的基本理论,并具备设计、开发和管理数据库系统的能力让我们一起探索数据的奥秘,开启数据库之旅!课程介绍课程定位教学方法考核方式本课程是计算机科学与技术专业的专业核本课程采用理论讲授、实验操作、案例分本课程的考核方式包括平时成绩、实验成心课程,旨在培养学生掌握数据库系统的析相结合的教学方法,注重培养学生的实绩和期末考试成绩平时成绩包括课堂参基本理论、设计方法和应用技术,为后续践能力和解决问题的能力课堂讲授深入与、作业完成情况等;实验成绩包括实验课程的学习和实践奠定基础浅出,实验操作紧密结合实际,案例分析报告、实验操作表现等;期末考试成绩采引导学生思考用闭卷考试形式课程目标掌握数据库基本概念熟悉数据模型12理解数据、数据库、数据库系统等基本概念,了解数据库系统掌握概念模型、逻辑模型和物理模型的基本原理,能够使用E-R的发展历程和应用领域模型进行概念结构设计,能够将概念模型转换为关系模型掌握语言具备数据库设计能力3SQL4熟练掌握SQL语言,能够使用SQL语言进行数据定义、数据操掌握数据库设计的基本原则和方法,能够进行数据库的需求分纵、数据查询和数据控制析、概念结构设计、逻辑结构设计和物理结构设计课程大纲第一章数据库系统概述1介绍数据库系统的基本概念、组成、特点和应用领域第二章数据模型2介绍概念模型、逻辑模型和物理模型的基本原理和表示方法第三章关系数据库3介绍关系数据结构、关系操作、关系代数和语言SQL第四章数据库设计4介绍数据库设计的基本原则和方法,包括需求分析、概念结构设计、逻辑结构设计和物理结构设计数据库系统概述数据描述事物的符号记录,是数据库中存储的基本对象数据库长期存储在计算机内、有组织的、可共享的大量数据的集合数据库管理系统管理数据库的软件系统,提供数据定义、数据操纵、数据控制等功能数据库系统由数据库、数据库管理系统、应用系统、数据库管理员等组成的整体数据与信息数据信息Data Information是描述客观事物的符号记录,可以是数字、文字、图像、声音等是经过加工处理的数据,具有一定的意义,能够被人们理解和利用数据是信息的载体,本身没有意义,需要经过解释才能成为信息信息是决策的依据,能够帮助人们做出正确的判断数据库系统的概念数据集成将分散的数据集中存储,消除数据冗余,提高数据一致性数据共享多个用户可以同时访问数据库中的数据,提高数据利用率数据安全提供数据访问控制、数据加密等安全机制,保护数据免受非法访问和破坏数据库系统的组成数据库数据库管理系统Database1DBMS2应用系统4Application数据库管理员DBA3System数据库系统是一个复杂的系统,由多个组件组成数据库是存储数据的场所,负责管理数据库,应用系统访问数据库,负责维护DBMS DBA数据库数据库管理系统DBMS数据定义功能数据操纵功能12提供数据定义语言,用于提供数据操纵语言,用于DDL DML定义数据库的结构、数据类型、实现数据的插入、删除、修改约束等和查询等操作数据控制功能3提供数据控制语言,用于实现数据的安全控制、完整性控制和并发DCL控制等数据库系统的特点数据一致性数据安全性数据高效性保证数据库中的数据在保护数据库中的数据免提供高效的数据访问和任何时刻都是正确的、受非法访问和破坏数据处理能力可靠的数据模型物理模型1描述数据在物理存储介质上的组织方式逻辑模型2描述数据的逻辑结构和数据之间的关系概念模型3描述现实世界中事物的概念和联系数据模型是数据库系统的核心,用于描述数据的结构、语义和约束数据模型分为概念模型、逻辑模型和物理模型三个层次概念模型概念模型的作用概念模型的组成用于描述现实世界中事物的概念和联系,是数据库设计的蓝图概由实体、属性和联系三个要素组成实体是现实世界中可区分的对念模型独立于具体的DBMS,易于理解和交流象,属性是实体的特征,联系是实体之间的关系实体关系模型-E-R实体属性12用矩形表示,矩形内写实体名用椭圆形表示,椭圆形内写属性名,并用线连接到实体联系3用菱形表示,菱形内写联系名,并用线连接到相关实体逻辑模型关系模型层次模型用二维表格表示数据,表格的每一用树形结构表示数据,每个节点表行表示一个记录,表格的每一列表示一个记录,节点之间的连线表示示一个属性父子关系网状模型用图状结构表示数据,每个节点表示一个记录,节点之间的连线表示任意关系关系模型关系1二维表格元组2表格中的一行属性3表格中的一列主键4唯一标识元组的属性关系模型是目前最常用的数据模型,它用二维表格表示数据,易于理解和操作关系模型的基本概念包括关系、元组、属性和主键对象模型对象类继承现实世界中的实体或概念,具有属性和方具有相同属性和方法的对象的集合子类继承父类的属性和方法法数据定义语言DDLCREATE ALTER创建数据库、表、索引等修改数据库、表、索引等DROP删除数据库、表、索引等数据操纵语言DMLSELECT1查询数据INSERT2插入数据UPDATE3修改数据DELETE4删除数据数据控制语言DCLGRANT REVOKECOMMIT ROLLBACK授予用户权限撤销用户权限提交事务回滚事务关系数据库关系数据库的特点关系数据库的优势基于关系模型,数据以二维表格的形式存储,易于理解和操作关数据一致性高,数据冗余度低,数据安全性好,数据可扩展性强系数据库支持SQL语言,提供强大的数据查询和数据管理功能关系数据库广泛应用于各种领域,如企业管理、金融服务、电子商务等关系数据结构关系元组1Relation2Tuple二维表格,由行和列组成表格中的一行,表示一个记录属性域3Attribute4Domain表格中的一列,表示一个特征属性的取值范围关系操作连接Join1将两个或多个关系中的元组连接起来选择Select2从关系中选择满足条件的元组投影Project3从关系中选择指定的属性关系代数并Union1将两个关系中的元组合并起来交Intersection2找出两个关系中相同的元组差Difference3找出在一个关系中存在,但在另一个关系中不存在的元组语言SQL的特点的应用SQL SQL简单易学,功能强大,通用性强语言是关系数据库的标准查用于数据定义、数据操纵、数据控制和数据查询语言可以完SQL SQL询语言,广泛应用于各种关系数据库管理系统成各种复杂的数据操作,满足用户的各种需求概述SQLSQL结构化查询语言Structured QueryLanguageDDL数据定义语言Data DefinitionLanguageDML数据操纵语言Data ManipulationLanguageDCL数据控制语言Data ControlLanguage数据定义SQLCREATE TABLEALTER TABLEDROP TABLE创建表修改表结构删除表数据操纵SQLINSERT向表中插入数据UPDATE修改表中的数据DELETE删除表中的数据查询SQL1SELECT2WHERE从表中查询数据指定查询条件3ORDER BY4GROUP BY对查询结果进行排序对查询结果进行分组高级查询SQL子查询连接查询124窗口函数聚合函数3高级查询包括子查询、连接查询、聚合函数和窗口函数等,可以完成更复杂的数据查询操作,满足用户的各种需求SQL完整性约束用户自定义完整性1参照完整性2实体完整性3完整性约束用于保证数据库中的数据是正确的、可靠的完整性约束分为实体完整性、参照完整性和用户自定义完整性三种实体完整性实体完整性的定义实体完整性的作用要求表中的主键不能为空,且主键值必须唯一保证表中的每一行数据都能够被唯一标识,防止数据冗余和数据不一致参照完整性参照完整性的定义1要求表中的外键必须是另一个表的主键,或者为空参照完整性的作用2保证表与表之间的关系是正确的、可靠的,防止数据不一致用户自定义完整性约束约束CHECK DEFAULT限制属性的取值范围为属性指定默认值规则定义更复杂的完整性约束触发器触发器的定义1在特定事件发生时自动执行的语句SQL触发器的作用2实现复杂的完整性约束、审计和数据复制等功能数据库设计数据库设计的重要性数据库设计的原则良好的数据库设计能够提高数据库的性能、可维护性和可扩展性,满足用户需求、数据一致性、数据完整性、数据安全性、数据高效降低数据库的开发和维护成本性、数据可扩展性数据库设计过程需求分析了解用户的需求,收集用户的数据概念结构设计设计模型E-R逻辑结构设计将模型转换为关系模型E-R物理结构设计选择合适的存储结构和索引需求分析了解用户需求与用户沟通,了解用户需要存储哪些数据,以及如何使用这些数据收集用户数据收集用户提供的数据,包括数据字典、报表和业务流程等概念结构设计实体属性联系识别现实世界中的实体确定实体的属性确定实体之间的联系逻辑结构设计关系模式1将实体转换为关系模式主键2确定关系模式的主键外键3确定关系模式的外键物理结构设计存储结构1选择合适的存储结构索引2创建合适的索引数据库实施与维护数据库实施数据库维护创建数据库、表、索引等,导入数据监控数据库性能、备份数据库、恢复数据库等数据库优化索引优化创建合适的索引,提高查询效率查询优化优化语句,减少查询时间SQL存储优化优化存储结构,减少存储空间索引优化选择合适的索引类型避免过度索引12B树索引、哈希索引、全文索引索引过多会降低写入性能等定期维护索引3重建索引、更新索引统计信息查询优化避免全表扫描使用索引124减少数据传输优化语句SQL3存储优化数据压缩1数据分区2数据归档3事务管理事务的概念事务的作用一组不可分割的数据库操作序列,要么全部执行成功,要么全部执保证数据库的数据一致性行失败事务的概念原子性1Atomicity事务是不可分割的最小单位一致性2Consistency事务执行前后,数据库的状态保持一致隔离性3Isolation多个并发事务之间互不干扰持久性4Durability事务一旦提交,对数据库的修改将永久保存事务的特性ACID原子性一致性124持久性隔离性3事务必须满足特性,才能保证数据库的数据一致性是原子性、一致性、隔离性和持久性ACID ACIDAtomicity ConsistencyIsolation的缩写Durability并发控制并发控制的目的1保证多个并发事务之间互不干扰,保证数据库的数据一致性并发控制的方法2封锁技术、时间戳技术、多版本并发控制等封锁技术排它锁Exclusive Lock简称锁,也称写锁,一个事务对数据对象加了锁,该事务可以读也可以X X修改此数据对象,其他事务不能再对此数据对象加任何锁共享锁Shared Lock简称锁,也称读锁,一个事务对数据对象加了锁,该事务可以读此数据对S S象,但不能修改,其他事务可以再对此数据对象加锁,但不能加锁S X死锁死锁的定义死锁的检测死锁的预防多个事务互相等待对方通过检测资源分配图是通过破坏死锁产生的四释放资源,导致所有事否存在环路来判断是否个必要条件来预防死锁务都无法继续执行存在死锁死锁的避免通过动态地分配资源,避免进入死锁状态恢复技术恢复的目的保证数据库在发生故障后,能够恢复到一致的状态恢复的方法基于日志的恢复、基于检查点的恢复等日志Redo1记录事务对数据库的修改Undo2记录事务执行前的状态日志是数据库恢复的重要手段,用于记录事务对数据库的修改和事务执行前的状态日志分为日志和日志Redo Undo备份与恢复备份恢复1定期将数据库的数据复制到其他存储介在数据库发生故障后,将备份的数据恢2质上复到数据库中分布式数据库全局数据字典1数据复制2数据分片3分布式数据库是指在地理上分布的多个数据库的集合,这些数据库在逻辑上是统一的整体分布式数据库的关键技术包括全局数据字典、数据复制和数据分片分布式数据库的概念分布式性自治性透明性数据在地理上分布在多个节点上每个节点都具有独立的管理和控制能力用户可以像访问本地数据库一样访问分布式数据库分布式数据库的特点高可用性高可扩展性高性能123即使部分节点发生故障,系统仍然可可以方便地增加节点,扩展系统的容可以通过并行处理提高系统的性能以正常运行量分布式数据库的设计数据分片数据复制将数据分割成多个片段,存储在不将数据复制到多个节点上,提高数同的节点上据的可用性全局索引创建全局索引,提高查询效率大数据技术Hadoop SparkKafka Elasticsearch分布式存储和计算框架快速数据处理引擎分布式消息队列分布式搜索和分析引擎大数据的概念Volume VelocityVariety Veracity数据量巨大数据产生速度快数据类型多样数据质量参差不齐。
个人认证
优秀文档
获得点赞 0