数据库实验 王珊演示教学

合集下载

王珊数据库原理6

王珊数据库原理6

– 设计人员缺少用户的专业知识,不易理解用 户的真正需求,甚至误解用户的需求。
– 新的硬件、软件技术的出现也会使用户需求 发生变化。
需求分析的难点(续)
解决方法
– 设计人员必须采用有效的方法,与用户不断 深入地进行交流,才能逐步得以确定用户的 实际需求
6.2 需求分析
6.2.1 需求分析的任务
需求分析的重点(续)
处理要求
– 对处理功能的要求 – 对处理的响应时间的要求 – 对处理方式的要求(批处理 / 联机处理)
新系统的功能必须能够满足用户的信息要求、
处理要求、安全性与完整性要求。
三、需求分析的难点
确定用户最终需求的难点
– 用户缺少计算机知识,开始时无法确定计算 机究竟能为自己做什么,不能做什么,因此 无法一下子准确地表达自己的需求,他们所 提出的需求往往不断地变化。
其中学生管理子系统开发小组通过进行进一步的需求 调查,明确了该子系统的主要功能是进行学籍管理和 课程管理,包括学生报到、入学、毕业的管理,学生 上课情况的管理。通过详细的信息流程分析和数据收 集后,他们生成了该子系统的数据流图。
6.2 需求分析
6.2.1 需求分析的任务
6.2.2 需求分析的方法 6.2.3 数据字典
处理过程(续)
数据存储“学生登记表”可如下描述: 数据存储: 学生登记表 说明: 记录学生的基本情况 流入数据流:…… 流出数据流:…… 组成: …… 数据量: 每年3000张 存取方式: 随机存取
处理过程(续)
– 各个部门输入和使用什么数据
– 如何加工处理这些数据
– 输出什么信息
– 输出到什么部门
– 输出结果的格式是什么
调查与初步分析用户需求(续)

王珊数据库原理4

王珊数据库原理4
关系数据库中的关系必须满足一定的要求。满
足不同程度要求的为不同范式。 范式的种类:
第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF)
范式(续)
各种范式之间存在联系: 1NF 2 NF 3NF BCNF 4 NF 5 NF
解决方法:通过分解关系模式来消除其中不合适 的数据依赖。
数据依赖对关系模式的影响(续)
规范化理论正是用来改造关系模式,通
过分解关系模式来消除其中不合适的数
据依赖,以解决插入异常、删除异常、
更新异常和数据冗余问题。
5.1 数据依赖
5.1.1 关系模式中的数据依赖
5.1.2 数据依赖对关系模式的影响 5.1.3 有关概念
某一关系模式R为第n范式,可简记
为R∈nNF。
4.2 范式
4.2.1 第一范式(1NF) 4.2.2 第二范式(2NF) 4.2.3 第三范式(3NF) 4.2.4 BC范式(BCNF) 4.2.5 多值依赖与第四范式(4NF)
4.2.1 第一范式(1NF)
1NF的定义
定义5.6 如果一个关系模式R的所有属性都是 不可分的基本数据项,则R∈1NF。
二R(U)中,对于U的子集 X和Y,如果X→Y,但Y X,则称 X→Y是非平凡的函数依赖。若X→Y, 但Y X则称X→Y是平凡的函数依赖。
例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno
数据依赖对关系模式的影响(续)
⒊ 插入异常(Insertion Anomalies) – 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无 法把这个系及其系主任的信息存入数据库。

6 数据库设计-数据库系统原理教程-王珊-清华大学出版社

6 数据库设计-数据库系统原理教程-王珊-清华大学出版社
– 数据库应用系统经过试运行后即可投入正式 运行。
– 在数据库系统运行过程中必须不断地对其进 行评价、调整与修改。
数据库设计的过程(续)
设计一个完善的数据库应用系统往往是 上述六个阶段的不断反复。
P184图6-1
第6章 数据库设计
6.1 数据库设计的步骤 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 数据库的物理设计 6.6 数据库实施 6.7 数据库运行与维护
第6章 数据库设计
6.1 数据库设计的步骤 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 数据库的物理设计 6.6 数据库实施 6.7 数据库运行与维护
第6章 数据库设计
6.1 数据库设计的步骤 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 数据库的物理设计 6.6 数据库实施 6.7 数据库运行与维护
调查与初步分析用户需求(续)
⑶ 在熟悉业务活动的基础上,协助用户明确对 新系统的各种要求。调查重点之二。
– 信息要求 – 处理要求 – 完全性与完整性要求
调查与初步分析用户需求(续)
⑷ 对前面调查的结果进行初步分析 – 确定新系统的边界
• 确定哪些功能由计算机完成或将来准备让计算机 完成
• 确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。
6.2 需求分析
6.2.1 需求分析的任务 6.2.2 需求分析的方法 6.2.3 数需要与要 求
– 需求分析是设计数据库的起点 – 需求分析的结果是否准确地反映了用户的实
际要求,将直接影响到后面各个阶段的设计, 并影响到设计结果是否合理和实用
6.2 需求分析
在此基础上确定新系统的功能。新系统 必须充分考虑今后可能的扩充和改变, 不能仅仅按当前应用需求来设计数据库

