第9章 数据库应用
数据库原理及应用(第2版)--课后习题参考答案

9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层 数据模型应满足的要求的是 A A.能够描述并发数据 B.能够真实地模拟现实世界 C.容易被业务人员理解 D.能够方便地在计算机上实现 10.数据模型三要素是指 B
3
·4·
A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 11.下列关于实体联系模型中联系的说法,错误的是 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关 D.一个联系也可以不与任何实体有关 D
·1·
第 1 章 数据概述
一.选择题 1.下列关于数据库管理系统的说法,错误的是 C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是 D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数 据的效率 3.下列说法中,不属于数据库管理系统特征的是 C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是 A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指 D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作 系统之间,属于 A A.系统软件 B.工具软件 C.应用软件 D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 B D
第9章 SQL Server数据库应用开发技术

返回目录
9.1 用户定义函数
9.1.1 用户定义函数的概念及分类
在SQL Server 中使用用户定义函数有以下优点: (1)允许模块化程序设计 函数存储在数据库中,只需创建一次,以后便可以在程序中调 用任意次。用户定义函数可以独立于程序源代码进行修改。 (2)执行速度更快 T-SQL 用户定义函数通过缓存计划并在重复执行时重用它来降 低 T-SQL 代码的编译开销。因此每次使用用户定义函数时均无须 重新解析和重新优化,从而缩短了执行时间。 (3)减少网络流量 某些约束比较复杂,无法用单一标量的表达式表示,此时可以 表示为函数,在 WHERE 子句中调用,以减少发送至客户端的数据 量。
9.1 用户定义函数
9.1.6 删除用户定义函数
1.用T_SQL语句删除用户定义函数 语法格式:DROP FUNCTION 函数名[ ,...n ] 【例9.10】将自定义函数“某专业男女比例”删除。 2.用SQL Server Management Studio删除自定义函数 用SQL Server Management Studio删除自定义函数的方法和查看 函数信息的方法类似,只需在第4步中函数名上单击右键时,在快捷 菜单中选择“删除”命令,并在弹出的“删除对象”窗口中选择“确 定”按钮。
1.创建标量值用户定义函数 (2)用SQL Server Management Studio创建 1)打开SQL Server Management Studio; 2)在对象资源管理器中展开要建创建用户定义函数的数据库; 3)依次展开数据库下“可编程性”、“函数”、“标量值函 数”; 4)在“标量值函数”结点上单击右键,选择“新建标量值函 数”; 5) 在随后打开的通用模板中已经给出了创建标量值函数所需的 语句的基本格式。修改其中的语句为需要的语句; 6)单击“分析”按钮,检查语法是否正确; 7)单击 “执行”按钮,执行代码。 返回目录
PB提供了许多维护系统安全性的功能,其中很重要的一点是可采用(精)

//或设置缺省用户
7
第9章 数据库应用系统开发工具——PB
9.8 系统安全控制
vconnect='alter user '+vusername +' identified by '+vuserpassword +' default role userdefaultrole,'+vrole Execute immediate :vconnect using SQLCA; If SQLCA.sqlcode <>0 THEN Messagebox(“错误”, “没有激活相应的角色”) Disconnect Using SQLCA; Return -1 ELSE Disconnect using sqlca; Connect using sqlca; IF cbx_1.checked=true THEN //修改用户口令
5
第9章 数据库应用系统开发工具——PB
9.8 系统安全控制
SQLCA.LogId=vusername
SQLCA.DBParm=””
CONNECT using SQLCA; IF SQLCA.sqlcode= -1 THEN messagebox(“错误”, “没有连接到数据库系统”) return -1
Messagebox(“错误”, “口令修改不成功”) Return -1 ELSE
Vuserpassword=vusernewpassword
END IF ……
9
第9章 数据库应用系统开发工具——PB
9.8 系统安全控制
“退出”按钮的Clicked的脚本为: lconnect=’SET ROLE none ’ :vconnect using SQLCA;
第9章SQL SERVER 2012

