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<表名或视图名>[,<表名或视图名>]...
正在阅读:
ch1111-11
初一不等式难题-经典题训练(附答案)05-23
高中政治《经济生活》复习学案06-17
钢筋算量基本方法小结05-24
部编人教版小学三年级语文上册《大自然的声音》优质课教案04-24
芦苇荡作文600字06-22
EAC完美抓轨及转APE超详细教程(含EAC详细设置,多图)04-07
专题03 形容词和副词(押题专练)-2017年高考英语二轮复习精品资料03-08
郑州大学免疫大题(2)04-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 标准仓单有效期
- 小学数学学困生成因及对策研究的开题报告
- 网络教研促进小学语文教师专业化成长 - 图文
- 数据库期末习题
- 中西服装发展史(考试资料)
- 电大商法历届试题案例分析题汇总
- 高级电工(三级)理论试题
- ANSYS界面命令翻译大全
- 第8章 班主任与班级管理
- 2012西师版小学一年级数学期末复习题
- 生产论练习题答案部分
- 国家垃圾焚烧发电相关政策汇编摘要
- 中南大学计算机控制系统复习题及答案
- 2011级座位表B班+体育 - 图文
- 《2.2 对数函数》一课一练3
- 建筑工程质量通病防治专项施工方案
- 盐城市、南京市2018届高三年级第一次模拟考试(答案、解析WORD版) - 图文
- 中共兴平市委办公室
- 经纪人技巧开发客户技巧
- 专八2003-2015年人文知识真题及答案