数据库系统概论王珊第5版PPT第3章(3)

数据库系统概论王珊第5版PPT第3章(3)

An Introduction to Database System
修改数据(续)
关系数据库管理系统在执行修改语句时会检查修
改操作是否破坏表上已定义的完整性规则
实体完整性 主码不允许修改 用户定义的完整性
NOT NULL约束
UNIQUE约束
值域约束
An Introduction to Database System
表3.8 逻辑运算符真值表
x
y
x AND y
x
OR
y
NOT
x
T
T T U U U F F
T
U F T U F T U
T
U F U U F F F
T
T T T U U T U
F
F F U U U T T
F
F
F
F
T
T表示TRUE,F表示FALSE,U表示UNKNOWN
An Introduction to Database System
UPDATE Student SET Sage= Sage+1;
An Introduction to Database System
3. 带子查询的修改语句
[例3.75] 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE Sno IN (SELETE Sno FROM Student WHERE Sdept= 'CS' );
3.4 数据查询
3.5 数据更新
3.6 空值的处理
3.7 视图
3.8 小结
An Introduction to Database System
3.5 数据更新

《 数据库系统概论》王珊(第五版)第4章 数据库安全性PPT演示课件

《 数据库系统概论》王珊(第五版)第4章 数据库安全性PPT演示课件
语义:将对指定操作对象的指定操作权限授予指定的用户
A
GRANT(续)
发出GRANT:
DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户
按受权限的用户 一个或多个具体用户 PUBLIC(全体用户)
A
WITH GRANT OPTION子句
WITH GRANT OPTION子句:
为计算机系统建立和采取的各种安全保护措施,以保 护计算机系统中的硬件、软件及数据,防止其因偶然 或恶意的原因使系统遭到破坏,数据遭到更改或泄露 等。
A
计算机系统的三类安全性问题(续) 三类计算机系统安全性问题
技术安全类 管理安全类 政策法律类
A
4.1 计算机安全性概论
4.1.1 计算机系统的三类安全性问题 4.1.2 安全标准简介
4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法
A
4.2.2 存取控制
存取控制机制组成
定义用户权限 合法权限检查
用户权限定义和合法权检查机制一起组成了 DBMS的安全子系统
A
WITH GRANT OPTION;
同样,U6还可以将此权限授予U7: [例7] GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。
A
传播权限(续)
下表是执行了[例1]到[例7]的语句后,学生-课程数据库 中的用户权限定义表
授权用户名 DBA DBA DBA DBA DBA DBA DBA DBA DBA U5 U6
安全级别
A1
B3 B2 B1 C2 C1 D

数据库系统概论(第四版)王珊Part_4

