数据库技术与应用第九章 数据库应用系统开发_第1页
数据库技术与应用第九章 数据库应用系统开发_第2页
数据库技术与应用第九章 数据库应用系统开发_第3页
数据库技术与应用第九章 数据库应用系统开发_第4页
数据库技术与应用第九章 数据库应用系统开发_第5页
已阅读5页,还剩40页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本书目录本书目录1 1 数据库技术与应用数据库技术与应用数据库技术与应用数据库技术与应用windows数据库应用程序开发数据库应用程序开发 数据库技术与应用数据库技术与应用本书目录本书目录1 1本书目录本书目录2 2 数据库技术与应用数据库技术与应用数据库应用程序开发技术数据库应用程序开发技术 数据库技术数据库技术 应用程序开发工具应用程序开发工具 数据访问技术数据访问技术 软件工程的理念软件工程的理念使用技术使用技术:知识点知识点:数据库设计过程、完整性数据库设计过程、完整性控制、安全性控制、数据控制、安全性控制、数据库恢复技术;库恢复技术;vb.net程序设计;程序设计;ado.net;应

2、用程序开发过程:系统应用程序开发过程:系统分析、需求分析、功能设分析、需求分析、功能设计、编码、测试等。计、编码、测试等。本书目录本书目录3 3 数据库技术与应用数据库技术与应用应用系统的多层结构应用系统的多层结构数据库数据库连接连接数据适配器数据适配器数据集数据集显式连接方法显式连接方法 用户界面用户界面(窗体)(窗体)数据访问层数据访问层表示层表示层数据层数据层注意:好的应用程序通常把用户界面与数据访问分开。注意:好的应用程序通常把用户界面与数据访问分开。本书目录本书目录4 4 数据库技术与应用数据库技术与应用数据库设计数据库设计 需求分析需求分析概念模式设计概念模式设计e/r图设计图设计

3、逻辑模式设计逻辑模式设计将将e/r图转换为关图转换为关系模式并作规范化处理系模式并作规范化处理物理模式设计物理模式设计选择选择rdbms开发开发平台创建数据库平台创建数据库本书目录本书目录5 5 数据库技术与应用数据库技术与应用数据库设计实例数据库设计实例 设某商业集团数据库中有设某商业集团数据库中有3个实体集。一是个实体集。一是“商店商店”实实体集,属性有商店编号、商店名、地址等;二是体集,属性有商店编号、商店名、地址等;二是“商品商品”实实体集,属性有商品号、商品名、规格、单价等;三是体集,属性有商品号、商品名、规格、单价等;三是“职工职工”实体集,属性有职工编号、姓名、性别、业绩等。实体

4、集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在商店与商品间存在“销售销售”联系,每个商店可销售多种商品,联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店每销售一种商每种商品也可以放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着品,有月销售量;商店与职工间存在着“聘用聘用”关系,每个关系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。职工有聘期和月薪。 (1)试画出)试画出er 图,并在图上注明属性、联系的类型。图,并在图上注明属性、联系的类型。 (2)将)将e

5、r图转换成关系模式集,并指出每个关系模式主图转换成关系模式集,并指出每个关系模式主键和外键。键和外键。本书目录本书目录6 6 数据库技术与应用数据库技术与应用性别性别姓名姓名职工编号职工编号月薪月薪聘期聘期地址地址商店名商店名商店编号商店编号规格规格商品名商品名商品号商品号职工职工商店商店商品商品聘用聘用销售销售单价单价业绩业绩月销售量月销售量商店(商店(商店编号商店编号,商店名,地址),商店名,地址)商品(商品(商品号商品号,商品名,规格,单价),商品名,规格,单价)职工(职工(职工编号职工编号,姓名,性别,业绩,姓名,性别,业绩,商店编号商店编号,聘期,月薪),聘期,月薪)销售(销售(商店

6、编号商店编号,商品号商品号,月销售量),月销售量)商品、销售、商店、职工商品、销售、商店、职工3nf本书目录本书目录7 7 数据库技术与应用数据库技术与应用完整性控制完整性控制完整性控制:保证数据库中的数据和语完整性控制:保证数据库中的数据和语义的正确性及有效性,采取有效的措施义的正确性及有效性,采取有效的措施防止导致错误数据的操作。防止导致错误数据的操作。sql server2000数据完整性有四种类型:数据完整性有四种类型: 实体完整性实体完整性域完整性域完整性参照完整性(也叫引用完整性)参照完整性(也叫引用完整性)用户自定义完整性用户自定义完整性本书目录本书目录8 8 数据库技术与应用数

