《Oracle数据库开发实例概述》由会员分享,可在线阅读,更多相关《Oracle数据库开发实例概述(23页珍藏版)》请在金锄头文库上搜索。
1、第2章 Oracle数据库开发实例概述本章概述形成对对Oracle数据库库 设计的原理与实施方法 的初步认识认识 2.2 教务管理系统 数据库的设计2.1 教务务管理系统统 简简介2.3 数据准备与 数据表的实施2.4 Oracle数据库库 的维护计维护计划【本章教学导导航】岗岗位需求调查调查 知识技能目标(1)体验教务管理系统的功能 (2)理解数据库设计的原理与实施方法本章重点体验教务管理系统的功能本章难点理解数据库设计的原理与实施方法教学方法理论实践一体化,教、学、做合一课时建议2课时(含课堂实践)【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介【项目内容】开发一个教务管理系统。
2、对于该项目,主要关注以下几个方面: 教务管理系统应提供哪些功能? 教务管理系统中涉及哪些数据对象,各对象之间以及对象内部的关系如何? 如何保存多个数据对象的相关数据,以便教务管理系统进行数据处理? 【功能分析】确定一个项目系统功能的过程,通常称为“系统功能设计”。教务管 理系统主要应有以下功能: 系统管理; 学生信息的插入、删除、修改和查询; 班级信息的插入、删除、修改和查询; 专业信息的插入、删除、修改和查询; 教师信息的插入、删除、修改和查询; 学生成绩的插入、删除、修改和查询; 课程信息的插入、删除、修改和查询; 实现学生的选课; 打印成绩单。 2.1.1系统功能分析与演示【知识讲识讲解
3、与操作示范】-2.1 教务务管理系统简统简介【系统演示】图2-1 教务管理系统-【登录】 图2-2 教务管理系统-【班级管理】 【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介【系统演示】图2-3 教务管理系统-【学生数据管理】图2-4 教务管理系统-【专业数据管理】【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介【系统演示】图2-5 教务管理系统-【课程数据管理】图2-6 教务管理系统-【学生选课】【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介【系统演示】图2-7 教务管理系统-【课表查询】图2-8 教务管理系统-【成绩输入】【知识讲识讲解与操作示范】-2.1
4、 教务务管理系统简统简介【数据分析】教务管理系统中涉及的主要数据对象有:“学生”、“班级”、“专业”、“课程”、 “教师”和“成绩”。 u “学生”涉及的主要信息有:学号、姓名、性别、身份证号、班级编号、籍 贯编号、学籍编号、政治面貌编号、民族编号; u“班级”涉及的主要信息有:班级编号、班级名称、部门编号、专业编号; u“专业”涉及的主要信息有:专业编号、专业名称、学制、部门编号; u“课程”涉及的主要信息有:课程编号、课程名称、专业编号、学分、总课 时、课程类型编号、授课形式编号; u“教师”涉及的主要信息有:教师编号、姓名、性别、身份证号、学历编号 、职称编号、政治面貌编号、部门编号;
5、u“成绩”涉及的主要信息有:学号、课程编号、成绩、考试次数、是否补修 、是否重考、是否已经确定成绩。 【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介1.数据模型 【概念】指数据的组织结构,以及基于该结构下对数据允许的操作和对数据的约束条 件,常常将这3个方面称为数据模型的“三要素”。通常基于如下原则确定数据模型 。 u能较真实地模拟现实世界; u易于理解; u便于在计算机上实现。 【分类】数据库管理系统采用的数据模型主要有:关系模型、层次模型和网状模型。 (1)关系模型:以二维表格(关系表)的形式组织数据库中的数据。例如表2-1 描述了某一时刻学生管理系统中的数据 。 (2)层次模
6、型:以树型层次结构组织数据。图2-10为某学校按层次模型组织的 数据示例。 (3)网状模型:指每一个数据用一个节点表示,每个节点与其他节点都有联系 ,这样数据库中的所有数据节点就构成了一个复杂的网络。图2-11为按网状模型 组织的数据示例。2.1.2 延展知识【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介(1)关系模型实例表2-1 学生信息表学号姓名性别身份证号班级编号籍贯编号学籍编号200503100101苑俊芳女4307251986030220002005031001431200503100102郑丽芬女4308021984041210002005031001441200503
7、100103文春香女4311271984111130002005031001431200503100104李雪晴女4311211985021160002005031001431200503100105钟秀卿女43128119830504161X2005031001431200503100106欧旭芳女4312811985110210002005031001431【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介(2)层次模型实例图2-10 按层次模型组织的数据示例 学校学院3学院2学院1经贸系信息系网络教研室软件教研室【知识讲识讲解与操作示范】-2.1 教务务管理系统简统简介(3)网状
8、模型实例图2-11 按网状模型组织的数据示例商店1商品2商店2商店3商品1商品3商品4商品5从表2-1、图2-10及图2-11可看出:按关系模型组织的数据表达方式简洁、 直观,插入、删除、修改操作方便,而按层次、网状模型组织的数据表达方式 复杂,插入、删除、修改操作复杂,因此,关系模型得到了广泛应用。目前市 场上面的数据库管理系统大多支持关系数据模型。【知识讲识讲解与操作示范】-2.2 教务务管理系统统数据库库的设计设计2.2.1 数据库的概念【数据库概念】指存储在计算机内,按一定数据模型组织的、可共享的数据集合。 教务管理系统中涉及哪些数据对象,各对象之间以及对象内部的关系如何? 如何保存多
9、个数据对象的相关数据,以便教务管理系统进行数据处理? 【数据库管理系统 】指用户与操作系统之间的数据管理软件。其主要功能如下。 (1)数据定义功能:用户可方便地创建、修改、删除数据库及数据库对象。数据库的对象 :表、视图、索引、存储过程等,相关内容请参考有关章节。 (2)数据操作功能:用户可以对数据库中的数据进行查询、插入、修改和删除操作。 (3)数据库运行时的管理功能:在数据库运行过程中,由数据库管理系统统一控制和管理 ,以保证数据的安全性、完整性。在多个用户同时访问相同数据时,由数据库管理系统进 行并发控制,以保证每个用户的运行结果都是正确的。 (4)数据库的维护功能:当数据库发生故障时,
10、数据库管理系统能对其进行恢复。 【SQL语言 】指用于数据库查询的结构化语言(structured query language)。根据SQL语言 中语句的不同作用,通常将SQL语句分为下面三类。 (1)数据定义语言DDL(data definition language):用于定义数据库及各种数据对象。 (2)数据操纵语言DML(data manipulation language):用于对数据库中的数据进行查询、 插入、修改、和删除操作。 (3)数据控制语言DCL(data control language):用于控制用户对数据库的操作权限。 【知识讲识讲解与操作示范】-2.2 教务务管理
11、系统统数据库库的设计设计2.2.1 数据库的概念【PL/SQL语言】是Procedural Language/SQL(过程化SQL)的缩写,PL/SQL语言是Oracle对 关系型数据语言SQL的过程化扩充。它将数据库技术和过程化程序设计语言联系起来 ,将变量、控制结构、过程和函数等结构化程序设计的要素引入SQL语言中,以提高 结构化编程语言对数据的支持能力,提高程序的执行效率。 【关系数据库的结构】通过前面的介绍,可以归纳出利用关系数据模型组织的数据库 为如图2-12所示的层次结构。由于每个字段的数据类型和数据宽度都不一样,在利用 DDL语句定义数据库中表结构时,还必须指定表中每个字段的类型
12、、数据宽度等。数据库表1表m字段1字段m图2-12 关系数据库的层次结构【知识讲识讲解与操作示范】-2.2 教务务管理系统统数据库库的设计设计【数据库的操作方式】 (1)交互方式 所谓“交互方式”是指数据库使用者利用数据库管理系统提供的 软件工具,直接对数据库进行操作,操作结果立即返回到操作界面。 这种软件工具一般有两种形式,一种是图形界面的,如Oracle10g的OEM ,用户通过界面即可对数据库进行各种操作;另一种是命令方式的, 如Oracle10g的SQL*Plus和iSQL*Plus,用户输入PL/SQL命令后,操作结果 立即返回到界面上。 (2)程序嵌入方式 SQL语句被嵌入到高级语
13、言(称为宿主语言)中,使用者通过编 程使用SQL语句对数据库操作,如VB.NET、Java等。【知识讲识讲解与操作示范】-2.2 教务务管理系统统数据库库的设计设计2.2.2 结构设计与E-R模型【实体】在E-R模型中通常使用矩形表示实体。把每一类数据对象的个体称为 “实体”,每一类对象个体的集合称为“实体集”,因此在教务管理系统中主 要涉及“学生”、“班级”、“专业”、“课程”、“教师”、“成绩”六个 实体集。 【属性】在E-R模型中通常使用椭圆或圆角矩形表示属性。把每个实体涉及的 信息项称为属性,如学号、姓名,这些都是“学生”实体集的属性;班级 编号、班级名称,这些是“班级”实体集的属性。
14、 【联系】在E-R模型中通常使用带菱形的线段表示联系。实体集之间存在各种 关系,通常把这些关系称为“联系”,例如“学生”与“课程”有“选课”关 系。由于一个学生可以选多门课程,而一门课程可被多个学生选,所以,“学 生”和“课程”的“选课”关系是多对多的关系。在一个应用环境中,两个实 体集A和B之间的联系可能是以下三种情况之一。 (1)一对一的联系(1:1) (2)一对多的联系(1:n) (3)多对多的联系(m:n)【知识讲识讲解与操作示范】-2.2 教务务管理系统统数据库库的设计设计【E-R模型实例】学生姓名民族编号学号政治面貌编号学籍编号籍贯编号班级编号授课形式编号课程编号课程名称课程类型编
15、号专业编号总课时学分选课成绩mn课程性别身份证号图2-15“学生”与“课程”实体集间的联系及相应属性 【知识讲识讲解与操作示范】-2.2 教务务管理系统统数据库库的设计设计2.2.3 数据库的逻辑结构设计 前面已介绍了实体集之间的联系,可能是(1:1)、(1:n)和(m:n)三种 联系之一,下面根据三种联系介绍从E-R图获得关系模式的方法。1.(1:1)联系的E-R图到关系模式的转换 2.(1:n)联系的E-R图到关系模式的转换3.(m:n)联系的E-R图到关系模式的转换2.2.4 数据库的物理结构设计该教务管理系统设计成C/S模式,前台开发工具采用了VB.NET,后台数据库管 理系统采用Or
16、acle10g。该项目包含一个名为“StudentData”的数据库。数据库表的结构请查看教材附录A 。【知识讲识讲解与操作示范】-2.3 数据准备备与数据表的实实施2.3.1 数据准备数据准备的目的在于为数据表提供合格的数据。其主要任务是对现实数据进行收 集、采样、分析和提取,并完成编码转换。以便为填充表记录做准备。 例如,教务 管理系统中学生信息数据准备流程如图2-17所示。学校系专业班级年级学生取样编码筛选图2-17 教务管理系统中学生信息数据准备流程 2.3.2 数据表的实施当数据库的物理设计和数据准备完成之后,在数据库中创建具体数据表结构并录 入数据记录的过程称为数据表的实施。关于管理表的内容请参考本书第6和第8章。 【知识讲识讲解与操作示范】-2.4 Oracle数据库库的维护计维护计划Oracle数据库的维护计划的制订主要从以下三个方面进行考虑,并最终以二维表格 的形式保存维护计划。1数据备份