数据库系统概论(第四版)王珊Part_4
=100+20×100=2100
读数据时间=2100/20=105秒
不同的执行策略,考虑I/O时间
中间结果大小 = 1000*10000 = 107 元组)
(1千万条
写中间结果时间 = 10000000/10/20 = 50000秒 ②б
读数据时间 = 50000秒 ③П
总时间 =105+50000+50000秒 = 100105秒 = 27.8小时
4.2.1 查询优化概述
■ 查询优化的必要性 ■ 查询优化极大地影响RDBMS的性 能。 ■ 查询优化的可能性 ■ 关系数据语言的级别很高 , 使DBMS 可以从关系表达式中分析查询语义。
由DBMS进行查询优化的好处
■ 用户不必考虑如何最好地表达查询 以获 得较好的效率 ■ 系统可以比用户程序的优化做得更 好 (1) 优化器可以从数据字典中获取许多统计 信息, 而用户程序则难以获得这些信息
关系系统的分类 (续)
表式系统 (最小)关系系统
关系完备的系统 全关系系统
数据结构
表 表

数据操作 完整性
选择 、投影、 连接
第四章 关系系统及其查询优化
4.1 关系系统 4.2 关系系统的查询优化 4.3 小结
4.2 关系系统的查询优化
4.2.1 查询优化概述 4.2.2 查询优化的必要性 4.2.3 查询优化的一般准则 4.2.4 关系代数等价变换规则 4.2.5 关系代数表达式的优化算法 4.2.6 优化的一般步骤
假设4: 连接方法: 基于数据块的嵌套循环法
查询优化的必要性(续)
执行策略1
Q1 = П Sname (бStudent.Sno=SC.Sno ∧o="2" (Student×SC) ① Student×SC

数据库系统概论(王珊第四版)-第七章

数据库系统概论(王珊第四版)-第七章

返回用户征求
意见直至满意

抽象


数据


设计


局部

视图
逻 辑 结 构 设 计
分E-R图
总E-R图
7.3.3 数据抽象与局部视图设计
一、数据抽象
1. 分类 定义某一类概念作为现实世界中一组对象的类型; 这些对象具有某些共同的特性和行为; 它抽象了对象值和型之间的“is member of”的语义; 在E-R模型中,实体型就是这种抽象.
SA方法把任何一个系统抽象为如下形式。
数据存储
信息要求
数据流
数据流
数据来源
处理
数据输出
处理要求
三、数据流图(DFD, Data Flow Diagram)
描述数据在系统中流动和变换的过程,表达了数据和处理 过程的关系;以图形的方式刻画数据从输入到输出的移动变换 过程; 数据流程分析的主要工具;系统分析人员与用户进行交流的 手段和系统设计的主要依据之一
二、局部视图设计
设计分E-R图的具体步骤:
1)选择局部应用
选择一个适当层次的数据流图,图中每一部分对应一个局 部应用.
2)逐一设计分E-R图
标定局部应用中的实体、实体的属性、标识实体的码,确 定实体之间的联系及其类型,并进行必要的调整。
课程管理局部应用分E-R图
在课程管理局部应用中主要涉及实体的属性: 学生:{姓名,学号,性别,年龄,所在系,年级,平均成 绩} 课程:{课程号,课程名,学分} 教师:{职工号,姓名,性别,职称} 教科书:{书号,书名,价钱} 教室:{教室编号,地址,容量}
7.1.3 数据库设计的基本步骤
一、数据库设计的准备工作

数据库系统概论王珊第5版PPT第2章

数据库系统概论王珊第5版PPT第2章
04
数据字典用于描述数据库中各种对象的属性,如数据表、数据列、数 据类型等。
02
数据模型
数据模型的概念和组成
概念
数据模型是用来抽象表示现实世界中 数据和数据间关系的一种工具,它为 数据组织、存储、检索和使用提供了 统一的方法和框架。
组成
数据模型通常包括数据结构、数据操 作和数据约束三个部分。
概念模型
数据完整性有助于防止错误的数据输入和输出,从而确保应用程序和用户 能够信任数据库中的数据。
数据完整性约束条件
实体完整性 域完整性 参照完整性
用户定义的完整性
确保数据库中的每条记录都是唯一的,通常通过主键约束来实 现。
限制数据列中的数据类型、格式和范围,通常通过数据类型、 约束和检查约束来实现。
维护表之间的关系,确保引用数据的准确性和一致性,通常通 过外键约束来实现。
数据组织方式
层次结构
数据按照树形结构进行组织,类似于文件系统的目录结构,适合 于表示具有层次关系的数据。
网状结构
数据之间存在复杂的链接关系,类似于早期的数据库系统中的记录 指针,适用于表示复杂的数据关系。
关系结构
数据以表格的形式进行组织,每个表格包含若干行和列,适用于表 示具有明确关系的数据。
数据字典
数据存储方式
01
02
03
磁盘存储
利用磁盘阵列技术,将数 据分散存储在多个磁盘中, 以提高数据存储的可靠性 和访问性能。
内存存储
将数据存储在内存中,实 现快速的数据读写访问, 适用于需要高性能的应用 场景。
分布式存储
将数据分散存储在多个节 点上,以提高数据存储的 可扩展性和容错性,适用 于大规模数据存储场景。
数据库系统概论王珊 第5版ppt第2章
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验内容和时间安排1 时间安排2 实验内容实验0 SQL语句练习[实验时数] 2 学时该实验以SQL Server 2000系统自带的pubs 数据库为例,以一个图书出版公司为模型。

(1)该系统中数据库基本表如下:Authors:1 au_id CHECK 约束定义为(au_id LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]')。