7、据库技术与应用sql中的中的create table命令命令在在sql查询语句中用于定义列或字查询语句中用于定义列或字段一级的完整性约束,一般包括:段一级的完整性约束,一般包括:not null和和null约束约束 primary key约束约束 unique约束约束 foreign key约束约束 default定义定义 check约束约束 本书目录本书目录9 9 数据库技术与应用数据库技术与应用例例: 在学生选课数据库中,定义关系模式在学生选课数据库中,定义关系模式sc(snum,cnum,score) 。create table sc(snum char(10) not null for

8、eign key (snum) references student(snum) on delete cascade,cnum char(10) not null foreign key references course on delete cascade, score int null check(score=0 and score=100),primary key(snum,cnum));u当要修改当要修改student表中的表中的snum值时或要修改值时或要修改course表中的表中的cnum值时,先要检查值时,先要检查sc中有无元组的中有无元组的snum值或值或cnum值与之对值与之

9、对应,若没有,则系统接受修改操作,否则,系统拒绝此操作。应,若没有,则系统接受修改操作,否则,系统拒绝此操作。u当要删除当要删除student表或表或course表中某个元组时,系统也要检查表中某个元组时,系统也要检查sc表,若找到相应元组则将它们也随之删除。表,若找到相应元组则将它们也随之删除。本书目录本书目录1010 数据库技术与应用数据库技术与应用域完整性控制实例域完整性控制实例例例: 设计关系模式设计关系模式teacher(tnum,tname,id,sex,age,join_date),要求年龄必须介于要求年龄必须介于1865之间,之间,id表示身分证号必须唯一,性表示身分证号必须唯