9.1.3 SQL Server 2012的主要组件与实用程序
Hale Waihona Puke ❖ SQL Server Management Studio管理器的使用
❖ Microsoft SQL Server Management Studio(SQL Server 集成管理器)是 Microsoft SQL Server 2012 提供的一种新 集成环境,用于访问、配置、控制、管理和开发 SQL Server 的所有组件。SQL Server Management Studio 将早 期版本的 SQL Server 中所包含的企业管理器、查询分析器 和 Analysis Manager 功能整合到单一的环境中。此外, SQL Server Management Studio 提供了用于数据管理和图 形工具和功能丰富的开发环境。
图9.5 属性工具栏
数据库原理与应用教程
❖ 方法二:在已注册的服务器中,右键单击您的服务器名,选择“连接”, 再单击“新建查询”。在这种情况下,查询编辑器将使用已注册的服务 器的连接信息。如图9.6所示。
图9.6 显示查询窗口
数据库原理与应用教程
❖ 在查询窗口输入Transact-SQL查询语句,执行后,可以将查 询结果以3种不同的方式显示。点击编辑窗口的空白处,在 右键弹出的快捷菜单中,选择“将结果保存到”中的三个显 示方式:以文本格式显示结果、以网络显示结果、将结果保 存到文件。如图9.7所示。
SQL Server 2012 的综合分析、集成和数据迁移功能使 各个企业无论采用何种基础平台都可以扩展其现有应用程序 的价值。构建于 SQL Server 2012 的 BI(Business Intelligence,商业智能) 解决方案使所有员工可以及时获 得关键信息,从而在更短的时间内制定更好的决策。
《MySQL数据库原理、设计与应用》第9章课后习题答案

第九章一、填空题1.数据库2.原子3.START TRANSACTION4.AUTOCOMMIT5.READ UNCOMMITTED二、判断题对1.对2.对3.错4.对5.对三、选择题1. C2.B、C、D3. B4. B5. D四、简单题1.请简述什么是事务。
答:在MySQL中,事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,且每个SQL语句是相互依赖的。
只要在程序执行过程中有一条SQL语句执行失败或发生错误,则其他语句都不会执行。
也就是说,事务的执行要么成功,要么就返回到事务开始前的状态,这就保证了同一事务操作的同步性和数据的完整性。
2.请简述什么是事务的ACID特性。
答:①原子性是指一个事务必须被视为一个不可分割的最小工作单元。
②一致性是指在事务处理时,无论执行成功还是失败,都要保证数据库系统处于一致的状态,保证数据库系统从不返回到一个未处理的事务中。
③隔离性是指当一个事务在执行时,不会受到其他事务的影响。
④持久性是指事务一旦提交,其对数据库的修改就是永久性的。
五、实训题1.请利用事务实现在用户下订单时,检查商品库存是否充足。
START TRANSACTION;1# 查询id为1的商品的库存SELECT stock FROM sh_goods WHERE id = 1;# 根据结果回滚或提交COMMIT;2.请利用事务在用户下订单前,检测当前用户是否已被激活,若未激活,则需激活此用户后,才能再次下订单。
START TRANSACTION;# 查询id为1的用户是否激活SELECT is_active FROM sh_user WHERE id = 1;# 根据结果回滚或提交COMMIT;2。
山东大学威海第九章实验代码《数据库原理与应用教程 SQL Server》(尹志宇 郭晴 著)

第九章数据库查询实验报告一实验准备建立学生表use教学库gocreate table学生(学生号char(7)primary key,姓名char(8)not null,性别char(2),年龄int,)建立选课表use教学库gocreate table选课(学生号char(8),课程号char(16)not null,成绩intconstraint pk_js primary key(学生号,课程号))建立课程表use教学库gocreate table课程(课程号char(8)primary key,课程名char(16)not null,学分int)学生表插入数据use教学库insert into学生(学生号,姓名,性别,年龄)values ('0101001','王华','男','19'),('0101002','王通','男','20'),('0101003','王菲','女','21'),('0101004','冷芳','男','21'),('0101005','王密','女','20'),('0101006','刘浩','女','19'),('0101007','孙艳','女','19')选课表中插入数据use教学库insert into选课(学生号,课程号,成绩)values ('0101001','C001','91'),('0101001','C002','89'),('0101001','C003','93'),('0101001','C004','85'),('0101002','C002','81'),('0101002','C003','84'),('0101002','C005','83'),('0101002','C004','89'),('0101003','C004','91'),('0101004','C001','85'),('0101004','C003','81'),('0101005','C001','94'),('0101005','C003','86'),('0101006','C001','87'),('0101007','C003','91'),('0101007','C005','95'),('0101007','C004','90')课程表中插入数据use教学库insert into课程(课程号,课程名,学分)values ('C001','计算机网络','3'),('C002','计算机文化基础','3'),('C003','专业英语','2'),('C004','信号与系统','4'),('C005','数字信号处理','4')二1 针对教学库中的三个表完成下面问题(1)统计有学生选修的课程门数use教学库select COUNT(distinct课程号)课程门数from选课结果(2)求选修C004课程学生的平均年龄use教学库select avg(年龄)平均年龄from学生,选课where学生.学生号=选课.学生号and课程号='C004'(3)求学分为3的每一门课程的学生平均成绩use教学库select课程.课程名,avg(成绩)平均成绩from课程,选课where课程.课程号=选课.课程号and学分=3group by课程.课程名(4)统计每一门课程的学生选修人数,超过3人的课程才统计。
数据库技术与应用—SQL_Server_2008(第2版)第9章_视图

