第1章绪论/11.1什么是数据库系统11.1.1数据库11.1.2DBMS21.1.3DBS21.2为什么需要数据库系统31.2.1DBS前的困境31.2.2DBS的吸引力41.3数据抽象51.3.1四层抽象51.3.2数据抽象的表达61.3.3三层模式和两级映射71.4DBMS81.4.1数据定义语言101.4.2数据操作语言101.4.3数据保护语言101.4.4查询处理101.4.5存储管理111.4.6保护管理111.4.7物理数据结构111.4.8立足点121.5DBS121.5.1硬件121.5.2软件131.5.3用户131.5.4工作过程141.5.5在网络上151.6数据库技术发展趋势16习题17〖1〗数据库应用、设计与实现目录[3]〖3〗第2章关系模型/182.1关系结构与约束182.1.1关系与表182.1.2关系键202.1.3约束212.2关系操作212.2.1基本关系代数运算212.2.2附加关系代数运算272.2.3扩展关系代数运算30习题33第3章PostgreSQL数据定义与操作/343.1SQL与PostgreSQL343.1.1SQL发展史343.1.2PostgreSQL353.1.3数据库语言组成353.1.4数据库语言特点363.1.5考试系统数据库363.2数据定义383.2.1SQL的基本数据类型383.2.2表的创建、修改和撤销393.3投影与广义投影423.4选择433.5集合操作473.6联接查询483.6.1笛卡儿积493.6.2内联接493.6.3外联接503.6.4按属性联接513.7更名513.8聚集查询523.8.1基本聚集523.8.2分组533.8.3排名543.8.4分窗553.9基本查询语句的一般形式563.10嵌套查询573.10.1子查询作为表573.10.2子查询作为集合583.10.3子查询作为标量603.10.4关系除623.11递归查询643.12数据修改653.12.1数据插入653.12.2数据删除663.12.3数据更新67习题68第4章PostgreSQL应用/704.1应用体系结构704.1.1C/S结构704.1.2B/S结构714.2嵌入式pgSQL734.2.1pgSQL的宿主使用734.2.2嵌入式pgSQL的使用技术744.2.3动态SQL语句764.3JDBC编程794.3.1JDBC基础794.3.2JDBC程序804.3.3预备语句814.3.4元数据824.3.5Java应用连接访问数据库实例824.3.6Java小应用连接访问数据库实例834.3.7JSP连接访问数据库实例854.3.8Servlet连接访问数据库实例864.4函数924.4.1PL/pgSQL的块结构924.4.2变量常量的定义和赋值924.4.3控制结构934.4.4存储函数95习题96第5章PostgreSQL数据保护/985.1数据保护985.2视图995.2.1视图的创建和撤销995.2.2对视图的操作1005.3访问控制1015.3.1授予权限1015.3.2收回权限1035.4完整性约束1035.4.1约束含义1035.4.2声明及检验1045.5触发器1095.5.1定义触发器1095.5.2激活触发器1125.5.3删除触发器1125.6事务112习题114第6章数据库设计: 实体联系方法/1156.1数据库设计过程1156.2ER模型的基本元素1166.3ER图1186.4属性的分类1196.5联系的设计1206.6弱实体集1236.7特殊化与一般化1246.8将ER模式变换为关系模式125习题128第7章数据库设计: 属性联系方法/1307.1问题的提出1307.2数据依赖1327.2.1函数依赖的定义1327.2.2函数依赖的逻辑蕴涵1337.2.3函数依赖的推理规则1337.2.4属性集的闭包1357.2.5函数依赖集的最小依赖集1367.2.6多值依赖1377.3模式分解1377.3.1无损联接分解1397.3.2分解无损联接检验1397.3.3保持函数依赖的分解1437.4范式1457.4.1第一范式(1NF)1457.4.2第二范式(2NF)1467.4.3第三范式(3NF)1467.4.4BC范式(BCNF)1477.4.5第四范式1477.5规范化1487.6大数据与反规范化149习题149第8章存储和存取/1528.1存储器件1528.2磁盘1528.3DBMS文件管理1548.4数据库文件组织1548.4.1行存储1548.4.2列存储1588.5文件中元组组织1588.6索引1608.6.1稠密索引和稀疏索引1618.6.2多级索引1628.6.3B 树索引1638.6.4哈希方法1658.7数据字典的存储167习题167第9章查询处理与优化/1699.1查询处理过程及查询优化问题1699.2关系代数表达式的等价变换与优化1719.2.1关系代数表达式等价变换规则1719.2.2关系代数等价变换的启发式规则1749.3实现关系运算的算法与优化1749.3.1选择运算的算法与优化1749.3.2联接运算的算法与优化1759.4表达式的求值方法与优化1779.4.1实体化1789.4.2流水线1789.5基于代价的定量优化178习题179第10章事务处理/18110.1事务概念18110.1.1如果没有事务18110.1.2事务及其特性18210.2并发执行和调度18510.2.1并发执行18510.2.2可串行化18710.3并发控制18910.3.1锁18910.3.2两阶段封锁19010.3.3死锁19110.4故障恢复19110.4.1恢复准备19110.4.2恢复处理19410.5小结196习题196第11章大数据技术/19811.1大数据特征19811.2大数据关键技术19811.3分布式文件系统19911.3.1计算机集群19911.3.2分布式文件系统20011.4NoSQL数据模型20011.4.1键值存储20011.4.2列族存储20111.4.3文档存储20111.4.4图存储20311.5大数据计算20311.5.1批处理 20411.5.2流式计算20511.6大数据应用20611.6.1基于内容推荐20611.6.2协同过滤推荐20711.6.3小结209习题209附录实验/210实验一Access数据库210实验二PostgreSQL基础和安装210实验三数据库的基本操作211实验四数据表的基本操作212实验五数据备份与还原214实验六简单数据查询216实验七高级数据查询217实验八Java连接数据库218实验九简单的PL/pgSQL程序219实验十索引和视图220实验十一PostgreSQL权限管理221实验十二触发器222实验十三性能优化222实验十四事务与并发控制223实验十五PowerDesigner224实验十六综合应用224实验评分标准225实验报告要求225实验报告模板226参考文献/227