2 zip CHECK 约束定义为(zip LIKE '[0-9][0-9][0-9][0-9][0-9]')。

============================discountsEmployee(emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]') OR(emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')。

============================Jobs(2) max_lvl CHECK 约束定义为(max_lvl <= 250)。

============================pub_infoPublishers(pub_id = '1756' OR (pub_id = '1622' OR (pub_id = '0877' OR (pub_id = '0736' OR (pub_id = '1389')))) OR (pub_id LIKE '99[0-9][0-0]')。

============================royschedSalestitlesStorestitleauthor(2)练习内容目的1:1.加深对表间关系的理解。

2.理解数据库中数据的查询方法和应用。

3.学会各种查询的异同及相互之间的转换方法。

内容1:1.查询所有作者的作者号、姓名信息2.查询所有作者的姓名、作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”,表明显示的信息是身份证信息3.查询在CA州的作者姓名和城市4.查询出版日期在2002.1.1-2002.12.31之间的书名和出版日期5.查询每个出版社出版的书6.查询某店销售某书的数量7.查询有销售记录的所有书信息,包括书的编号、书名、类型和价格8.查询已销售书的信息9.显示所有的书名(无销售记录的书也包括在内)10.查询已销售书的信息(书号、书名、作者等)11.查询所有出版商业(business)书籍的出版社的名称目的2:1.理解数据库中数据的其他查询方法和应用;2.学会各种查询要求的实现。

内容2:在实验1的基础上,练习查询语句的使用,包括计算列、求和、最大、最小值、各类选择条件、字符匹配、分组和排序,体会各种查询的执行过程,为简单综合应用打下良好的基础。

1.查询书名以T开头或者出版社号为0877,而且价格大于16的书的信息。

2.按照类型的升序和价格的降序(在类型相同时)显示书的信息(书名、作者、出版社、类型、价格)3.查询销售量大于30的书名及销售数量4.查询在2002.1.1到2002.10.31间,每本书的销售总额5.查询所有作者的所在城市和州名,要求没有重复信息6.计算多少种书已被订价7.查询每本书的书名、作者及它的售书总量8.计算所有书的平均价格9.查询价格最高的书的书名、作者及价格目的3:1.加深对数据库相关性质的理解;2.各种约束性理解;3.学会数据库中数据的更新的方法。

内容3:1.参照以上各表给出的主键、外键设置的设置要求,在自己创建的表中进行相应的设置。

2.向authors表中插入一行作者信息(具体值自定)3.数量超过100的商店增加10%的折扣4.删除2001.10.3的订单5.删除1中所建立的索引6.建立CA州作者所著书的视图(包括作者号、姓名、所在州、书名、价格、出版日期)7.建立付款方式是现金(cash)的订单视图8.建立CA州的所有商店的视图实验一数据定义和数据更新[实验目的]1.熟悉SQL Server中建立数据库、数据表以及连接数据库的操作;2.掌握SQL Server中查询分析器的工作环境,以及在其中使用SQL的基本操作。

[实验时数] 2 学时[实验内容]1.创建表、确定表的主码和约束条件,为主码创建索引。

2.查看和修改表结构。

3.熟悉SQL Server企业管理器和查询分析器工具的使用方法[实验步骤]1.基本操作实验●在企业管理器中查看已经建立的数据库的属性。

●通过企业管理器,在已有的数据库中建立图书、读者和借阅3个表,其结构为:➢图书(书号,类别,出版社,作者,书名,定价,作者);➢读者(编号,姓名,单位,性别,电话);➢借阅(书号,读者编号,借阅日期)。

要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。

●在企业管理器中建立图书、读者和借阅3个表的表级约束:每个表的主码约束;借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的惟一性约束;实现读者性别只能是“男”或“女”的Check(检查)约束。

2.提高操作实验●用SQL建立学生—课程库操作,在SQL Server企业管理器中实现。

表结构为:➢学生(学号,姓名,年龄,性别,所在系);➢课程(课程号,课程名,先行课);➢选课(学号,课程号,成绩)。

要求:➢建表和建立表间联系。

➢选择合适的数据类型。

➢定义必要的索引、列级约束和表级约束。

●将设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。

[实验方法]1.创建数据库(因为各个用户已经建立以自己学号为名称的数据库,该步可以省略。

以下的数据库一律指该数据库,用户不必再次重复创建。

)(1)使用企业管理器创建数据库的步骤1)进入SQL Server 2000企业管理器。