10、一,性别只能是别只能是“男男”或或“女女”,姓名非空,工号必须是数字字符,姓名非空,工号必须是数字字符,进进入单位日期缺省状态取系统时间。入单位日期缺省状态取系统时间。create table teacher( tnum varchar(6) not null check(tnum like 0-90-90-9 0-90-90-9), tname varchar(10) not null, id char(18) unique, sex char(2) check(sex in(男男,女女), age int check(age between 1865), join_date datetim

11、e default getdate(),primary key(tnum);本书目录本书目录1111 数据库技术与应用数据库技术与应用触发器实现完整性控制触发器实现完整性控制例:例:建立一个建立一个deletedelete触发器,每当在触发器,每当在studentstudent表中删除一条记录时,也将在表中删除一条记录时,也将在scsc表中删除相应的记录。关系模式如下:表中删除相应的记录。关系模式如下: student(snum,cname,sex,age) sc(snum,cnum,score)本书目录本书目录1212 数据库技术与应用数据库技术与应用create trigger stude

12、nt_delete on studentfor deleteas declare _snum as char(10) select _snum=d.snum from deleted d if not exists (select * from sc where snum=_snum) begin print 已删除没有选课的学生!已删除没有选课的学生! commit tran end else begin delete from sc where snum=_snum print 成功删除!成功删除! end本书目录本书目录1313 数据库技术与应用数据库技术与应用数据库的实施数据库的实施1

13、、根据关系模式创建数据库后,要及时备份;、根据关系模式创建数据库后,要及时备份;2、项目设计小组的成员在分工调试项目时,要用统、项目设计小组的成员在分工调试项目时,要用统一的数据库模式进行各自的设计,数据库中具体一的数据库模式进行各自的设计,数据库中具体的测试数据可以各不相同;的测试数据可以各不相同;3、项目最后连调时,必须用实际的、完整的数据库、项目最后连调时,必须用实际的、完整的数据库数据进行测试,以期达到软件测试的最终目的。数据进行测试,以期达到软件测试的最终目的。 注意:要善于用存储过程,因为该技术可以提高系统运行效率。注意:要善于用存储过程,因为该技术可以提高系统运行效率。本书目录本

14、书目录1414 数据库技术与应用数据库技术与应用数据访问层的设计数据访问层的设计activex data object(ado).net就是微软提供的最新的数据访问模型,就是微软提供的最新的数据访问模型,是应用程序与相容数据源的数据访问是应用程序与相容数据源的数据访问接口,应用程序可以使用接口,应用程序可以使用ado.net连连接任意类型的数据源,并检索、处理接任意类型的数据源,并检索、处理和更新数据源中的数据。和更新数据源中的数据。 p新技术新技术本书目录本书目录1515 数据库技术与应用数据库技术与应用ado.net dataset ado.net dataset 是是 ado.net 的

15、断开式结的断开式结构的核心组件。构的核心组件。dataset 的设计目的很明确:为了的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,它可以实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于用于多种不同的数据源,用于 xml 数据,或用于管数据,或用于管理应用程序本地的数据。理应用程序本地的数据。dataset 是数据的内存驻是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。的关系编程模型。dataset 包含一个或多个包含一个或多个 datatable 对象的集合,这些对象由数据行和数据对象的集

16、合,这些对象由数据行和数据列以及主键、外键、约束和有关列以及主键、外键、约束和有关 datatable 对象中对象中数据的关系信息组成。数据的关系信息组成。本书目录本书目录1616 数据库技术与应用数据库技术与应用.net framework 数据提供程序数据提供程序 .net framework 数据提供程序数据提供程序是是ado.net 结构的另一个核心结构的另一个核心元素,其组件的设计目的相当明确:实现对底层数据源的访问。元素,其组件的设计目的相当明确:实现对底层数据源的访问。这些组件包括:这些组件包括:connection、command、dataadapter和和datareader

17、对象。对象。connection 对象提供与数据源的连接。对象提供与数据源的连接。command 对象使您能够访问用于返回数据、修改数据、运行存对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。储过程以及发送或检索参数信息的数据库命令。datareader 从从数据源中提供高性能的数据流。最后数据源中提供高性能的数据流。最后dataadapter 提供连接提供连接 dataset 对象和数据源的桥梁。对象和数据源的桥梁。dataadapter 使用使用 command 对象在数据源中执行对象在数据源中执行 sql 命令,以便将数据加载到命令,以便将数据加载

18、到 dataset 中,中,并使对并使对 dataset 中数据的更改与数据源保持一致。中数据的更改与数据源保持一致。本书目录本书目录1717 数据库技术与应用数据库技术与应用connection对象对象 连接字符串格式连接字符串格式sqlconnection initial catalog= mydb;datasource=myserver;user id=sa;password=;oledb.net数据提供程序数据提供程序connection对象连接参数对象连接参数属性属性说明说明provider指定指定oledb providerdata source指定数据库服务器名称或位置指定数据库

19、服务器名称或位置initial catalog指定数据库名指定数据库名user id用户帐户用户帐户password用户密码用户密码intigrated secuity sspi本书目录本书目录1818 数据库技术与应用数据库技术与应用应用实例应用实例例:求例:求sc中所有选课学生的平均成绩。中所有选课学生的平均成绩。sc(snum,cnum,score)本书目录本书目录1919 数据库技术与应用数据库技术与应用private sub form1_load() handles mybase.load dim sql as string = select * from sc dim myconn

20、 as new sqlconnection(initial catalog=学生选课学生选课;data_ source=naonao;integrated security=sspi;) dim adapter as sqldataadapter = new sqldataadapter(sql, myconn) dim sc_dataset as new data.dataset adapter.fill(sc_dataset, sc) dim i as integer = 0 dim sum as integer = 0 for i = 0 to sc_dataset.tables(sc)

21、.rows.count 1sum = sum + sc_dataset.tables(sc).rows(i).item(score) next sum = sum / i msgbox(平均成绩平均成绩= & sum)end subsqldataadapter dataset本书目录本书目录2020 数据库技术与应用数据库技术与应用private sub form1_load() handles mybase.load dim sql as string = select * from sc dim myconn as new sqlconnection(initial catalog

22、=学生选课学生选课;data_ source=naonao;integrated security=sspi;) dim mycmd as new sqlcommand(sql, myconn) dim reader_sc as sqldatareader dim i as integer = 0 dim sum as integer = 0 myconn.open() reader_sc = mycmd.executereader() do while reader_sc.read() sum = sum + reader_sc.item(2) i = i + 1 loop reader_s

23、c.close() myconn.close() sum = sum / i msgbox(平均成绩平均成绩= & sum)end subsqlcommandexecutereadersqldatareader本书目录本书目录2121 数据库技术与应用数据库技术与应用sqlcommand、executescalarprivate sub form1_load() handles mybase.load dim sql as string = select avg(score) from sc dim myconn as new sqlconnection(initial catalog

24、= 学生选课学生选课;data_ source=naonao;integrated security=sspi;) dim mycmd as new sqlcommand(sql, myconn) dim avg as integer = 0 myconn.open() avg = mycmd.executescalar() myconn.close() msgbox(平均成绩平均成绩= & avg)end sub本书目录本书目录2222 数据库技术与应用数据库技术与应用数据绑定数据绑定 数据绑定是绑定技术中使用最频繁,也是最为数据绑定是绑定技术中使用最频繁,也是最为重要的技术,也可以

25、说是各种重要的技术,也可以说是各种.net开发语言开发数据开发语言开发数据库应用程序最需要掌握的基本知识之一。数据绑定之库应用程序最需要掌握的基本知识之一。数据绑定之所以很重要,是因为在所以很重要,是因为在.net framework sdk中并没中并没有提供数据库开发的相关组件,即如:有提供数据库开发的相关组件,即如:dbtextbox、dblabel等用于数据库开发的常用组件在等用于数据库开发的常用组件在.net framework sdk中都没有。而中都没有。而数据绑定技术使得界数据绑定技术使得界面上的所有控件访问数据源数据时可以步调一致。面上的所有控件访问数据源数据时可以步调一致。本书

26、目录本书目录2323 数据库技术与应用数据库技术与应用本书目录本书目录2424 数据库技术与应用数据库技术与应用(1)建立)建立sqlserver客户表与客户表与vb.net控件之间的数据绑定关系控件之间的数据绑定关系 public mybind as bindingmanagerbase me.sqldataadapter2.fill(me.dataset11.客户客户) mybind = me.bindingcontext(me.dataset11, 客户客户) (2)用四个)用四个button实现客户表的数据浏览实现客户表的数据浏览 mybind.position = 0 /到头到头 m

