PowerDesigner操作指南.docx
《PowerDesigner操作指南.docx》由会员分享,可在线阅读,更多相关《PowerDesigner操作指南.docx(15页珍藏版)》请在冰豆网上搜索。
PowerDesigner操作指南
《数据库系统原理》实验指导
信息管理系
2011.9
背景知识介绍
学籍管理是学校管理中一项繁琐的工作,管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生以及这些学生的详细情况;学生完成一门课程的学习后,教师需要录入学生的考试成绩,计算平均成绩、汇总各分数段的人数,学生需要查询已结业的各门课程的成绩;班主任需要查询本班学生学习情况,包括各门课程的平均成绩和每个学生的考试通过情况,为此,设计一套实用的学籍管理系统就可以大大简化管理人员、班主任和任课教师的工作,方便学生查询自己的学习情况。
该系统主要实现的功能如表1所示。
表1学籍管理主要功能表
序号
功能名称
功能说明
1
学生管理
登记学生的基本信息,并提供查询的功能
2
课程管理
登记课程的基本情况,提供查询功能
3
教师管理
登记教师的基本信息,提供查询统计功能
4
成绩管理
登记各门课程的考试成绩,提供查询统计功能
5
授课管理
登记教师授课情况,提供查询功能
6
编码维护
维护系统中使用的编码
学籍管理基本情况:
一个学院包含多个班级和多名教师,每个班级包括多名学生,根据学校规定,一个班级只有一个班主任,一个老师也只担任一个班级的班主任,一个学院有多名班主任,学院的属性有学院编号和学院名称,班级的属性有班级编号和班级名称,学生的属性有学号、姓名、性别和出生日期;每个学生可以选修多门课程,每门课程也可以被多个学生选修,学生选修课程后参加考试会有考试成绩,一个教师可以讲授多门课程,每一门课程也可以有多个教师讲授,教师授课要考虑授课地点以及授课的学期,一个教师可以受聘一种职称,一个职称可以聘任多个教师,每门课程属于一种课程类型,而每种课程类型可以包含很多门课程,每门课程最多只有一门先修课程。
课程的属性包括课程编号、课程名称、课程介绍、开设学期、总学时、学分以及先修课程,教师的属性有教师编号、姓名、性别、出生日期、参加工作时间,职称的属性有职称编号和职称名称,课程类型的属性有课程类型编号和课程类型说明。
实验一学籍管理概念结构设计
1、实验目的
1)熟练掌握概念结构设计的方法
2)熟练掌握PowerDesigner进行CDM(ConceptualDataModel)设计及检测CDM模型的方法
2、实验内容
PowerDesignerCDM可以描述概念结构,根据前面对学籍管理基本情况的描述,使用PowerDesigner进行学籍管理CDM设计。
3、实验步骤
1)选择filenewmodelConceptualDataModel,建立CDM模型(即概念数据模型)。
2)创建实体,在CDM的图形窗口中,单击设计元素面板上Entity工具(实体),再单击图形窗口的空白处,在单击的位置就出现一个实体符号。
点击Pointer工具或右击鼠标,释放Entitiy工具。
如图1-1所示。
图1-1
3)双击创建的实体符号,打开图1-2所示窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。
图1-2
4)添加实体属性:
上述窗口的“Attributes”选项标签可以添加属性,如图1-3所示。
图1-3
其中:
P(Primary)列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。
5)设置检查约束
如果需要给某些属性设置检查约束,首先选中某属性,然后鼠标点击图1-4红色矩形框所示按钮,或者双击属性,打开对话框,选StandardChecks标签,如图1-5所示。
图1-4
图1-5
在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如表2所示。
表2对话框中参数的含义
参数
说明
Minimum
属性可接受的最小数值
Maximum
属性可接受的最大数值
Default
属性不赋值时,系统提供的默认值
Unit
单位,如公里、吨、元
Format
属性的数据显示格式
Lowercase
属性的赋值全部变为小写字母
Uppercase
属性的赋值全部变为大写字母
Cannotmodify
该属性一旦赋值不能再修改
ListOfValues
属性赋值列表,除列表中的值,不能有其他的值
Label
属性列表值的标签
6)建立联系:
在图形窗口中创建两个实体后,单击Relationship工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体之间创建了联系,右键单击图形窗口,释放工具。
双击联系图标,打开窗口如图1-6所示。
图1-6
如果联系具有属性则使用associationLink工具。
7)验证CDM的正确性
toolsCheckModel,打开图1-7所示窗口,选择要检测的内容,单击确定。
检查结果包括警告和错误,警告不影响生成PDM(物理模型),有错误则不能生成PDM。
图1-7
实验二学籍管理逻辑结构和物理结构设计
1、实验目的
1)熟练掌握E-R图转换为关系模式的方法
2)掌握使用PowerDesigner将CDM转化为PDM(PhysicalDataModel)的方法
3)掌握设计视图的方法
2、实验内容
1)PowerDesigner中的PDM可以描述逻辑结构和物理结构,选择SQLServer2000为DBMS,使用PowerDesigner进行学籍管理PDM的设计。
两种方法可以实现,一种方法是直接使用PDM设计元素进行设计,另一种方法是直接将CDM转换为PDM。
2)设计用户子模式(视图)。
为学籍管理人员建立如下子模式:
●学生基本情况(学号,姓名,性别,班级,学院,获取总学分)
为学生建立如下子模式:
●考试通过基本情况(学号,姓名,班级,课程名称,成绩)
为教师建立如下子模式:
●选修学生情况(课程编号,学号,姓名,班级,学院,平均成绩)
●授课效果(课程编号,选修学期,平均成绩)
3、实验步骤:
1)toolsGeneratePhysicalDataModel。
如图2-1所示。
从DBMS下拉列表框选择MicrosoftSQLServer2000,选择Share单选按钮,单击OK即可。
图2-1
2)创建视图
从设计元素面板上选择视图(view),在设计区创建一个视图,双击该视图,进入如图2-2所示界面,创建视图一般需要设置“General”选项卡中的属性和图2-3所示“SQLQuery”选项卡中的SQL语句。
图2-2
图2-3
实验三学籍管理数据库实施
1、实验目的
1)熟练掌握数据库实施的内容。
2)使用PowerDesigner生成数据库脚本并自动创建数据库,熟练掌握利用PowerDesigner进行数据库实施的方法。
2、实验内容
使用PowerDesigner生成学籍管理数据库及其对象的创建脚本并自动创建数据库,进行学籍管理数据库实施。
3、实验步骤
1)选择Database->GenerateDatabase。
如图3-1所示。
设置directory和filename,单击确定。
图3-1
2)执行脚本,生成数据库对象。
首先启动SQLServer2005,建立数据库。
PowerDesigner提供两种方法执行脚本,一种是在SQLServer2000中手工执行脚本,生成数据库对象,还有一种是通过ODBC连接数据库口自动执行(在PowerDesigner中执行)。
前一种方法很简单,我们重点说一下后一种方法。
3)通过控制面板管理工具中的ODBC数据源先创建好数据源,然后Database->connect,如图3-2所示,下拉列表中选择创建好的数据源名称,单击connect。
图3-2
4)Database->executeSQL,如图3-3所示。
图3-3
打开要执行的脚本文件,单击run即可。
5)产生测试数据。
Database->generatetestdata。
产生的测试数据文件为SQL脚本文件,需要在SQLServer中执行脚本文件才能把测试数据插入到表中。
实验四学分学期转换函数设计
1、实验目的
通过函数的编写与调试,熟练掌握SQL函数的编写、调试与使用方法。
2、实验内容
1)编写学分转换函数,将考试成绩转换为学分。
2)编写学期转换函数。
3、实验步骤
1)学分转换函数
功能要求:
在学籍管理中,根据学生选修课程的成绩,查询所获得学分情况。
如果成绩大于等于60,则可以获得该课程的学分,否则所得学分为0。
入口参数:
成绩和课程学分。
返回值:
应得学分。
2)学期转换函数
功能要求:
在学籍管理系统中,每门课程都会规定学期(如学生入学后第4学期)开课,而入学时间不同,对应的具体开课时间也不同。
如2010-2011-1对应于08级的同学应该是第5学期,该函数的作用既是实现将形如“2010-2011-1”的学期表示形式转换为5的其表示形式。
入口参数:
学年和入学年份
返回值:
数字表示的学期。
2011元旦2012
2011-2012-1087
实验五存储过程设计
1、实验目的
熟练掌握存储过程的编写、调试与使用方法。
2、实验内容
1)编写汇总平均成绩的存储过程,实现自动汇总某学期各班平均成绩、每个同学的平均成绩及所获得学分。
2)编写统计某班某课程不同分数段的人数和平均成绩的存储过程。
3、实验步骤
1)汇总平均成绩的存储过程
入口参数:
学期
算法:
建立班级的游标,使用循环结构,根据班级编号中的入学年份和入口参数(如“2010-2011-1”表示的学期),通过学期转换函数,使用选课表、课程表、班级表和学生表查询班级在本学期开设的所有课程的平均成绩。
如果平均成绩是0,说明本班所有课程成绩没有登记;否则汇总本班级每个学生在本学期的所有课程平均成绩。
处理完一个班级后,通过游标处理下一个班级。
2)统计某课程不同分数段的人数及平均成绩。
入口参数:
课程编号、班级编号
算法:
统计不同分数段,需要使用循环结构,每次统计一个分数段的人数,然后调整下一个分数段的区间,最后汇总平均成绩。
实验六触发器设计
1、实验目的
掌握触发器的编写和调试方法
2、实验内容
在成绩表上增加修改学分的触发器,实现修改成绩时自动修改学生的学分。
3、实验步骤
1)变更一下学生表的结构,增加总学分字段
2)编写触发器。