《数据层技术基础》PPT课件.ppt

上传人:汽*** 文档编号:568437155 上传时间:2024-07-24 格式:PPT 页数:46 大小:725KB
返回 下载 相关 举报
《数据层技术基础》PPT课件.ppt_第1页
第1页 / 共46页
《数据层技术基础》PPT课件.ppt_第2页
第2页 / 共46页
《数据层技术基础》PPT课件.ppt_第3页
第3页 / 共46页
《数据层技术基础》PPT课件.ppt_第4页
第4页 / 共46页
《数据层技术基础》PPT课件.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《《数据层技术基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据层技术基础》PPT课件.ppt(46页珍藏版)》请在金锄头文库上搜索。

1、第第第第55章章章章 数据层技术基础数据层技术基础数据层技术基础数据层技术基础n数据层的任务 n负责对数据的管理,也就是对数据进行分类、组织、编码、存储、检索和维护等 n数据层的核心n数据库系统是数据层的核心,通过数据访问接口与表达层、逻辑层进行交互。 核心商务服务Web服务数据库IEInternet表示层商务逻辑层数据层55.11数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段n n5.1.15.1.15.1.15.1.1手工管理阶段与文件系统阶段手工管理阶段与文件系统阶段手工管理阶段与文件系统阶段手工管理阶段与文件系统阶段 n手工管理

2、阶段n软硬件条件:无DMA设备、无OSn应用目的:科学计算n数据组织方式:手工n特点:数据不保存、数据无结构、数据无独立性、数据不能共享n文件系统阶段n软硬件条件:有DMA设备、有OSn应用目的:科学计算、数据管理n数据组织方式:文件系统n特点:数据可保存、结构化不强、独立性较差、数据不能共享55.11数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段n n5.1.25.1.2数据库系统数据库系统阶段阶段n应用目的:科学计算、OLTP、多媒体应用n数据组织方式:数据库三级模式n软硬件条件:大容量快速存储设备、多用户多任务OSn特点:数据保存

3、在数据库、数据高度结构化、数据高度独立、数据共享、冗余小、数据统一控制n缺点:不能满足OLAP的需求 外模式/模式映像模式/内模式映像应用A应用B应用C应用D外模式1外模式2模式内模式数据库55.11数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段数据管理技术的几个发展阶段n n5.1.35.1.35.1.35.1.3数据库系统的进一步发展数据库系统的进一步发展数据库系统的进一步发展数据库系统的进一步发展数据仓库数据仓库数据仓库数据仓库 n数据仓库(DW+OLAP+DM)n软硬件条件:C/S技术成熟n应用目的:OLAP、决策支持n数据组织方式:多维数据n特点:数据

4、冗余大,资源占用多OLTP(online transaction process): 联机事务处理对数据库进行联机的日常事务处理 ,即利用数据库系统,对日常业务的记录数据进行维护,如进行记录的增加、删除、修改及简单查询 ;OLAP(online analysis process): 联机分析处理,即从企业已有的大量数据中提取决策信息并对之进行管理的服务。数据仓库数据仓库: W.H.Inmon认为:数据仓库是支持管理决策过程的、面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合。包括了数据仓库生成技术(DW)、联机分析处理(从数据仓库中提取决策数据)和数据挖掘技术(DM,从数据库和数

5、据仓库中进行深度数据分析,以实现决策支持的各种要求)三个方面的内容。 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.15.2.15.2.1数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计 n数据库平台种类n关系数据模型的设计n关系数据模型组成要素:数据结构+数据操纵+数据完整性n实体完整性、域完整性、参照完整性、用户自定义完整性的设计 n实体完整性:是为了唯一的确定表中的一条记录,因此实体完整性要求充当主码的字段值应唯一且不能为空 ;n参

6、照完整性:要求参照字段(参照码)的取值只能取被参照的字段(某个表中的主码)中的值,或者索性为空;n域完整性(通过CHECK约束、DEFAULT约束):限制字段的数据类型、格式、取值范围等 ;55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.1数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计 n数据库种类n关系数据模型的设计n数据模式定义与SQL查询n例5.1 数据结构的定义及SQL查询。 1)在SQL Server 中建立一个数据库mytest,包含以下5个表:教师Teacher、学生Student、课程

