1、大连职业技术学院实习报告实 习 报 告Oracle 在超市管理系统中的应用姓 名 : 专 业 班 级 : 实 习 单 位 : 指 导 教 师 : 完 成 日 期 : 大连职业技术学院实习报告摘 要随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。计算机作为一种高效的管理工具,对现代企业的管理发挥了极其重要的作用。商业超市是当前最重要的商业经营形式之一,为了进一步提高商业超市的管理水平和竞争力,管理信息系统在商业超市中的应用已是大势所趋。Oracle 是数据库应用最广泛,最流行的数据库之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。本文结合超市的数
2、据库管理系统系统建设实例,(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括 jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)从而掌握 Oracle 的基本原理和基本操作,能够运用数据库技术设计 Oracle 数据库及其应用系统。这次实习主要尝试使用Oracle 数据库中视图,存储过程等数据库技术来建立高可用性的数据库管理系统。关键词:数据库;视图;存储过程;数据安全性大连职业技术学院实习报告引言:商业活动在人类社会发展中占据了重要的一环。在我国,
3、商业行业在近十年有了飞跃性的变化,从百货店、副食店这种单一的经营模式发展到便利店、超市、大型综合超市、连锁超市等多种经营形式。其中商业连锁超市已成为现有商业行业的重要经营形式之一,并呈现出迅猛的发展态势。连锁超市是劳动密集型、低利润率的行业。传统的计算机管理在商业超市流程中的数据处理比较繁琐、效率低、易出错,这就制约了企业的发展。因此企业利用成熟的管理思想和先进的信息技术来提高管理水平和经济效益就显得尤为重要。基于先进的数据库技术建立的商业超市管理信息系统可以帮助商业超市改变落后的经营模式,(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括 jsp,asp, 程序设计和配套论文设计质量
4、保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)并且可以使管理层及时、合理地进行管理和决策。对数据库可用性、性能等方面的需要也日趋苛刻。操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle 可在所有主流平台上运行,Oracle 数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。因此采用先进数据库建立的商业超市管理信息系统应顺应社会发展的潮流,以 Oracle 综合性能为出发点,分析了相关技术的基本原理,利用视图
5、,存储过程等数据库技术来更有效,更快捷的管理数据,提高竞争效率和竞争优势。1 实习内容 (1) 需求分析利用视图实现商品的某种类别的数据查询通过商品类别表和商品信息表做成视图,然后通过 sql 语句查出这个视图,求得符合条件的数据。(2)视图:如图 1.1-1大连职业技术学院实习报告(3)表的结构设计商品信息表(MerchInfo)字段名 字段类型 长度 主/外键字段值约束 对应中文名MerchID int 4 P Not null 商品编号Type ID varchar 10 P Not null 类别编号MerchName Varchar 50 Not null 商品名称MerchPric
6、e Money 4 Not null 价格MerchNum Int 4 Not null 库存数量CautionNum Int 4 Not null 库存报警数量PlanNum Int 4 null 计划进货数BarCode Varchar 50 Not null 条形码SalesProPrice Money 4 促销价格SalesProDateS Datetime 8 促销起日期SalesProDateE Datetime 8 促销止日期AllowAbate Int 4 Not null 允许打折AllowSale Int 4 Not null 允许销售FactoryID Varchar 1
7、0 F Not null 厂商编号ProvideID Varchar 10 F Not null 供货商编号商品类别表(Type)字段名 字段类型 长度 主/外键 字段值约束 对应中文名Type ID varchar 10 P Not null 类别编号Type Name Varchar 25 Not null 类别名称交易表(Dealing)字段名 字段类型 长度 主/外键 字段值约束 对应中文名DealingID Varchar 10 P Not null 交易编号视图生成表类别表商品信息表大连职业技术学院实习报告DealingPrice Money 4 Not null 交易金额Deal
8、ingDate Money 4 Not null 交易日期MemberID Varchar 10 会员卡号UserName Varchar 10 F Not null 用户名称入库纪录表(Stock)字段名 字段类型 长度 主/外键 字段值约束 对应中文名StockID Varchar 10 P Not null 入库编号MerchID Varchar 10 F Not null 入库商品编号ProvideID varchar 10 P Not null 供货商编号MerchNum Int 4 Not null 入库数量MerchPrice Money 4 Not null 单额TotalPr
9、ice Money 4 Not null 总额StockDate Datetime 8 Datetime 入库日期PlanDate Datetime 8 Datetime 计划进货日期StockState Int 4 Not null 入库状态供货商表(Provide)字段名 字段类型 长度 主/外键字段值约束 对应中文名ProvideID varchar 10 P Not null 供货商编号ProvideName Varchar 50 Not null 供货商名称ProvideAddress Varchar 250 供货商地址ProvidePhone Varchar 25 供货商电话厂商表
10、(Provide)字段名 字段类型 长度 主/外键字段值约束 对应中文名FactoryID varchar 10 P Not null 厂商编号FactoryName Varchar 50 Not null 厂商名称FactoryAddress Varchar 250 厂商地址FactoryPhone Varchar 25 厂商电话(4)功能实现过程大连职业技术学院实习报告首先,(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加
11、qq:1934361672)创建视图,利用商品信息表(MerchInfo)和商品类别表(Type)来创建视图,具体实现:Create view v_search with encryption as select MerchID, MerchInfo.Type ID,MerchName, MerchPrice, MerchNum,from MerchInfo, Type where MerchInfo. Type ID = Type. Type ID order by MerchID desc.这时视图已经创建成功了,然后通过 sql 语句就可以轻松查询到数据了,select * from v
12、_search 。(5)遇到的问题在项目之初,对视图的含义一头雾水,不知道改如何的去应用。比如,视图是什么,为什么直接查询视图就能出来数据,视图如何来建立呢,软件操作建立视图怎么建立,语句建立又该怎么建立呢?带着等等的问题,查询了一些资料,原来视图就是一个或者多个表关系在一起形成的一个虚拟的表,直接用 sql 语句就可以达到想要的效果。举例来说:上面的那个例子,只是简单的实现了 2 个表的数据查询功能,该如何实现呢,首先,要了解商品信息表(MerchInfo)和商品类别表(Type)的关系,对比发现两个表中都还有 Type ID 这个字段,这就好办了,通过这个字段将两个表可以联系起来,那么又该
13、如何写这个视图语句呢,每一个字符又代表什么含义呢?经过沟通Create view v_search 是创建视图 v_search 的意思,其中 v_search 这个名称可以随意的更换,(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)而 Create view 是固定创建视图的函数,MerchInfo. Type ID = Type. Type ID 这个是关键,表示 MerchInfo 表中的 T
14、ype ID 同 Type 表中的 Type ID 进行关联,order by MerchID desc 表示的是按照 MerchID 这个字段降序排列的。了解之后发现并不难,这就需要多做练习,多学多问,问题自然而然就解决了。(6)取得的成果大连职业技术学院实习报告通过利用视图来做查询,快速的得出想要的数据,视图简化了对数据的查询,隐藏了查询的复杂性。视图的数据来自一个复杂的查询,用户对视图的检索却很简单。 1.2 利用存储过程添加商品信息(1)该功能需求分析存储过程是由流控制和 SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,(专业辅导计算机毕业设计,代写或者出售计算机毕
15、业设计,包括jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)使用时只要调用即可。在 ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。利用存储过程功能实现向商品信息表(MerchInfo)中添加商品信息,具体实现:创建m_insert,用于实现往 MerchInfo 表中插入一条记录,并返回执行状态码信息:如果成功,则返回 0;否则,返回 1。(2)功能实现过程Create proc m_insertMerchID int(4),MerchNa
16、me varchar(50), MerchPrice money(4), MerchNum int(4), PlanNum int(4), BarCode varchar(50), as insert into MerchInfo(MerchID, MerchName, MerchPrice, MerchNum, PlanNum, BarCode)values(MerchID, MerchName, MerchPrice, MerchNum, PlanNum int(4), BarCode varchar(50) iferror0Return 1ElseReturn 0Go (3)遇到的问题大
17、连职业技术学院实习报告开始的时候,对存储过程不是很了解,在实现过程中,不了解每一个内在函数的作用是什么,比如:Create proc m_insert 具体是什么意思,每一次写的时候,都是这么写吗?MerchID int(4)是什么意思等等问题的疑惑,经过经理的一番指导,基本了解了大概的含义,(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)Create proc 是创建存储过程的固定写作模式,m_i
18、nsert 是存储过程的名字,每一次写的时候都是可以变得,随意的起名字的。而MerchID int(4)表示的是,变量MerchID 和整数型 int,长度为 4。了解了之后,对用命令语句创建的存储过程熟悉了。存储过程的编写对以后的项目开发起到了加速剂的作用。(4)取得成果其实做一个项目,事先把要实现的功能,利用存储过程都事先的写出来,在开发过程调用已经做好的存储过程,会得到很高的开发效率的。1.3 函数的使用(1)需求分析功能是通过函数来实现查询从某个供货商进入多少货,具体的商品信息有哪些。要求通过函数语句的方式来实现该功能,具体要求:创建一个用户自定义函数,以ProvideID 为参数,返
19、回进货的商品信息。(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括 jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题30 分钟。有意者请加 qq:1934361672)(2)功能实现过程Create function func1(ProvideID varchar(10)Returns tableAsBegin大连职业技术学院实习报告Select MerchID, ProvideID,MerchNum, MerchNum, MerchPrice from Stock, ProvideWhere St
20、ock. ProvideID=ProvideIDGo(3)遇到的问题这次遇到的主要问题是,用函数写出语句后并没有出现想要的数据,程序报错,但又不知道问题出在哪,带着疑问,又重新吕清一下思路,结果发现在定义函数的之前,没有弄清表与表之间的结构关系,误将变量和字段写错了,造成程序的执行错误,例如:书写变量的时候前面都要有这个符号,而我当时没有写,这个变量对应的是数据库中哪个字段也书写的不准确,数据当然就出不来了。那么函数的使用和存储过程的使用,有何区别呢,真的不知道该啥时候使用哪一个比较合适。带着疑问,跟同事沟通了一下了解到:一般来说,存储过程和函数的使用与子程序将要返回的值的数量以及这些值的使用
21、方法有关。通常,如果返回值在一个以上时,用过程比较好。如果只有一个返回值,使用函数就可以满足要求。通过对预期格式的分析知道,此时需要处理查询语句返回的多条记录,要通过子程序来实现,而且返回值多于一个,所以此时使用存储过程来实现更为合适。(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)(4)取得成果成功得到想要的数据,了解了函数的便捷性,同时了解了函数与存储过程的使用区别,通过对函数的理解,函数在一个
22、项目的开始过程中,会常常的遇到,学会函数,对提高自身能力有很大的帮助。1.4 Oracle 数据库的安全性,完整性,并发控制(1)数据库的安全性大连职业技术学院实习报告数据库的安全性是指数据库中数据的保护措施,指设计和实现授权的用户在制定的时间、指定或允许的地点、授权的访问方式访问数据库中的指定数据资源。简而言之保护数据库中的数据不被破坏、偷窃和非法使用。(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括 jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:19343616
23、72)数据库安全性问题应包括两个部分:a.是数据库数据的安全,它应能确保当数据库系统停机时,当数据库数据存储媒体被破坏时以及当数据库用户误操作时,数据库数据信息不至于丢失。b.是数据库系统不被非法用户侵入,它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。(2)数据库的完整性它是指数据的正确性和相容性。数据的完整性是为了防止数据库存在不符合主义的数据,防止错误信息输入和输出,即数据要遵守由 DBA 或应用开发者所决定的一组预定义的规则。ORACLE 应用于关系数据库的表的数据完整性有下列类型:在插入或修改表的行时允许不允许包含有空值的列,称为空与非空规则。唯一列值规则,允许插入或修改的表行在该列上的值唯一。引用完整性规则,同关系模型定义。用户对定义的规则,为复杂性完整性检查。ORACLE 允许定义和实施上述每一种类型的数据完整性规则,这些规则可用完整性约束和数据库触发器定义。(专业辅导计算机毕业设计,代写或者出售计算机毕业设计,包括 jsp,asp, 程序设计和配套论文设计质量保证,可以先看看,再决定是否购买,价格便宜,同时赠送程序运行环境配置文件,赠送在线解答问题 30 分钟。有意者请加 qq:1934361672)数据库触发器,是使用非说明方法实施完整性规则,利用数据库触发器(存储的数据库过程)可定义和实施任何类型的完整性规则。