数据库原理及应用的目录

数据库原理及应用的目录,第1张

《数据库原理及应用》

第1章 绪论

1.1 数据管理技术的发展

1.1.1 人工管理阶段

1.1.2 文件系统阶段

1.1.3 数据库管理阶段

1.2 数据库系统结构

1.2.1 三级模式结构

1.2.2 数据库系统的二级独立性

1.2.3 数据库系统的二级映像

1.3 数据库、数据库管理系统和数据库系统

1.3.1 数据库

1.3.2 数据库管理系统

1.3.3 数据库系统

1.4 数据库技术的发展

小结

习题

第2章 数据模型

2.1 数据模型的概念

2.1.1 数据的三个范畴

.2.1.2 数据模型的组成要素及分类

2.2 e-r模型

2.2.1 基本概念

2.2.2 e-r图设计

2.3 面向对象模型

2.3.1 对象建模的基本知识

2.3.2 类图

小结

习题

第3章 关系数据库

3.1 关系数据模型

3.1.1 关系数据模型概述

3.1.2 基本术语

3.1.3 关系的性质

3.2 关系的完整性

3.3 关系代数

3.3.1 传统的集合运算

3.3.2 专门的关系运算

3.3.3 关系代数运算的应用实例

3.3.4 关系代数的扩充 *** 作

小结

习题

第4章 结构化查询语言sql

4.1 sql概述

4.1.1 sql语言的发展

4.1.2 sql语言的特点

4.1.3 sql语言的基本概念

4.2 数据定义语句

4.2.1 基本表的定义

4.2.2 基本表的修改与删除

4.2.3 基本表的删除

4.3 查询

4.3.1 单表查询

4.3.2 连接查询

4.3.3 嵌套查询

4.3.4 集合查询

4.4 数据 *** 纵

4.4.1 插入数据

4.4.2 修改数据

4.4.3 删除数据

4.5 视图

4.5.1 视图的定义与删除

4.5.2 查询视图

4.5.3 更新视图

4.5.4 视图的作用

小结

习题

第5章 存储过程、触发器和数据完整性

5.1 sql server编程结构

5.1.1 变量

5.1.2 显示信息

5.1.3 注释语句

5.1.4 批处理

5.1.5 流程控制语句

5.2 存储过程

5.2.1 存储过程的基本概念

5.2.2 创建存储过程

5.2.3 使用sql server管理控制台执行存储过程

5.2.4 修改和删除存储过程

5.3 触发器

5.3.1 触发器的基本概念

5.3.2 创建触发器

5.3.3 修改和删除触发器

5.4数据库完整性

5.4.1 约束

5.4.2 默认值

5.4.3 规则

5.4.4 用户定义的数据完整性

小结

习题

第6章 关系数据库设计理论

6.1 问题的提出

6.2 基本概念

6.2.1 函数依赖

6.2.2 码

6.3 规范化

6.3.1 第一范式

6.3.2第二范式

6.3.3 第三范式

6.3.4 bc范式

6.3.5 多值依赖与第四范式

6.3.6 关系模式规范化

6.4 函数依赖的公理系统

6.4.1 armstrong公理系统

6.4.2 闭包

6.4.3 函数依赖集的等到价和最小化

6.5 模式分解

6.5.1 模式分解的准则

6.5.2 分解的函数依赖保持性和无损连接性

6.5.3 模式分解的算法

小结

习题

第7章 索引

7.1 索引的概念

7.1.1 聚集索引

7.1.2 非聚集索引

7.1.3 唯一索引

7.1.4 何时应该创建索引

7.1.5 系统如何访问表中的数据

7.2 sql server 2005中的索引

7.2.1 索引的结构

7.2.2 管理索引

小结

习题

第8章 数据库设计

8.1 数据库设计概述

8.2 数据库设计的过程

8.2.1 数据库设计的步骤

8.2.2 需求分析阶段

8.2.3 概念设计阶段

8.2.4 逻辑设计阶段

8.2.5 物理设计阶段

8.2.6 数据库实现阶段

8.2.7 数据库的运行与维护阶段

8.3 数据库设计实例:电网设备抢修物资管理数据库设计

8.3.1 需求分析

8.3.2 概念模型

8.3.3 逻辑模型

小结

习题

第9章 数据库安全

9.1 安全性概述

9.1.1 用户标识与鉴别

9.1.2 存取控制

9.1.3 自主存取控制方法

9.1.4 强制存取控制方法

9.1.5 视图机制

9.1.6 审计

9.1.7 数据加密

