Oracle数据库设计与开发课程设计论文.docx
- 文档编号:9108409
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:585.27KB
Oracle数据库设计与开发课程设计论文.docx
《Oracle数据库设计与开发课程设计论文.docx》由会员分享,可在线阅读,更多相关《Oracle数据库设计与开发课程设计论文.docx(17页珍藏版)》请在冰豆网上搜索。
Oracle数据库设计与开发课程设计论文
《ASP.NET设计与开发》
Oracle数据库设计与开发
院系:
信息工程学院
年级:
xxxx级
班级:
姓名:
xxx
学号:
日期:
20xx年xx月
什么是数据库设计?
数据库设计是指对于一个给定的应用环境,构造最优的数据厚模式,建立数据库及其应用系统,有效存储数据满足用户信息要求和处理要求.
数据库设计的六个步骤
(1)数据库需求分析
数据库需求分析的种类、范围、数量以及它们在业务活动中交流的具体情况,确定用户对数据库系统的使用要求和各种约束条件等方面的信息系统的在业务使用要数据流图(DFD)和数据字典一(DD).
(2)概念模型设计
数据概念模型设计是将用户总需求中关于数据部分的需求,将其综合为一个统一的概念模型的过程。
根据数据流图和数据字典建立ER图等概舍模型、该模型应能够反映出现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及对信息存储、查询和加工的要求等.
(3)逻辑设计
根据BR图获得关系摸式及表结构的逻辑设计结果(适应于某种特定数据库管理系统所支持的逻辑数据模式)。
(4)物理设计
根据特定数据库管理系统所提供的多种存储结构和存取方法实施物理数据模型,并最终完成数据库关系表的物理结构设计等工作。
(5〕安全性设计一一数据库的角色和权限
(6)验证和优化设计
加载测试所设计物理数据库,来验证数据库设计的正确性和合理性分析并优化数据库的“时一空”效率。
一、需求
什么是需求分析?
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?
”这个问题。
需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。
在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。
只有用户才真正知道自己需要什么,
但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来;分析员知道怎样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户对软件的需求。
例如:
一个综合教务系统分析和设计的需求分析:
1.系统目标:
实现一个计算机综合教务管理系统,完成:
1)班级信息管理,2)学生信息管理,3)课程信息管理,4)学生选课管理等功能。
2:
系统功能划分
(1)功能划分:
用户通过身份验证后进入主界面。
主界面为用户提供5项选择:
学生信息管理,课程信息管理,班级信息管理,学生选课,班级课程查询等功能。
(2)功能描述:
·学生信息管理:
给出所有学生的列表,可以增加,修改,删除,查找学生信息,察看某个学生选课情况,为学生修改口令等功能。
本项功能与班级信息维护功能中的维护指定班级学生信息功能相似,不同的是本项功能中将列出所有班级的所有学生信息。
·班级信息管理:
给出所有班级的列表,用户可以实现增加,修改,查找,删除班级信息,维护指定班级所有学生信息,为指定班级设定必修课和选课学分限制等功能。
在维护指定班级学生信息功能中,超级用户可以实现增加,修改,删除学生信息,察看某一学生选课情况,为学生更改口令等功能。
·课程信息管理:
加入,修改,删除课程纪录,察看某门课的选课情况,查询指定的课程信息。
·学生选课:
以课表的形式列出学生选课情况学生可以为自己选修或者退选课程。
·班级选课:
在指定班级必修课功能中,以课表形式列出班级所有必修课的课程信息,实现为一个班级增加或删除必修课的功能。
每个班级都有选课的学分限制,不允许学生选择课程的总学分超过所在班级的选课最大学分限制,而当退出选课功能时,如果选取课程总学分未达到所在班级选课最小学分限制则给出警告信息(因为学生可以多次进入选课界面选课)。
(3)数据流图和数据字典的建立
数据流图:
数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。
当系统比较复杂时,可以采用分层描述的方法。
在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次数据流图。
数据流图表达了数据和处理过程的关系。
数据字典:
数据项、数据结构。
数据字典是结构化分析方法的核心。
数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义、使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。
数据字典把不同的需求文档和分析模型紧密地结合在一起,与各模型的图形表示配合,能清楚地表达数据处理的要求。
概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。
通常数据字典包含的信息有:
名称、别名、含义、类型、何处使用、如何使用、补充信息等。
2、概念设计
什么是概念设计?
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
它是整个数据库设计的关键。
概念结构的主要特点是:
·能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求;
·易于理解,可以用它和用户交换意见,用户的积极参与是数据库设计成功的关键:
·易于修改,当应用环境和应用要求改变时,容易对概念模型修改和扩充:
·易于向关系数据模型转换。
一个高级的概念模型是被设计到数据需求中的。
ER模型是最普通&在概念设计中广泛使用的。
精确的数据模型与容易的转换。
概念模型:
表达概念设计结果的工具
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
以需求分析为基础,通常采用自底向上的方法进行概念结构设计。
按照这种方法,概念结构的设计可按下而步骤进行。
1.数据抽象
E-R模型是对现实世界的一种抽象。
所谓抽象是对实际的人、物、事和概念、抽取关心的共同特性并用各种概念精确地加以描述,组成了某种模型。
·分类:
定义某一类概念作为现实世界中一组对象的类型。
·聚集:
定义某一类型的组成成分。
·概括:
定义类型之间的一种子集联系。
例如:
一个综合教务系统分析和设计的数据抽象:
2.局部视图(局部E-R图)设计
1)确定局部视图的设计范围:
根据系统情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计局部视图。
通常以中层数据流图作为设计局部视图的依据。
2)确定实体及实体的主关键字:
区分实体与属性的一般原则:
第一,实体一般需要描述信息,而属性不需要。
例如,学生需要描述属性(学号、姓名、性别等),所以学生是实体。
而性别是属性。
第二,多值的属性可考虑作为实体。
例如,教师的职务是一个多值的属性,即一个教师可能担任多个职务。
此时,职务可以考虑作为一个独立的实体,否则数据库关系中将会出现大量的空值。
3)定义实体间的联系。
4)给实体及联系加上描述属性。
例如:
教务管理系统中的主要实体
从各个子系统分析,确定以下实体:
学生、班级、专业、优异生、学籍变动、课程、教师等。
3.E-R图设计原则
1)真实性原则:
是指E-R图必须能真实地反映客观世界的状况。
真实是建立描述客观现实的基础,是成功的前提。
2)避冗余原则:
是要求在描述客观现实的一个事物时只能在一个地方出现。
冗余将会增加信息的存储空间,另外还将造成数据的不一致性。
3)合适性原则:
是指在描述某个事物时,选择实体、联系、还是属性哪个较合适。
教务管理系统的概念视图。
三、逻辑设计
什么是逻辑设计?
在概念设计所获得的E-R图的基础上,定义和优化关系模式,形成数据库逻辑设计。
数据库的逻辑结构设计与系统最终选用的DBMS有关。
1.数据库逻辑设计过程
主要任务是在概念设计所获得的E-R图的基础上,首先利用一些转换规则得到一组初始关系模式集,然后用关系规范化理论对关系模式进行优化,以获得优良的数据库设计,最后结合所采用关系数据库的具体特性完成数据库逻辑设计。
2.E-R图向关系模型的转换
(1)实体到关系模式的转换
一般来说,对于E-R图中的每一个实体,在关系模式中建立一个与其同名且具有相同属性集的关系。
而关系的关键字就对应实体的关键字。
(2)联系到关系模式的转换
对于两个实体的一对一联系,可将联系本身自带的属性与任何一个实体的关键字一起合并到另一个实体之中。
对于两个实体的一对多联系,可将联系自身自带的属性与一方实体的关键字一起合并到多方实体之中。
例如:
一对多联系的转换:
学生和班级实体联系。
对于两个实体的多对多联系,可直接转换成一个关系模式,即用三个关系模式来描述,其属性包括联系本身自带的所有属性和两个相关实体的键码,其主键由两个相关实体的主键组合构成。
3.关系模式的优化
关系模式是对关系结构的描述,它设计得好坏,将直接影响数据库的完整性、冗余性和可操作性。
数据库的设计不能简单用对与错来衡量。
优化就是对已建立的数据模型进行适当修改和调整,使其更规范、合理并且满足信息系统的开发需求。
关系数据模型的优化通常以规范化理论为指导。
关系模式的规范化理论包括一系列范式(NormalForms,简记为NF),高一级范式所需要的条件包含了低一级范式所需要的条件,如一个关系模式需要满足第三范式,则其必须满足第一范式和第二范式的条件。
所谓关系模式的规范化是将一个低一级范式的关系模式,通过模式分解转换为高一级范式的过程。
对于大部分数据库设计来说,第三范式己足够使用。
例如:
教务管理系统的数据库逻辑结构
(1)T-Student学生表:
存储学生基本信息。
(2)T-Class表:
存储班级基本情况。
(4)T-Major表:
存储专业设置的基本情况。
4、多用户并发叙述
当用户建立与数据库的会话后,用户就可以对数据库的进行操作,而用户对数据库的操作是通过一个个事务来进行的。
事务确保用户对数据库逻辑操作的完整性和一致性,这里的逻辑操作是指用户根据业务逻辑而进行的一系列操作。
根据在同一时间系统内可以使用的用户多少,系统可分为单用户系统和多用户系统。
单用户系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用系统,则称为多用户系统。
用户进程是当用户连接数据库执行一个应用程序时创建的,用来完成用户所制定的任务。
在oracle数据库中有两个与用户进程相关的概念:
连接与会话。
连接是指用户进程与数据库实例之间的一条通信路径。
该路径由硬件线路、网络协议和操作系统进程通信机制构成。
会话是指用户到数据库的指定连接。
在用户连接数据库的过程中,会话始终存在,知道用户断开连接户终止应用程序为止。
而且会话是通过连接实现的,同一个用户可以创建多个连接来实现多个会话。
服务器进程
服务器进程由。
oacle自身创建,用于处理连接到数据库实例的用户进程所提出的请求。
在应用程序和Oracle运行在一台机器的情况下,可以将用户进程和对应的服务器进程合并来降低系统开销。
但是,当应用程序和Oracle在不同的计算机上运行时,用户进程葱是通过不同的服务器进程连接Oracle.
服务器进程主要完成以下任务。
1、解析并执行用户提交的sql语句和Pl/sql语句。
2、在SAG的高速缓冲区中搜索用户进程所需要访问的数据,如果数据不在缓冲区中,则需要从硬盘数据文件中读取所需的数据,再将他们复制到缓冲区中。
3、将查询或执行后的结果数据返回给用户进程。
用户进程与数据库进程的联系
(三)后台进程
为了保证oracle数据库在任意一个时刻都可以处理多用户的并发请求,进行复杂的数据操作,而且还要优化系统性能,oracle数据库启用了一些相互独立的附加进程,完成一类指定的工作,称之为后台进程。
服务器进程在执行用户进程请求时,会调用后台进程来实现对数据库的操作。
后台进程主要完成以下任务:
(1)在内存与磁盘之间进行工I/O操作
(2)见识各个服务器的进程状态
(3)协调各个服务器进程的任务
(4)维护系统性能和可靠性
后台进程又分为必备进程和可选进程。
必备进程是当oracle开启时所必须要有的五个基本进程,缺一不可,当这些进程突然死了,数据库也就死掉了。
其包含DBWRn,PMON,CKRT,LGWR,SMON。
而可选进程是当有需要开启特殊功能时才会启动的进程。
这些可选进程包含ARCn,REDO等。
五、Java多态叙述
多态变量
类定义了类型,DVD类所创建的对象的类型就是DVD。
类可以有子类,所以由那些类定义的类型可以有子类型。
在DoME的例子中,DVD类型就是Item类型的子类型。
子类型类似于类的层次,类型也构成了类型层次。
子类所定义的类型是其超类的类型的子类型。
当把一个对象赋值给一个变量时,对象的类型必须与变量的类型相匹配,如:
CarmyCar=newCar();
是一个有效的赋值,因为Car类型的对象被赋值给声明为保存Car类型对象的变量。
但是由于引入了继承,这里的类型规则就得叙述得更完整些:
一个变量可以保存其所声明的类型或该类型的任何子类型。
对象变量可以保存其声明的类型的对象,或该类型的任何子类型的对象。
Java中保存对象类型的变量是多态变量。
“多态”这个术语(字面意思是许多形态)是指一个变量可以保存不同类型(即其声明的类型或任何子类型)的对象。
·向上造型
当把子类对象赋给父类对象的时候就发生了向上造型。
拿一个子类对象,当作父类对象来用。
向上造型是默认的,不需要运算符。
向上造型总是安全的
·造型cast
父类的对象不能赋值给子类的变量
子类的对象可以赋值给父类的变量
注意JAVA中不存在对象与对象之间的赋值
1//Vechicle派生出了子类Car
2Vechiclev;
3Carc=newCar();
4v=c;//可以
5c=v;//编译错误!
·可以用造型
1//(只有当v这个变量实际管理的是Car才行)
1c=(Car)v;//此时编译器会允许通过,但是编译的时候可能会出错
函数调用的绑定
当通过对象变量调用函数的时候,调用哪个函数这件事情叫做绑定
静态绑定:
根据变量的声明类型来决定
动态绑定:
根据变量的动态类型来决定(JAVA语言默认所有绑定都是动态的) 在成员函数中调用其他成员函数也是通过this这个对象变量来调用
覆盖override 子类和父类中存在名称和参数完全相同的函数,这一函数构成覆盖关系 通过父类的变量调用存在覆盖关系的函数时,会调用变量当时所管理的对象的类的函数
你是一个Shape,那么你就应该会draw,那么,你就去draw吧
(Shape就是父类,你就是一切子类,draw就是父类中的一个public函数,而且在所有子类中都有同名的draw函数,那么在运行的时候,会自动调用每个子类的同名函数)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 设计 开发 课程设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)