1、oracle课程设计292020年4月19日资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。湖南农业大学课程设计报告学 院: 东方科技学院 班 级: 08级计算机一班姓 名: 袁梦嫣 学 号: 41903120课程论文题目: 广告业务管理系统课程名称: Oracle数据库评阅成绩: 成绩评定教师签名: 日期: 12月 5日目录1 可行性分析和需求分析31.1需求分析31.1.1广告业务管理系统需要解决的问题31.1.2广告业务管理系统业务流程图31.1.3数据流图41.1.4数据字典52 系统总体设计62.1广告业务管理系统总体设计的基本介绍62.1.1广告业务管理系统功能模块图(
2、HIPO图)62.2数据库设计72.2.1实体描述72.2.3广告业务管理系统E-R图82.2.4数据库实现83 系统程序流程图104 源代码10课程设计总结16参考文献16广告业务管理系统学 生: 袁梦嫣 (东方科技学院08级计算机一班, 学号 41903120)摘 要: 在科技发展的今天, 信息化浪潮席卷全球、 日益渗透到社会生活各个领域的今天,在中国, 广告业却还大部分停在手工作业的时代。随着行业不断发展壮大、 竞争的加剧, 客户也对广告代理商及媒体要求提供更专业的服务; 对竞争日益激烈的广告行业来说, 客户资源是公司非常宝贵的资产, 谁更了解客户, 更好地服务于客户, 谁就能占有市场的
3、主导地位。为了给客户提供精细化和个性化的服务提高广告业效率的同时, 为了适应广告传媒体业信息化建设的需要, 本土广告公司的研究, 推出了广告业务管理系统的全套解决方案, 随着该系统在广告行业的成功应用, 必将带动该行业管理软件水平的提升, 极大地增加客户的业务竞争力。使公司在未来竞争中处于领先地位。关键字: 信息化; 广告业务; 业务管理 1 可行性分析和需求分析1.1需求分析1.1.1广告业务管理系统需要解决的问题广告业务管理系统的用户可能是客户也可能是代理的公司, 根据角色的不同, 它的广告业务办理的费用也有所不同。对于广告客户而言, 因为需求比较明确, 因此能够考虑代理公司和一般个人用户
4、区别。如何能更准确的获取用户的实际需求是很重要的。看用户的需求是怎样的来选择广告的类型及相关的信息。因为客户对所需的软件要求不够明确, 需要明确其目的, 进行设计, 为完成同一软件有的时候需要多名部门人员, 或是需要各部门之间进行合作才能完成一个业务。这就将无法明确各部门的折扣度, 需要明确各部门人员的权限分配。1.1.2广告业务管理系统业务流程图综合广告业务管理系统的实际需求, 需先建立一个角色的登录页面, 系统经过操作人员输入的角色来确定该人员是媒体还是客户或是工作人员。然后根据角色加载不同的页面及功能。当客户输入了正确的用户名及密码后, 客户选择广告的类型并选择代理的广告公司, 然后对客
5、户进行分配负责的部门及业务人员, 然后转向相应的界面。业务人员登录后需对客户的要求进行选择广告类型的版面价格及样式。管理员登录后要制定具体业务的具体人员的权限及完成此任务后的折扣额等信息。并对已完成的业务进行整理及归档工作。在广告业务管理系统的业务流程图符号说明如下系统中人员文档处理 数据流向 数据存储图2-1广告业务管理系统业务流程图1.1.3数据流图图2-2 数据流图子图图2-3 数据流图子图1.1.4数据字典数据字典是关于数据的信息的集合, 也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型, 没有数据字典数据流图就不严格, 然而没有数据流图数据字典也
6、难于发挥作用, 只有数据流图和对数据流图中每个元素的精确定义放在一起, 才能共同构成系统的规格说明。以下为本系统数据字典。(1) 广告类型表数据流广告类型信息数据流分量广告类型编号+广告类型样式数据存储广告类型信息表处理管理(2) 代理公司表数据流代理公司信息数据流分量代理公司编号+代理公司名+代理公司地址+代理公司代理时间数据存储代理公司信息表处理管理(3) 报刊表数据流报刊信息数据流分量报刊编号+报刊名+报社名数据存储报刊信息表处理管理(4) 办理类型表数据流办理类型信息数据流分量办理类型编号+广告类型编号+版面编号+办理类型价格数据存储办理类型表处理管理(5) 版面价格表数据流版面价格信
7、息数据流分量版面编号+版面样式+版面价格+报刊编号数据存储版面价格表处理管理(6) 客户类型表数据流客户信息数据流分量客户编号+客户类型数据存储客户类型表处理管理(7) 客户人员表数据流客户信息数据流分量客户人员姓名+客户人员帐号+客户类型编号数据存储客户人员表处理管理(8) 业务办理表数据流业务信息数据流分量代理公司编号+办理类型编号+业务办理单价+业务办理数量+业务办理总价数据存储业务办理表处理管理(9) 具体业务办理表数据流业务信息数据流分量具体业务办理的编号+具体业务办理的姓名+业务办理编号+具体业务办理的折扣+具体业务办理的薪水数据存储具体业务办理表处理管理(10) 业务人员表数据流
8、业务人员信息数据流分量业务人员编号+业务人员职务+业务人员薪水数据存储业务人员表处理管理2 系统总体设计广告业管管理系统的总体构思是一个很重要的阶段, 在经过对系统的需求分析、 可行性分析后要进行具体的系统总体设计阶段。采集和分析系统的需求, 理解系统要解决的问题, 重点是充分考虑系统的实用性。对于广告客户而言, 因为需求比较明确, 因此能够考虑代理公司和一般个人用户区别。代理公司是指与报刊签订一段时间的特定类型广告代理合同, 该报刊广告经过代理公司这个渠道进入系统, 进行代理的广告涉及到与代理公司的协调情况; 而一般客户主要是指没有经过代理公司的企业或者个人广告客户, 其直接与报刊进行业务来
9、往, 其业务规律有随机性特点, 因此对该类客户进行客户关系管理对报刊业务发展非常重要。特别有一点必须注意代理公司控制其具体广告客户的信息, 而报刊本身很难直接掌握这些客户的真实信息, 因此, 客户管理子系统主要是用于收集对报刊有用的客户信息, 特别是一些代理公司客户的信息。我们采用结构化设计的方法来实现系统总体功能, 提高系统的各项指标, 即将整个系统合理的划分成各个功能模块, 正确地处理模块之间和模块内部的联系以及它们之间的调用关系和数据联系, 定义各模块的内部结构, 经过对模块的设计和模块之间关系的系统来实现整个系统的功能。2.1广告业务管理系统总体设计的基本介绍2.1.1广告业务管理系统
10、功能模块图(HIPO图)广告业务管理系统的功能模块如图3-1所示广告业务管理系统统媒体管理子系统业务人员子系统客户客户管理子系统业务人员种类业务人员信息版面样式报刊类型广告类型具体办理种类代理公司客户类型具体客户管理图3-1 广告业务管理系统的功能模块2.2数据库设计2.2.1实体描述在数据库设计中, 对数据字典中的数据结构、 数据流和数据存储进行分析, 参照数据流图抽取数据, 确定实体、 实体的属性及实体之间的关系, 得出系统的关系模式。采用实体-联系图, 既E-R图的方法进行数据结构分析, E-R图由实体、 属性、 联系三部分组成。1) 关系模式的描述如下( 直线为主键) 广告类型(广告类
11、型编号, 广告类型样式)代理公司(代理公司编号, 代理公司名, 代理公司地址, 代理公司代理时间)报刊(报刊编号, 报刊名, 报社名)办理类型(办理类型编号, 广告类型编号, 版面编号, 办理类型价格)版面价格(版面编号, 版面样式, 版面价格, 报刊编号)客户类型(客户编号, 客户类型)客户人员(客户人员姓名, 客户人员帐号, 客户类型编号)业务办理(代理公司编号, 办理类型版号, 业务办理单价, 业务办理数量, 业务办理总价)具体业务办理(具体业务办理的编号, 具体业务办理的姓名, 业务办理编号, 具体业务办理的折扣, 具体业务办理的薪水)业务人员(业务人员编号, 业务人员职务, 业务人员
12、薪水)2.2.3广告业务管理系统E-R图 2.2.4数据库实现由于数据库中所保存的数据是系统中非常重要的资源, 因此在数据库设计时一定要注意数据结构的安全性、 完整性, 并发控制与恢复, 而一般的数据库管理系统都提供了一定的数据保护功能。本系统中的数据库采用Oracle 10g数据库实现, 数共包括10个表, 其中几个主要的数据表结构的描述如下表名ADLX: 数据来源广告类型表3-1 ADLX字段名数据项名称数据类型长度备注ADLX_ID广告编号Varchar210主键ADLX_YS 广告样式Varchar210表名AGENCY: 数据来源代理公司表3-2AGENCY字段名数据项名称数据类型长
13、度备注AGENCY_ID公司编号Varchar210主键AGENCY_NAME 公司姓名Varchar220AGENCY_DD公司地址Varchar210AGENCY_SJ代理时间DATE8表名BG: 数据来源报刊信息表3-3 BG字段名数据项名称数据类型长度备注BG_ID报刊编号Varchar210主键BG_NAME 报刊名Varchar220BS_NAME报社名Varchar220表名BLLX: 数据来源办理类型表3-4 BLLX字段名数据项名称数据类型长度备注BLLX_ID办理编号Varchar210主键ADLX_ID 广告编号Varchar210外键BM_ID版面编号Varchar21
14、0外键BLLX_JG办理价格NUMBER8表名BMJG: 数据来源版面价格表3-5 BMJG字段名数据项名称数据类型长度备注BM_ID版面编号Varchar210主键BM_YS 版面样式Varchar210BM_JG版面价格NUMBER8BG_ID报刊编号Varchar210外键表名KHLX: 数据来源客户类型表3-6 KHLX字段名数据项名称数据类型长度备注K_ID客户编号Varchar210主键K_LX 客户类型Varchar210表名KHRY: 数据来源客户人员表3-7KHRY 字段名数据项名称数据类型长度备注KR_ID人员姓名Varchar210主键KR_NAME 人员帐号Varcha
15、r210KR_ACOUNT客户帐号NUMBER8K_ID客户类型编号Varchar210外键表名YWBL: 数据来源业务办理表3-8YWBL 字段名数据项名称数据类型长度备注AGENCY_ID公司编号Varchar210主键BLLX_ID 办理类型编号Varchar210YWBL_DJ办理单价NUMBER8YWBL_SL办理数量NUMBER8YWBL_ZJ办理总价NUMBER8表名YWDETAIL: 数据来源具体业务办理表3-9YWDETAIL字段名数据项名称数据类型长度备注DE_ID办理编号Varchar210主键DE_NAME 办理姓名Varchar210YWRY_ID办理编号Varcha
16、r210外键DE_ZK办理折扣NUMBER8DE_SAL办理薪水NUMBER8表名YWRYL: 数据来源业务人员表3-10YWRY字段名数据项名称数据类型长度备注YERY_ID人员编号Varchar210主键YWRY_JOB 人员职务Varchar210YWRY_SAL人员薪水NUMBER203 系统程序流程图系统流程图是详细说明各角色的走向趋势, 广告业务管理系统程序流程图如下图所示开 始管理员身份验证NY修改广告类型浏览客户信息添加客户信息删除客户信息修改客户信息客户验证NY广告类型版面价格代理公司客户类型业务办理部门人员验证NY广告类型版面信息业务办理结 束图4-1 广告业务管理系统程序
17、流程图4 源代码-创立数据用表空间CREATE TABLESPACE DATASPACE DATAFILE D:oracleproduct10.2.0oradataorclData01.DBF SIZE 200M;CREATE TABLESPACE TOOLSPACE DATAFILE D:oracleproduct10.2.0oradataorclTOOLS01.DBF SIZE 50M;-创立索引用表空间CREATE TABLESPACE INDEXSPACE DATAFILE D:oracleproduct10.2.0oradataorclINDEX01.DBF SIZE 100M;-设
18、置默认表空间ALTER USER SYSTEM DEFAULT TABLESPACE DATASPACE TEMPORARY TABLESPACE TEMP;ALTER USER SYS DEFAULT TABLESPACE DATASPACE TEMPORARY TABLESPACE TEMP;/* 对象: 存储过程 sp_ChangeEmployeeDept */CREATE OR REPLACE PROCEDURE sp_ChangeEmployeeDept( vempID NUMBER, vdeptName VARCHAR2)AS vdeptID NUMBER := 0;BEGIN s
19、elect DeptID INTO vdeptID from Department where DeptName = vdeptName; update Employee set EDeptID = vdeptID where EmployeeID = vempId; EXCEPTION WHEN PROGRAM_ERROR THEN NULL; WHEN OTHERS THEN NULL;END sp_ChangeEmployeeDept;/* 对象: 存储过程 sp_CreateDepartment */CREATE OR REPLACE PROCEDURE sp_CreateDepart
20、ment( vdeptName VARCHAR2, vdescription VARCHAR2, vmanagerID NUMBER)ASBEGIN insert INTO Department values (Department_sequence.NEXTVAL, vdeptName, vdescription, vmanagerID); EXCEPTION WHEN PROGRAM_ERROR THEN NULL; WHEN OTHERS THEN NULL;END sp_CreateDepartment;/* 对象: 包 pkg_procedure, 在包中创立能返回多行结果集的存储过
21、程 */CREATE OR REPLACE PACKAGE pkg_procedureASTYPE cursor_type IS REF CURSOR;PROCEDURE sp_GetDeptAttendSummary(vdeptID NUMBER,vstartTime DATE,vendTime DATE,cursor_value OUT cursor_type);PROCEDURE sp_GetDeptLvSummary( vdeptID NUMBER,vstartTime DATE,vendTime DATE,cursor_value OUT cursor_type);PROCEDURE
22、 sp_GetDeptOTSummary( vdeptID NUMBER,vtype NUMBER,vstartTime DATE,vendTime DATE,cursor_value OUT cursor_type);PROCEDURE sp_GetDeptPerformSummary(vdeptID NUMBER,vperformYear NUMBER,cursor_value OUT cursor_type);PROCEDURE sp_BasicSalaryByEmpID(vempID NUMBER, cursor_value OUT cursor_type);PROCEDURE sp_
23、DeptAllEmployee (vdeptName VARCHAR2, cursor_value OUT cursor_type);PROCEDURE sp_DeptLeave(vdeptID NUMBER, cursor_value OUT cursor_type);PROCEDURE sp_EmpLeave( vempID NUMBER, cursor_value OUT cursor_type);PROCEDURE sp_Login( vloginName VARCHAR2, vpassword VARCHAR2, cursor_value OUT cursor_type);PROCE
24、DURE sp_QueryEventbyTime( vstartTime DATE, vendTime DATE, cursor_value OUT cursor_type );PROCEDURE sp_SalaryHistoryByEmpID( vempID NUMBER, cursor_value OUT cursor_type );PROCEDURE sp_GetAllDepartment( cursor_value OUT cursor_type );PROCEDURE sp_GetEmpbyDeptName( vdeptName VARCHAR2, cursor_value OUT
25、cursor_type );PROCEDURE sp_OTbyGroup( vdeptID NUMBER, cursor_value OUT cursor_type );PROCEDURE sp_GetDeptSalarySummary( vdeptID NUMBER, vstartTime DATE, vendTime DATE, cursor_value OUT cursor_type );PROCEDURE sp_GetSubmittedPerform( vdeptID NUMBER, vperformYear NUMBER, vperformSeason NUMBER, cursor_
26、value OUT cursor_type );PROCEDURE sp_AttendanceQuery( vstartdate DATE, venddate DATE, cursor_value OUT cursor_type );END pkg_procedure;/ update Employee_TEMP set LateCount= (select count(t2.AttendID) from Attendance t2 where Employee_TEMP.EmployeeID=t2.EmployeeID and t2.DateTime = vstartTime and t2.
27、DateTime = vstartTime and t2.DateTime = vstartTime and t2.DateTime = vstartTime and t2.SubmitTime = vendTime and t2.Status = 已批准 where EDeptID = | vdeptID | group by t1.EDeptID, t1.EmployeeID, t1.EmployeeName; OPEN cursor_value FOR sqlString;END sp_GetDeptLvSummary;/* 对象: 存储过程 sp_GetSubmittedPerform
28、 */PROCEDURE sp_GetSubmittedPerform( vdeptID NUMBER, vperformYear NUMBER, vperformSeason NUMBER, cursor_value OUT cursor_type )AS sqlString VARCHAR2(1000);BEGIN sqlString := select t1.PerformID,t1.EmployeeID, t2.EmployeeName, t1.SubmitTime,t1.PerformYear,t1.PerformSeason,t3.Name as Status from Perfo
29、rmance t1 join Employee t2 on t1.EmployeeID = t2.EmployeeID join PerformStatus t3 on t1.Status = t3.Type where t2.DeptID | vdeptID | and t1.PerformYear = | vperformYear | and t1.PerformSeason = | vperformSeason; OPEN cursor_value FOR sqlString; EXCEPTION WHEN PROGRAM_ERROR THEN cursor_value := NULL;
30、 WHEN OTHERS THEN cursor_value := NULL;END sp_GetSubmittedPerform; OPEN cursor_value FOR sqlString; EXCEPTION WHEN PROGRAM_ERROR THEN cursor_value := NULL; WHEN OTHERS THEN cursor_value := NULL;END sp_AttendanceQuery;END pkg_procedure;/END tRejectRequest;课程设计总结广告业务管理系统的发展方兴未艾, 当前正处于传统手工、 半手工管理向数字化过渡
31、的阶段, 转变过程中需要应用和集成最新的信息技术, 以达到对网络信息资源最有效的利用和共享。传统的手工方法难以保证效率和质量, 应用于广告业务管理系统, 能够加速业务进程, 提高工作效率及 质量, 相信广告业务管理系统在实际应用中将会取得良好的效果。参考文献1 仇勇. ORACLE:出局棋子J. 中国新时代 , ,(54)2 鱼明. 浅析Delphi数据录入与维护的三种方式J. 太原教育学院学报 , ,(32)3 李斌. 欧洲论坛和Oracle的研制成果J. 管理科学文摘 , 1997,(14)4 包伟芳. 让Access数据库文件更小J. 电脑迷 , ,(07)5 金永涛. 窗口式数据库文件检索工具J. 电脑编程技巧与维护 , 1995,(15)6 朱江宁. 基于ArcGIS的城市基础地理信息系统的应用研究J. 荆门职业技术学院学报 , ,(12)7 罗春华, 唐诗华, 谭庆林, 李景文. LBS空间数据内容与管理方法J. 中国水运(学术版) , ,(11)8 朱秀丽, 苗作华. 基于ArcGIS的基础地理空间数据库系统设计J. 山西建筑 , ,(06) 9 吴孟泉, 牛振国, 崔伟宏, 黄勇奇. ”数字烟草”中空间数据的集成与管理方法J. 遥感信息 , ,(04)