动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.一个连接池的例子(来自JIVE).
.J2EE基础:Java EJB容器存取和实.
.JbuilderX+Jboss 3.x 编写发布CM.
.全面解析Java中的String数据类型.
.Java Inner Class.
.《Java 手机/PDA 程序设计入门》.
.J2EE Web服务客户端质量报告(一).
.使用 FUSE 开发自己的文件系统.
.Java Servlet 编程及应用之八.
.Hibernate 3.0 beta版本已经发布.
.JAVA静态变量.
.获得消息:J2EE 1.4 中的消息.
.如何用JDO开发数据库应用(1).
.Java 编程技术中汉字问题的分析及.
.在Java语言应用中实现UDP协议编程.
.设计模式在EJB中的应用(3).
.全面研读EJB 2.0(3).
.JAVA程序员必读:基础篇(4.a)-类和.
.我所认识的Apache.
.用状态栏提示改善JavaGUI.

实战J2EE?开发购物网站(四)

发表日期:2008-1-5 |



  GO ON 继续进阶!!

??SQL*PLUS基础
??在上一贴中,我们把握了些基本的Oracle操作,如创建、授权用户,创建数据库等。在OEM(Oracle Enterprise Manager)可视化的窗口环境中,虽然我们也可以很方便地做这些事,但是事实上,用SQL语言书写在开发上更有效率!!oracle提供的SQL*Plus就是个不错的工具,假如大家喜欢窗口的开发环境,用SQLPlus Worksheet也行!下面说点基本的西西!

??SQL(StrUCture Query Language)语言是结构化查询语言,是数据库的核心语言,是面向集合的描述性非过程化语言。
??SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据库控制语言DCL。

??1.数据查询语言DQL的基本结构是由select子句,from子句,where子句组成的查询块:
??select <字段名表 designtimesp=4043> from <表或视图名 designtimesp=4044> where <查询条件 designtimesp=4045>

??2.数据操纵语言DML完成在数据库中确定、修改、添加、删除某一数据值的任务(以下是部分常用DML语句):
??insert 增加数据行到表
??delete 从表中删除数据行
??Update 更改表中数据

??3.数据定义语言DDL完成定义数据库的结构,包括数据库本身、数据表、目录、视图等数据库元素(以下是部分常用DDL语句)
??create table 创建表
??create index 创建索引
??create view 创建视图
??alter table 增加表列,重定义表列,更改存储分配
??drop table 删除表
??drop index 删除索引

??4.数据库控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
??grant 将权限或角色授予用户或其它角色
??revoke 回收用户权限
??roll 回滚,是当某个对话更改了数据库中的数据后,由于某种原因用户不想提交此更改时,oracle所采取的保护操作。这是一个把信息恢复到用户使update、insert、delete前最后提交的状态。
??commit 提交。在完成数据库的插入,删除和修改操作时,只有当事务提交到数据库才算完成,有提交前只有操作数据库的本人才能看到,别人只有在最后提交完成才可以看到。

??接下来,我们在SQL*Plus中实战一下,为我们下面将要做的打好基础。
??用system登陆到SQL*Plus后,我们做如下操作(这次没有截图,有具体的说明)
??SQL>create user maxuan identified by max; #创建口令为max的用户maxuan
??SQL>grant connect,resource to maxuan; #为用户maxuan授权
??SQL>conn maxuan/max; #以用户maxuan进行连接
??L>create table test(a number); #建立一个名为test的表,只有字段名为A的一列,数据类型为数字
??SQL>insert into test values(1); #插入一条记录
??SQL>select * from test; #查询记录,此时A列的第一行为1
??SQL>update test set a=2; #更改记录,此时A列的第一行已改为2
??SQL>commit; #提交
??SQL>delete from test; #删除test表中所有的记录,此时test表中没有记录
??SQL>roll; #回滚到提交前,此时再查询test表,A列第一行值又回复到2

??oracle的数据类型

??在数据库中创建数据表的时候,我们需要定义表中所有字段的类型,数据类型大致分为:character,numberic,date,lob和raw等,这些是最基本的数据类型。当然在oracle中也答应自定义数据类型!

??在oracle中提供的character数据类型:
??char():固定长度字符串,最大长度为2000字节,假如不指定长充,缺省为1个字节长。
??varchar2():可变长度的字符串,最大长度为4000字节,具体定义时指明最大长度,这咱类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。假如数据长度没有达到最大值,oracle会根据数据大小自动调节字段长度。是最长用的数据类型。
??nchar():根据字符集而定的固定长度字符串,最大长度2000字节。
??nvarchar2():根据字符集而定的可变长度字符串,最大长度4000字节。
??long:可变长字符列,最大长度限制为2GB,用于不需要作字符串搜索的长串数据。此类型是一个遗留下来的而且将来不会被支持的数据类型,逐渐被BLOB,CLOB,NCLOB等大的数据类型所取代。
??numberic数据类型用来存储负的和正的整数,分数和浮点型数据,在oracle中提供的numberic数据类型:
??number(,):可变长的数值列,答应0、正值及负值,m是所有的有效数字的位数,n是小数点以后的位数。
??在oracle中提供的date数据类型:
??date:缺省格式是dd-mon-yy(日-月-年)
??在oracle中提供的lob数据类型:
??blob、clob、nclob:三种大型对象(lob),用来保存较大的图形文件或带格式的文本文件,如Word文档,以及音频、视频等非文本文件,最大长充是4GB。晕些数据存储在数据库内部保存。
??bfile:在数据库外部保存的大型二进制对象文件,最大长度是4GB,这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。
??在oracle中提供的raw数据类型:
??raw():可变长二进制数据,具体定义字段时必须指明最大长度,这种格式用来保存较小的图形文件或带格式的文本文件,它也是一种较老的数据类型,将被lob数据类型所取代。
??long raw:可变长二进制数据,最大长度是2GB,可以用来保存较大的图形或带格式的文本文件,以及音频、视频等非文本文件,这也是一种较老的数据类型,将被lob数据类型所取代。
??其它的数据类型:
??rowid:这是oracle数据表中的一个伪例,它是数据表中每行数据内在的唯一标识
integer:整数类型

