ASP程序设计教程第8章 数据库基础与ADO.ppt
《ASP程序设计教程第8章 数据库基础与ADO.ppt》由会员分享,可在线阅读,更多相关《ASP程序设计教程第8章 数据库基础与ADO.ppt(160页珍藏版)》请在麦多课文档分享上搜索。
1、ASP.NET程序设计教程 第8章 数据库基础与ADO.NET,上海交通大学出版社,2,内 容,本章的主要内容包括三方面:一是数据库的基本概念。二是常用的数据库管理系统Microsoft SQL Server 2000的使用要点。三是在ASP.NET中使用数据库的基本技术ADO.NET框架和方法。本章的内容给后续有关数据库操作的章节提供了必要的理论和技术基础。,3,8. 1 数据库基本概念,8.1.1 数据库技术概述,4,8.1.1.1 数据库技术的产生和目的,从计算机数据管理技术的发展历史来看,经历了人工管理、文件系统、数据库系统三个阶段. 数据库技术的主要目的是:提高数据的共享性,使多个用
2、户能够并发存取数据库中的数据;减少数据的冗余度,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的维护代价。 现在,数据库已经成为各种信息系统的核心和基础。,5,8.1.1.2 从现实世界到机器世界,为了把现实世界中的事物能够用计算机支持的数据模型来表示和处理,人们通常先将现实世界的事物先抽象到信息世界,建立所谓的“概念模型”,然后再将信息世界的模型映射到机器世界,将概念模型转换为计算机世界中的模型。如图8.1所示。,6,7,三个世界,现实世界 概念世界 机器世界,8,数据模型,数据库系统所采用的数据模型是直接面向数据库中数据的逻辑结构,数据模型有四种,分别是:层次模型
3、、网状模型、关系模型、面向对象模型。 20世纪70年代是数据库技术蓬勃兴起的年代,基于层次和网状模型的数据库系统占据主导地位,而20世纪80年代以后,关系模型很快成为理论和实践最成熟的数据模型,关系数据库系统成为主流的数据库管理系统。目前常见的数据库产品基本都是基于关系模型的。,9,8.1.1.3 实体-联系方法,概念模型最常用的建模方法就是“实体-联系方法”(Entity-Relationship approach),简称E-R方法。该方法采用E-R图来描述某一系统的概念模型。 实体是客观存在并且可以相互区别的事物。实体可以是实际事物,也可以是抽象事件。例如,一本书、一个读者等属于实际事物;
4、一次借阅是一个抽象的事件。同一类实体的集合称为实体集,例如图书馆的所有图书。,10,在E-R图中,实体集用长方形框表示,框内写上实体集名;属性用椭圆或圆角框表示,里面写上属性名,并用线段将实体集和它的全部属性连接起来;实体集之间的联系用菱形表示,里面写上联系名,并用线段将菱形框和有关实体集相连。联系本身也可以有属性。图8.2是一个ER图的简单实例。(图中只画出了实体的部分属性),11,12,8.1.1.4 数据库技术的若干重要概念,数据库(Database):数据库是通用化的相关数据集合,它不仅包括数据本身,而且包括相关数据之间的联系。数据库中的数据不只面向某一项特定应用,而是面向多种应用的,
5、可以被多个用户、多个应用程序共享。 数据库系统(Database System,DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。,13,8.1.1.4 数据库技术的若干重要概念(续),数据库管理系统(Database Managemet System,DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性,以及多用户对数据的并发使用和发生故障后的数
6、据库恢复。 数据库应用系统(Database Application System,DBAS):数据库应用系统是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。,14,8.1.2 关系模型和关系数据库,关系模型的基本结构是表(table),即关系(relations)。在关系数据库中,每个关系是一张命名的二维表。 关系数据库使用表(即关系)来表示实体及其联系。如表8.1所示。,15,表8.1 读者关系,16,表中的第一行表示了表的结构,其余各行是表的内容,每一行反映了一个实体的有关信息,称为一条记录。表中的每一列是一个字段。 这种用二维表的形式来表示实体和实体间联
7、系的数据模型称为关系数据模型。 从用户观点看,关系数据库是一个存放数据的表和支持这些数据的存储、检索、安全性和完整性的逻辑成分所组成的集合。,17,常用的关系术语,关系:一个关系就是一张二维表,每个关系有一个关系名。在计算机中,一个关系可以存储为一个表。如表8.1的读者关系。 关系模式:对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,属性名n)。一个关系模式对应一个关系的结构。例如:图书(总编号、书名、书号、分类号、作者、出版单位、出版日期、单价);读者(借书证号、姓名、性别、职称、单位、电话);借阅(借书证号、总编号、借书日期、还书日期)分别描述了三个关系模式。,18,常用的
8、关系术语(续),元组:表中的行称为元组。一行是一个元组,对应存储文件的一个记录值。如表8.1有4个元组。 属性:表中的列称为属性,每一列有一个属性名,属性值相当于记录中的字段值。如表8.1的借书证号、姓名等均为属性。 元数:关系模式中属性的数目是关系的元数。如图书关系是一个8元关系。 一个具体的关系模型是若干个关系模式的集合。上面的图书、读者、借阅三个关系构成一个简化了的图书管理系统的关系模型。,19,常用的关系术语(续),域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。例如图书的分类号限定为“2个字母3个数字1个小数点3个数字”;逻辑型属性只能从逻辑真和逻辑假两个值中取值。 关
9、键字:又称为“键”或“码”,是属性或属性组合,其值能够唯一地标识一个元组,例如图书关系中的总编号,其他属性都不能起到这个作用。对于关系模式借阅,其关键字是属性组合(借书证号、总编号)。,20,常用的关系术语(续),外关键字:又称外码。某个关系模式R中的属性或属性组X并非R的关键字,但X是其他关系模式的关键字,则称X是R的外关键字。例如借书证号不是关系模式借阅的关键字,但借书证号是关系模式读者的关键字,则借书证号是关系模式借阅的外关键字。外关键字提供了数据库中多个数据表进行关联的手段。如读者关系和借阅关系就是通过借书证号来体现它们之间的联系的。借书证号是关系模式读者和借阅的公共属性,在关系模型中
10、,公共属性的属性名一般是相同的,但是并非一定要相同,只要具有相同的语义和相同的域即可。,21,8.1.3 数据库设计,数据库设计是对一个给定的应用环境,构造一个最优的数据库模式,并据此建立一个能反映现实世界的信息和信息之间的联系、满足用户对数据的要求和对数据加工的要求的数据库及其应用系统,使得数据库既能有效、安全、完整地存储大宗数据,又能满足多个用户的信息要求和处理要求。 数据库设计过程是数据库生命周期的一个阶段。数据库生命周期一般包含数据库系统的规划、设计、实现、运行管理和维护、扩充和重构等大的阶段。应该用软件工程的原理和方法来指导设计过程。,22,数据库设计步骤,需求分析。数据库设计的第一
11、步是调查与分析设计的对象,对所有可能的数据库用户的数据要求和处理要求,进行全面的了解、收集和分析。需求分析是后续各步的基础。 概念模型设计。在需求分析的基础上,构造每个数据库用户的局部视图,然后合并各局部视图,并经优化后形成一个全局的数据库公共视图。这个公共视图就是数据库的概念模型,或称为企业的组织模式,它是整个企业信息的轮廓框架,是独立于任何一种数据模型和任何具体的DBMS的信息结构的。,23,数据库设计步骤(续),逻辑设计。逻辑结构设计的任务是按照一定的规则,将概念模型转换为某种数据库管理系统所能接受的数据模型。这个数据模型需要经过优化处理,并适当考虑完整性、安全性、一致性以及恢复和效率等
12、一系列有关数据库性能的因素。逻辑设计所得到的数据模型反映了数据库的全局逻辑结构,它就是数据库的模式。在这个阶段可以用DBMS提供的DDL(数据定义语言)描述。DDL主要用于描述数据库的逻辑结构,但由于实际的DDL往往带有一些描述物理结构的成分,因此用DDL定义模式的工作一般可放在物理设计之后进行。,24,数据库设计步骤(续),物理设计。数据库的物理设计是为一个给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程。这里的物理结构主要指数据库在物理设备上的存储结构和存取方法,它是完全依赖于给定的计算机系统的。,25,8.2 在SQL Server 2000中使用数据库,目前Web应用程序开发中
13、所使用的数据库管理系统有多种,中小型数据库可用Microsoft Access,而大型数据库则可以选用Microsoft SQL Server、Oracle等。 Access是Microsoft Office套件中提供的一个桌面型关系数据库管理系统。 Microsoft SQL Server是具备完全支持的新一代大型关系型数据库管理系统,是当前应用最广泛的DBMS之一。,26,8.2.1 SQL Server概述,SQL Server是使用ASP.NET进行应用系统开发的首选数据库系统。目前常用的版本是SQL Server 2000。 Microsoft SQL Server 2000使用的语
14、言称为Transact-SQL(简称T-SQL),这是一种功能强大的数据库查询和编程语言,它除了包含标准的SQL语句外,还增加了一些非标准的SQL语句。 在SQL Server 2000中,主要有两种方式对数据库、表进行操作,一是通过企业管理器界面,另一种方式是通过T-SQL命令方式。,27,SQL Server企业管理器是Microsoft管理控制台(Microsoft Management Console,MMC)的管理单元组件,它通过易于使用的图形用户界面,将所有的SQL Server对象展示在一个分层结构的控制台树中,按照“数据库服务器组”“数据库服务器”“数据库”“数据库对象(表、视
15、图等)”的层次结构组织对象并进行管理的。,28,通过T-SQL命令方式对数据库进行操作,一般可以在SQL Server的查询分析器中进行。其步骤是:打开SQL Server企业管理器选择主菜单的“工具”“SQL查询分析器”,即可在查询分析器的输入窗口中输入T-SQL命令语句。如图8.3所示。语句输完后,按下F5键,或单击工具栏中的运行按钮,将执行所输入的语句。,29,8.2.2 SQL语言,SQL是关系数据库的标准语言,是结构化查询语言(Structured Query Language)的缩写,它实际上包括定义、查询、操纵和控制四个部分,是一种功能强大、使用方便的数据库语言。 SQL语言早在
16、20世纪70年代中期由Boyce和Chamberlin提出。由于SQL具有语言简洁、方便实用、功能齐全等突出优点,很快得到推广和应用。国际标准化组织(ISO)采纳SQL为关系数据库语言的国际标准,先后推出了SQL89和SQL92(即SQL2)标准。目前已增加面向对象功能的SQL3标准即将发布。,30,SQL语言四大部分的功能,数据定义语言(Data Definition Language,DDL),用于定义、删除和修改关系模式,即定义数据库、基本表、视图、索引等操作。 数据查询语言(Data Query Language,DQL),用于查询数据库中的数据。在数据库系统中,数据的查询是最常用的操
17、作。 数据操纵语言(Data Manipulation Language,DML),用于对关系中的具体数据进增加、删除和更新等操作。 数据控制语言(Data Control Language,DCL),用来实现对数据访问权限的授予或撤消。,31,目前,各种数据库管理系统几乎都支持SQL,或者提供SQL的接口。 SQL有两种使用方法,一种是以与用户交互的方式联机使用,另种是作为子语言嵌入到其他程序设计语言中使用。前者称为交互式SQL,可以在软件开发时使用。后者称为宿主型SQL,适合于程序设计人员用高级语言编写应用程序并访问数据库时嵌入到主语言中使用。 在本书中,应用最多的是嵌入到C#中的SQL语
18、句,C#即为宿主语言。,32,8.2.3 SQL Server系统安全管理,SQL Server提供了较为复杂的数据库安全保护机制,主要有两个方面:用户身份认证和存取控制。用户身份认证即用户标识和鉴定,主要手段是用户名和口令;存取控制机制确保只授权给有资格的用户访问数据库的权限,以防止未经授权的访问。,33,每个用户,包括网络和本地用户,在访问SQL Server数据库之前,都必须经过两个阶段的安全性验证。 第一个阶段是身份验证,验证用户是否具有“连接权”,即是否允许用户访问SQL Server服务器实例,对应到连接权的用户称为登录账户(Login)或登录名。 第二个阶段是数据库的访问权,即已
19、经登录的用户是否有相应的权限在数据库中进行某种操作,如查询、更新数据的权限。,34,SQL Server的身份认证模式是指系统确认用户的方式。SQL Server 2000有两种身份认证模式,即Windows身份认证模式和SQL Server身份认证模式。 Windows身份认证模式。用户对SQL Server实例的访问控制通过Windows NT或Windows 2000操作系统完成。当连接数据库时,用户不需要提供SQL Server实例的登录账户。这样做有一个前提,即SQL Server系统管理员必须指定Windows账户或工作组作为有效的SQL Server登录账户。 SQL Serve
20、r身份认证模式。当使用SQL Server身份认证机制时,SQL Server系统管理员必须定义SQL Server登录账户和口令。当用户要连接到SQL Server实例时,必须提供SQL Server登录账户和口令。,35,在Windows NT或Windows 2000下安装或管理SQL Server实例时,SQL Server系统管理员可以选择或指定SQL Server的以下两种身份认证模式之一: 仅Windows身份认证模式。只允许采用Windows验证机制,用户不用指定SQL Server登录账户。 混合认证模式。SQL Server系统既允许使用Windows账户登录,也允许使用S
21、QL Server账户登录。,36,在企业管理器中依次展开“服务器组”“服务器”“安全性”,单击“登录”节点,就会在详细信息窗口中看到以下两个内置的登录账户。 BUILTINAdministrators。一个Windows系统用户的组,凡属于该组的系统账户都可以作为SQL Server的登录账户。 sa。SQL Server系统管理员登录账户,在混合验证模式下,该账户拥有最高的管理权限,可以执行服务器实例范围内的所有操作。,37,8.2.4 在SQL Server 2000中创建和维护数据库、表,本节以图书管理数据库、表操作为例介绍介绍Microsoft SQL Server 2000系统中数
22、据库、表的创建和维护方法。数据库名为TSGL,包含3个表:图书信息表、读者信息表和借阅信息表,各个表的名称分别为students,courses和gardes。各表的结构分别列于表8.2表8.4中。,38,表8.2 Book表结构,39,表8.3 Reader表结构,40,表8.4 Borrow表结构,41,8.2.4.1 创建数据库,在SQL Server 2000中,一个数据库是包含表、视图、存储过程等数据库对象的容器,数据库的各种数据库对象都是保存在数据库的数据文件中。 创建数据库应具备的条件是:在SQL Server 2000中,能够创建数据库的用户必须是系统管理员或具有Databas
23、e Creators权限的服务器角色。,42,1) SQL Server数据库的文件,在默认方式下,创建的数据库都包含一个主数据文件和一个事务日志文件,如果需要,可以包含辅助文件和多个事务日志文件。用户创建数据库或添加新的文件时,可以自行指定文件的路径。 下面分别说明SQL Server数据库的3类文件。,43,(1) 主数据文件(Primary File)。主数据文件是数据库的起点,指向数据库中文件的其他部分,同时也用来存放用户数据。每个数据库都有一个且仅有一个主数据文件,文件扩展名为.mdf。,44,(2) 辅助数据文件(Secondary File)。辅助数据文件专门用来存放数据。有些数
24、据库可能没有辅助数据文件,而有些数据库可能有多个辅助数据文件。辅助数据文件的扩展名为.ndf。使用辅助数据文件可以扩大数据库的存储空间,如果数据库只有主数据文件,那么该文件的最大容量受整个磁盘空间的限制,若数据库使用了辅助数据文件,则可以将该文件建立在不同的磁盘上,这样数据库的容量则不再受一个磁盘空间的限制了。,45,(3) 事务日志文件(Transaction Log File)。事务日志文件存放恢复数据库所需的所有信息。凡是对数据库中的数据进行的修改操作,如INSERT、UPDATE、DELETE等SQL语句,都会记录在事务日志文件中。当数据库遭到破坏时,可以利用事务日志文件恢复数据库的内
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 程序设计 教程 数据库 基础 ADOPPT