9.2 sql server的安全性

9.2.1 sql server 2005的身份验证模式

9.2.2 sql server 2005的安全机制

9.3 用户管理和角色管理

9.3.1 登录用户和数据库用户

9.3.2 用户管理

9.3.3 角色管理

9.3.4 sql server的固定角色

9.4 权限管理

9.4.1 授予权限

9.4.2 收回权限

9.4.3 禁止权限

9.5 架构

小结

习题

第10章 数据库保护

10.1 事务

10.1.1 事务的定义

10.1.2 事务的acid性质

10.1.3 事务的状态

10.2 并发控制

10.2.1 并发 *** 作与数据的不一致性

10.2.2 封锁

10.2.3 并发 *** 作的调度

10.3 数据库的恢复

10.3.1 存储器的结构

10.3.2 恢复的原则和实现方法

10.3.3 故障类型和恢复方法

10.4 sql server数据库备份与恢复

10.4.1 数据库备份方法

10.4.2 数据库恢复

小结

习题

第11章数据库技术新进展

11.1 数据仓库

11.1.1 数据仓库的概念、特点与组成

11.1.2 数据的技术

11.1.3 数据仓库的几个重要概念

11.1.4 数据仓库的结构

11.1.5 数据仓库的多维数据模型

11.1.6 数据仓库系统设计

11.1.7 数据仓库的未来

11.2 数据挖掘

11.2.1 支持数据挖掘的基础

11.2.2 数据挖掘的分析方法

11.2.3 数据挖掘常用的基本技术

11.2.4数据挖掘技术实施的步骤

11.2.5数据挖掘技术发展

11.3 数据库技术的研究及发展

11.3.1 数据库技术的研究热点

11.3.2 数据库技术的发展方向

11.4 结语

小结

习题

附录a sql server 2005的安装及使用

a.1 sql server简介

a.2 sql server 2005的安装

a.3 sql server配置管理器

a.4 启动sql server服务

a.5 使用sql server management studio管理数据库

附录b 实验

实验一 通过sql server management studio创建及管理数据库

实验二 通过sql语句创建与管理数据表

实验三 单表查询

实验四 复杂查询

实验五 视图的创建与使用

实验六 存储过程

实验七 触发器

实验八 实现数据完整性

实验九 索引及数据库安全

参考文献

过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。层状、网状的DML属于过程性语言。

非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。关系型DML属于非过程性语言。

目前主流都是关系型数据库

*****系实验(上机)报告

课程名称 数据库系统基础

实验名称 数据查询与存储过程

学号 33

学生姓名 嘻习喜戏

成绩

年 月 日

序号 5 实验名称 SQL数据查询

实验目的:

熟练掌握SQL SELECT 语句,能够运用该语句完成各种查询。

实验内容:

用SQL SELECT 语句完成下列查询:

1. 查询客户表中的所有记录。

2. 从订购单表中查询客户号信息(哪些客户有订购单)。

3. 查询单价在20元以上(含)的产品信息。

4. 查询单价在20元以上(不含)的产品名称为牛奶的产品信息。

5. 查询单价在20元以上(不含)的产品名称为牛奶或德国奶酪的产品信息。

6. 查询有2003年7月订购单的客户名称、联系人、电话号码和订单号信息。

7. 查询有德国奶酪订货的客户的名称、联系人和电话号码信息。

8. 查询有德国奶酪订购需求的订单名细记录。

9. 查询所有订购数量(即订单名细中每个订购项目的数量)都在10个以上的订购单的信息。

10. 找出和德国奶酪同等价位的所有产品信息。

11. 查询单价范围在10元到30元范围内的产品信息(使用BETWEEN…AND)。

12. 从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)。

13. 从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。

14. 按产品的单价升序列出全部产品信息。

15. 先按产品名称排序,再按单价排序列出全部产品信息。

16. 从产品表中查询共有几种产品。

17. 从订购名细表中查询德国奶酪的订购总数。

18. 计算德国奶酪所有订购的总金额。

19. 求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。

20. 求每个订购单订购的项目数和总金额。

21. 求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额。

22. 求至少有两个订购项目的订购单的平均金额。

23. 找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息(客户的名称、联系人和电话号码)和订单号。

24. 找出在2000年1月1日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。

25. 列出每类产品(相同名称)具有最高单价的产品信息(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)。

26. 确定哪些客户目前没有订购单(使用谓词NOT EXISTS)。

27. 查询目前有订购单的客户的信息(使用谓词EXISTS)。