??创建购物网站后台数据库

??现在我们回到用J2EE体系开发购物网站的主题,开始实战建购物网站的后台数据库。
??为了实现购物网站的基本的功能,我们需要建立四个表:商品列表(products)、商品类型表(item)、订单列表(orders)和治理员列表(admin)。表结构如下所示:

item表结构(商品类型表)
字段名称 数据类型 答应空 主键/外键 备注
type_id INTEGER(自动编号) 否 主键 商品类别ID标记
type varchar2(30) 否 商品类别名称

product表结构(商品列表)
字段名称 数据类型 答应空 主键/外键 备注
product_id INTEGER(自动编号) 否 主键 商品ID标记
title varchar2(30) 否 商品名称
type_id INTEGER 否 外键 商品类别标记
info varchar2(80) 是 商品简介
price number(16,2) 否 商品价格

orders表结构(订单列表)
字段名称 数据类型 答应空 主键/外键 备注
order_id INTEGER(自动编号) 否 主键 订单ID标记
name varchar2(20) 否 顾客姓名
address varchar2(100) 是 发货地址
tel number(16) 是 联系电话
email varchar2(30) 否 联系email
BTime date 是 订购日期
product_id INTEGER 否 外键 商品标记
uword varchar2(100) 是 顾客留言

admin表结构(治理员列表)
字段名称 数据类型 答应空 主键/外键 备注
admin_id INTEGER(自动编号) 否 主键 治理员ID标记
adminname varchar2(20) 否 治理员名称
password varchar2(20) 否 治理员密码

??设计完表结构后,我们就要开始创建了。
??创建表我想已经不是什么难事了,那么我们要注重的是product、item、orders这三个表之间的关联,还有自动编号。

??下面是完整的SQL语句,在后面我会给出具体的说明,你可以在SQL*Plus里对照着输入,也可以将它存为SQL脚本文件,在SQL*Plus或SQLPlus Worksheet里执行。当然也可以把代码直接拷贝到SQL*Plus里执行!

rem ///BY MAXUAN 开始///
create table item(
type_id integer not null,
type varchar2(30),
constraint item_pk primary key(type_id)
);

create table product(
product_id integer not null,
title varchar2(30) not null,
type_id integer not null,
info varchar2(80),
price number(16,2) not null,
constraint product_pk primary key (product_id),
constraint product_fk foreign key(type_id) references item(type_id)
);

create table orders(
order_id integer not null,
name varchar2(20) not null,
address varchar2(100),
tel number(16),
email varchar2(30) not null,
btime date,
product_id integer not null,
uword varchar2(100),
constraint orders_pk primary key(order_id),
constraint orders_fk foreign key(product_id) references product(product_id)
);

create table admin(
admin_id integer not null,
adminname varchar2(20) not null,
password varchar2(20) not null,
constraint admin_pk primary key(admin_id)
);

create sequence type_id increment by 1 start with 1;
create sequence product_id increment by 1 start with 1;
create sequence order_id increment by 1 start with 1;
create sequence admin_id increment by 1 start with 1;

rem ///BY MAXUAN 结束///

说明一:建立表之间的关联
  product、item、orders三个表通过公共域,通常称为键域(Key Field)进行关联,存在两种类型的键:主键(Primary key)和外部键(Foreign key)。主键使表中的数据行保持唯一,在表product中,product_id为主键,表orders中也包含有product_id,此时的product_id就是外部键。一个表的外部键从其它表中获取信息。看看上面的SQL语句,应该会了吧!

说明二:关于自动编号
  在Access中有自动编号的数据类型,MSSQL和mysql也都有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值,而oracle没有自动增长的数据类型,我们需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段,可以预见的是,有此功能,我们可以把数据从ACCESS、MSSQL或MYSQL迁移到oracle了!
create sequence type_id increment by 1 start with 1;
这句中,type_id为序列号的名称,每次增长为1,起始序号为1。

  好了,咱们的数据库已经建好了,而且从中也了解到一些基本的相关知识,关于本人的用J2EE开发购物网站之二oracle篇到此结束,如有什么疑问请留言!!
上一篇:实战SWT布局 人气:591
下一篇:实战J2EE?开发购物网站(三) 人气:254
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号