1、数据库应用程序设计实验指导书上海第二工业大学数据库应用程序设计实验指导书课程号: 适用专业: 软件工程制定人: 周汉平所在系: 软件工程系计算机与信息学院2008年5月1. 实验一:数据库静态结构的设计-Power Designer上机【实验目的】1. 掌握PowerDesigner的概念数据模型CDM(Conceptual Data Model)的一般概念:实体(实体属性、实体标识)、域、图、关系和继承2. 掌握用Relationship表示实体1-1、1-多和多-多关系及强制关系和依赖关系概念;3. 掌握Relationship的各种关系对生成物理数据模型的实际影响4. 了解Associa
2、tion使用的基本方法5. 理解继承的使用场合和方法6. 掌握生成PowerDesigner的物理数据模型PDM(Physical Data Model)的方法及如何获取生成的DDL语句7. 能把一个实际问题转化为规范的概念数据模型【实验性质】设计型实验【实验内容】1. 参考课件完成学生、课程、校园卡和班级的概念数据模型(Teaching.cdm)的设计,并由此生成物理数据模型(Teaching.pdm)。 在Teaching.cdm中,students和classes的Relationship加上依赖关系,然后生成物理模型,观察区别。 在实际应用中,学号往往包含了学生的级别、专业、班号等信息
3、,这实际不符合1NF,如何设计更规范?同时又能按需求规则输出包含级别、专业、班号等信息的学号,设计后保存到文teaching1.cdm。 实体学生的班长的关系,由于班长本身是学生,所以是一个实体自己和自己的关系,建立这种关系后将在物理模型中产生什么情况? 学生和课程的关系即“选课”可使用Association,也可以使用一个实体,该实体具有成绩属性,然后分别和学生和课程建立强制的依赖多-1关系,分别用这两种方法设计CDM,然后生成PDM。比较分析两种方法的优缺点。(上述实体及其关系也可以在两个实体建立的Relationship后,右击Relationship使用弹出菜单中的Change to
4、Entity/Standard生成)2. 完成包含图书、出版社、作者、读者和借书单(一次可借多本图书)等实体的概念数据模型设计,图书和借书单实体的概念模型设计参考商品和单据实体的概念数据模型设计。(book.cdm/book.pdm)3. 使用继承完成各种单据实体的概念数据模型设计,单据有订货单、进货单、销售单,其共有的属性为单据号、日期、制单人和单据状态等(sheet.cdm/sheet.pdm)。4. 用PowerDesigner完成课件中“同一实体的多个外键引用的处理”中的实例(sheetref.cdm/sheetref.pdm)。【实验步骤】1. 启动PowerDesigner2. 根
5、据要求设计概念数据模型3. 生成物理数据模型4. 保存cdm和pdm文件【实验环境】PowerDesigner 9 【实验要求】将所有cdm和pdm文件压缩打包成以“学号+姓名01”命名的文件中,上传到指定服务器中。2. 实验二:查询语句Select及视图上机【实验目的】1. 基本掌握子查询在UPDATE、INSERT和DELETE语句中运用2. 熟练掌握左连接、右连接、完全连接和自连接的技术与应用3. 熟练掌握各种关系代数运算和集合运算的实现:投影、选择、连接、广义笛卡尔积和并、交、差、除4. 掌握函数在SELECT中运用5. 熟练掌握视图及其应用【实验性质】设计型实验【实验内容】1. 完成
6、6.4中例1中方案1到方案3的销售表的月累计和年累计销售额的统计。2. 对关系student(id,name,sex,classid)、sc(id,subid,grade),根据下列情况分别写出查询语句,要求查询结果包含班级编号、男生平均成绩和女生平均成绩。a) sex中直接存放“男”和“女”b) sex=0表示男,sex=1表示女3. 分别写出第二章树结点两种设计某级代码加长一位的SQL语句(update语句)(原代码在相应级别代码前加“0”)。4. 采用第二章供应商问题的解决方案,完成下列查询:a) 查询某个学生在校期间系的所用名及使用该名的起止日期。b) 查询某个学生某学期的成绩单,成绩
7、单上输出该学期该学生所在系的名称5. 对第二章的系名问题,使用all查询1999-7-1所有系名6. 对第二章的树结点的第二种方案,写出查询各结点路径的select语句。【实验步骤】1. 启动SQL Server 2000服务2. 使用企业管理器或查询分析器建立数据库及数据表,并输入若干数据3. 按要求在查询分析器中输入查询或建立视图命令4. 把调试通过并运行正确的命令粘贴到实验要求指定的文件中【实验环境】SQL Server 2000【实验要求】将所有命令按题目编号放入以“学号+姓名02”命名的doc文件中,上传到指定服务器中。3. 实验三:数据库行为特征设计【实验目的】1. 掌握批处理、事
8、务概念及其应用2. 掌握程序中变量的定义和使用3. 掌握流程控制语句IF和WHILE4. 掌握SQL Server提供的常用函数的使用、自定义标量函数和表值函数的编写方法和使用方法5. 掌握存储过程的创建和调用,掌握存储过程与函数的异同6. 理解触发器的应用场合及运行机制;了解触发器的类型;掌握触发器的创建、修改和删除7. 了解游标的定义和使用8. 掌握局部临时表的使用方法和特性;了解全局临时表的概念;理解局部临时表实际的应用场合及其特点9. 能使用视图、表值函数、存储过程和临时表解决同一个应用问题,分析各自的优缺点【实验性质】设计型实验【实验内容】1. 根据第二章树结点的设计一,写一个函数,
9、参数为结点代码,返回该结点的路径。2. 根据第二章树结点的设计一和设计二,分别用存储过程实现结点的复制功能,存储过程参数为要复制的结点代码(设计一)或结点id(设计二)及目标结点代码或id。3. 上题中加入事务处理的控制。4. 根据第二章树结点的设计一和设计二,用存储过程对整表一次扫描完成两种设计的逐级求和。5. 根据第二章树结点设计一,用存储过程实现计算级数的算法。6. 用存储过程或触发器完成第二章对收支表的增删改的算法。(增加时要计算增加行的余额及更新新增日期后的所有行的余额,删除时要更新删除行日期后所有行的余额,修改也要做相应操作)7. 根据第二章树结点设计,使用表值函数取出所有叶结点的
10、代码和名称。【实验步骤】1. 启动SQL Server 2000服务2. 使用企业管理器或查询分析器建立数据库及数据表,并输入若干数据3. 按要求在查询分析器中输入建立函数、存储过程等的命令4. 把调试通过并运行正确的命令粘贴到实验要求指定的文件中【实验环境】SQL Server 2000 【实验要求】将所有命令按题目编号放入以“学号+姓名03”命名的doc文件中,上传到指定服务器中。4. 实验四:数据库应用程序设计上机【实验目的】1. 掌握数据库的连接方法2. 理解并掌握使用DataSet数据库的访问机制3. 理解并掌握控件和DataSet中数据绑定的内部机制及方法4. 掌握常见的数据库应用
11、程序的界面设计和实现方法5. 理解水晶报表进行报表设计的基本方法,掌握水晶报表中List报表和子报表设计方法6. 掌握报表设计器以及字段资源管理器的基本使用方法,掌握Page Head、Detail、分组、排序和Formula Field的使用7. 掌握报表的显示和打印方法【实验性质】设计型实验【实验内容】建立数据库Bookshop,包含下列4个数据表,其关系类似students、subjects、grade和classes,完成课程中类似界面和程序的设计:(项目名Ex01)Books(id,name,language,publicdate,price,classid) =书(书号,中/外文b
12、it,出版日期,价格,分类号) Bookshop(shopid,name) =书店(编号,名称)SalePoint(id,shopid,qty) =销售点(书号,书店编号,存量)Classes(classid,name) =图书分类(分类号,分类名称)【实验步骤】1. 启动SQL Server 2000服务2. 使用企业管理器或查询分析器建立数据库和数据表3. 建立文件夹Exercise044. 启动Microsoft Visual Studio .NET 20035. 新建Windows应用程序,选择位置为上面新建的文件夹,按以上各题要求输入项目名称。6. 根据要求完成界面设计和编码,并进行调试,直到完全通过运行,结果符合题目要求。【实验环境】Microsoft Visual Studio .NET 2003 SQL Server 2000【实验要求】将文件夹Exercise04压缩打包成以“学号+姓名04”命名的文件中,上传到指定服务器中。