【例9.1】建立计算机系学生的视图。 CREATE VIEW vw_Stu_jsj1 AS SELECT studentID, studentName, sex, speciality FROM Student WHERE speciality = '计算机' 本查询省略了视图列名,隐含为与 SELECT 语句中的列相同 的名称。
参数说明
column:视图中的列使用的名称。
组成视图的列名要么全部省略要么全部指定,没有第三 种选择。如果省略了视图的各个列名,则视图列将获得 与SELECT语句中的列相同的名称。 但是对于下列情况,必须在视图定义中指定每列的名称: 视图中有任何从算术表达式、内置函数或常量派生出 的列。 视图中两列或多列具有相同名称(通常由于视图定义 包含联接,而来自两个或多个不同表的列具有相同的 名称)。 希望使视图中的列名与它的源列名不同。这时也可以 在视图中重命名列。无论重命名与否,视图列都会继 承其源列的数据类型。
9.4 通过视图查询数据
视图定义好后,用户就可以像对基本表一样对视图进行查 询了。 【例9.7】在计算机系学生的视图中找出所有女生信息。
SELECT studentID, studentName, sex FROM vw_Stu_jsj1 WHERE sex= '女‘
系统执行对视图的查询时,首先进行有效性检查,以确认 查询中涉及到的表、视图等是否存在。如果存在,则从数 据字典中取出视图的定义,把定义好的子查询和用户的查 询结合起来,转换成等价的对基本表的查询。 例如,本例的查询就相当于执行了下面的SQL语句:
视图的分类
第九章_分布式数据库

