第一篇:表空間
管理表空間和數據文件
小結:作用
Undo表空間和臨時表空間的建立方法
了解各個狀態(online,read write,readonly)的作用,及如何改變表空間的狀態的方法。了解移動數據文件的原因,及使用alter tablespace和alter datatable命令移動數據文件的方法
介紹
表空間是數據庫的邏輯組成部分,從物理上將,數據庫數據存放在數據文件中;從邏輯上講,數據庫則是存放在表空間中,表空間是 由一個或多個數據文件組成。
表
表空間——》數據文件 數據庫的邏輯結構
Oracle中邏輯結構包括表空間、段、區、塊 一個數據庫邏輯上由一個或多個表空間。表空間是由物理文件構成。可以達到以下作用:
(1)控制數據庫占用的磁盤空間
(2)dba可以將不同數據類型部署到不同的位置,這樣有利于提高I/O性能,同時利于備份和恢復等管理操作。建立表空間
建立表空間是使用create tablespace命令完成,需要注意的是,一般情況下,建立表空間是特權用戶或是dba來執行的,如果其他用戶來創建表空間,則用戶必須要具有create tablespace的系統權限。建立數據表空間
在建立數據庫后,為了便于管理,最好建立自己的表空間 Create tablespace date01(表空間的名)datefile(數據文件)‘d:testdata01.dbf’size 20m uniform size 128k(區128k)
說明;執行完上述命令后,會建立名稱為date01的表空間,并為該表空間建立名稱為date01.bdf的數據文件,區的大小為128k; 使用數據表空間
Create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13))tablespace date01;改變表空間的狀態
在建立表空間時,表空間處于聯機的狀態,此時該表空間是可以訪問的,并且該表空間是可以讀寫的,即可以查詢該表空間的數據,而且還可以在表空間執行各種語句。但是在進行系統維護或是數據庫維護時,可能需要改變表空間的狀態。一般情況下,由特權用戶或是dba來操作。
(1)使表空間脫機
Alter tablespace 表空間名 offline;(2)使表空間聯機
Alter tablesqace 表空間名online;(3)只讀表空間
當建立表空間時,表空間可以讀寫,如果不希望在該表空間上執行update、delete、insert操作,那么可以將表空間修改為只讀 Alter tablespace 表空間名
read only 改變表空間的狀態
(1)顯示表空間包括的所有表
Select * from all_tables where tablespace_name=’表空間名’(2)知道表名,查看該表屬于那個表空間
(3)Select tablespace_name,table_name from user_tables where table_name=’emp’;刪除表空間
Drop tablespace ‘表空間’ including contents and datafiles;說明:including contents 表示刪除表空間時,刪除該表空間的所有數據對象,而datafiles表示將數據文件也刪除。擴展表空間
1、建立表空間 sp01
2、在該表空間上建立一個普通的表 mydment 其表結構和dept一樣
3、想該表空間加入數據insert into mydment select * from dept;
4、當一定時候就會出現無法擴展的問題,怎么辦?
5、就擴展該表空間,為其增加更多的存儲空間。有三種方法:(1)增加數據文件
Alter tablespace sp01 add datefile ‘d:testsp01.dbf’ size 20m(2)增加數據文件的大小 Alter tablespace sp01 ‘d:testsp01.dbf’ resize 20m;(數據文件不超過500m)(3)設置文件的自動增長。
Alter tablespace 表空間名 ‘d:testsp01.dbf’ autoextend on next 10m maxsize 500m;故障處理
有時,如果你的數據文件所在的磁盤損壞時,該數據文件將不再能使用,為了能夠重新使用,需要將這些文件的副本移動到其他的磁盤,然后恢復。
下面以移動數據文件sp_001.dbf為例說明: 1)確定數據文件所在的表空間 select tablespace_name
from
dba_data_files
where file_neme=’d:sp001.dbf’;2)使用表空間脫機
確保數據文件的一致性,將表空間轉變為offline的狀態 Alter tablespace sp01 offline;3)使用命令移動數據文件到指定的目標位置 Host move d:sp01.dbf c:sp01.dbf 4)移動數據文件
在物理上移動數據后,還必須執行alter tablespace 命令對數據庫進行邏輯修改:
Alter tablespace sp01 rename datafile ‘d:sp01.dbf’ to ‘c:sp01.dbf’;5)使得表空間聯機
在移動了數據文件后,為了使用戶可以訪問表空間,必須將其轉變為online狀態:
Alter tablespace sp01 online;
第二篇:第四章 管理表空間
第四章 管理表空間
4.1、基本表空間
一、創建表空間
1.創建一個表空間 myspace
CREATE
TABLESPACE myspace(表名)
DATAFILE 'D:apporacle11goradataorclmyspace.dbf'
SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
2.查看所創建的表空間的屬性 : dba_tablespaces
DESC dba_tablespaces
二、修改表空間 ALTER TABLESPASCE
1.修改表空間的狀態
四種狀態: 1)、ONLINE 在線
2)、OFFLINE 離線
2)、READ ONLY 只讀
4)、READ WRITE 讀寫 ALTER TABLESPACE myspace READ ONLY
注意:有只讀狀態修改為 在線狀態時 直接改為讀寫狀態就可以咯
2.重命名表空間名
ALTER TABLESPACE myspace RENAME TO myspace2
3.增加表空間的數據文件
1)、查看是否有空閑表空間 dba_free_space
SELECT tablespace_name,bytes,blocks FROM dba_free_space WHERE tablespace_name='MYSPACE';2)增加表空間
ALTER tablespace myspace
ADD DATAFILE 'd:apporacle11goradataorclmyspace.dbf' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 40M, 'd:apporacle11goradataorclmyspace2.dbf' SIZE 2M AUTOEXTEND ON NEXT 2M MAXSIZE 10M;3)刪除表空間的數據文件
ALTER TABLESPACE myspace
DROP DATAFILE 'd:apporacle11goradataorclmyspace2.dbf';
三、修改表空間的數據文件 ALTER DATABASE
1、修改數據文件大小
1)查看比哦啊空間的數據文件信息
dba_dat_files
SELECT tablespace_name,file_name,bytes
FROM dba_dat_files WHERE tablespace_name=' MYSPACE';
2)修改數據文件大小
ALTER DATABASE
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf' RESIZE 20M;
2、修改數據文件的自動增量 : 默認為OFF
ALTER DATABASE DATAFILE 'd:apporacle11goradataorclmyspace2.dbf' AUTOEXTEND ON NEXT 5M MAXSIZE 40M;
3、修改數據文件的狀態
1)、ONLINE 表示數據文件可以使用
2)、OFFLINE 表示數據文件不可以使用,用于數據庫運行在歸檔模式下的情況。
3)、OFFLINE DROP 表示數據文件不可用,但它用于數據庫運行在非歸檔模式下的情況。
注:
歸檔重做日志文件用于對寫滿的日志文件進行復制并保存,具體功能由歸檔進程ARCn實現,該進程負責將寫滿的重做日志文件復制到歸檔日志目標中。
歸檔日志模式和非歸檔日志模式的區別
非歸檔模式只能做冷備份,并且恢復時只能做完全備份.最近一次完全備份到系統出錯期間的數據不能恢復.歸檔模式可以做熱備份,并且可以做增量備份,可以做部分恢復.用ARCHIVE LOG LIST 可以查看當前模式狀態是歸檔模式還是非歸檔模式.ALETER DATABASE
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf'
OFFLINE DROP;注:需要介質恢復
RECOVER
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf';
4、刪除表空間
DROP TABLESPACE myspace INCLUDING(包含)CONTENTS(內容)AND DATAFILES;4.2、臨時表空間
一、創建臨時表空間
1、創建臨時表空間
CREATE TEMPRARY TABLESPACE mytemp
TEMPFILE 'E:orafilemytemp.dbf'
SIZE 10M AUTEXTEND ON NEXT 2M MAXSIZE 20M;
2、查看臨時表空間的臨時文件信息 : dba_temp_file
SELECT tablespace_name,file_name,bytes
FROM dba_temp_file WHERE tabespace_name='MYTEMP';
二、創建與管理臨時表空間組
1、創建:不需要特別指定
CREATE TEMPRARY TABLESPACE mytemp2
TEMPFILE 'E:orafilemytemp2.dbf'
SIZE 10M AUTEXTEND ON NEXT 2M MAXSIZE 20M
TABLESPACE GROUP group1;
2、查看:dba_tablespace_groups
3、移動臨時抱空間到另一組
ALTER TABLESPACE mytemp2 TABLESPACE GROUP group2;
4、刪除臨時表空間組:臨時表空間被刪除或者移走,臨時表空間組也就不在咯
DROP TABLESPACE mytemp2;
第三篇:oracle-sql語句-創建表空間、數據庫
1、查看表空間的名稱及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
2、查看表空間物理文件的名稱及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;
3、查看回滾段名稱及大小
select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;
4、查看控制文件
select name from v$controlfile;獲取創建表空間的sql select
dbms_lob.substr(dbms_metadata.get_ddl('TABLESPACE',a.tablespace_name))from dba_tablespaces a;
SQL> select sid,serial# from v$session where username='TEST';alter system kill session '150,9019';查看被鎖的表 select object_name,machine,s.sid,s.serial#,s.event from gv$locked_object l,dba_objects o,gv$session s where l.object_id=o.object_id and l.session_id=s.sid;alter system kill session ‘sid,serial#’;
5、查看日志文件
select member from v$logfile;
6、查看表空間的使用情況
select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
Select b.tablespace_name as表空間名,b.bytes as字節數,(b.bytes-sum(nvl(a.bytes,0)))as已使用,sum(nvl(a.bytes,0))as剩余空間,sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;
7、查看數據庫庫對象
select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;
8、查看數據庫的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
9.查看某個表空間內所占空間大于某個值的段(表或索引):
Select segment_name,bytes FROM dba_segments Where bytes>10000000 AND tablespace_name='tablespace_name';10.查看所有表空間的碎片程度(值在30以下表示碎片很多)
select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes)from(select
b.file_id file_ID,b.tablespace_name tablespace_name,b.bytes Bytes,(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,sum(nvl(a.bytes,0))/(b.bytes)*100
Percent
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id)group by tablespace_name order by sum(free)*100/sum(bytes);11.查看自上次數據庫啟動以來所有數據文件的讀寫次數
select
substr(DF.NAME,1,5)Drive,DF.NAME file_name,(fs.phyblkrd+fs.phyblkwrt)
from v$filestat fs,v$datafile df
where df.file#=fs.file#;
創建臨時表空間: //創建臨時表空間
create temporary tablespace mytest tempfile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;
//創建數據表空間
create tablespace mytest_data logging datafile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest_data.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;//創建用戶并指定表空間
create user testaccount identified by testpwd default tablespace mytest_data temporary tablespace mytest;//給用戶授予權限
grant connect,resource to testaccount;(db2:指定所有權限)12,創建一個用戶:
CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];
//查看數據庫中的所有用戶: select * from all_users;//or select * from dba_users 13查看oracle最大連接數: Select session_max,session_current,sessions_highwater,users_max from v$license;Select username,count(username)from v$session group by username;加密存儲過程 WRAP
INAME=D:ORACLESOURCEDATE.SQL ONAME=D:ORACLESOURCEDATA.PLD
第四篇:Oracle建表空間各種語句
在創建用戶之前,先要創建表空間:
其格式為:格式: create tablespace 表間名 datafile '數據文件名' size 表空間大小;如:
SQL> create tablespace news_tablespace datafile 'F:oracleproduct10.1.0oradatanewsnews_data.dbf' size 500M;其中'news_tablespace'是你自定義的表空間名稱,可以任意取名;'F:oracleproduct10.1.0oradatanewsnews_data.dbf'是數據文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定該數據文件的大小,也就是表空間的大小。
現在建好了名為'news_tablespace'的表空間,下面就可以創建用戶了:
其格式為:格式: create user 用戶名 identified by 密碼 default tablespace 表空間表;如:
SQL> create user news identified by news default tablespace news_tablespace;默認表空間'default tablespace'使用上面創建的表空間。
接著授權給新建的用戶:
SQL> grant connect,resource to news;--表示把 connect,resource權限授予news用戶
SQL> grant dba to news;--表示把 dba權限授予給news用戶
授權成功。
ok!數據庫用戶創建完成,現在你就可以使用該用戶創建數據表了!1.建表空間
create tablespace hoteldata datafile 'D:javaOracleproduct10.1.0oradatazznorclhoteldata.dbf'size 200m autoextend on next 10m maxsize unlimited;2.建用戶 create user hotel identified by hotel default tablespace hoteldata account unlock;//identified by 后面的是密碼,前面的是用戶名 3.用戶授權
grant resource,connect,RECOVERY_CATALOG_OWNER to hotel;grant create table to hotel;alter user hotel quota unlimited ON OSDB;alter user hotel default tablespace hoteldata;4.刪除表空間
DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES;5.刪除用戶
DROP USER hotel CASCADE 6.刪除表的注意事項
在刪除一個表中的全部數據時,須使用TRUNCATE TABLE 表名;因為用DROP TABLE,DELETE * FROM 表名時,TABLESPACE表空間該表的占用空間并未釋放,反復幾次DROP,DELETE操作后,該TABLESPACE上百兆的空間就被耗光了。oracle sqlplus腳本建庫總結(原創)******************************************************************/--查詢表空間參數
select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;--查詢數據文件信息
--autoextensible數據庫已滿后是否自動擴展
select tablespace_name,bytes,autoextensible,file_name from dba_data_files;/******************************************************************/--創建表空間
--一般信息
--DATAFILE:數據文件目錄--存儲
--AUTOEXTEND:數據文件滿后自動擴展--ON NEXT:增量
--MAXSIZE UNLIMITED:最大容量無限制--SIZE:文件大小--存儲
--啟用事件記錄:LOGGING為生成從做日志并可恢復,NOLOGGING為快速更新不生成日志且不可恢復
--MANAGEMENT LOCAL:本地管理--缺省:自動分配
--UNIFORM SIZE:統一分配
--MANAGEMENT DICTIONARY:在字典中管理--DEFAULT STORAGE:覆蓋默認區值--INITIAL:初始大小--NEXT :下一個大小--MINEXTENTS:最小數量
--MAXEXTENTS UNLIMITED :最大數量不限制--PCTINCREASE:增量,單位“%”--MINIMUM EXTENT:最小區大小 CREATE TABLESPACE “TEST” NOLOGGING DATAFILE 'G:ORACLEORADATAMYORACLETEST.ora' SIZE 5M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 12K;--最好寫成相對路徑,免得出錯 CREATE TABLESPACE “TEST” NOLOGGING DATAFILE '../DATABASE/TEST.ora' SIZE 5M REUSE--建議用'../oradata/TEST.ora' AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 12K;CREATE TABLESPACE “TEST” LOGGING DATAFILE 'G:ORACLEORADATAMYORACLETEST.ora' SIZE 5M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE(INITIAL 1K NEXT 2K MINEXTENTS 5 MAXEXTENTS 67 PCTINCREASE 4)MINIMUM EXTENT 3K;/******************************************************************/--增加表空間, 注意這里test.ora1不能與原表空間文件名稱相同--添加一個新的大小為5M數據庫文件test.ora1 alter tablespace mytesttablespace add datafile 'c:testtest.ora1' size 5M;/******************************************************************/--修改表空間數據庫文件屬性,myoracle為sid--將test.ora1數據庫文件改為3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP alter database myoracle datafile 'c:testtest.ora1' resize 3M;alter database myoracle datafile '$ORACLE_HOME/oradata/undo102.dbf' autoextend on next 10m maxsize 500M;/******************************************************************/ /*刪除表空間
語法:drop tablespace tablespace_name including contents and datafiles;刪除表空間時要系統不會刪除表空間數據庫文件,要徹底刪除要手動刪除 */ drop tablespace mytesttablespace including contents and datafiles;/******************************************************************/--創建用戶--命令:
--CREATE USER 名稱 IDENTIFIED BY 口令 DEFAULT TABLESPACE “默認表空間名” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK--一般屬性
--DEFAULT TABLESPACE :默認表空間名
--TEMPORARY TABLESPACE :臨時表空間名,默認TEMP--ACCOUNT :用戶狀態,默認UNLOCK 未鎖定;LOCK 鎖定 CREATE USER “TEST” PROFILE “DEFAULT” IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK;--可以寫成
CREATE USER “TEST” PROFILE “DEFAULT” IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST”;/******************************************************************/--用戶授權
--grant “connect,resource,dba” to “someuser” with admin option;--WITH ADMIN OPTION :管理選項--授予usertest DBA權限
grant dba to “usertest” with admin option;--取消授權
--REVOKE “RESOURCE” FROM “SCOTT”;/******************************************************************/--建表
--在usertest方案下建表,注意表名不能用關鍵字,否則報錯ORA-00903: 表名無效
--語法:
--create table [schema.]
--data type:表示字段的數據類型
--default
CREATE TABLE “TEST”.“TEST”(“ID” NUMBER(10)DEFAULT 0 PRIMARY KEY, “NAME” VARCHAR2(20)NOT NULL, “INFO” VARCHAR2(1000))TABLESPACE “TEST”;/******************************************************************/--插入數據--語法:
--INSERT INTO tablename(column1,column2,…)VALUES(expression1,expression2,…);
INSERT INTO “TEST”.“TEST”(“ID” ,“NAME” ,“INFO”)VALUES(1 ,'testname' ,'');--也可以寫成
INSERT INTO “TEST”.“TEST” VALUES(1 ,'testname' ,'');/******************************************************************/
第五篇:Oracle表空間和數據文件的關系
數據庫的物理結構是由數據庫的操作系統文件所決定,每一個Oracle數據庫是由三種類型的文件組成: 數據文件和控制文件。數據庫的文件為數據庫提供真正的物理存儲。
每一個Oracle數據庫有一個或多個物理的數據文件(data file)。一個數據庫的數據文件包含全部數據庫數據。邏輯數據庫結構(如表,索引等)的數據物理地存儲在數據庫地數據文件中。數據文件通常為*.dbf格式,例如: userCIMS.dbf.數據文件有一下特征:①、一個數據文件僅與一個數據庫聯系;②、一旦建立, 數據文件只增不減;③、一個表空間(數據庫存儲地邏輯單位)由一個或多個數據文件組成。
其次, 我們再來敘述一下Oracle的邏輯結構: Oracle的邏輯結構包括表空間(tablespace), 段(segment), 數據塊(data block)以及模式對象(schema object)。
Oracle數據庫在邏輯上是由多個表空間組成的, 表空間在物理上包含一個或者多個數據文件。而數據文件大小是塊大小的整數倍;表空間中存儲的對象叫段, 比如數據段, 索引段和回退段。段由區組成, 區是磁盤分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是數據塊大小的整數倍,取得大小可以不同;數據塊是數據庫中的最小的I/O單位,同時也是內存數據緩沖區的單位,及數據文件存儲空間單位。塊的大小由參數DB_BLOCK_SIZE設置,其值影設置為操作系統塊大小的整數倍。
⑴ 表空間(TABLESPACE)表空間是數據庫中最大的邏輯單位,每一個表空間由一個或多個數據文件組成,一個數據文件只能與一個表空間相聯系。每一個數據庫都有一個SYSTEM表空間,該表空間是在數據庫創建或數據庫安裝時自動創建的,用于存儲系統的數據字典表,程序系統單元,過程函數,包和觸發器等,也可用于存儲用戶數據表,索引對象。表空間具有在線(online)和離線(offline)屬性,可以將除SYSTEM以外的任何表空間置為離線。⑵ 段(SEGMENT)數據庫的段可以分為4類:數據段,索引段,回退段和臨時段。⑶ 區
區是磁盤空間分配的最小單位。磁盤按區劃分,每次至少分配一個區。區存儲在段中,它由連續的數據塊組成。⑷ 數據塊
數據塊是數據庫中最小的數據組織單位與管理單位,是數據庫文件磁盤存儲空間單位,也是數據庫I/O的最小單位,數據塊大小由DB_BLOCK_SIZE參數決定,不同的ORACLE版本BD_BLOCK_SIZE的默認值是不同的。查詢DB_BLOCK_SIZE可以使用sql:
select name, value from v$parameter where name = 'db_block_size';⑸ 模式對象
模式對象是一種應用,包括:表、聚簇、試圖、索引序列生成器、同義詞、哈希、程序單元、數據庫鏈的等。
最后說一下ORACLE的用戶、表空間和數據文件的關系:
一個用戶可以使用一個或多個表空間,一個表空間也可以提供多個用戶使用。用戶和表空間沒有隸屬關系,表空間是一個用來管理數據存儲的邏輯概念,表空間只是和數據文件發生關系,數據文件是物理的。一個表空間可以包含多個數據文件,而一個數據文件只能隸屬于一個表空間。
總結一下:解釋數據庫、表空間、數據文件、表、數據的最好辦法就是想象一個裝滿東西的柜子。數據庫其實就是柜子,柜中的抽屜是表空間,抽屜中的文件夾是數據文件,數據夾中的紙是表,寫在紙上的信息就是數據。