ch11

更新时间:2023-11-11 11:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CH11 数据库开发基础

11.1 用户与数据库的交互方式

数据库是指长期储存在计算机内的、有组织的、可共享的数据

集合。数据库中的数据按一定的数据模型组织、描述和储存,具有 较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共 享。

为了科学地组织数据,高效地获取和维护数据,我们需要一个 系统软件,这个软件就是数据库管理系统(DataBase Management System,简称 DBMS)。数据库管理系统是位于用户与操作系统之 间的一层数据管理软件。它的主要功能包括以下几个方面。①数据 定义功能:用户可以方便地对数据库中的数据对象进行定义。②数 据组织、存储和管理:分类组织、存储和管理各种数据,包括数据 字典、用户数据、数据的存储路径等。③数据操纵功能:用户可以 对数据库进行操作,如查询、插入、删除和修改等。④数据库的事 务管理和运行管理:保证数据的安全性、完整性、多用户对数据的 并发使用及发生故障后的系统恢复。⑤数据库的建立和维护功能: 包括:数据库初始数据的输入、转换功能,数据库的转储、恢复功 能,数据库的重组织功能和性能监视、分析功能等。⑥其他功能: 包括 DBMS 与网络中其他软件系统的通信功能;一个 DBMS 与另 一个 DBMS 或文件系统的数据转换功能;异构数据库之间的互访 和互操作功能等。

用户与 DBMS 的交互方式通常有两种: (1) 通过可视化操作界面实现。

用户可以通过登录 DBMS 的操作界面进行手工操作实现其功 能。

(2) 通过 SQL 代码实现。 即,

通过向 DBMS 发送 SQL 语言代码实现其功能。可以将 SQL

