- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 设计数据库 StateInfo表结构(状态数据) 字段名称 数据类型 长度 约束 描述 id number 4 主键 状态id value varchar2 30 ? 状态值 type number 2 ? 状态类型 * 设计数据库 创建表 在分析出所有表的表结构之后,基于数据库表结构,创建相应的数据库表。 * 设计数据库 存储过程的实现 存储过程只编译一次,并以可执行文件形式存储,因此调用存储过程快速而且高效。如果不考虑数据库的移植性,可以使用存储过程来实现应用程序的业务逻辑。 在本项目中,我们使用存储过程来实现业务逻辑。为了简化这些存储过程的管理,我们使用程序包来组织这些存储过程。例如与Users表相关的存储过程用一个用户包来组织,与product表相关的存储过程用一个产品包来组织。 * 设计数据库 存储过程的实现 存储过程只编译一次,并以可执行文件形式存储,因此调用存储过程快速而且高效。如果不考虑数据库的移植性,可以使用存储过程来实现应用程序的业务逻辑。 在本项目中,我们使用存储过程来实现业务逻辑。为了简化这些存储过程的管理,我们使用程序包来组织这些存储过程。例如与Users表相关的存储过程用一个用户包来组织,与product表相关的存储过程用一个产品包来组织。 * 注释说明 系统可采用三层架构:表现层、业务逻辑层、数据持久层。 表现层只是负责将业务层传递过来的数据进行显示,不对数据进行操作。 业务层负责将表示层传递过来的数据进行组装,然后执行业务操作,调用数据持久层,将数据进行持久存储;同时将从数据持久层获得的数据进行处理,返回给表示层进行显示。 数据持久层是用来进行数据持久化操作,将业务层传来的数据存储到数据库中,也按照业务层的要求,对数据读取,返回给业务层,由业务层对数据进行支配。在本项目中对数据的存取都通过调用存储过程来实现。 * 总结 本章通过一个销售管理系统的应用,讲述了如何在Oracle中进行系统的数据库开发。在需求分析阶段使用用例来描述系统,可以帮助我们了解系统所要实现的具体功能。 建立数据模型(或E-R模型)可以帮助我们找到系统实现所需的数据存储及其关系。根据数据模型进行数据库逻辑结构设计,并最终转化为具体的数据库实现。 存储过程具有高速度,高性能的优势,如果不考虑数据库的可移植性,使用存储过程来实现系统的业务逻辑是一个不错的选择。 通过本章的例子,我们可以进一步理解数据库的开发流程,并掌握如何使用数据库存储过程来实现系统的业务逻辑。 * create table Users ( id varchar2(10), uname varchar2(10), pwd varchar2(10) ) * create table Users ( id varchar2(10), uname varchar2(10), pwd varchar2(10) ) * CREATE TABLE accounts ( accId number, /*帐户编号*/ type varchar2(10), /*帐户类型*/ balance number /*帐户余额*/ ); insert into accounts values(33,savings,3000); insert into accounts values(33,checking,1500); * 建表脚本 create table student ( id number(4) primary key, /*学号*/ name varchar2(20), /*姓名*/ major varchar2(30), /*所属专业名称*/ credit number /*获得的学分*/ ); create table major_stat ( major varchar2(30), /*专业名称*/ tot_stu number, /*专业学生人数*/ tot_credit number /*专业总学分*/ ); create table quit_stu as select * from student where 1=2; 触发语句 insert into student values(1001, 张三, 文学, 8); insert into student values(1002, 李四, 法律, 5); insert into student values(1003, 王五, 法律, 7); update student set
原创力文档


文档评论(0)