还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库的基础原理课程概述课程目标学习内容12理解数据库系统的基本概念和包括数据库系统概述、SQL语原理,掌握SQL语言,能够进言基础、数据库设计、关系数行数据库设计、编程和优化,据理论、数据库编程、数据库了解数据库安全与保护措施,安全与保护、数据库优化以及熟悉新型数据库技术新型数据库技术考核方式第一章数据库系统概述数据库的定义数据库系统的发展历程数据库系统的特点数据库是按照数据结构来组织、存储和经历了从人工管理阶段、文件系统阶段包括数据结构化、数据共享性高、冗余管理数据的仓库,其目的是方便数据的到数据库系统阶段的发展,不断提高数度低、独立性高、易扩展性强等特点查询和管理据管理的效率和可靠性数据与信息数据的定义信息的定义数据与信息的关系数据是描述客观事物的信息是经过加工处理的数据是信息的原材料,符号记录,是信息的载数据,具有语义和价信息是数据的加工结体数据可以是数字、值,能够被人们理解和果数据经过加工处理文字、图像、声音等利用后才能成为有用的信息数据库管理系统()DBMSDBMS的定义DBMS的主要功能常见的DBMS软件数据库管理系统(DBMS)是管理数据包括数据定义、数据操纵、数据控制、包括Oracle、MySQL、SQL库的软件系统,负责数据的存储、查数据保护和数据维护等功能,提供数据Server、PostgreSQL等,各自具有询、更新和安全管理的完整性和安全性不同的特点和适用场景数据库系统的结构外部模式1用户视图概念模式2全局视图内部模式3存储视图数据库系统采用三级模式结构外部模式、概念模式和内部模式外部模式是用户看到的数据视图,概念模式是数据库的全局视图,内部模式是数据在物理存储上的表示这种结构实现了数据独立性,使得数据的修改不会影响应用程序数据模型概念模型逻辑模型物理模型用于描述现实世界的实体和联系,如E-R用于描述数据的逻辑结构,如关系模用于描述数据在物理存储上的组织方模型,独立于具体的DBMS型、层次模型和网状模型,与具体的式,如索引、存储结构等,与具体的DBMS有关DBMS和硬件有关实体联系模型(模型)-E-R实体与属性1实体是现实世界中可以区分的对象,属性是实体的特征例如,学生是一个实体,学号、姓名是学生的属性联系的类型2包括一对一联系、一对多联系和多对多联系例如,一个学生可以选修多门课程,一门课程可以被多个学生选修,这是多对多联系E-R图的绘制3使用矩形表示实体,椭圆形表示属性,菱形表示联系,通过连线将它们连接起来,形成E-R图,用于描述数据库的结构关系数据模型关系的定义关系的特征关系是一个二维表格,由行和列关系中的每个属性必须是不可再组成每一行称为一个元组,每分的,关系中的元组是无序的,一列称为一个属性关系中的属性是无序的关系模式关系模式是对关系的描述,包括关系名、属性名和属性的类型例如,学生(学号,姓名,性别,年龄)是一个关系模式关系代数集合运算包括并、交、差、笛卡尔积等运算,用于对关系进行集合操作专门的关系运算包括选择、投影、连接、除等运算,用于对关系进行查询和操作第二章语言基础SQL1SQL语言简介2SQL语言的特点SQL(Structured Query包括简洁易学、功能强大、通Language)是结构化查询用性强等特点,广泛应用于数语言,用于管理关系数据库据库的开发和管理3SQL语句类型包括数据定义语言(DDL)、数据操纵语言(DML)和数据查询语言(DQL)等,用于不同的数据库操作数据定义语言()DDL创建表修改表删除表使用CREATE TABLE使用ALTER TABLE语使用DROP TABLE语语句创建新的数据表,句修改已有的数据表,句删除不再需要的数据定义表的结构和属性如添加、删除或修改表,释放存储空间列数据操纵语言()DMLINSERT语句UPDATE语句使用INSERT语句向数据表中插使用UPDATE语句修改数据表中入新的数据行,可以一次插入一已有的数据行,可以根据条件更行或多行新指定的行DELETE语句使用DELETE语句删除数据表中不再需要的数据行,可以根据条件删除指定的行数据查询语言()DQLWHERE子句WHERE子句用于指定查询的条件,可2以根据条件过滤数据,只返回满足条件SELECT语句基本结构的行1SELECT语句是DQL的核心,用于从数据表中查询数据,可以指定查询的列和条件ORDER BY子句ORDER BY子句用于指定查询结果的排序方式,可以按照指定的列进行升序或3降序排序单表查询简单条件查询范围查询模糊查询使用WHERE子句指定简单的条件,如等使用BETWEEN AND运算符指定一个范使用LIKE运算符进行模糊查询,可以结于、大于、小于等,查询满足条件的围,查询在该范围内的行合通配符(如%和_)进行模式匹配行多表查询内连接1INNER JOIN,返回两个表中满足连接条件的行外连接2LEFT JOIN,RIGHT JOIN,FULL JOIN,返回一个表中的所有行,以及另一个表中满足连接条件的行自连接3将一个表与其自身连接,用于查询具有层级关系的数据子查询单行子查询返回单行结果的子查询,可以使用比较运算符(如=、、)进行比较多行子查询返回多行结果的子查询,可以使用IN、ANY、ALL等运算符进行比较相关子查询子查询的执行依赖于外部查询的参数,需要逐行执行子查询集合查询INTERSECT返回两个或多个SELECT语句结果的交2集,只包含在所有结果集中都存在的行UNION1将两个或多个SELECT语句的结果合并为一个结果集,去除重复的行EXCEPT返回第一个SELECT语句结果中存在,3但在其他SELECT语句结果中不存在的行分组查询GROUP BY子句HAVING子句聚合函数将数据按照指定的列进行分组,相同值用于过滤分组后的数据,只返回满足条如COUNT、SUM、AVG、MAX、MIN的行将被分到同一组件的分组等,用于对分组后的数据进行统计计算视图视图的概念创建视图更新视图123视图是一个虚拟的表,由一个或多使用CREATE VIEW语句创建视可以通过视图更新底层的数据表,个数据表中的数据组成,可以简化图,可以基于一个或多个表创建视但不是所有的视图都支持更新操复杂的查询图作第三章数据库设计数据库设计的目标包括满足用户需求、保证数据完整性和一致性、提高数据查询效率等目标数据库设计的步骤包括需求分析、概念结构设计、逻辑结构设计和物理结构设计等步骤数据库设计的方法包括自顶向下、自底向上和混合方法等,可以根据实际情况选择合适的方法需求分析需求收集需求分析方法需求规格说明书通过访谈、问卷调查、文档分析等方式包括结构化分析方法、面向对象分析方将分析结果整理成文档,详细描述数据收集用户对数据库的需求法等,用于分析和理解用户需求库的功能、性能、安全性和约束条件等概念结构设计E-R模型设计实体的识别联系的确定使用E-R模型描述数据识别现实世界中的实确定实体之间的联系,库的概念结构,包括实体,如学生、课程、教如学生选修课程,教师体、属性和联系师等,并确定实体的属教授课程等,并确定联性系的类型逻辑结构设计E-R图向关系模型的转换关系模式的优化1将E-R图转换为关系模型,将实体转换对关系模式进行规范化,消除数据冗为关系,将属性转换为关系的属性,将2余,提高数据完整性和一致性联系转换为关系的外键物理结构设计存储结构设计索引设计选择合适的存储结构,如堆文创建合适的索引,以加快数据的件、索引文件等,以提高数据的查询速度,但过多的索引会降低存储和访问效率数据的更新速度视图设计创建合适的视图,以简化复杂的查询,提高用户的访问效率数据库实施数据库的创建1使用DBMS提供的工具创建数据库,定义数据库的结构和属性数据的加载2将数据从其他来源导入到数据库中,可以使用批量导入工具或编写程序进行导入应用程序的开发3开发应用程序,通过SQL语句访问数据库,实现数据的查询、更新和管理功能数据库维护数据库的备份与恢复定期备份数据库,以防止数据丢失,并在发生故障时能够快速恢复数据数据库的优化定期优化数据库的性能,如清理无用数据、重建索引、调整参数等数据库的安全管理加强数据库的安全管理,如设置用户权限、加密数据、审计操作等,防止未经授权的访问和操作第四章关系数据理论关系的完整性约束函数依赖范式理论用于保证数据的完整性和一致性,包括描述关系中属性之间的依赖关系,用于用于规范化关系模式,消除数据冗余,实体完整性、参照完整性和用户定义完判断关系模式是否规范化提高数据完整性和一致性整性实体完整性唯一性约束2保证指定的属性或属性组合的值是唯一的,可以为空主键约束1保证每个元组都有唯一的标识,主键不能为空非空约束3保证指定的属性的值不能为空参照完整性外键约束保证外键的值必须是参照表中主键的值,或者为空级联操作当参照表中的主键值发生变化时,自动更新外键的值,以保证参照完整性包括级联更新和级联删除用户定义完整性CHECK约束1限制属性的值必须满足指定的条件触发器2在特定的数据库事件发生时,自动执行一段SQL代码,用于实现复杂的完整性约束函数依赖函数依赖的定义如果在一个关系中,属性A的值能够唯一确定属性B的值,则称属性B函数依赖于属性A函数依赖的类型包括完全函数依赖、部分函数依赖和传递函数依赖等函数依赖的推理规则包括Armstrong公理系统,用于推理函数依赖码主码1唯一标识一个关系的属性集合候选码2可以唯一标识一个关系的属性集合,可以有多个外码3参照其他关系的主码的属性集合范式第一范式(1NF)第二范式(2NF)第三范式(3NF)关系中的每个属性必须是不可再分的原在1NF的基础上,非主属性完全函数依赖在2NF的基础上,非主属性不传递函数子值于主码依赖于主码关系模式的分解无损连接分解保持依赖分解分解后的关系模式能够无损地恢复到分解后的关系模式能够保持原始关系原始关系模式模式的函数依赖第五章数据库编程存储过程触发器事务处理预编译的SQL语句集合,可以提高数在特定的数据库事件发生时,自动执保证数据库操作的原子性、一致性、据库的性能和安全性行一段SQL代码,用于实现复杂的业隔离性和持久性(ACID),防止数据务逻辑损坏存储过程存储过程的概念存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中创建存储过程使用CREATE PROCEDURE语句创建存储过程,可以指定输入参数和输出参数调用存储过程使用CALL语句调用存储过程,可以传递输入参数,并获取输出参数触发器创建触发器使用CREATE TRIGGER语句创建触发2器,可以指定触发事件(如INSERT、UPDATE、DELETE)和触发时间(如触发器的概念1BEFORE、AFTER)触发器是一种特殊的存储过程,在特定的数据库事件发生时自动执行触发器的应用用于实现复杂的业务逻辑,如数据验3证、数据审计、数据同步等事务1事务的概念2事务的特性(ACID)3事务控制语句事务是一系列数据库操作的逻辑单包括原子性(Atomicity)、一致包括BEGIN TRANSACTION、元,要么全部执行成功,要么全部性(Consistency)、隔离性COMMIT TRANSACTION和执行失败(Isolation)和持久性ROLLBACK TRANSACTION等,(Durability)用于控制事务的开始、提交和回滚并发控制并发操作问题锁机制隔离级别包括丢失更新、脏读、不可重复读和幻通过锁机制控制并发操作,保证数据的包括读未提交、读已提交、可重复读和读等,可能导致数据不一致一致性,包括共享锁和排他锁串行化等,不同的隔离级别提供不同的并发控制程度第六章数据库安全与保护数据库安全概述1保证数据库的机密性、完整性和可用性,防止未经授权的访问和操作访问控制2通过用户管理和权限管理控制用户对数据库的访问权限数据加密3对敏感数据进行加密,防止数据泄露用户管理创建用户使用CREATE USER语句创建新的数据库用户,可以指定用户名和密码修改用户使用ALTER USER语句修改已有的数据库用户,如修改密码、修改权限等删除用户使用DROP USER语句删除不再需要的数据库用户,释放资源权限管理收回权限2使用REVOKE语句收回用户或角色对数据库对象的权限授予权限1使用GRANT语句授予用户或角色对数据库对象的权限,如SELECT、INSERT、UPDATE、DELETE等角色管理创建角色,将权限授予角色,然后将角3色授予用户,简化权限管理数据加密对称加密非对称加密数据库加密技术使用相同的密钥进行加密和解密,速度使用不同的密钥进行加密和解密,安全包括透明数据加密(TDE)、列级加密快,但密钥管理困难性高,但速度慢和应用层加密等,可以根据实际需求选择合适的加密技术数据库审计审计的概念审计的方法审计日志管理记录用户对数据库的操包括基于触发器的审定期备份审计日志,并作,用于追踪安全事件计、基于日志的审计和对其进行分析和处理,和进行性能分析基于操作系统的审计发现潜在的安全问题等数据库备份与恢复备份策略制定合理的备份策略,如备份频率、备2份存储位置等,保证数据的可靠性备份的类型1包括完全备份、差异备份和增量备份等,可以根据实际需求选择合适的备份数据恢复方法类型在发生故障时,使用备份数据进行恢复,可以恢复到最近的备份点,或恢复3到指定的时间点第七章数据库优化查询优化索引优化通过优化SQL语句,减少查询时通过创建和维护索引,加快数据间,提高查询效率查询速度数据库性能调优通过调整硬件、操作系统和DBMS参数,提高数据库的整体性能查询优化查询处理过程包括语法分析、语义分析、查询优化和执行计划生成等步骤查询优化策略包括选择合适的索引、减少连接操作、避免全表扫描等策略执行计划分析通过分析执行计划,了解查询的执行过程,找出性能瓶颈,并进行优化索引优化索引的类型索引的选择12包括B树索引、哈希索引、全根据查询的特点选择合适的索文索引等,不同的索引类型适引,如选择常用的查询列作为用于不同的查询场景索引列索引的维护3定期重建索引,删除无用索引,优化索引的存储结构,提高索引的效率数据库性能调优硬件调优操作系统调优DBMS参数调优如增加内存、更换更快的CPU、使用如调整TCP/IP参数、优化文件系统、调如调整缓冲区大小、调整连接数、调整SSD硬盘等,提高硬件的性能整内存管理策略等,提高操作系统的性日志大小等,提高DBMS的性能能第八章新型数据库技术分布式数据库1将数据存储在多个物理节点上,提高数据库的可扩展性和可用性NoSQL数据库2非关系型数据库,适用于存储非结构化数据和半结构化数据,具有高性能和高可扩展性大数据技术3用于处理海量数据,包括Hadoop、Spark等技术分布式数据库分布式数据库的概念将一个逻辑数据库分布在多个物理节点上,每个节点存储部分数据分布式数据库的特点包括数据分片、数据复制、数据一致性等特点,可以提高数据库的可扩展性和可用性分布式事务处理保证分布式事务的ACID特性,可以使用两阶段提交(2PC)或三阶段提交(3PC)等协议数据库NoSQLNoSQL的类型包括键值数据库、文档数据库、列式数2据库和图数据库等,不同的类型适用于NoSQL的概念不同的场景1Not OnlySQL,非关系型数据库,适用于存储非结构化数据和半结构化数据NoSQL vs关系型数据库NoSQL数据库具有高性能、高可扩展性和灵活的数据模型等优点,但缺乏事务3支持和复杂查询能力大数据技术大数据的特征Hadoop生态系统大数据分析技术包括Volume(海量)、Velocity包括HDFS(分布式文件系统)、包括数据挖掘、机器学习、自然语言(高速)、Variety(多样)和MapReduce(分布式计算框架)和处理等技术,用于从海量数据中提取Veracity(真实性)等特征YARN(资源管理系统)等组件,用有价值的信息于存储和处理海量数据第九章数据仓库与数据挖掘数据挖掘1数据仓库2数据源3数据仓库是一个面向主题、集成、非易失和时变的**数据集合**,用于支持管理决策数据挖掘是从大量数据中**发现**有用的模式和知识的过程通过本课程的学习,您将掌握数据仓库的核心知识,为未来的数据应用开发和管理打下坚实的基础数据仓库OLTP vsOLAPOLTP(Online TransactionProcessing)是面向事务处理的应用,OLAP(Online AnalyticalProcessing)是面向分析的应用数据仓库的设计方法包括星型模式、雪花模式和星座模式等,可以根据实际需求选择合适的设计方法ETL过程包括抽取(Extract)、转换(Transform)和加载(Load)等步骤,用于将数据从数据源加载到数据仓库中数据挖掘常见的数据挖掘算法2包括分类、聚类、关联规则挖掘和回归等算法数据挖掘的过程1包括数据清洗、数据转换、数据挖掘和模式评估等步骤数据挖掘的应用用于客户关系管理、市场营销、风险管3理和欺诈检测等领域课程总结主要内容回顾学习要点回顾本课程的主要内容,包括数强调本课程的学习要点,如理解据库系统概述、SQL语言基础、数据库系统的基本概念和原理,数据库设计、关系数据理论、数掌握SQL语言,能够进行数据库据库编程、数据库安全与保护、设计、编程和优化数据库优化以及新型数据库技术实践建议提供实践建议,鼓励学生多做实验,多参与项目,提高实践能力学习资源推荐教材在线资源12推荐经典的数据库教材,如推荐在线学习资源,如《数据库系统概念》、《SQL Coursera、edX、慕课网等必知必会》等平台上的数据库课程实践平台3推荐实践平台,如SQL Fiddle、LeetCode等,用于练习SQL语句和数据库编程结束语课程回顾未来展望答疑方式回顾本课程的学习内展望数据库技术的发展提供答疑方式,如QQ容,总结学习成果趋势,鼓励学生继续学群、微信群、邮箱等,习和探索方便学生提问和交流。
个人认证
优秀文档
获得点赞 0