语言代码输入到可视化操作界面的代码窗口中,也可以将 SQL 语 句嵌入到高级语言(例如 C#、VB.NET 等)中。

在可视化操作界面的代码窗口输入 SQL 语句操纵数据库也就

是将 SQL 语言作为一种独立语言来使用,这种情况下的 SQL 语言 是一种自含式语言。它独立地应用于联机交互的使用方式,用户的 想法是通过 SQL 代码来表达,通过执行 SQL 代码来实现的。这种 情况下的 SQL 语言是面向集合的描述性语言,这种应用是非过程 性的,大多数语句都是独立执行的,与上下文无关的。但是,在实

1

际的信息系统中,许多事务处理都是过程性的,需要根据不同的条 件来执行不同的任务,因此,单纯实用 SQL 语言是很难实现这类 应用的。

将 SQL 语句嵌入到高级程序语言中属于混合编程方式,SQL

语句负责操纵数据库,高级语言负责控制程序流程和与最终用户的 交互,两者相得益彰。混合编程方式下的 SQL 语言称为嵌入式语 言,高级语言称为主语言或宿主语言。我们这里主要讨论的就是使 用 C#作为主语言的混合编程。

11.2 关系数据模型

每一种数据库管理系统都是基于某种数据模型的,数据模型是

数据库中数据的存储方式,是数据库系统的核心和基础。当前实际 的数据库系统中所支持的主要模型有:层次模型、网状模型和关系 模型,应用最广泛的是关系数据模型 。由于关系模型的数据库提 供了叫做结构查询语言 SQL 的标准接口,因此,关系模型数据库 已经成为数据库设计事实上的标准。Microsoft SQL Server 和 Oracle 都是基于关系模型的大型数据库管理系统,并具有较高的安全等

级。Microsoft Access 从与实现原理上讲也是关系模型的数据库管理 系统,但其安全性级别不如前述的数据库管理系统高,微软公司把 它列入桌面办公软件 Microsoft Office 家族。

关系数据模型将数据用表的集合来表示。通过表的内部结构来定

义实体的构成,通过建立表之间的关联来定义实体集之间的相互联 系与制约,而不是根据数据的物理存储方式建立数据之间的联系。 在关系数据库中,关系就是一个二维表,行被称为记录,列被

称为字段(属性、列),每个字段都有一个取值范围。若关系中的某 一属性组的值能唯一地标识一个元组,则称该属性组为码。若一个 关系有多个码,则选定其中一个为主码 (Primary key)。每个表都应 有一个主码,虽然 DBMS 不一定作为必须要求。对于表中的每一 条记录来说,主码的值都是不同的。只有这样,表中的记录才能相 互区分。

在关系数据库中,外码是一个很重要的概念。设 F 是基本关系

R 的一个或一组属性,但不是关系 R 的码。如果 F 与关系 S 的主码

Ks 相对应,则称 F 是关系 R 的外码(Foreign Key),并称关系 R 为 参照关系(Referencing Relation) ,关系 S 为被参照关系(Referenced Relation)或目标关系(Target Relation)。关系 R 和 S 不一定是不同的 关系。

2

关系模型是关系数据库管理系统(RDBMS)的基础,它包括三部 分:数据结构、关系的完整性规则和关系操作集合。

(1) 关系模型的数据结构。由行和列组成的二维表,任意两行 互不相同,列值是不可分的数据项,行和列的次序可任意。

(2) 关系模型的完整性。关系模型的完整性包括实体完整性、 参照完整性和用户定义完整性。

① 实体完整性指用主码来惟一标志表中的行和列,主码所包 含的任一属性的属性值不能为空。

② 参照完整性指外码或者为空,或者等于它所参照的表的主 码的某个值。

③ 用户定义完整性指对某一主体的数据库的约束条件。

(3) 关系模型的数据操作。关系模型的操作表达能力非常强大,

定义了很多的操作,其中主要有选择(Select Operation)、投影(Project Operation)、集合及连接等操作。

11.3 关系数据库管理系统 SQL Server

SQL Server 是一个后台数据库管理系统,它功能强大,操作简 便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与 SQL Server 的接口。

SQL Server 是一个关系数据库管理系统,Microsoft 公司从 1998

年推出 SQL Server 7.0 以后不断改进和提高,相继推出了 SQL Server 7.0、SQL Server 2000、SQL Server 2005、SQL Server 2008 等后续 版本,至今的 SQL Server 2008 功能已经相当强大,安全性能也有 很大提高,是一个优秀数据库管理系统。

11.3.1 数据库的创建及删除

下面以 Microsoft SQL Server 2005 为例,介绍如何通过企业管理 器来创建和删除数据库,这是一种可视化的操作方法。 (1) 创建数据库

① 选择“开始”/“程序”/Microsoft SQL Server/“企业管理器”命 令,打开企业管理器。

② 在企业管理器左侧栏目中“数据库”项目上单击鼠标右键, 在弹出的快捷菜单中选择“新建数据库”命令。如图 11-1 所示。

3

图 11-1 “数据库”项目上的右键菜单

③打开“数据库属性”窗口,在“名称”文本框中输入新建数据库的名称。 ④输入新建数据库名称后,单击“确定”按钮完成数据库的创建。 (2) 删除数据库

删除数据库的方法很简单,只需在要删除的数据库上单击鼠标 右键,在弹出的快捷菜单中选择“删除”命令,即可删除数据库。

11.3.2

数据表的创建及删除

数据库创建完毕,接下来要在数据库中创建数据表,下面还是 以上述的数据库为例,介绍如何在数据库中创建和删除数据表。 (1) 创建数据表

① 单击数据库名左侧“+”,打开该数据库的子项目,在子项目

中的“表”项上单击鼠标右键,在弹出的快捷菜单中选择“新建表”命 令。如图 11-2 所示。

图 11-2 选择“新建表”命令

4

② 打开创建表结构的窗口,输入列名、设置字段的数据类型、 选择长度以及设置是否允许为空。

③ 完成上述的各项设置后,单击企业管理器工具栏中的 按

钮,弹出“选择名称”对话框,输入数据表名称,单击“确定”按钮, 完成数据表的创建。 (2) 删除数据表

如果要删除数据库中的某个数据表,只需右键单击数据表,在 弹出的快捷菜单中选择“删除”命令,即可删除该数据表。

11.3.3 数据库实例

为了便于讨论,我们给出一个关系数据库实验用例,并在以后 多次使用它。

例 11_1 使用关系模型的方法在 SQL Server 中建立一个学生课外

研究小组信息系统数据库:study。一个学生可以参加多个研究小组; 一个研究小组由多个学生参加;不排除有同名的研究小组。各表的 结构如表 11_1、表 11_2、表 11_3、表 11_4 所示。将 f_id 指定为 faculty(学院)表的主码;指定 s_id 为 student(学生)表的主码;指定 c_id 为 class(小组)表的主码;指定(s_id,c_id)为 attend(参加)表的主码。 (请在SQLServer 2005 的SQLServer Management Studio 中完成实验)

在以下的讨论和实验中,我们还会用到这些表和其中的数据。

11.3.4 使用 SQL 语言访问数据库

11.3.4.1 SQL 语句的基本语法形式

结构查询语言(Structure Query Language)是操作关系数据库的

工业标准语言。通过 SQL 命令,可以从数据库的表中获取、添加、 删除和修改数据。目前,无论是像 Microsoft SQL Server、Oracle 这 些大型数据库管理系统,还是像 Microsoft Access、Visual Foxpro 这 些桌面数据库管理系统,都支持 SQL 语言。

下面简要介绍 SQL 的查询语句。使用在 Microsoft SQL Server 2000 数据库管理系统中建立的 study 数据库。

表 11.5 SQL 常用编程语句 语句 分类 描述

SELECT

数据查询 在数据库中查找满足特定条件的记录 DELETE

数据操作 从数据表中删除记录 INSERT

数据操作 向表中插入一条记录

UPDATE

数据操作 用来改变特定记录和字段的值 DROP

数据定义 从数据库中删除一个表

(1) SELECT 语句 其一般格式为:

SELECT [ ALL |DISTINCT]<目标列表达式>[,<目标列表达式>]... FROM<表名或视图名>[,<表名或视图名>]...

本文来源:https://www.bwwdw.com/article/f8sv.html

Top