27、ybind.position = mybind.position 1 /往前翻往前翻 mybind.position = mybind.position + 1 /往后翻往后翻 mybind.position = mybind.count 1 /到尾到尾(3)用五个)用五个button实现客户表的更新操作实现客户表的更新操作 mybind.addnew() /插入一条记录插入一条记录 mybind.removeat(mybind.position) /删除当前记录删除当前记录 mybind.endcurrentedit() /结束当前更新状态结束当前更新状态 mybind.cancelcurr

28、entedit() /取消当前编辑修改取消当前编辑修改 mybind.endcurrentedit() me.sqldataadapter1.update(me.dataset11.客户客户)本书目录本书目录2525 数据库技术与应用数据库技术与应用数据表示层的设计数据表示层的设计功能的设计功能的设计界面的布局界面的布局信息交互信息交互好的应用程序的界面设计是:好的应用程序的界面设计是:功能全面、控件布局合理、视觉美观、对用户友好!功能全面、控件布局合理、视觉美观、对用户友好!本书目录本书目录2626 数据库技术与应用数据库技术与应用本书目录本书目录2727 数据库技术与应用数据库技术与应用本书目录本书目录2828 数据库技术与应用数据库技术与应用本书目录本书目录2929 数据库技术与应用数据库技术与应用本书目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论