7、Course、授课TC、选课SC,其关系模式如下:Teacher(Teacher(教教师师号号TnoTno,姓姓名名TnameTname,年年龄龄TageTage,性性别别TsexTsex,系系名名TdeptTdept,电电话话号号码码TtelTtel,邮邮件件地地址址E-mail,E-mail,家家庭庭地地址址TaddrTaddr) );Student(Student(学号学号SnoSno,姓名姓名SnameSname,年龄年龄SageSage,性别性别SsexSsex,系名系名SdeptSdept) )Course(Course(课程号课程号CnoCno,课程名课程名CnameCname,

8、学分数学分数CcreditCcredit,课时数课时数ChourChour) )TC(TC(教师号教师号TnoTno,课程号课程号CnoCno,任课学年任课学年AyearAyear,任课学期任课学期SemesterSemester,评教等级评教等级Rating)Rating)SC(SC(学号学号SnoSno,课程号课程号CnoCno,成绩成绩Grade)Grade)2)将Teacher.Tno、Student.Sno、Course.Cno设为主码;将TC.Tno、TC.Cno、SC.Sno、SC.Sno设为外码,分别与Teacher、Student、Course建立参照关系。3)用SQL查询语

9、句完成下列操作:查询所有不姓李的教师的姓名、年龄、性别和系名;查询选修了“1”号和“4”号课程且成绩介于80分和90分之间的学生的姓名; 查询会计系男生的平均成绩;将一个教师记录(教师号:0899;姓名:岳枫;年龄:28;性别:女;系名:经贸系;E-mail:)插入到Teacher表中; 将一个系学生的平均成绩存入数据库的某个表中; 将岳枫教师的E-mail改为; 删除某个学生(譬如汪莹)的选课信息。 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.1数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计 n

10、数据库种类n关系数据模型的设计n数据模式定义与SQL查询n参照完整性设计n规则 :是用来对表中的字段值(或用户自定义的数据类型中的值)进行限制的一种手段,用于执行一些与 CHECK 约束相同的功能 ;n例5.2 在SQL Server中利用T-SQL语句进行规则的创建与绑定 1)创建一个规则,用以限制Teacher表中的Tage取值范围。USEmytestGOCREATERULErule1ASrange=1ANDrange120GOEXECsp_bindrulerule1,Teacher.Tage 2)创建一个规则,用以限制Teacher表中的Tdept取值范围。USEmytestGOCREA

11、TERULErule2ASlistIN(经贸系,会计系,金融系,计算机系)GOEXECsp_bindrulerule2,Teacher.Tdept 3)创建一个规则,用以限制Teacher表中的Taddr取值范围。USEmytestGOCREATERULErule3ASvalueLIKE_-%-任意一个字符的后面跟一个连字符和任意多个字符(或没有字符),如沪-淮海街道GOEXECsp_bindrulerule3,Teacher.Taddr55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.1数据库平台的选择与数据模型的设计

12、数据库平台的选择与数据模型的设计 n数据库种类n关系数据模型的设计n数据模式定义与SQL查询n参照完整性设计n规则 n默认值 :默认值对象的作用类似于建表时的DEFAULT约束,对未赋值的字段赋予初值,其管理和使用与规则比较相似,但优先级低于规则。 n例5.3 定义一个默认值,使教师表中的Ttel初值为unkown。 USEmytestGOCREATEDEFAULTdef1ASunknownGOEXECsp_bindefaultdef1,teacher.Ttel55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.15.2.

13、15.2.1数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计 n数据库种类n关系数据模型的设计n数据模式定义与SQL查询n参照完整性设计n规则 n默认值n存储过程 n简介:存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 n优点n例5.4 创建存储过程 1)创建一

14、个能查询出所有不姓李的教师的姓名、年龄、性别和系名的存储过程USEmytestIFEXISTS(SELECTnameFROMsysobjectsWHEREname=pro1ANDtype=P)DROPPROCEDUREpro1GOCREATEPROCEDUREpro1ASSELECT teacher.Tname, teacher.Tage, teacher.Tsex, teacher.TdeptFROM teacherWHERE (teacher.Tname) Like 李%);GOEXECpro12)创建一个能查询出选修了“1”号和“4”号课程且成绩介于80分和90分之间的学生的姓名的存储过

15、程;USEmytestIFEXISTS(SELECTnameFROMsysobjectsWHEREname=pro2ANDtype=P)DROPPROCEDUREpro2GOCREATEPROCEDUREpro2score1int,score2intASSELECT sc.Sno FROM scWHERE (sc.Cno)=1 Or (sc.Cno)=4) AND (sc.Grade) Between score1 And score2)GOEXECUTEpro280,903)创建一个能查询出会计系男生平均成绩的存储过程;USEmytestGOIFEXISTS(SELECTnameFROMsy

16、sobjectsWHEREname=pro3ANDtype=P)DROPPROCEDUREpro3GOCREATEPROCEDUREpro3avescorefloatOUTPUTASSELECTavescore=Avg(sc.Grade)FROMstudentINNERJOINscONstudent.Sno=sc.SnoWHERE(student.Sdept)=会计系)AND(student.Ssex)=男);GO接下来可用下列语句进行测试:DECLAREavescorefloatEXECUTEpro3avescoreOUTPUTIFavescore60BEGINPRINTPRINT平均成绩不

