Oracle表的建立及設計
1、主鍵和外來鍵
主鍵:關係型資料庫中的一條記錄中有若干個屬性,若其中的某一個屬性組(注意是組,可以是一個,也可以是多個)能唯一標識一條記錄,那麼該屬性組就是主鍵
外來鍵:關係型資料庫表中的一列或者某幾列的組合,它的值與另外一張表的某一列或者某幾列相匹配,且為另一張表的主鍵(即這張表的某一列或某幾列是另外一張表的主鍵,稱這一列或幾列為另外一張表的外來鍵)
注1:一張表主鍵只能有一個,可以有多個外來鍵以及唯一索引
注2:Oracle資料庫共有5個約束:主鍵、外來鍵、非空、唯一、條件
非空:這個列的值不能為空(NOT NULL)
唯一:這個列的值在表中是唯一存在的,不能重複,但可以為空值(NULL)
條件:可以對列的值設定在某個範圍內,如人的年齡就不能為負數等。
注3:主鍵和唯一約束的區別
表的主鍵是列的值為表中的唯一標識,不能為空值(NULL),而表的唯一約束是列的值在表中唯一存在,可以為空值(NULL)
2、表的建立及刪除
無約束建立:
create table Items(ItemNO number(2),ItemName varchar2(20));
刪除:
drop table Items;
有主鍵約束建立:
create table Items(ItemNO number(2) constraint PK_Items primary key,ItemName varchar2(20) not null);
有外來鍵約束建立:
create table Business(BusiNo number(2) constraint PK_Business primary key,
BusiName varchar2(32) not null,ItemNO number(2),constraint FK_Business
foreign key(ItemNO) references Items(ItemNO),StartTime date);
注:constraint:定義表中約束所必須的關鍵字
primary key:主鍵約束關鍵字
foreign key...references...:建立表的外來鍵關鍵字
3、to_date:Oracle的一個內部函式,可以把字串變成時間
insert into Business(Busino,Businame,Itemno,Starttime)
values(4,'SuperMarket',2,to_date('2008-08-08','YYYY-MM-DD'));
4、建立有“唯一”和“條件”約束的表
create table Computers(
CompNo number(4) constraint PK_Comp primary key,
CompModel varchar2(64) unique,
BuyTime date,
Price number(7,2) constraint ch_price check(price>0 and price<=30000),
Owner varchar2(32));
注:unique:為唯一約束關鍵字
constraint...check...:為條件約束的關鍵字
5、建立新表business_copy,並複製business表的資料
create table business_copy as select * from business;
注:create table:建立表的關鍵字
as select * from business:把business中的資料全部複製到business_copy中(不復製表的約束)
6、把備份表中的資料匯入新表
insert into business(busino,businame,itemno,starttime) select * from business_copy;
7、常用的欄位資料型別
Number(p,s):數值型別,其中p最小值為1,最大值為38,s最小值為-84,最大值為124
Date:日期型別,用於記錄時間
Char(size):定長字串型別,知道規定的長度,可以節省很大空間,比如性別,F表示女,M表示男
varchar(size):可變長字串型別
Blob(二進位制大物件型別):用於儲存二進位制物件,比如照片、文件資料等
Clob(字元大物件型別):用於儲存位元組的大物件資料,比如簡歷之類
Bfile(二進位制檔案):儲存大物件,比如電影膠片等
8、修改表結構
增加一個表欄位
alter table items add(manager VARCHAR2(6));
注:alter,這是Oracle資料庫中更改資料庫引數、表結構等均會使用到
add:這裡是增加一個列的關鍵字
修改表的欄位最大值
alter table items modify(manager varchar2(8));
刪除表的某一列
alter table items drop column manager;
主鍵:關係型資料庫中的一條記錄中有若干個屬性,若其中的某一個屬性組(注意是組,可以是一個,也可以是多個)能唯一標識一條記錄,那麼該屬性組就是主鍵
外來鍵:關係型資料庫表中的一列或者某幾列的組合,它的值與另外一張表的某一列或者某幾列相匹配,且為另一張表的主鍵(即這張表的某一列或某幾列是另外一張表的主鍵,稱這一列或幾列為另外一張表的外來鍵)
注1:一張表主鍵只能有一個,可以有多個外來鍵以及唯一索引
注2:Oracle資料庫共有5個約束:主鍵、外來鍵、非空、唯一、條件
非空:這個列的值不能為空(NOT NULL)
唯一:這個列的值在表中是唯一存在的,不能重複,但可以為空值(NULL)
條件:可以對列的值設定在某個範圍內,如人的年齡就不能為負數等。
注3:主鍵和唯一約束的區別
表的主鍵是列的值為表中的唯一標識,不能為空值(NULL),而表的唯一約束是列的值在表中唯一存在,可以為空值(NULL)
2、表的建立及刪除
無約束建立:
create table Items(ItemNO number(2),ItemName varchar2(20));
刪除:
drop table Items;
有主鍵約束建立:
create table Items(ItemNO number(2) constraint PK_Items primary key,ItemName varchar2(20) not null);
有外來鍵約束建立:
create table Business(BusiNo number(2) constraint PK_Business primary key,
BusiName varchar2(32) not null,ItemNO number(2),constraint FK_Business
foreign key(ItemNO) references Items(ItemNO),StartTime date);
注:constraint:定義表中約束所必須的關鍵字
primary key:主鍵約束關鍵字
foreign key...references...:建立表的外來鍵關鍵字
3、to_date:Oracle的一個內部函式,可以把字串變成時間
insert into Business(Busino,Businame,Itemno,Starttime)
values(4,'SuperMarket',2,to_date('2008-08-08','YYYY-MM-DD'));
4、建立有“唯一”和“條件”約束的表
create table Computers(
CompNo number(4) constraint PK_Comp primary key,
CompModel varchar2(64) unique,
BuyTime date,
Price number(7,2) constraint ch_price check(price>0 and price<=30000),
Owner varchar2(32));
注:unique:為唯一約束關鍵字
constraint...check...:為條件約束的關鍵字
5、建立新表business_copy,並複製business表的資料
create table business_copy as select * from business;
注:create table:建立表的關鍵字
as select * from business:把business中的資料全部複製到business_copy中(不復製表的約束)
6、把備份表中的資料匯入新表
insert into business(busino,businame,itemno,starttime) select * from business_copy;
7、常用的欄位資料型別
Number(p,s):數值型別,其中p最小值為1,最大值為38,s最小值為-84,最大值為124
Date:日期型別,用於記錄時間
Char(size):定長字串型別,知道規定的長度,可以節省很大空間,比如性別,F表示女,M表示男
varchar(size):可變長字串型別
Blob(二進位制大物件型別):用於儲存二進位制物件,比如照片、文件資料等
Clob(字元大物件型別):用於儲存位元組的大物件資料,比如簡歷之類
Bfile(二進位制檔案):儲存大物件,比如電影膠片等
8、修改表結構
增加一個表欄位
alter table items add(manager VARCHAR2(6));
注:alter,這是Oracle資料庫中更改資料庫引數、表結構等均會使用到
add:這裡是增加一個列的關鍵字
修改表的欄位最大值
alter table items modify(manager varchar2(8));
刪除表的某一列
alter table items drop column manager;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29489498/viewspace-1102586/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 分割槽表的建立Oracle
- (轉)ORACLE 分割槽表的設計Oracle
- oracle外部表建立以及收集統計資訊以及臨時表Oracle
- Oracle 找出需要建立索引的表Oracle索引
- oracle資料表的設計和管理Oracle
- Oracle型別的建立及使用Oracle型別
- 為Oracle資料庫表建立自動增長序列及Oracle的常見操作Oracle資料庫
- Oracle OCP(20):建立表Oracle
- Oracle 建立分割槽表Oracle
- oracle建立表空間Oracle
- oracle學習(建立表)Oracle
- Oracle表空間設計理念Oracle
- 【STAT】Oracle 表統計資訊被鎖,如何建立索引Oracle索引
- 【TABLE】Oracle監控異常的表設計Oracle
- Oracle OCP(47):表空間的建立Oracle
- 詳解Oracle建立表的引數Oracle
- 查詢oracle 表的大小和表的建立時間Oracle
- oracle表結構設計轉摘Oracle
- Oracle大表快速建立索引Oracle索引
- Oracle中檢視某個表的建立時間 - [Oracle]Oracle
- 專案資料庫表設計與建立模型資料庫模型
- 基於VB和EXCEL的報表設計及列印Excel
- ORACLE表空間的建立修改刪除Oracle
- Oracle物化檢視的建立及使用(二)Oracle
- Oracle物化檢視的建立及使用(一)Oracle
- 建立ASSM/MSSM管理表空間及建立表、分割槽表、大物件段等示例SSM物件
- 常用ORACLE表及作用。Oracle
- Oracle 建立主鍵自增表Oracle
- oracle_datapump建立外部表案例Oracle
- oracle之 手動建立 emp 表 與 dept 表Oracle
- 表的建立修改及增刪改查-DML操作
- Oracle資料庫表設計時的注意事項Oracle資料庫
- oracle10g建立statspack設定表空間太小出錯。Oracle
- oracle一個建立使用者、建立表空間、授權、建表的完整過程Oracle
- 元件能否支援動態建立庫及表元件
- 分割槽表及分割槽索引建立示例索引
- oracle建立一張與其他表相同表結構的空表Oracle
- oracle 定期表及索引分析Oracle索引