国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

實戰 J2EE 開發購物網站 創建數據表

2019-11-18 12:29:01
字體:
來源:轉載
供稿:網友

  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 <字段名表> from <表或視圖名> where <查詢條件>
  
  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)
  );
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 泰和县| 大新县| 琼海市| 木兰县| 桃园市| 贞丰县| 安远县| 象山县| 铜梁县| 杭锦旗| 留坝县| 乌恰县| 南丹县| 万源市| 凤台县| 嘉鱼县| 东莞市| 金山区| 镇康县| 赤壁市| 弥渡县| 西盟| 井研县| 文化| 神池县| 宿迁市| 濮阳县| 万宁市| 博兴县| 来宾市| 万载县| 景谷| 秦安县| 大足县| 平湖市| 杨浦区| 板桥市| 渝北区| 孝义市| 虎林市|