28. 查询符合条件的产品信息,要求该产品的单价达到了任意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)。

29. 查询符合条件的产品信息,要求该产品的单价大于任何一款产品名称为牛奶的单价(使用ALL量词)。

30. 设计如下的连接 *** 作,并分析各自的特点:

•广义笛卡儿积

•内连接

•外连接

•左连接

•右连接

•全连接

掌握存储过程的创建命令,按照题目要求创建存储过程,理解存储过程的作用。

(1) 建立存储过程。查询单价范围在x元到y元范围内的产品信息。

(2) 建立存储过程。查询在某年某月某日之后签订的订购单的客户信息(客户的名称、联系人和电话号码)、订单号和订购日期。

(3) 建立存储过程。将某产品的订购日期统一修改为一个指定日期。

(4) 建立存储过程。删除没有签订单的客户信息。

实验要求:

用SELECT语句完成本次实验,并提交上机报告。

(1) 掌握存储过程的创建命令,按照实验内容的要求创建存储过程,理解存储过程的作用。

(2) 用CREATE PROCEDURE和EXECUTE 语句完成本次实验,并提交上机报告。

实验准备(本实验预备知识和为完成本实验所做的准备):

仔细阅读课本第五章关于SQL的数据查询功能的内容

实验过程(实验的 *** 作过程、遇到的问题及其解决办法或未能解决的问题):

用SQL SELECT 语句完成以上30题查询

实验总结(总结本次实验的收获、未解决的问题以及体会和建议等):

熟练掌握SQL SELECT 语句,能够运用该语句完成各种查询

附录(SQL语句):

--1. 查询客户表中的所有记录。

select * from 客户

--2. 从订购单表中查询客户号信息(哪些客户有订购单)

select 客户号from 订单where 订单号!=null

--3. 查询单价在元以上(含)的产品信息。

select *from 产品where 单价>20 or 单价=20

--4. 查询单价在元以上(不含)的产品名称为牛奶的产品信息。

select *from 产品where 单价>20 and 产品名称='牛奶'

--. 查询单价在元以上(不含)的产品名称为牛奶或德国奶酪的产品信息

select *from 产品where 单价>20 and (产品名称='牛奶'or 产品名称='德国奶酪')

--6. 查询有年月订购单的客户名称、联系人、电话号码和订单号信息

select 客户名称,联系人, 电话,订单号from 客户,订单where (year(订购日期)=2003 and month (订购日期)=7)and (订单.客户号=客户.客户号)

--7. 查询有德国奶酪订货的客户的名称、联系人和电话号码信息。

select 客户名称,联系人, 电话from 客户

where

(客户号= (select 客户号from 订单where(订单号 =(select 订单号from 订单明细

where 产品号= ( select 产品号from 产品where 产品名称= ' 德国奶酪' )))))

--8. 查询有德国奶酪订购需求的订单名细记录。

select * from 订单明细where (数量!=null and 产品号=(select 产品号from 产品where 产品名称= '德国奶酪'))

--9. 查询所有订购数量(即订单名细中每个订购项目的数量)都在个以上的订购单的信息。

select * from 订单where (订单号in (select 订单号from 订单明细where (数量>10)))

--10. 找出和德国奶酪同等价位的所有产品信息。

