期末第9章-数据库应用系统开发

期末第9章-数据库应用系统开发

ID:42088225

大小:3.48 MB

页数:45页

时间:2019-09-07

期末第9章-数据库应用系统开发_第1页
期末第9章-数据库应用系统开发_第2页
期末第9章-数据库应用系统开发_第3页
期末第9章-数据库应用系统开发_第4页
期末第9章-数据库应用系统开发_第5页
资源描述:

《期末第9章-数据库应用系统开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库技术与应用Windows数据库应用程序开发数据库技术与应用本书目录1数据库应用程序开发技术数据库技术应用程序开发工具数据访问技术软件工程的理念使用技术:知识点:数据库设计过程、完整性控制、安全性控制、数据库恢复技术;VB.Net程序设计;ADO.Net;应用程序开发过程:系统分析、需求分析、功能设计、编码、测试等。应用系统的多层结构数据库连接数据适配器数据集显式连接方法用户界面(窗体)数据访问层表示层数据层注意:好的应用程序通常把用户界面与数据访问分开。数据库设计需求分析概念模式设计——E/R图设计逻辑模式设计

2、——将E/R图转换为关系模式并作规范化处理物理模式设计——选择RDBMS开发平台创建数据库数据库设计实例设某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”关系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期

3、和月薪。(1)试画出ER图,并在图上注明属性、联系的类型。(2)将ER图转换成关系模式集,并指出每个关系模式主键和外键。性别姓名职工编号月薪聘期地址商店名商店编号规格商品名商品号职工商店商品聘用销售单价业绩月销售量商店(商店编号,商店名,地址)商品(商品号,商品名,规格,单价)职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)销售(商店编号,商品号,月销售量)商品、销售、商店、职工∈3NF完整性控制完整性控制:保证数据库中的数据和语义的正确性及有效性,采取有效的措施防止导致错误数据的操作。SQLServer20

4、00数据完整性有四种类型:实体完整性域完整性参照完整性(也叫引用完整性)用户自定义完整性SQL中的CREATETABLE命令在SQL查询语句中用于定义列或字段一级的完整性约束,一般包括:NOTNULL和NULL约束PRIMARYKEY约束UNIQUE约束FOREIGNKEY约束DEFAULT定义CHECK约束例:在学生选课数据库中,定义关系模式SC(snum,cnum,score)。CREATETABLESC(snumchar(10)NOTNULLFOREIGNKEY(snum)REFERENCESstudent(s

5、num)ONDELETECASCADE,cnumchar(10)NOTNULLFOREIGNKEYREFERENCEScourseONDELETECASCADE,scoreINTNULLCHECK(score>=0ANDscore<=100),PRIMARYKEY(snum,cnum));当要修改student表中的snum值时或要修改course表中的cnum值时,先要检查SC中有无元组的snum值或cnum值与之对应,若没有,则系统接受修改操作,否则,系统拒绝此操作。当要删除student表或course表中某个

6、元组时,系统也要检查SC表,若找到相应元组则将它们也随之删除。域完整性控制实例例:设计关系模式teacher(tnum,tname,ID,sex,age,Join_date),要求年龄必须介于18~65之间,ID表示身分证号必须唯一,性别只能是“男”或“女”,姓名非空,工号必须是数字字符,进入单位日期缺省状态取系统时间。CREATETABLEteacher(tnumVARCHAR(6)NOTNULLCHECK(tnumLIKE‘[0-9][0-9][0-9][0-9][0-9][0-9]’),tnameVARCHAR

7、(10)NOTNULL,IDCHAR(18)UNIQUE,sexCHAR(2)CHECK(sexIN(‘男’,’女’)),ageINTCHECK(ageBETWEEN18~65),Join_dateDATETIMEDEFAULTGETDATE(),PRIMARYKEY(tnum));触发器实现完整性控制例:建立一个DELETE触发器,每当在student表中删除一条记录时,也将在SC表中删除相应的记录。关系模式如下:student(snum,cname,sex,age)sc(snum,cnum,score)CREAT

8、ETRIGGERstudent_deleteONstudentFORDELETEASDECLARE@_snumASCHAR(10)SELECT@_snum=d.snumFROMdeleteddIFNOTEXISTS(SELECT*FROMscWHEREsnum=@_snum)BEGINPRINT'已删除没有选课的学生!'COMMITTRANEN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。