17、及格ENDELSEBEGINPRINT平均成绩及格END4)创建一个能从teacher表中查询出不同性别和所有记录数的存储过程;USEmytestGOIFEXISTS(SELECTnameFROMsysobjectsWHEREname=pro4ANDtype=P)DROPPROCEDUREpro4GOCREATEPROCEDUREdbo.pro4(sexchar,totalrecintoutput)ASselecttotalrec=count(*)fromteacherselect*fromteacherwhereteacher.Tsex=sexreturn(rowcount)GO接下来也可用

18、下列语句进行测试:usemytestgoDECLAREsexchar(2),totalrecintsetsex=女EXECUTEpro4sex,totalrecOUTPUTPRINTsexPRINTtotalrec55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.15.2.15.2.15.2.1数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计数据库平台的选择与数据模型的设计 n数据库种类n关系数据模型的设计n数据模式定义与SQL查询n参照完整性设计n规则 n默认值n存储过程 n触发器

19、 :一种特殊类型的存储过程 n优点n例5.5 创建一个触发器,当在Teacher表中修改数据时报告所更新的记录数 USEmytestGOCREATETRIGGERt1ONdbo.TeacherFORUPDATEASDECLAREmsgvarchar(50)SELECTmsg=No:+str(rowcount)+个记录已被更新!PRINTmsg可在查询分析器中用以下的语句来测试:USEmytestGOUPDATEteacherSETage=5555.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访

20、问接口的实现 n数据库访问接口技术n数据库的访问 核心商务服务Web服务数据库IEInternet表示层商务逻辑层数据层。Strsql=select . From . Where .。sql=select . From . Where .SQL请求55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问 n 数据库访问接口应用程序. . . . .SQLOracleSybaseDriverDriverDriver应用程序.SQLOracleSybas

21、eDriverDriverDriver公共数据库接口55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(open database connectivity,数据库系统互连)ODBC=Interface+Driver ManagerDriver Manager(驱动程序管理器)作用: 为应用程序装入DLL驱动程序,绑定DLL中函数,初始化ODBC调用,提供ODBC函数的入口点,对ODBC

22、调用的参数进行合法性检查,调用ODBC中的函数等。 ODBC特点:ODBC属于很低层的接口,适合C或C+程序编程 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(Open Database Connectivity,数据库系统互连)nDAO(Data Access Object,数据访问对象)DAO特点: 属于高层的接口,适合VB程序编程,访问Access快,访问其它数据库慢 55.

23、22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(Open Database Connectivity,数据库系统互连)nDAO(Data Access Object,数据访问对象)nRDO(Remote Data Object,远程数据对象) RAO特点: 属于高层的接口,适合VB程序编程,访问非Access数据库快 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层

24、实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(Open Database Connectivity,数据库系统互连)nDAO(Data Access Object,数据访问对象)nRDO(Remote Data Object,远程数据对象) nOLE DB OLE DB 构成: 数据消费者(一个应用程序)+数据提供程序+处理并传输数据的服务组件(如查询处理器、游标引擎) OLE DB特点: 基于 SQL查询的 数据源和非 SQL查询的 数据源 ; 不提

25、供指针,不适合VB编程,适合c+。 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(Open Database Connectivity,数据库系统互连)nDAO(Data Access Object,数据访问对象)nRDO(Remote Data Object,远程数据对象) nOLE DB nADO(Active Data Object,动态数据对象)在Web平台上使用ASP脚本

26、,多数是使用ADO来访问数据库 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net nODBC(Open Database Connectivity,数据库系统互连)nDAO(Data Access Object,数据访问对象)nRDO(Remote Data Object,远程数据对象) nOLE DB nADO(Active Data Object,动态数据对象)nADO.netADO.net特

27、点: 提供断开的数据访问模型(这对 Web 环境至关重要); 提供与XML的紧密集成; 提供与.NET框架的无缝集成 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库的访问n数据库访问接口 n从ODBC到ADO.net n例: ASP脚本+ADO组件 Access数据库. SAP访问Access数据库Windowsproducts%response.write产品名称单位数量单价whilenotobjrec.eofresponse.write&ob