2)选中需要在其上创建数据库的服务器,单击前面的“+”号,使其展示为树形目录。

3)选中“数据库”文件夹,单击右键,选择“新建数据库”,如图5- 1所示。

随后在数据库属性对话框的常规页面中,输人数据库名,选择SQL服务器,如图5-2所示。

图5- 1在数据库的弹出菜单中选择新建数据库图5- 2 数据库属性对话框数据库属性对话框中有3个页面:常规页面、数据文件页面和事务日志页面。

数据文件页面和事务日志页面主要用来定义数据库的数据文件和日志文件的属性。

4)选择数据文件页面,输入图书----读者数据库的数据文件属性,包括文件名、存放位置和文件属性,如图5- 错误!未定义书签。

所示;再选择事务日志页面,输人数据库的日志文件属性,包括文件名、存放位置、大小和文件属性,如图5-4所示。

在选择文件位置时,可以单击位于“位置”列的“…”按键,在调出的文件选择器中进行位置选择。

5)单击[确定]按钮,关闭对话框。

在企业管理器窗口中出现“图书----读者”数据库标志,这表明建库工作已经完成。

(2)文件属性参数说明文件属性栏设在页面的下部,它包括下列选项:图5- 错误!未定义书签。

数据库属性对话框中的数据文件页面图5- 错误!未定义书签。

数据库属性对话框中的事务日志页面1)文件自动增长复选框:选中后允许文件放满数据时自动增长。

2)文件增长单选框:设置允许文件自动增长时,每次文件增长的大小。

其中,选“按兆字节”项为设置文件增长为固定的大小,单位是MB;选“按百分比”项为文件按指定比例数增长,单位是%。

3)最大文件大小单选框:设置当允许文件扩展时,数据文件能够增长的最大值。

选“文件增长不受限制”项可使文件无限增长,直到用完磁盘空间;选“将文件增长限制为”项时,要设置文件最多达到的固定值。

2.查看和修改数据库属性参数已经建好的数据库,有时还需要对它的属性参数进行查看和修改。

下面我们分两步介绍:先介绍查看和修改数据库属性的步骤,再介绍数据库有关的参数及其含义。

(1)查看和修改数据库属性的步骤1)启动企业管理器,使数据库所在的服务器展开为树形目录。

2)选中数据库文件夹,使之展开;用鼠标右键单击指定的数据库标识,在弹出的菜单中选择“属性”项,如图5- 5所示。

出现数据库属性对话框,如图5-6所示。

图5- 错误!未定义书签。

在企业管理器中选择数据库的“属性”项图5- 错误!未定义书签。

数据库属性对话框中的选项页面从该对话框中可以看出,它由6个选项卡构成,与图5-2不同的是增加了文件组、选项和权限页面。

其中:文件组页面用于设置数据库的文件组,其概念在前面已经介绍过;权限页面用来设置用户对该数据库的访问权限,有关选项页面内容在下面介绍。

3)在选项卡中查看或修改相应的内容,单击[确定]按钮关闭对话框。

(2)选项页面中的数据库属性参数“选项”页面如图5-6所示。

“选项”页面分访问、故障还原、设置和兼容性4个栏目。

1)访问栏目。

访问栏用来设置数据库的操作许可。

限制访问复选框:选择后,限制用户访问数据库。

db owner,dbcreater或sysadmin成员:只能由数据库拥有者(创建者)使用数据库。

单用户:在同一时刻是否只允许一个用户使用该数据库。

只读:该数据库是否是只读的。

2)故障还原栏目。

设置故障还原模型。

3)设置栏目。

该栏目用来设置数据库在进行数据操作时的行为特征,它包括8个复选框,其含义比较容易理解。

3.删除数据库对于不需要的数据库,可以通过下面的方法删除:1)用鼠标右键单击要删除的数据库,在出现的弹出菜单中选择删除项。

2)在弹出的确认删除对话框中,单击[确认]按钮。

4.新建表在SQL Server 2000的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。

要建立“图书”表,先选中数据库中的表文件夹,单击鼠标右健。

在弹出的菜单中选择新建表,如图5- 错误!未定义书签。

所示。

随后的输入表结构对话框如图5-8所示。

图5- 错误!未定义书签。

数据库中的表文件夹的弹出菜单图5- 错误!未定义书签。

输入表结构对话框输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空4项。

用户把新建表的结构填入对话框的表中,表中的每一行定义新建表(图书)的一列,每一列定义新建表的一个列属性。

相关文档
最新文档