码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的言语所吸引。那么Java到底有何神奇之处呢?
Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现之前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于哪些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程言语显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用与WEB上,并且开发出了HotJava的第一版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗璀璨的明星,丑小鸭一下子变成了白天鹅。
里面插入了简单的一个小窗口程序,用来介绍一个java的程序,同时锻炼一下我的动手操作与灵活运用java知识的能力。
Java我采用NetBeans和Ultraedit开发,尤其是Ultraedit编辑器,最适合我们使用。
3.2 数据库访问技术
数据库访问技术采用的是Oracle Database技术,Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development
11
Laboratories)。
Oracle数据库被视为一个单元,是数据的集合。数据的目的是为了存储和获得相关的信息。数据库服务器是解决信息管理问题的关键。通常的说,服务器在多用户环境下可靠的管理大量的数据,并且能被多个用户同时并发的访问相同的数据。所有这些的都是高性能完成。数据库服务器也阻止未被授权的访问和为故障恢复提供有效的解决方案。
Oracle数据库是第一个为企业网格计算设计的数据库,以最大的灵活性,低成本高效率方式来管理信息和应用软件。企业网格计算为工业标准,存储和服务创建大的池。用这种体系结构,每一格新系统都能快速的从组合化的资源池获得供应。没有必要担心最高峰时工作量,因为能够很简单的从资源池添加和再分配能力。
这个数据库结构分为逻辑结构和物理结构。因为物理结构和逻辑结构是分开的,所以物理结构管理数据的存放,不影响逻辑存储结构的访问。
Oracle Database也广泛的运用与WEB系统中。WEB数据库系统的整体结构如图3-1所示。
3.3 Oracle语言介绍
Oracle主要包括sql 和pl/sql两类语言,当然,以后java在Oracle数据库中一定会越来越重要。
sql主要包括以下部分:ddl(数据定义语言,如create),dml(数据操作语言,如insert),dql(数据查询语言,如select),dcl(数据控制语言,如grant)。
pl/sql主要包括:数据类型,运算符,判断语句,循环语句,异常等,其中cursor是精华,要好好学学。pl/sql跟vb很相似,能学懂vb学pl/sql就没问题。
12
第4章 数据库设计
4.1 数据库的选择
Oracle简介:Oracle引入了共享SQL和多线索服务器体系结构。这减少了Oracle的资源占用,并增强了Oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持更多的用户,还提供了机遇角色分工的安全保密管理。在数据库管功能、完整性检查、安全性、一致性方面都有良好的表现。它支持大量多媒体数据。提供了与第三代高级语言的接口系列。Oracle10g是业界第一个完整的、智能化的新一代Internet基础架构。Oracle开发工具套件10g是一套完整的集成开发工具,可用于快速开发使用JAVA和XML语言的互联网应用和WEB服务,支持任何语言、任何操作系统、任何开发风格、开发生命周期的任何阶段以及所有最新的互联网标准。
由于系统是基于java语言开发的系统,所以最后采用了Oracle数据库。
4.2 数据库表的设计
概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。
电子商务系统进出口部分实体属性E-R图如图4-1所示。
图4-1 业务信息系统实体关系图
13
4.2.1 系统用户表
用户信息表(shop_user):记录用户详细信息主要信息包括(用户ID[userID],帐号[username],密码[password],角色ID[roleID],真实姓名[name],身份证号[proof],性别[sex](默认值为男),年龄[age],详细地址[address],电子邮箱[Email],联系电话[Tel],邮政编码[post],积分[score](默认值为0),注册时间[time])。用户表的具体设计如表4-1所示。
表4-1 系统用户表
表名 编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 shop_user 名称 userID username password roleID name proof sex age adress Email Tel post score time 类型 number varchar2 varchar2 number varchar2 varchar2 varchar2 number varchar2 varchar2 varchar2 varchar2 number date 长度 默认值 - 16 16 4 16 24 4 3 *** *** *** *** *** *** 男 *** *** *** *** --- 0 *** 说明 用户ID 账号 密码 角色ID 真实姓名 身份证号 性别 年龄 详细地址 电子邮箱上 联系电话 邮政编码 积分 注册时间 采用二级连动 为买入和卖出总价值 自动获取时间 备注 以序列seq_user 用户登录 用户登录 用户权限 身份认证
4.2.2 信息表
信息表(shop_message):记录信息与系统用户表中的用户ID关联。该表包括(信息ID[mesID],用户ID[userID],收货信息数[message])。具体设计如表4-2所示。
表4-2 信息表
表名 编号 1 2 3 Shop_message 名称 mesID userID messages 类型 number number number 长度 - - - 默认值 *** *** 0 说明 信息ID 用户ID 收货信息数 备注 以序列seq_message 外连Shop_user 用户登入提示信息
4.2.3 角色表
14
角色表(shop_role):用来限制用户的权限,区分管理员和一般用户。该表包括(角色ID[roleID],用户一般权限[rolename](默认值为一般用户),角色描述[roledetail])。具体设计如表4-3所示。
表4-3 角色表
表名 编号 1 2 3 Shop_role 名称 RoleID rolename roledetail 类型 number Varchar2 Varchar2 长度 - 20 100 默认值 *** 一般用户 --- 说明 角色ID 用户一般权限 角色描述 备注 以序列seq_role 角色详细信息
4.2.4 物品表
物品表(shop_product): 记录商品的详细信息,主要信息包括(物品ID[pID],物品名称[pname],品牌[pmark],分类1ID[sort1ID],分类2ID[sort2ID],市场价[tradeprice],本站价[price],时间[time],节省[save],点击数[click],简介[brief],详细说明[detail],图片[photo]。)具体设计如表4-4所示。
表4-4 物品表
表名 编号 1 2 3 4 5 6 7 8 9 10 11 12 13 Shop_product 名称 pID pname Pmark Sort1ID Sort2ID tradeprice price Time save click brief Detail photo 类型 Number Varchar2 Varchar2 number number float float date float Number Varchar2 Varchar2 Varchar2 长度 - 50 50 - - 默认值 *** *** --- *** *** *** *** *** Tradeprice-price 0 -- --- E:/web-shop/1.jpj 说明 物品ID 物品名称 品牌 分类1ID 分类2ID 市场价 本站价 时间 节省 点击数 简介 详细说明 图片 备注 以序列seq_product 外键 外键 不能超过市场价85% 查看一次,其值加1 图片路径地址
4.2.5 1级分类表
1级分类表(shop_sort1):记录1级分类的消息与物品表中的分类1ID关联。该表包括(1级分类[sort1] (默认值为0),一级分类名[sort1name],分类描述[sort1detail])。
15