26
习 题:
P.215
9.3 9.7 ---- 9.9 9.12---9.15
27
DB1 计算机1 □ T1 □ T2 □ T3
DB2 计算机2
场地1 场地1:
场地2 场地2:
□ T1 □ T2 □ T3
通信网络
DB3 计算机3
场地3
□ T1 □ T2 □ T3
4
分布式数据库的数据分散在各个场地上,但这些数据 在逻辑上都是一个整体,如同一个集中式数据库。 分布式数据库包括:局部数据库和全局数据库两个概念。 分布式数据库的“逻辑整体性”特点: 局部数据库是从各个场地的角度;
24
DDBMS的一般功能结构:
用户查询
查询处理模块
查询分析
需要的数据
完整性 处理模块
数据定位
系统 DD
优化算法 局部处 理命令 LDBMS 分布策略 调度处理模块
实际的数据 可靠性 处理模块 错误 对网络的 监视信息
数据 DB
计算机
网 络
25
§5
自学:
分布式查询处理
查询代价的估算方法
具有半联接的优化策略
全局数据库是从整个系统角度出发研究问题。
5
二、分布式数据库系统(DDBS)的定义
定义一:DDBS是物理上分散、逻辑上集中的数据库系统,系统中 的数据分布存放在计算机网络的不同场地的计算机中,每一场地 都有自治处理(即独立处理)能力并能完成局部应用,而每一场 地也参与(至少一种)全局应用,程序通过网络通信子系统执行 全局应用。
人员易于管理,便于完成大型任务;
数据集中管理,减少了数据冗余; 较高的数据独立性。
随着数据库应用的不断发展,规模不断扩大,集中式系统存在如下 缺点: 大型DBS的设计和操作较复杂;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.1 数据库概述
• 2.关系数据库的基本结构 • 关系型数据库一般可以分为两类:一类是本地数据库,如 • • • • •
Access、Visual FoxPro 等;另一类就是客户/服务器数据 库,如 Microsoft SQL Server、Oracle、Sybase 等。 关系数据库的基本结构表述如下: (1)数据库(Data Base) 一个关系数据库可以由多个数据表组成,各个数据表之间 一般应存在某种关系。 (2)数据表(Table) 数据表是一组相关联的数据按行和列排列形成的二维表格, 也称为基本表,简称为表。每个数据表必须有一个表名。 在概念模型中,一张数据表对应于一个实体集。在关系模 型中,一张数据表对应于一个关系。
•
9.1 数据库概述
• 数据库管理系统(DBMS)是管理和维护数
据库的软件系统,用户通过 DBMS 存取数 据库信息。在数据库系统中,数据是多个 用户和应用程序的共享资源,已经从应用 程序中完全独立出来,由 DBMS 来统一管 理。数据库管理系统具有数据定义、数据 存取、数据库运行管理以及数据库的建立、 维护和数据库通信等功能。
•
9.3 数据绑定
• 数据绑定是一种设置控件访问数据的方法。在 Windows
•
•
窗体中,控件不仅可以绑定到传统的数据源,还可以绑定 到几乎所有包含数据的结构。 数据绑定分为简单和复杂两种类型。简单数据绑定是指将 一个控件绑定到单个数据元素上,例如数据表的某一列。 工具箱中许多标准控件(如 Label、TextBox 等控件)都 支持简单数据绑定。复杂数据绑定是指将一个控件绑定到 多个数据元素上,例如数据表的多个列。支持复杂数据绑 定的控件有 ListBox、ComboBox、DataGridView 等控件。 Visual Basic 2010 在工具箱中提供的数据类组件中, BandingSource 组件用于实现数据绑定, BindingNavigator 组件用于在窗体中浏览、定位和操作数 据。
• •
9.1 数据库概述
• 9.1.3 本地数据库 • “本地数据库”是相对于连接到远程服务器上的
数据库而言。Visual Basic 2010 速成版可以访问 多种不同类型的本地数据库。本章在示例中使用 的本地数据库是 Microsoft 的 Access 数据库和 Microsoft SQL Server Compact 3.5 数据库。 SQL Server Compact 3.5 是 Visual Basic 2010 开 发客户端应用程序的首选本地数据库。它是一种 紧凑的关系数据库,只需要不到 2 MB 的磁盘空 间和大约 5 MB 的内存,支持 和 OLE DB,使用 .sdf 数据库文件进行本地数据存储。
9.1 数据库概述
• 9.1.1数据库系统 • 从20世纪60年代后期开始,随着计算机管理的数
据量急剧增长,用户对数据共享的需求日益增强, 文件系统的数据管理方法已无法适应需求。为了 实现计算机对数据的统一管理,达到数据共享的 目的,数据库技术得到了快速发展。 数据库(DB)是存放在计算机存储设备上的、有 组织、结构化、可共享的数据的集合。数据库中 的数据按一定的数据模型组织、描述和存储。数 据库具有数据的共享性、数据的独立性、数据的 完整性和数据冗余少等特点。
•
9.1 数据库概述
• (6)索引(Index) • 为了提高访问数据库的速度,大多数数据库都使
用索引。索引是指按数据表中某个关键字段或表 达式建立记录的逻辑顺序。它是由一系列记录号 组成的一个列表,目的是提供对数据的快速访问。 索引不改变表中记录的物理顺序。 (7)视图(View) 视图看上去和表一样,具有一组命名的字段和数 据项,但它其实是一个虚拟的表,并不实际存在 数据库中。视图是由查询数据库表产生的,它限 制了用户能看到和修改的数据。由此可见,视图 可以用来控制用户对数据的访问,并能简化数据 的显示,即通过视图只显示那些需要的数据信息。
9.4 数据查询
• 数据查询使用的语言是 SQL 查询语言。由
于 Visual Basic 对数据库的查询通常是在数 据适配器层面上实现的,因此下面主要介 绍如何以编程的方式,在 DataAdapter 中 使用含 SQL 文本的命令对象,实现在数据 源和数据集之间交换数据。而表适配器 TableAdapter 虽然不是 的组件, 但它比 DataAdapter 具有更强的查询功能。
9.2
• (3)DataReader • DataReader 对象从数据库中检索只读、只
进的数据流。.NET Framework 所包含的不 同的数据提供程序都具有自己的继承自 DbDataReader 的数据读取对象。 • (4)DataAdapter • DataAdapter 是数据适配器,用于在数据库 和 DataSet 之间复制数据。.NET Framework 所包含的不同的数据提供程序 都具有自己的继承自 DataAdapter 数据适 配器对象。
9.3 数据绑定
• 9.3.2 BindingNavigator 组件 • BindingNavigator 是唯一出现在窗体上的组
件,它为用户提供已绑定到数据源控件的 记录导航。多数情况下,BindingNavigator 与 BindingSource 组件成对出现,用于浏览 窗体上的数据记录,并实现用户与数据集 之间的交互。BindingNavigator 由 ToolStrip 和一系列 ToolStripItem 对象、文 本框组成,它提供的标准按钮可以完成大 多数常见的与数据相关的操作。
9.2
• .NET Framework 数据提供程序由四个核心对象
• •
• •
组成,它们分别是 Connection、Command、 DataReader 和 DataAdapter。 (1)Connection Connection 是连接对象,用于管理应用程序的数 据库连接。用户使用哪一类连接对象要取决于数 据源的类型。 (2)Command Command 是命令对象,用于定义数据库命 令。.NET Framework 所包含的不同的数据提供 程序都具有自己的继承自 DbCommand 的命令对 象。在应用程序中建立与数据源的连接后,用户 可以使用 Command 对象来执行 SQL 命令并从数 据源中返回结果。
• •
9.1 数据库概述
• (5)关键字(Keyword) • 如果数据表中某个字段值或若干个字段值的集合
能惟一确定一条记录,则称该字段或字段的集合 为该数据表的关键字。在一个数据表中,关键字 可能存在多个,但需选定其中一个作为主关键字。 主关键字也称为主键,对于数据表中的每条记录 来说,主键的值必须惟一。 在关系数据库系统中,表与表之间的联系是通过 公共属性实现的,这个公共属性应该是一个表的 主键和另一个表的外键。即将一个表的主键作为 数据之间联系的纽带放到另一个表中,这些在另 一个表中起联系作用的属性称为外键。
9.1 数据库概述
• (3)字段(Field) • 数据表中的每一列称为一个字段。数据表是由其
包含的所有字段构成的,每个字段用来描述它包 含的数据。在创建数据表时,必须为每个字段命 名,同时还要定义字段的数据类型、最大长度等 属性。 (4)记录(Record) 数据表中的每一行称为一条记录。记录是字段值 的集合,是数据库用户的主要访问对象。如果要 访问记录的某个字段,必须首先定位记录。一般 而言,在一个数据表中不应该存在两条完全相同 的记录。
9.3 数据绑定
• 9.3.3 DataGridView 控件 • DataGridView 控件用于以网格形式显示数
据。 • DataGridView 控件可以显示数据存储区中 的数据行。它支持多种类型的数据存储区。 数据存储区中存放的可以是一些简单的非 类型化数据(例如一维数组),也可以是 类型化数据(例如 DataSet)。
9.1 数据库概述
• 数据库系统(DBS)是指在计算机系统中引入数
据库后的系统构成,一般由数据库、操作系统、 数据库管理系统、应用程序、数据库管理员 (DBA)和用户五部分组成。 数据库应用系统是指系统开发人员利用数据库系 统资源开发出来的、面向某一类实际应用的应用 软件系统。例如,以数据库为基础的工资管理系 统、图书管理系统、生产管理系统等等。无论是 面向内部业务和管理的管理信息系统,还是面向 外部,提供信息服务的开放式信息系统,从实现 技术角度而言,都是以数据库为基础和核心的计 算机应用系统。
•
9.2
• 9.2.1 结构 • 是 .NET Framework 中用于操作
数据库的类库的总称。 类在 System.Data.dll 中,并且与 System.Xml.dll 中的 XML 类集成。 • 的结构如图9-1所示,其中用于访 问和处理数据的两个主要的组件是 .NET Framework 数据提供程序和 DataSet。
9.2
• 1..NET Framework 数据提供程序 • .NET Framework 数据提供程序是专门为快
速访问数据而设计的组件,用于连接到数 据库、执行命令和检索结果。用户可以直 接处理检索到的结果,或将其放入 的 DataSet 对象,以便与来自多 个源的数据组合在一起,以特殊方式向用 户公开。
9.2
• 2.DataSet • DataSet 是 中最核心的成员之一,也是
各种基于 .Net 平台程序语言在开发数据库应用程 序时最常接触的类。DataSet 在实现 从 数据库抽取数据中起到了关键的作用。 DataSet 是一个数据容器,表示包括相关表、约 束和表间关系在内的整个数据集。DataSet 是各 种数据源中的数据在计算机内存中的驻留表示形 式,当 从数据库完成数据抽取后, DataSet 就是数据的存放地。
Visual Basic 程序设计 (理论篇 第三版)