28、jrec(产品名称)&response.write&objrec(单位数量)&response.write&objrec(单价)&objrec.movenextwend%55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库接口驱动程序 n从ODBC到ADO.net n例 ASP脚本+ADO组件 Access数据库n例 VB中利用ADO访问SQL Server中mytest下的存储过程pro4 PrivateSubCommand1_Click()Dimc

29、nAsADODB.ConnectionDimcmdAsNewADODB.CommandDimresAsADODB.RecordsetDimsqlAsStringOnErrorGoToerrorhandleSetcn=NewADODB.Connectioncn.ConnectionString=PROVIDER=MSDASQL;dsn=my1;uid=sa;pwd=;database=mytest;cn.Opencmd.ActiveConnection=cncmd.CommandText=pro4cmd.CommandType=ADODB.CommandTypeEnum.adCmdStoredP

30、rocWithcmd.Parameters.Appendcmd.CreateParameter(ReturnVal,ADODB.DataTypeEnum.adInteger,ADODB.ParameterDirectionEnum.adParamReturnValue).Appendcmd.CreateParameter(sex,ADODB.DataTypeEnum.adChar,ADODB.ParameterDirectionEnum.adParamInput,10).Appendcmd.CreateParameter(totalrec,ADODB.DataTypeEnum.adIntege

31、r,ADODB.ParameterDirectionEnum.adParamOutput) End With cmd.Parameters(sex).Value=女Setres=cmd.ExecuteMsgBoxStr(cmd.Parameters(ReturnVal).Value)DimfldAsADODB.FieldIfNot(res.EOFAndres.BOF)ThenMe.List1.AddItem(totalrecords:&cmd.Parameters(totalrec).Value)Me.List1.AddItem(returnrecords:&cmd.Parameters(re

32、turnval).Value)DoUntilres.EOFMe.List1.AddItem(-)ForEachfldInres.FieldsMe.List1.AddItem(fld.Name&:&fld.Value)Nextres.MoveNextLoopEndIfres.CloseSetres=Nothingcn.CloseSetcn=NothingExitSuberrorhandle:MsgBoxErr.DescriptionEnd Sub 程序说明: 先利用Windows的控制面板下ODBC数据源建立一个名为my1的SQL数据源;然后在VB中建立一个项目,选择project菜单下的“引用

33、”,引用“ADO library”控件库,在Form窗口中放置一个Button按钮和一个ListBox控件,在按钮的Click事件中输入以上代码运行即可。 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现 n数据库访问接口技术n数据库接口驱动程序 n从ODBC到ADO.net n例 ASP脚本+ADO组件 Access数据库n例 VB中利用ADO访问SQL Server中mytest下的存储过程pro4 nJDBC(Java Database Connectivity , Ja

34、va数据库链接 )Java应用程序Java AppletJDBC应用编程接口JDBC驱 动 程 序管理器纯Java JDBC驱动程序纯Java JDBC驱动程序数据库中间件数据库服务器数据库服务器Java应用程序JDBC应用编程接口JDBC驱 动 程 序管理器JDBC-ODBC桥接驱动程序部分Java JDBC驱动程序ODBC数据库客户机库数据库客户机库数据库服务器数据库服务器ABCDhttp:/ 55.22电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现电子商务系统数据层实现 n n5.2.2 5.2.2 5.2.2 5.2.2 数据访问接口的实现数据访问接口的实现数据访问

35、接口的实现数据访问接口的实现 n数据库访问接口技术n数据库接口驱动程序 n从ODBC到ADO.net n例 ASP脚本+ADO组件 Access数据库n例 VB中利用ADO访问SQL Server中mytest下的存储过程pro4 nJDBC(Java Database Connectivity , Java数据库链接 )n专用数据库API接口或管理层软件n数据库访问接口的实现n简单式n交互式 n分布式 n例 分布式应用的一个简单实例例5. 利用JSP和JDBC技术编写一个学生信息查询系统,系统逻辑架构和测试结果如下: Web服务+应用服务 局域网 数据库浏览器Internet操作步骤: 假设

36、学生的信息数据存放在SQLServer数据库服务器中,数据库为mytest,表为student。在利用Jbuilder开发工具进行开发时,其操作步骤如下:运行Jbuilder,利用“文件”菜单下的“newproject”功能建立一个名为jspdb的项目文件;利用“文件”菜单下的“new”功能在项目下建立一个名为“jsp1”的jsp文件;利用“文件”菜单下的“new”功能在项目下建立一个名为“jsp1Bean”的类文件;选择“project”菜单下的“project properties”,在如下的窗口中添加组件库:Data Express和Servlet;在应用服务器端操作数据库利用JBuilderX编写JSP应用EnteronestudentNo:DetailsofStudentNois:Any Questions Any Questions ororComments?Comments?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号