oracle学生成绩管理系统设计.docx
- 文档编号:28116648
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:18
- 大小:560.85KB
oracle学生成绩管理系统设计.docx
《oracle学生成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《oracle学生成绩管理系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
oracle学生成绩管理系统设计
阶段1.1成绩管理系统实体关系设计
、实验目的和要求
1)熟练掌握实体关系设计的方法。
2)通过需求分析结果,掌握E-R图。
、实验内容和原理
实体关系设计是在需求分析的一个环节过程,在这一过程中产生E-R图,该图由实
念设计阶段建立的基本E-R
型。
这种转换要符合关系数
系转换为关系,并确定这些
体、属性和联系三个要素构成。
逻辑结构设计的任务就是把概图按照选定的系统软件支持的数据模型,转换成相应的逻辑模据模型的原则。
E-R图向关系模型转换时要解决如何将实体和实体间的联关系的属性和码,这种转换一般按下面的原则进行。
1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但关系的码会根据联系的类型变化。
三、主要仪器设备
计算机一台、Powerdesinger运行环境
四、操作方法与实验步骤
在成绩管理系统中,需要管理学生、课程和成绩,以及它们之间的联系。
因此在该系统的E-R图中,实体分别为学生、老师、课程。
为了便于掌握,学生实体的属性分别有学号、
姓名、性别;课程实
体的属性有课程编号、课程名称、学期、
课程学分;教师实体的属性
有教师编号、姓名、
性别。
学生实体与课程实体有选课关系,
而且一个学生可以选择多门
课程,一门课程也可
以被多个学生选择,因此学生和课程之间
的联系是m:
n联系。
教师实
体与课程实体有教授
关系,一名教师可以教多门课程,一门课
程也可以被多个教师教授,
因此教师和课程之间
的联系是m:
n联系。
学生在选课后会产生成绩,教师授课
后会产生授
学号
I他
811
I
2
-M
mu
■ME
M打包弓
I*用苦和
_
¥91
阶段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),credit
number(3,1))。
教师的物理存储表结构为:
t_teacher(teaidint,teanamevarchar2(20),sexchar
(2))。
选课勺物理表结构为:
t_selcour(sidint,cidint,scorenumber.(4,2))。
教课的物理表结构为:
t_teacour(tidint,cidint,teaaddrvarchar2(30),termchar
(2))。
=7Jasri-dMRtliiiLniat*r血t;*»a%垃<.Lpl沁耳Xrt“1.丘密
嵩QIL>r-onnX1elmaan
匡逵接.
SQL«>c>"■=■4上uixse-ituSJ_dLunJti_fJ_e-dLh#«)ru-Q
走dltfiALILt:
t.«]>I.■S11ARnC.t9
用户己刨xtr
(Zz\w4irfccdDws\sywtiem^iZ^umcl.uKu-^c|lpIljs-/iniol-o^
二z.千“社2丄"*~・眠才fi.r>r^ai1
土衣旦斤有<«=>盟卑事*RLqt■*1^ttora悍,鱼疗J■有斗
MQLa»oorwr*t,os4;^X^dln«
EAROR=
LbA3i«T12«1.»-Pi-odu.匚七直onon辜朋—唯冃281H:
57sB32H1-I:
CiiIP5^1*丄竽hl
誌4*当■4戶《■山JL令,
ALL1*1Kinr»*»■b「■巻«tlv
oHfi-wimy;titw«■ii
IIHHI*5!
Ithri«!
i/^|Brl.ll福Wili-il«
<1FlVI1Ifdl
(1)通过手动编写SQL语句方式建立数据库后台
上述创建了代表学生实体的表t_student,其中stuid设置为主键,唯一标识一个学生。
物理实体在物理结构中用t_teacher表来表示,teaid用来唯一标识一位教师,因此其不能空
VAI\
SQL>cve4t;etablet_cDLiv^e(
2cottidIntnotnullpi^inavvkey^
3counanem&rchak*2<2(4>taFtnchar<2>,*1creditniLFiberKS,1>>;
表己创建。
表t_course用来代表课程实体,其中采用couid来标识一门课程。
当课程名称的长度大于20个字符时,varchar2可以自动扩展。
^QL>tsMe
2t»a.idhitnotnullprimAi*^kej^r
3te«.ndneuarch^rZ(ZB>,sexctwLr(Z>^;
庚已创建.
!
SQL>createtablet_te^cou=^C
2tidintj*eFerencest_te^chep 3cidijnti*eFerene«st_eoui*se 5t«mc 6Fri林尸歹ke9 表己创建. SQL>. r半: 选课表t_selcour中学生编号参考t_student表中的stuid,此时sid为外键,课程编号cid也作为外键参考t_course中的couid (2)通过PowerDesigner建立数据库后台 第四步: 到此,系统的概念模型就全部设计好了。 接下来单击菜单“工 具生成物理属性模型”选项,就会弹出“物理数据模型生成选项”对话 框,如下图: 在“常规”选项卡中选择“生成新的物理模型”单选钮,并选择DBMS 为“OPACLEVersion10g”,“名称文本“MyPhysicalDataModel”,并单击“确认”按钮,在弹出得到路径选择对话框中输入你想要放置生成的物理数据模型 文件的位置,系统就会自动在指定的路径下生成一个名为 “MyPhysicalDataModal.pdm”的文件,并生成系统的物理模型,如下图 CONGC *—4 : £1心 ifll1q1|■I _z>E-r.i.1 i |匚g 二L-.n■■■ "AflCKWJK t«Z15 二=品IT QT 从菜单中选择Database---GenerateDatabase选项。 PowerDesigner将会在指定的路径下生成一个名字为*sql的文本文件。 里面存放可供Oracle执行的用来建立数据库实体的SQL语句。 ■-IK 阶段1.3成绩管路系统存储过程设计 一、实验目的和要求 (1)了解存储过程的设计目的以及方法。 (2)掌握存储过程的创建。 二、实验内容和原理 三、主要仪器设备 计算机一台,Oracle运行环境 四、操作方法与实验步骤 1、创建存储过程先向表t_student中插入数据,具体如下所示 雪昏创建的过程带有编译惜论 现卜cd CL牙入FAX*ladt.buf 1eluatepr'OCvdurep_lnafrrt_Stiid.pnt< 2id.stuiid jctP 4is 5begin hinEETtintot_Etiid«nt 8*end; £Q1.>3 iis已创建◎ SQL>- 2、每次向表t_student中插入数据时,只需要运行该过程就可以了。 具体如下 所示。 表t_student中的列stuid被设置为主键,因此不可以存在重复值。 在第二次运行时,因为输入的第一个参数id与表中已存在的数据相同,所以插入时 出现错误 SQL>execp_in5ert_student<1,*TaL11,11男,A2 过程已成功完成* SQL>chbcji.Jnsfrrt.^Indent<1,R*男 SEGII1p_knsert_atudemt fe1行出现埴夢丄4亠t ORA-MMHUt: 洼反唯一约東条件(SVS,SVS_CMWS]63>ORft-fl£51K;隹1*SVS,P„1NSKKT-STUDfihirlinnfaORA-Mt5i2: 包I SQL>tcloct■*front_ctudrnt; £TU! DSTUhMME£E 1"丄男 3、继续向表中插入两条记录,其中当参数id不重复时,过程成功完成 SQL>execp_inser*t_stui1®nt<2,1>; BEGINp_inxei*t_studentCZ,.*Guo*,*^*);ENE; e 11行出现-士士斑 ORfi-000fll: 违反唯一约束条件<«V5,SVS_.C00S*63> z ORA-06512: 在临轉・P」HEERT_STUJ>ENTAline6 ■ ORA-06512: 在lino1 SQL>execp„ineei't_3tudent<3,JLiuJ,J; ■ PL/SQL过程已成功完成® 4、不仅可以通过存储过程向表中插入数据,也可以通过一般的SQL语句向表中插入数据,如下所示。 I ;insartIntot^teaicJici* 一2>; : 已创建iif. SQL>insertintot^tsacllniBF ;已创建1行. -SQli>insortintot ®2編译JgH*/— ;己创建1行. SQiLi>iiisortIntot i2wlMuf形孫与政 inaortintofc_courfte 5、向表中插入数据时,需要注意数据类型以及长度都需要与表中定义的相符,否则会出现错误,具体如下所示。 £QL>insb-Ftintot.edii^eh 2网酱M第三学期 计戸枫崩,「章三学朗 整2行出规葡勒"“-屮■> »Bfi-lZBS? : ^1."SVS"."T..COURSE,\,,,IEB1-的借志尢$实际値=B,JJ大價= 6t_course表中列term被定义为char且长度为2,因此在插入数据时该列最大长度为2,超过该值会出现错误。 课程表中只有已经存在的课程编号才能被插 入到选课表中,否则会出错,这样就保证了数据的一致性。 監QL、iniintot一窑lewh 2yAlues(1^1^85.5J: 已创建1行" InIntot^selcoiir 2ualues(t阳 insertIntat_aelcfliijir 刼1ft岀观億洪 OJM-a22Tli违贬完整妁束条件(SMS,S¥E_C®«517B>-未找針父顶关锂字 R = 7、t_selcour表的另外一个外键为第一列sid,在插入时只有当该值存在于学生表中的学生编号时,才能被成功插入,否则也会出现错误,具体如下所示。 已创建1行. EQL、InsfrrtIn■曰] 2unlLie£<4,l^7^>: Lnurtrlintol.eDUfe* QL>IrsEPtAntallx香」尸 2 s.sy«ceeftie,? )-卡我到理环1円访丰 8、对于向表t_teacour中插入数据时,同样需要满足外键参考主键的约束条件,具体如下所示。 4L>ntleerciU*奥nnnw”epnciit 2frun^_tnai«hcrTt_jEQimsb#t.teacherc 3whftr^a.tid■Iandai.cid•bvhlAnda.tid■c. 1And*・cid-b^couidlandtid 二 c.Wid ihereA.tid- I3行岀现错详z Rfl-ffiBM;■■«■■.,7IP*,5标沪符无攻 QL>lcctcidptccKrmnc*>credit 2fr»«twtertcber出.b.t_tet*cJiere 3uhpred«lid*1 .tId■c.tvaid 查看t_course及t_selcourse中的值 已卷漣iif• 盥丿嘉禮罷绅束彌C£¥S.S¥S_C0K172^亠未找到父顶关昨 第3行出现僧误z OnAH09M: "C叮叩5叫标识冷无攻 in 2va]uEsfl,lF-太厦理工南国主叭'.‘―'>i SQL>seltfet*fruntt-_s«Iconic; SIDCIDSCORE 11吗丐 12fiS £QL>CT-EHtB— SQL>lect*ffdpit_gvur? a; conidcouNnwr CREDIT r, 五、实验结果与分析 实验结果如上截图所示。 六、讨论、心得 grantselect不支持对表中选定的几列授权,只能将整个表的select权限授权出去。 所 以实验中先建立了基于选课信息表的视图SelectiveInfol,视图中包含成绩列,学号列以及 班级列(不包含其他的列)再将对视图Selectivelnfol的select权限授予角色teacher。 不同的用户可以创建相同的表格,teacher用户创建了table1,student用户也创建了tablei,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher. tablei和student.table1加以区分。 实验中遇到的问题可以上网XX,网上资源很丰富。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 学生 成绩管理系统 设计