数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊
数据库系统概论(第四版)_王珊_萨师煊_chp3-2
自身连接(续)
FIRST表(Course表)
Cno 1 2 3 4 5 6 7 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 Cpno 5 1 6 7 Ccredit 4 2 4 3 4 2 4
An Introduction to Database System
外连接(续)
执行结果:
Student.Sno 200215121 200215121 200215121 200215122 200215122 200215123 200215125 Sname 李勇 李勇 李勇 刘晨 刘晨 王敏 张立 Ssex 男 男 男 女 女 女 男 Sage 20 20 20 19 19 18 19 Sdept CS CS CS CS CS MA IS Cno 1 2 3 2 3 NULL NULL Grade 92 85 88 90 80 NULL NULL
表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个
元组与该元组拼接起来,形成结果表中一个元组。 重复上述操作,直到表1中的全部元组都处理完毕
An Introduction to Database System
排序合并法(SORT-MERGE)
常用于=连接
首先按连接属性对表1和表2排序
An Introduction to Database System
3.4 数据查询
3.4.1 单表查询 3.4.2 连接查询 3.4.3 嵌套查询 3.4.4 集合查询 3.4.5 Select语句的一般形式
An Introduction to Database System
数据库系统概论(第四版)_王珊_萨师煊_chp1
设计与应用开发篇
第六章 关系数据理论(关系规范化) 第七章 数据库设计(ER模型,ER模型向关系模型转化) 第八章 数据库编程
An Introduction to Database Systems
内容安排(2)
系统篇
第九章 关系查询处理和查询优化 第十章 数据库恢复技术
An Introduction to Database Systems
数据结构化
整体数据的结构化是数据库的主要特征之 一 整体结构化
不再仅仅针对某一个应用,而是面向全组织 不仅数据内部结构化,整体是结构化的,数据之间具 有联系
An Introduction to Database Systems
入学时间
解释:李明是个大学生,1972年5月出生,江苏南京市人, 1990年考入计算机系
请给出另一个解释和语义
An Introduction to Database Systems
二、数据库
数据库的定义
数据库(Database,简称DB)是长期储存在计算机内、有 组织的、可共享的大量数据的集合。
日期 学校
家庭出身
学历名
学号 课程号 成绩 政治面貌 课程号 课程名 学时
籍贯
姓名 与本人关系 日期 奖惩条目
详细情况
数据库系统实现整体数据结构化
An Introduction to Database Systems
数据的共享性高,冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据 面向整个系统,可以被多个用户、多个应用共 享使用。 数据共享的好处
数据的独立性:独立性差,数据的逻辑结构改变必须
修改应用程序 数据控制能力:应用程序自己控制
数据库第四版答案(王珊 萨师煊)第11章 并发控制
数据库第四版答案数据库第四版答案((王珊萨师煊萨师煊))第11章并发控制1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据存储不正确的数据,,破坏数据库的一致性破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改答:并发操作带来的数据不一致性包括三类:丢失修改、、不可重复读和读可重复读和读““脏’夕数据。
(l )丢失修改丢失修改((lost update )两个事务Tl 和T2读入同一数据并修改,读入同一数据并修改,T2T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失的修改被丢失。
(2)不可重复读(Non 一Repeatable Read )不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl无法再现前一次读取结果无法再现前一次读取结果。
(3)读“脏”数据(Dirty Read )读“脏’夕数据是指事务Tl 修改某一数据修改某一数据,,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销由于某种原因被撤销,,这时Tl 已修改过的数据恢复原值已修改过的数据恢复原值,,几读到的数据就与数据库中的数据不一致中的数据不一致,,则几读到的数据就为则几读到的数据就为““脏”数据数据,,即不正确的数据确的数据。
避免不一致性的方法和技术就是并发控制避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术用的技术是封锁技术。
也可以用其他技术也可以用其他技术,,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3.什么是封锁?基本的封锁类型有几种?试述它们的含义。
王珊,萨师煊数据库系统概论(第4版王珊,萨师煊)完整课后习题答案
第1章绪论1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l)数据(Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500这个数字可以表示一件物品的价格是500元,也可以表示一个学术会议参加的人数有500人,还可以表示一袋奶粉重500克。
( 2)数据库(DataBase,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3)数据库系统(DataBas。
Sytem,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
(4)数据库管理系统(DataBase Management sytem,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS的厂商及其研制的DBMS产品很多。
著名的有美国IBM 公司的DBZ关系数据库管理系统和IMS层次数据库管理系统、美国Oracle公司的orade关系数据库管理系统、s油ase公司的s油ase关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
数据库系统概论(第四版)_王珊_萨师煊_chp5
《数据库系统概论》--电子系信息工程教研室
5.1.1 实体完整性定义
关系模型的实体完整性
CREATE TABLE中用PRIMARY KEY定义
单属性构成的码有两种说明方法
定义为列级约束条件 定义为表级约束条件
对多个属性构成的码只有一种说明方法
定义为表级约束条件
《数据库系统概论》--电子系信息工程教研室
3. 设置为空值(SET-NULL)
• 对于参照完整性,除了应该定义外码,还应定义外码列是否允 许空值
《数据库系统概论》--电子系信息工程教研室
违约处理(续)
[例4] 显式说明参照完整性的违约处理示例
CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*级联删除SC表中相应的元组*/ ON UPDATE CASCADE, /*级联更新SC表中相应的元组*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION /*当删除course 表中的元组造成了与SC表不一致时拒绝删除*/ ON UPDATE CASCADE /*当更新course表中的cno时,级联更新SC表中相应的元组*/ );
Location CHAR(10),
PRIMARY KEY (Deptno) );
《数据库系统概论》--电子系信息工程教研室
属性上的约束条件的定义(续)
3. 用CHECK短语指定列值应该满足的条件
数据库系统概论(第四版)_王珊_萨师煊_chp3-1
课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
Student表
学 号 Sno
姓 名 Sname
性 别 Ssex
年 龄 Sage
所在系 Sdept
200215121 200215122 200215123 200515125
李勇 刘晨 王敏 张立
查询教师的姓名、职称、应发工资
查询教师的姓名、职称、应发工资 π姓名,职称,应发工资(教师⋈工资)
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名 π课程名称,姓名,系名称(σ学分>3(系部⋈教师⋈ 授课⋈ 课程))
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 Select语句的一般形式
3.4.1 单表查询
查询仅涉及一个表:
一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句
一、 选择表中的若干列
查询指定列
男 女 女 男
20 19 18 19
CS CS MA IS
Course表
课程号 Cno
1 2 3 4 5 6 7
课程名 Cname
数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno
5 1 6 7 6
学分 Ccredit
4 2 4 3 4 2 4
SC表
学号 Sno
语言简洁,易学易用
SQL语言的动词非常少,主要包括:
数据库系统概论(第四版)王珊萨师煊chp3-2
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’%海淀区%’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05%’
排序合并法
找到表 1 的第二条元组,然后从刚才的中断点处继续顺
序扫描表2,查找满足连接条件的元组,找到后就将表1
中的第一个元组与该元组拼接起来,形成结果表中一个
元组。直接遇到表2中大于表1连接字段值的元组时,对 表2的查询不再继续 重复上述操作,直到表1或表2中的全部元组都处理完毕 为止
索引连接(INDEX-JOIN)
例:查询每门课程的选修情况,P79
查询每门课程的选修情况
SELECT Course.* , SC.* FROM Cours值与非等值连接查询 二、自身连接 三、外连接 四、复合条件连接
二、自身连接
自身连接:一个表与其自己进行连接
连接字段:连接谓词中的列名称
连接条件中的各连接字段类型必须是可比的,但名字不必是相同的
连接操作的执行过程
嵌套循环法(NESTED-LOOP)
首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找 满足连接件的元组,找到后就将表 1 中的第一个元组与该元组拼 接起来,形成结果表中一个元组。 表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描
数据库系统概论
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’海淀区’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05_’
数据库系统概论(第四版)_王珊 萨师煊_chp10
An Introduction to Database System
静态转储
在系统中无运行事务时进行的转储操作 转储开始时数据库处于一致性状态 转储期间不允许对数据库的任何存取、修改活动 得到的一定是一个数据一致性的副本 优点:实现简单 缺点:降低了数据库的可用性
转储必须等待正运行的用户事务结束 新的事务必须等转储结束
An Introduction to Database System
3. 隔离性
对并发执行而言 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离 的 并发执行的各个事务之间不能互相干扰
An Introduction to Database System
T1 ① 读A=16 ② ③ A←A-1 写回A=15 ④
An Introduction to Database System
一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
A A=A-1 B=B+1 B
这两个操作要么全做,要么全不做
• 全做或者全不做,数据库都处于一致性状态。 • 如果只做一个操作,数据库就处于不一致性状态。
数据转储(backup) 登录日志文件(logging)
2. 如何利用这些冗余数据实施数据库恢复
An Introduction to Database System
10.4.1 数据转储
一、什么是数据转储 二、转储方法
An Introduction to Database System
一、什么是数据转储
故障的种类
事务内部的故障 系统故障 介质故障 计算机病毒
An Introduction to Database System
数据库系统概论(第四版)_王珊萨师煊chp7-2
数据抽象
抽象是对实际的人、物、事和概念中抽取所 关心的共同特性,忽略非本质的细节,并把 这些特性用各种概念精确地加以描述。
概念结构是对现实世界的一种抽象
An Introduction to Database System
数据抽象(续)
三种常用抽象
1. 分类(Classification)
视图的集成(续)
逐步集成
用累加的方式一次集成两个分E-R图
An Introduction to Database System
视图的集成(续)
集成局部E-R图的步骤
1. 合并 2. 修改与重构
An Introduction to Database System
视图的集成(续)
An视图集成 to Database Introduction System
逐一设计分E-R图(续)
分E-R图的框架
An Introduction to Database System
逐一设计分E-R图(续)
参照第二层数据流图和数据字典,遵循两个准则,进
行如下调整:
(1) 订单与订单细节是1∶n的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联 系。 (3) 图7.21中“发票主清单”是一个数据存储,不必 作为实体加入分E-R图
概念结构(续)
描述概念模型的工具
E-R模型
An Introduction to Database System
7.3 概念结构设计
7.3.1 概念结构
7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成
An Introduction to Database System
数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊
目录实验一熟悉POWER DESIGNER (2)实验二SQL SERVER 2000的安装与使用5实验三创建数据库、表15实验四SQL SERVER2000查询分析器26实验五SQL语言的DDL34实验六SQL语言的DML初步36实验七DML的数据查询38实验八SQL语言综合练习42实验九嵌入式SQL错误!未定义书签。
实验十数据库设计错误!未定义书签。
实验一熟悉Power Designer一、实验目的1、掌握安装并破解PD的方法。
2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉PowerDesigner CDM及其相关知识。
3.掌握运用Power Designer工具建立CDM的方法。
4.初步掌握从Power Designer CDM生成相应的PDM的方法。
二、实验内容及实验步骤1、PD环境的介绍Power Designer的4种模型文件:(1) 概念数据模型(CDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。
一个概念模型经常包括在物理数据库中仍然不实现的数据对象。
它给运行计划或业务活动的数据一个正式表现方式。
(2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。
藉由PDM ,你考虑真实的物理实现的细节。
你能修正PDM 适合你的表现或物理约束。
(3)面向对象模型(OOM)一个OOM包含一系列包,类,接口, 和他们的关系。
这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。
一个OOM本质上是软件系统的一个静态的概念模型。
(4)业务程序模型(BPM)BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用2、创建CDM(以学生选课系统为例)(1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)每一条属性的M\P\D 分别代表:Mandatory(是否允许为空)Primary Identifier(标识符,类似于数据库中的主键)Displayed(是否显示在实体图表符号中)Domain 相当于自定义数据类型(4)创建实体间的联系“学生”和“教师”之间为多对多(m:n)关系,可将他们转化为两个一对多(1:m)关系(5)生成CDM3、将CDM转化为PDM实验二安装SQL Server 2000一、实验目的SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。
《数据库系统概论》实验指导书(修改)
数据库系统概论实验指导书编著:高峰安阳师范学院计算机与信息工程学院2009 年2 月实验内容介绍一、学时数:16 学时二、授课对象:计算机科学与技术专业、计算机网络专业、软件工程专业(本科)三、内容提要:1.本实验内容作为数据库系统概论的理论联系实际,培养增强学生动手能力,理解并掌握SQL语句的用法。
2.实验内容SQL SERVER2000软件的熟悉,数据的定义、查询、修改及控制。
3.实验要求以SQL SERVER2000作为基本的调试软件,并有前台的面向对象的开发工具。
四、考试方式:实验报告及成绩五、教材及参考书:1.《数据库系统概论》(第四版)萨师煊王珊高等教育出版社 2007.4出版2.《SQL语言应用》 Michael Morrison 北京大学出版社 2002.063.《Microsoft SQL Server 2000数据库管理》微软公司著北京希望电子出版社 2001.5出版实验一数据库的创建与管理【目的和要求】1.巩固数据库的基础知识;2.掌握创建数据库的两种方法;3.掌握如何查看、修改数据库属性的方法;4.掌握数据库的缩小、更名、与删除的方法。
【内容和步骤】一、创建数据库1.使用企业管理器直接创建数据库1)打开企业管理器。
2)右键单击数据库并选择【新建数据库】。
3)会弹出窗体如下图所示,在常规标签中输入数据库名称。
4)然后单击【数据文件】标签,可以输入文件名、文件位置、文件大小以及文件组。
在这个标签中还提供了让数据文件在数据需要更多空间时自动扩展的选项和数据文件大小的最大值。
5)单击【事务日志】标签,在此键入日志文件的名字、位置、大小。
在这个标签中还提供了让日志文件在日志需要更多空间时自动扩展选项和日志文件大小的最大值。
2.使用Transact-SQL语句创建数据库当我们无法用企业管理器创建生成一个大的数据库,或者用户想用Transact-SQL语句写一段程序自动的计划的生成几个数据库时,可以用Transact-SQL 语句向服务器请求创建数据库。
数据库系统概论(第四版)_王珊_萨师煊_chp6
An Introduction to Database System
什么是数据依赖(续)
2. 数据依赖
一个关系内部属性与属性之间的约束关系
现实世界属性间相互联系的抽象 数据内在的性质
语义的体现
An Introduction to Database System
An Introduction to Database System
6.2 规范化
6.2.1 函数依赖
6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF
6.2.9 规范化小结
An Introduction to Database System
6.2.1 函数依赖
函数依赖
平凡函数依赖与非平凡函数依赖
完全函数依赖与部分函数依赖
传递函数依赖
An Introduction to Database System
一、函数依赖
定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元 组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X
某一作品可被多个演奏者演奏
听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
An Introduction to Database System
外部码
定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但
X 是另一个关系模式的码,则称 X 是R 的外部码 (Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,Sno不是码,但 Sno是关系模式S(Sno,Sdept,Sage)的码,则
数据库系统概论(王珊_萨师煊)第一章
数据库的地位●数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。
●数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。
●数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。
●是学习动态网站课程的必不可少的知识;●在毕业设计、专升本考试、以后的工作中都能用到;一、数据(Data)是数据库中存储的基本对象●数据的定义描述事物的符号记录●数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等●数据的特点数据与其语义是不可分的●数据的含义称为数据的语义,数据与其语义是不可分的。
例如93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:某个年级的学生人数语义4:请同学给出。
●学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义二、数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
●数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展三、数据库管理系统●什么是DBMS位于用户与操作系统之间的一层数据管理软件。
是基础软件,是一个大型复杂的软件系统●DBMS的用途科学地组织和存储数据、高效地获取和维护数据DBMS的主要功能数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象数据组织、存储和管理分类组织、存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率数据操纵功能提供数据操纵语言(DML)实现对数据库的基本操作(查询、插入、删除和修改) DBMS的主要功能数据库的事务管理和运行管理数据库初始数据装载转换数据库转储介质故障恢复数据库的重组织性能监视分析等数据库的建立和维护功能(实用程序)数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复其它功能DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作四、数据库系统●什么是数据库系统(Database System,简称DBS)在计算机系统中引入数据库后的系统构成数据库系统。
数据库系统概论课后习题答案(王珊、萨师煊)
第2章关系数据库作者:佚名来源:网络1、试述关系模型的三个组成部分。
(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2、试述关系数据语言的特点和分类。
(47页)答:关系数据语言可以分为三类:A、关系代数语言。
B、关系演算语言:元组关系演算语言和域关系演算语言。
C、 SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
2、定义并理解下列术语,说明它们联系与区别:(P46---50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S 不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))(见P62页例6)6.试述等值连接与自然连接的区别和联系。
数据库系统概论(第四版)王珊、萨师煊第一章知识点
第一章绪论数据库系统概述数据、数据库、数据库管理系统、数据库系统数据(Data):数据库中存储的基本对象。
描述事物的符号记录成为数据。
数据的表现形式不能完全表达其内容,需要经过解释,数据和关于数据的解释(语义)是不可分的。
数据库(DB):严格地讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库数据具有三个特点:永久存储、有组织、可共享。
数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据主要功能:1.数据定义功能2.数据组织、存储和管理3.数据操纵功能4.数据库的事务管理和运行管理5.数据库的建立和维护功能6.其他功能(DBMS与网络中其他软件系统的通信功能;与另一个DBMS或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等)数据库系统(DBS):数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)构成。
数据库技术的产生和发展对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
数据管理技术经历了人工管理、文件系统、数据库系统3个阶段。
人工管理阶段:科学计算;无直接存取存储设备;没有操作系统;数据处理方式是批处理。
特点:数据不保存、应用程序管理数据、数据不共享、数据不具有独立性。
文件系统阶段:科学计算、数据管理;磁盘、磁鼓存取存储;有文件系统;数据处理方式是联机实时处理和批处理。
特点:数据可以长期保存、由文件系统管理数据、但仍然存在数据共享性差,冗余度大、数据独立性差的缺点。
数据库系统阶段:进行大规模数据管理;有了大容量磁盘、磁盘阵列;有数据库管理系统;数据处理方式有联机实时处理、分布处理、批处理。
数据库系统的特点数据库系统与人工管理和文件系统相比的特点有:1.数据结构化数据库系统实现整体数据的结构化,这是数据库系统与文件系统的本质区别。
《数据库系统概论》实验指导书
《数据库原理及应用》实验指导书杜献峰中原工学院计算机科学系软件教研室2007 06 15前言当前计算机专业的数据库实验教材种类繁多、内容可供选择的余地很大,然而,作为专业教学重要组成部分的实践环节却缺少必要的教材,致使实践教学内容的选择存在较大的随意性,教学过程难以控制和管理,教学质量得不到保证,最终将影响到整个专业的教学质量。
鉴于此,整理这本《数据库系统概论实验指导书》作为计算机科学与技术专业的数据库实践教学的依据,从而使实践教学管理有据可依,进而保证教学质量。
在安排实验的内容和学时的过程中,充分考虑到我校数据库教学的《实验教学大纲》以及学生可接受的程度。
在2006年修订的培养计划中,计算机相关专业的《数据库原理及应用》课程的实验学时更改为18个学时,加大了实践环节,更加注重学生的实际动手能力的培养。
为此对《数据库原理及应用》实验指导书每一学期都在进行修改,使其更加贴近教材,更加贴近实际。
由于萨师煊王珊编写的《数据库概论第四版》于2006年9月出版,与其第三版有了较大的改进,增加了不少内容,教材更加贴近实际,更加贴近应用,这次对实验指导书的修正也是基于此。
在执行的过程中,可能因本实验内容考虑不周,会出现一些需要改进的问题,届时,根据教学进度进行及时地修改。
第一章概述 (4)第二章实验要求及注意事项 (5)第三章实验项目 (6)实验一基本表的定义、删除与修改 (6)实验二 SQL语言应用 (10)实验三视图、索引及数据更新 (19)实验四数据库安全性控制 (23)实验五存储过程建立与调用 (25)实验六触发器的建立与使用 (26)实验七数据库连接与登陆 (27)实验八 Delphi数据库组件的使用 (29)实验九数据库数据查询 (30)实验十数据库并发控制 (32)实验十一数据库报表设计 (33)实验十二数据库数据备份与恢复 (34)实验十三数据库决策方设计 (35)实验十四综合应用编程(一) (36)实验十五综合应用编程(二) (37)第四章实验项目涉及的主要仪器设备简介 (38)第五章参考文献 (39)第一章概述数据库实践教学是数据库教学的重要组成部分,该课程强调学生的实践动手能力,是学生毕业设计以及参加工作后都要用到得课程知识,是学生必须掌握的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录实验一熟悉POWER DESIGNER (2)实验二SQL SERVER 2000的安装与使用 (6)实验三创建数据库、表 (17)实验四SQL SERVER2000查询分析器 (29)实验五SQL语言的DDL (38)实验六SQL语言的DML初步 (40)实验七DML的数据查询 (43)实验八SQL语言综合练习 (48)实验九嵌入式SQL ...................... 错误!未定义书签。
实验十数据库设计....................... 错误!未定义书签。
实验一熟悉Power Designer一、实验目的1、掌握安装并破解PD的方法。
2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉PowerDesigner CDM及其相关知识。
3.掌握运用Power Designer工具建立CDM的方法。
4.初步掌握从Power Designer CDM生成相应的PDM的方法。
二、实验内容及实验步骤1、PD环境的介绍Power Designer的4种模型文件:(1) 概念数据模型(CDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。
一个概念模型经常包括在物理数据库中仍然不实现的数据对象。
它给运行计划或业务活动的数据一个正式表现方式。
(2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。
藉由PDM ,你考虑真实的物理实现的细节。
你能修正PDM 适合你的表现或物理约束。
(3)面向对象模型(OOM)一个OOM包含一系列包,类,接口, 和他们的关系。
这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。
一个OOM本质上是软件系统的一个静态的概念模型。
(4)业务程序模型(BPM)BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用2、创建CDM(以学生选课系统为例)(1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)每一条属性的M\P\D 分别代表:Mandatory(是否允许为空)Primary Identifier(标识符,类似于数据库中的主键)Displayed(是否显示在实体图表符号中)Domain 相当于自定义数据类型(4)创建实体间的联系“学生”和“教师”之间为多对多(m:n)关系,可将他们转化为两个一对多(1:m)关系(5)生成CDM3、将CDM转化为PDM实验二安装SQL Server 2000一、实验目的SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。
本次实验了解SQL Server 2000的安装过程,熟悉SQL Server 2000软件环境。
学会安装SQL Server 2000的安装。
二、实验内容1.安装Microsoft的数据库服务软件SQL Server 2000:运行服务器目录SQL2000下的可执行文件autorun.exe,进行SQL Server 2000的安装。
安装主界面如图1-1所示。
图1-1选择安装SQL Server 2000组件,出现组件安装界面,如图1-2所示。
图1-2选择安装数据库服务器,进入SQL Server 2000的安装向导,如图1-3所示。
图1-3点击“下一步”,到计算机名称对话框,如图1-4所示。
图1-4“本地计算机”是默认选项,本地计算机的名称就显示在上面,点击“下一步”,出现安装选择对话框,如图1-5所示。
图1-5选择“创建新的SQL Server实例,或安装客户端工具”,点击“下一步”,出现用户信息对话框,如图1-6所示。
图1-6输入姓名和公司名称后,点击“下一步”,出现软件许可协议,如图1-7所示。
图1-7点“是”按钮,出现安装定义对话框,如图1-8所示。
图1-8选择“服务器和客户端工具”,点击下一步,出现实例名对话框,如图1-9所示。
图1-9系统提供了“默认”复选框,点击下一步,出现安装类型选择框,如图1-10所示。
图1-10选择典型,点击“下一步”,出现服务帐户对话框,如图1-11所示。
图1-11接受系统的缺省值,点击“下一步”,出现身份验证模式窗口,如图1-12所示。
图1-12接受系统的缺省值,点击“下一步”,出现开始拷贝文件窗口,如图1-13所示。
图1-13点击“下一步”,开始将文件拷贝到选择的目录中,如图1-14所示。
图1-14文件拷贝完成后,出现安装结束界面,如图1-15所示。
图1-15点击“完成”按钮,完成SQL Server 2000的安装。
三、实验任务1.在计算机上安装数据库软件SQL Server 2000;2.熟悉软件的使用,SQL Server 2000主菜单如图1-16所示:图1-16实验三启动SQL Server2000和建库、表一、实验目的SQL Server 2000的启动和管理工作由服务管理器和企业管理器来实现。
本次实验了解SQL Server 2000的启动,熟悉如何在SQL Server 2000图形环境下建立数据库和表。
学会安装SQL Server 2000的启动和建库、表的操作。
二、实验内容1.启动数据库服务软件SQL Server 2000:在程序菜单中选择Microsoft SQL Server,如图2-1所示:图2-1再选中服务管理器,如图2-2所示:图2-2点击服务管理器后,出现SQL Server服务管理器,如图2-3所示:图2-3点击“开始/继续”按钮,启动SQL Server 2000数据库服务。
启动成功后,在时钟旁边出现一个符号,如图2-4所示。
图2-42.在SQL Server 2000中建立数据库:在程序菜单中选择Microsoft SQL Server,如图2-5所示:图2-5再选中企业管理器,如图2-6所示:图2-6点击企业管理器后,出现企业管理器的主界面,如图2-7所示:图2-7点击左边树状控制栏的+/-号可以打开和关闭SQL Server组中的本地服务项目,在选中数据库服务项目后,单击鼠标右键,出现数据库的菜单,如图2-8所示:图2-8点击新建数据库,出现新建数据库窗口,如图2-9所示:图2-9输入数据库名称:Test,点击数据文件选项卡,如图2-10所示:图2-10在数据文件中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。
完成后点击事务日志选项卡,如图2-11所示:图2-11事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。
接受系统的缺省值,点击确定按钮,完成数据库的新建,如图2-12所示。
图2-123.在Test数据库上建立表:点击数据库Test前面的+号,打开数据库的各种属性,如图2-13所示:图2-13选中表的属性,单击鼠标右键,出现表的菜单,如图2-14所示:图2-14点击新建表按钮,出现新建表窗口,如图2-15所示:图2-15输入列名,数据类型,长度等信息,点击图标,出现选择表名窗口,如图2-16所示:图2-16输入表名,点击确定按钮,将新建的表存盘。
三、实验任务1.用数据库SQL Server 2000的服务管理器启动数据库服务;2.用数据库SQL Server 2000的企业管理器建立一个数据文件名为demodata、大小50M,日志文件名为demolog、大小25M的新数据库,该数据库名为Demo。
3.在数据库Demo上,建立如下所示的表customer:实验四SQL Server2000查询分析器一、实验目的SQL Server 2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。
本次实验了解SQL Server 2000查询分析器的启动,熟悉如何在SQL Server 2000查询分析器中建表、插入记录、查询记录。
学会SQL Server 2000的查询分析器中建表、插入记录、查询记录。
二、实验内容1.启动数据库服务软件SQL Server 2000的查询分析器:在程序菜单中选择Microsoft SQL Server,如图3-1所示:图3-1再选中查询分析器,如图3-2所示:图3-2点击查询分析器后,出现连接到SQL Server窗口,如图3-3所示:图3-3点击按钮,出现选择服务器窗口,如图3-4所示。
图3-4选择本地服务(Local),点击确定按钮。
再点击连接到SQL Server窗口的确定按钮。
出现SQL查询分析器主界面,如图3-5所示。
图3-5选择查询菜单,点击更改数据库,如图3-6所示。
图3-6出现选择数据库窗口,如图3-7所示。
图3-7选择在上次实验中建立的数据库Test,点确定按钮。
2.在查询分析器中建立表:在查询分析器的查询窗口中输入SQL语句,如图3-8所示。
图3-8点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-9所示。
图3-9提示命令成功完成,或者报告出错信息。
3.查询分析器中向表添加数据:在查询分析器的查询窗口中输入SQL语句,如图3-10所示。
图3-10点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-11所示。
图3-111.从表中查询数据:在查询分析器的查询窗口中输入SQL语句,如图3-12所示。
图3-12点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-13所示。
图3-13三、实验任务1.打开数据库SQL Server 2000的查询分析器,用SQL语言建表2.用SQL语言向表student插入如下6条记录:3.练习查询语句,查找年龄大于等于20岁,成绩低于500分的记录。
实验五SQL语言的DDL一、实验目的SQL(Structured Query Language)语言是关系数据库的标准语言。
是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
从本次实验开始,我们将详细的学习SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。
本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQL Server 2000的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。