oracle学生成绩管理系统设计Word文档格式.docx
- 文档编号:15774128
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:456.28KB
oracle学生成绩管理系统设计Word文档格式.docx
《oracle学生成绩管理系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《oracle学生成绩管理系统设计Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
E-R图向关系模型转换时要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码,这种转换一般按下面的原则进行。
(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但关系的码会根据联系的类型变化。
三、主要仪器设备
计算机一台、Powerdesinger运行环境
四、操作方法与实验步骤
在成绩管理系统中,需要管理学生、课程和成绩,以及它们之间的联系。
因此在该系统的E-R图中,实体分别为学生、老师、课程。
为了便于掌握,学生实体的属性分别有学号、
姓名、性别;
课程实体的属性有课程编号、课程名称、学期、课程学分;
教师实体的属性有教师编号、姓名、性别。
学生实体与课程实体有选课关系,而且一个学生可以选择多门课程,一门课程也可以被多个学生选择,因此学生和课程之间的联系是m:
n联系。
教师实体与课程实体有教授关系,一名教师可以教多门课程,一门课程也可以被多个教师教授,因此教师和课程之间的联系是m:
学生在选课后会产生成绩,教师授课后会产生授课地点及授课学期。
根据上述分析,绘出的E-R图如下图所示。
阶段1.2成绩管理系统结构设计
1.了解数据库中列的属性以及各个属性的含义。
2.掌握为不同的列选择不同的属性及范围。
在管理信息系统中,物理结构设计主要是指如何将通过逻辑结构设计所得的系统逻辑结构型转换为物理模型,并明确地指出系统的物理存储结构。
本实验主要是利用CASE工具集PowerDesigner对成绩管理系统进行物理结构的设计。
计算机一台、Powerdesinger运行环境、Oracle运行环境
在物理结构设计中需要考虑为每列设计合适的数据类型。
成绩管理系统中,学生(学号、姓名、性别)关系里,学号采用int来表示就可以了,而姓名设置成varchar2(20),性别只需要设置为char
(2)。
因为性别不是男就是女,因此只会占用两个字节。
所以最终我们可以将其物理表结构设置为:
t_student(stuidint,stunamevarchar2(20),sexchar
(2)。
依照上述,课程的物理表结构为:
t_course(couidint,counamevarchar2(20),termchar
(2),creditnumber(3,1))。
教师的物理存储表结构为:
t_teacher(teaidint,teanamevarchar2(20),sexchar
(2))。
选课的物理表结构为:
t_selcour(sidint,cidint,scorenumber.(4,2))。
教课的物理表结构为:
t_teacour(tidint,cidint,teaaddrvarchar2(30),termchar
(2))。
(1)通过手动编写SQL语句方式建立数据库后台
上述创建了代表学生实体的表t_student,其中stuid设置为主键,唯一标识一个学生。
表t_course用来代表课程实体,其中采用couid来标识一门课程。
当课程名称的长度大于20个字符时,varchar2可以自动扩展。
物理实体在物理结构中用t_teacher表来表示,teaid用来唯一标识一位教师,因此其不能空
选课表t_selcour中学生编号参考t_student表中的stuid,此时sid为外键,课程编号cid也作为外键参考t_course中的couid
(2)通过PowerDesigner建立数据库后台
。
第四步:
到此,系统的概念模型就全部设计好了。
接下来单击菜单“工具”→“生成物理属性模型”选项,就会弹出“物理数据模型生成选项”对话框,如下图:
在“常规”选项卡中选择“生成新的物理模型”单选钮,并选择DBMS为“OPACLEVersion10g”,“名称”文本“MyPhysicalDataModel”,并单击“确认”按钮,在弹出得到路径选择对话框中输入你想要放置生成的物理数据模型文件的位置,系统就会自动在指定的路径下生成一个名为“MyPhysicalDataModal.pdm”的文件,并生成系统的物理模型,如下图
CONGC
从菜单中选择Database---GenerateDatabase选项。
PowerDesigner将会在指定的路径下生成一个名字为*.sql的文本文件。
里面存放可供Oracle执行的用来建立数据库实体的SQL语句。
阶段1.3成绩管路系统存储过程设计
(1)了解存储过程的设计目的以及方法。
(2)掌握存储过程的创建。
存储过程是在数据中定义的程序块,它存放在数据库服务端数据字典里。
采用存储过程可以提高过程代码程序的执行速度和代码共享度。
具体有以下几个特点。
(1)过程存放在服务器端,减少了网络传输的延时,提高了速度。
(2)过程在执行一次之后,会驻留内存,后续的执行无需再经编译过程,提高了执行效率。
计算机一台,Oracle运行环境
1、创建存储过程先向表t_student中插入数据,具体如下所示
2、每次向表t_student中插入数据时,只需要运行该过程就可以了。
具体如下所示。
表t_student中的列stuid被设置为主键,因此不可以存在重复值。
在第二次运行时,因为输入的第一个参数id与表中已存在的数据相同,所以插入时出现错误。
3、继续向表中插入两条记录,其中当参数id不重复时,过程成功完成。
4、不仅可以通过存储过程向表中插入数据,也可以通过一般的SQL语句向表中插入数据,如下所示。
5、向表中插入数据时,需要注意数据类型以及长度都需要与表中定义的相符,否则会出现错误,具体如下所示。
6、t_course表中列term被定义为char且长度为2,因此在插入数据时该列最大长度为2,超过该值会出现错误。
课程表中只有已经存在的课程编号才能被插入到选课表中,否则会出错,这样就保证了数据的一致性。
7、t_selcour表的另外一个外键为第一列sid,在插入时只有当该值存在于学生表中的学生编号时,才能被成功插入,否则也会出现错误,具体如下所示。
8、对于向表t_teacour中插入数据时,同样需要满足外键参考主键的约束条件,具体如下所示。
9、向表t_teacour中插入一行记录,其中tid存在于表t_teacher的列teaid中,cid存在于表t_course列couid中。
如果插入的值不符合外键约束条件,会出现错误,具体如下所示。
10、在完成对表插入值后,可以关联表查询记录。
比如:
查询教师编号为1的教师所带的课程编号、教师姓名、课程名称、课程学分信息,具体如下所示。
实现了查询编号为1的老师所带的课程编号、课程名称等信息。
在查询时,为表命名别名时为了方便,各个表的连接通过主键外键约束来实现。
查看t_course及t_selcourse中的值
五、实验结果与分析
实验结果如上截图所示。
六、讨论、心得
grantselect不支持对表中选定的几列授权,只能将整个表的select权限授权出去。
所以实验中先建立了基于选课信息表的视图SelectiveInfo1,视图中包含成绩列,学号列以及班级列(不包含其他的列)再将对视图SelectiveInfo1的select权限授予角色teacher。
不同的用户可以创建相同的表格,teacher用户创建了table1,student用户也创建了table1,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher.table1和student.table1加以区分。
实验中遇到的问题可以上网XX,网上资源很丰富。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 学生 成绩管理系统 设计