Oracle教程第三篇:表空間用戶與約束

一、持久化

1. 持久化包括讀和寫。
2. 數據存在於 表中 --> 表空間 --> 實例 --> 數據庫
3. 持久化步驟:
3.1.創建表空間。
3.2.創建自己的數據文件。
3.3. 創建用戶。
3.4. 登陸自己的用戶開始創建表。
3.5. 爲了確保數據準確性 -->約束 。
3.6. 增刪查改。
4.誰能創建表空間。
4.1.system數據層面的DBA
4.2.sys 運維超級管理員,保證實例的運行。

二、創建表空間

1.語法。
create tablespace spc_test002
datafile 'D:\ datafiles\test_002.dbf ,D:\ datafiles\test_002_01.dbf '
size 30M
autoextend on(開啓) --->正常情況要關閉,假如以後這個數據庫廢棄,自己會越來越大。
next 10M; 關閉時不寫
2.刪除表空間。
drop tablespace spc_test002 including contents AND datafiles;

三、創建用戶

1.場景
用來操作表空間。
2.語法
create user test002
identified by orcl
default tablespace spc_test002;
3.注意
3.1. 沒有指定表空間的用戶,會自動放到user的表空間中,這個表空間是自動增長的
3.2. 新創建的用戶,是沒有任何權限的,oracle 是非常安全的 注重權限管理
3.3. 因爲權限過多 賦予權限的時候不好操作,所以oracle 設定好了,直接賦予就行
空空空空1.connect。一般用戶,只有登陸查詢權限。
空空空空2.resource。更爲正式的角色,可以增刪該查,一般是程序員擁有。
空空空空3.dba。dba權限,很厲害,所以不用。

四、賦予權限

1.語法
grant connect,resource to test002.
2.收回權限
revoke connect ,resource from test002。

五、驗證當前用戶

1.窗口最上面(標題欄)寫着。
2.查看某個用戶下有幾張表。
空空空select * from user_tables;

六、創建表,進行數據操作

1. 數據類型,大體分四類。
1. 數值類型
空空空1)number(p,s)
空空空空空p 代表有效位數從左數,去掉第一個不爲0的數
空空空空空s代表 小數位
2. 字符類型。
空空空1)varchar2 和 nvarchar2
空空空空空varchar2 (1) 1字節 男 存不了
空空空空空nvarchar2(1) unicode編碼 男.length() ==1
空空空空空面試題:varchar2(1) nvarchar2(1) 哪個能存字
3. 日期類型。
空空空空空1)date 毫秒 timestamp 毫秒加3
4. 文件類型。
空空空空空1)lob clob(大文件)
空空空空空2)BLOB(大文件) 單條存儲4G 以內的文件。
2. 語法。
2.1. 創建人類表。
空空空空空create table person (
空空空空空空空空空pid number(11),
空空空空空空空空空pname varchar2(64),
空空空空空空空空空gender number(1), -- 0代表女,1代表男
空空空空空空空空空birthday date
空空空空空k)

七、DDL

1. 表修改。
空空1.1.語法。
空空空空空alter table person add (
空空空空空空空空空address nvarchar2(512) ;
空空空空空k)
2. 刪除表。
空空1.2.複製表,約束不會複製
空空空空空create table p1 as select * from person;
空空1.3.刪除表
空空空空空drop table p1。
3. 修改表。
空空3.1.語法。
空空空空空alter table person modify (name varchar2(128));

八、添加約束

1. 約束是把雙刃劍降低數據靈活性,慎用,數據的約束應該在service 層。
2. 主鍵約束。
2.1.特點
空空空非空且唯一
2.2.語法。
空空空空空alter table person add constraint pk_pserson_pid primary key(pid);
3. 非空約束。
3.1.特點
空空空字段不能爲null
3.2.語法。
空空空空空alter table person modify(name varchar2 (128) not null)
4. 唯一約束。
4.1.特點。
空空空不能重複。
4.2.語法。
空空空空空alter table person modify (name varchar2(128) unique)
5. 檢查約束。
5.1.特點。
空空空檢查某個字段的值是否符合要求。
5.2.語法。
空空空空空alter table person add constraint ck_person_gender check(
空空空空空空空空空空 gender in (0,1)
空空空空空 )
6. 外鍵約束
6.1.特點。
空空空主鍵表和外鍵表的數據約束。
6.2. 語法。
空空空空空alter table [外鍵表名] add constraint fk_od_orderid foreign key
空空空空空空空空 (order_id) reference orders(order_id) ;

第四篇傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章