select * from 产品where (

--11. 查询单价范围在元到元范围内的产品信息(使用BETWEEN…AND)。

select * from 产品where (单价between 10 and 30)

--12. 从客户表中查询出客户名称中有“公司”二字的客户信息(使用LIKE运算符)

select * from 客户where 客户名称like '%公司%'

--13. 从客户表中查询出客户名称中没有“公司”二字的客户信息(使用NOT LIKE运算符)。

select * from 客户where 客户名称not like '%公司%'

--14. 按产品的单价升序列出全部产品信息。

select *from 产品order by 单价

--15. 先按产品名称排序,再按单价排序列出全部产品信息。

select * from 产品order by 产品名称,单价

--16. 从产品表中查询共有几种产品。

select count ( distinct 产品名称) as 产品总数from 产品

--17. 从订购名细表中查询德国奶酪的订购总数

select sum (数量) as '订购奶酪数量'

from 订单明细

where 产品号in(select 产品号from 产品where 产品名称='德国奶酪')

--18. 计算德国奶酪所有订购的总金额

declare @a money

select @a=(select 单价from 产品where 产品名称='德国奶酪')

declare @b int

select @b=(select sum (数量) as '订购奶酪数量'

from 订单明细

where 产品号in(select 产品号from 产品where 产品名称='德国奶酪'))

declare @c int

select @c=@a*@b

select @c as 总金额

--19. 求所有订购单的平均金额,在查询结果中列出订购单的个数和平均金额。

select 订单均值= avg(单价*数量) ,订单个数=count ( 订单号)

from 订单明细,产品

where 产品.产品号=订单明细.产品号

--20. 求每个订购单订购的项目数和总金额。

select 订单号, count (产品.产品号) as 项目数,sum(数量*单价) as 总金额

from 产品,订单明细

where (产品.产品号=订单明细.产品号)

group by 订单号

--21.求每个客户包含了德国奶酪订购的订单号及其最高金额和最低金额

select 客户.客户号,产品.产品号,数量*单价as 总金额

from 客户,订单,订单明细,产品

where 客户.客户号=订单.客户号and 订单.订单号=订单明细.订单号and 订单明细.产品号=产品.产品号and

产品名称='德国奶酪'

order by 客户号

compute max(数量*单价),min (数量*单价) by 客户号

--22.求至少有两个订购项目的订购单的平均金额

select 订单号,avg(数量*单价),count(产品.产品号)

from 订单明细,产品

where 订单明细.产品号=产品.产品号

group by 订单号

having count(产品.产品号)>=2

--23.找出尚未最后确定订购单(即订购日期为空值的记录)的有关客户信息

-- (客户的名称、联系人和电话号码)和订单号

select 客户名称,联系人,电话,订单明细.订单号

from 客户, 订单明细,订单

where(客户.客户号= 订单.客户号) and 订购日期=null

--24.找出在年月日之后签订的订购单的客户信息

--(客户的名称、联系人和电话号码)、订单号和订购日期

select 客户名称,联系人,电话,订单号,订购日期

from 客户,订单

where 客户.客户号=订单.客户号

and year(订购日期)>1996 and month(订购日期)>4 and day(订购日期)>2

--25.列出每类产品(相同名称)具有最高单价的产品信息

--(产品号、名称、规格说明和单价,提示:使用内外层互相关嵌套查询)

select A.产品号, A.产品名称, A.规格说明, A.单价

from 产品A

where 单价= (SELECT MAX(单价)

FROM 产品B

WHERE A.规格说明= B.规格说明)

--26.确定哪些客户目前没有订购单(使用谓词NOT EXISTS)

select *

from 客户

where not exists (select* from 订单where 客户号=订单.客户号)

--27.查询目前有订购单的客户的信息(使用谓词EXISTS)

select *

from 客户

where exists (select* from 订单where 客户号=订单.客户号)

--28.查询符合条件的产品信息,要求该产品的单价达到了任

--意一款产品名称为牛奶的单价的一半(使用ANY或SOME量词)

select *

from 产品a

where(单价>any(select 单价/2 from 产品b where b.产品名称='牛奶'))

--29.查询符合条件的产品信息,要求该产品的单价大于任何

--一款产品名称为牛奶的单价(使用ALL量词)

select *

from 产品a

where(单价>all(select 单价from 产品b where b.产品名称='牛奶'))

--30.设计如下的连接 *** 作,并分析各自的特点:

--•广义笛卡儿积

SELECT *

FROM 客户CROSS JOIN 订购单

WHERE 客户.客户号= 订购单.客户号

--•内连接

SELECT *

FROM 客户INNER JOIN 订购单

ON 客户.客户号= 订购单.客户号

--•外连接

--•左连接

SELECT *

FROM 客户LEFT JOIN 订购单

ON 客户.客户号= 订购单.客户号

--•右连接

SELECT *

FROM 客户RIGHT JOIN 订购单

ON 客户.客户号= 订购单.客户号

--•全连接

SELECT *

FROM 客户FULL JOIN 订购单

ON 客户.客户号= 订购单.客户号

说明:

1. 上机报告上传到211.68.36.251的数据库文件夹中的上传目录

2. 文件名的命名规则为:学号+姓名+实验+序号。如:9724101汪伟的第二次上机报告名为:9724101汪伟实验2

3. 封面由学生填写;

4. 正文的实验名称、实验目的、实验内容、实验要求已经由教师指定;

5. 实验准备由学生在实验或上机之前填写;

6. 实验过程由学生记录实验的过程,包括 *** 作过程、遇到哪些问题以及如何解决等;

7. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;

8. 将相关的语句粘贴到附录中。

你自己改改吧。想要word原版的话再说一声。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6920277.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-30
下一篇2023-03-30

发表评论

登录后才能评论

评论列表(0条)

    保存