Professional Documents
Culture Documents
Naming Rules
هﻨﺎك ﺑﻌﺾ اﻟﺸﺮوط ﻟﻜﻰ ﻳﻤﻜﻨﻚ اﻋﻄﺎء اﺳﻤﺎء ﻟﻠﺠﺪوال او اﻻﻋﻤﺪة :
-1ﻻﺑﺪ ان ﻳﺒﺪأ اى اﺳﻢ ﺑﺤﺮف.
-2ﻻﺑﺪ ان ﻳﻜﻮن ﻃﻮل ﺣﺮوف اﻻﺳﻢ ﺑﻴﻦ 1اﻟﻰ . 30
-3اﻟﺤﺮوف اﻟﺘﻰ ﻳﻤﻜﻦ ان ﻳﺘﻀﻤﻨﻬﺎ اﻻﺳﻢ ) .( A-Z ,a-z ,0-9 ,_ ,$ ,#
-4ﻻﻳﻤﻜﻦ اﻋﻄﺎء اآﺜﺮ ﻣﻦ ﺟﺪول او ﻋﻤﻮد ﻧﻔﺲ اﻻﺳﻢ.
-5ﻻﻳﻤﻜﻦ اﻋﻄﺎء اﺳﻤﺎء ﺧﺎﺻﺔ ﺑﺄواﻣﺮ ORACLEﻣﺜﻞ ﺗﺴﻤﻴﺔ ﺟﺪول ﺑﺎﺳﻢ
SELECTاو . UPDATE
Create Table
ﻣﻠﺤﻮﻇﺔ :
ﻳﻤﻜﻦ اﺧﺘﺼﺎر اﺳﻢ اﻟﺠﺪول USER_CATALOGاﻟﻰ . CAT
* SELECT
; FROM CAT
أﻧﻮاع اﻟﺒﻴﺎﻧﺎت )(Data Types
ﻧﻮع اﻟﻮﺻﻒ
)VARCHAR2(size ﺑﻴﺎﻧﺎت ﺣﺮﻓﻴﺔ ﻣﺘﻨﻮﻋﺔ وﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻃﻮﻟﻬﺎ ﺑﻴﻦ
اﻟﻘﻮﺳﻴﻦ .واﻟﻄﻮل اﻟﻤﺴﻤﻮح ﺑﺔ ﻳﻜﻮن ﻣﻦ ﺣﺮف
واﺣﺪ اﻟﻰ 4000ﺣﺮف.
Char )(size ﺑﻴﺎﻧﺎت ﺣﺮﻓﻴﺔ ﺛﺎﺑﺘﺔ اﻟﻄﻮل وﺣﺠﻤﻪ ﻳﻜﻮن
ﺑﺎﻟﺒﺎﻳﺖ)وﺣﺠﻤﺔ ﻳﻜﻮن ﻣﻦ 1اﻟﻰ 2000ﺣﺮف(
NUMBER )(p,s ﺑﻴﺎﻧﺎت رﻗﻤﻴﺔ وﻳﺘﻢ ﻓﻴﻬﺎ ﺗﺤﺪﻳﺪ ﻋﺪد ﺧﺎﻧﺎت اﻟﺮﻗﻢ
ﺑﻴﻦ ﻗﻮﺳﻴﻦ وﻳﻤﻜﻦ ان ﻳﺘﻀﻤﻦ ارﻗﺎم ﻋﺸﺮﻳﺔ.
) (Pﺗﻌﻨﻰ ﻋﺪد ﺧﺎﻧﺎت اﻟﺮﻗﻢ اﻟﺼﺤﻴﺢ وﻳﻤﻜﻦ ان
ﻳﺤﺘﻮى ﻣﻦ 1اﻟﻰ 38ﺧﺎﻧﺔ.
)(Sﺗﻌﻨﻰ ﻋﺪد ﺧﺎﻧﺎت اﻻرﻗﺎم اﻟﻌﺸﺮﻳﺔ وﻳﻤﻜﻦ ان
ﻳﺤﺘﻮى ﻣﻦ ) 84 -اﻟﻰ .(127
DATE ﺑﻴﺎﻧﺎت ﻋﻦ اﻟﺘﺎرﻳﺦ واﻟﻮﻗﺖ.
LONG اﻟﺒﻴﺎﻧﺎت اﻟﺤﺮﻓﻴﺔ اﻟﻤﺘﻨﻮﻋﺔ وﻣﺴﺎﺣﺘﻬﺎ
gigabytes 2
CLOB ﺑﻴﺎﻧﺎت ﺣﺮﻓﻴﺔ ﺣﺘﻰ gigabytes 4
RAW and LONG RAW ﺑﻴﺎﻧﺎت رﻗﻢ ﺛﻨﺎﺋﻲ أوﻟﻲ
BLOB ﺑﻴﺎﻧﺎت ﺛﻨﺎﺋﻴﺔ ﺣﺘﻰ gigabytes 4
BFILE ﺑﻴﺎﻧﺎت ﺛﻨﺎﺋﻴﺔ ﺗﺨﺰن ﻓﻲ ﻣﻠﻒ ﺧﺎرﺟﻲ ﺣﺘﻰ 4
gigabytes
ROWID ﺗﻤﺜﻞ اﻟﻨﻈﺎم واﻟﻌﻨﺎوﻳﻦ اﻟﻔﺮﻳﺪة ﻟﻠﺼﻒ ﻓﻲ اﻟﺠﺪول
)RAW(size اﻟﺒﻴﺎﻧﺎت اﻟﺜﻨﺎﺋﻴﺔ ﻟﺤﺠﻢ اﻟﻄﻮل )وأﻗﺼﻲ ﺣﺠﻢ ﻳﺠﺐ
أن ﻳﻜﻮن ﻣﺤﺪد .وأﻗﺼﻲ ﺣﺠﻢ ﻳﻜﻮن (2000
LONG RAW ﺑﻴﺎﻧﺎت ﺛﻨﺎﺋﻴﺔ ﻟﻠﻄﻮل اﻟﻤﺘﻨﻮع ﺣﺘﻰ gigabytes 2
BLOB ﺑﻴﺎﻧﺎت ﺛﻨﺎﺋﻴﺔ ﺣﺘﻰ gigabytes 4
BFLLE ﺗﺨﺰﻳﻦ اﻟﺒﻴﺎﻧﺎت اﻟﺜﻨﺎﺋﻴﺔ ﻓﻲ اﻟﻤﻠﻒ اﻟﺜﻨﺎﺋﻲ ﺣﺘﻰ 4
gigabytes
ROWID رﻗﻢ اﻟﻘﺎﻋﺪة 64ﺗﻤﺜﻞ اﻟﻨﻈﺎم واﻟﻌﻨﺎوﻳﻦ اﻟﻔﺮﻳﺪة
ﻟﻠﺼﻒ ﻓﻲ اﻟﺠﺪول
ﻣﻼﺣﻈﺎت
أوراآﻞ 9iﺗﻘﺪم أهﺪاف آﺒﻴﺮة ﻷﻧﻮاع اﻟﺒﻴﺎﻧﺎت ) Large Object ( LOB
وﻳﻤﻜﻦ أن ﺗﺨﺰن ﺑﻴﺎﻧﺎت آﺒﻴﺮة و ﻏﻴﺮ ﻣﻨﻈﻤﺔ ﻣﺜﻞ ﻧﺺ أو ﺻﻮرة أو
ﻓﻴﺪﻳﻮ و ﺗﺼﻞ ﻣﺴﺎﺣﺘﻬﺎ ﺣﺘﻰ . gigabytes 4
أﻧﻮاع ﺑﻴﺎﻧﺎت اﻟﺘﺎرﻳﺦ واﻟﻮﻗﺖ
ﻣﻦ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻧﺤﻦ ﻧﻨﺸﺊ ﺟﺪاول ﻣﻮﻇﻔﻴﻦ ﺟﺪد ﻣﻊ ﻋﻤﻮد ﺗﺎرﻳﺦ -
اﻟﺒﺪاﻳﺔ ﺑﺄﻧﻮاع ﺑﻴﺎﻧﺎت ﻣﻦ . TIMSTAMP
دﻗﺔ 7ﺗﺸﻴﺮ إﻟﻲ دﻗﺔ آﺴﺮ اﻟﺜﻮاﻧﻲ اﻟﺘﻲ ﻻ ﺗﺤﺪد اﻻﺧﺘﻴﺎر إﻟﻲ .600
أﻓﺘﺮض أن اﻟﺼﻨﻔﺎن ﻳﺪﺧﻼن ﺟﺪول اﻟﻤﻮﻇﻔﻴﻦ اﻟﺠﺪد . -
اﻟﻤﺨﺮﺟﺎت ﺗﺮﻳﻨﺎ اﻻﺧﺘﻼﻓﺎت ﻓﻲ اﻟﻌﺮض ) اﺧﺘﻴﺎرات ﻧﻮع ﺑﻴﺎن DATE
ﻳﻌﺮض اﻟﺼﻴﻐﺔ :( DD-MON-RR
وهﻲ ﻧﻔﺲ
ﻣﻠﺤﻮﻇﺔ :
اﻟﻜﺴﺮ واﻟﺜﻮاﻧﻲ واﻟﺪﻗﺎﺋﻖ ﺗﺤﺪﻳﺪات اﺧﺘﻴﺎرﻳﻪ اﻟﺮﻗﻢ ﻣﻦ 0إﻟﻲ 9ﻓﻲ ﺟﺰء
اﻟﻜﺴﺮ ﻣﻦ اﻟﺜﺎﻧﻴﺔ ﻟﺤﻘﻞ اﻟﺜﻮاﻧﻲ وﻳﻤﻜﻦ ﻟﻠﻘﻢ أن ﻳﻜﻮن ﺑﻴﻦ ﻣﺪي 0إﻟﻲ 9و
اﻻﺧﺘﻴﺎر ﻳﻜﻮن .6
ﻋﻠﻲ ﺧﻼف اﻟﻮﻗﺖ اﻟﻤﻌﺘﺎد ﻣﻊ اﻟﻤﻨﻄﻘﺔ اﻟﺰﻣﻨﻴﺔ ﻳﻤﻜﻨﻚ ﺗﺤﺪﻳﺪ أﻋﻤﺪة ﻣﻦ اﻟﻨﻮع
اﻟﻮﻗﺖ اﻟﻤﻌﺘﺎد ﻣﻊ اﻟﻤﻨﻄﻘﺔ اﻟﺰﻣﻨﻴﺔ اﻟﻤﺤﻠﻴﺔ آﺠﺰء أﺳﺎﺳﻲ أو ﻣﻔﺘﺎح ﻓﺮﻳﺪ .
إن اﺳﺘﺒﺪال اﻟﻤﻨﻄﻘﺔ اﻟﺰﻣﻨﻴﺔ ﻋﻠﻲ اﻟﺨﻼف ﻓﻲ اﻟﺴﺎﻋﺎت واﻟﺪﻗﺎﺋﻖ ﺑﻴﻦ
اﻟﺘﻮﻗﻴﺖ اﻟﻤﺤﻠﻲ و UTC
ﻟﻴﺲ هﻨﺎك ﺣﺮﻓﻲ ﻟﻠﻮﻗﺖ اﻟﻤﻌﺘﺎد ﻣﻊ ﻣﻨﻄﻘﺔ اﻟﺘﻮﻗﻴﺖ اﻟﻤﺤﻠﻲ .
ﻣﻠﺤﻮﻇﺔ :اﻟﻜﺴﺮ واﻟﺜﻮاﻧﻲ واﻟﺪﻗﺎﺋﻖ ﺗﺤﺪﻳﺪات اﺧﺘﻴﺎرﻳﻪ اﻟﺮﻗﻢ ﻣﻦ 0إﻟﻲ 9ﻓﻲ
ﺟﺰء اﻟﻜﺴﺮ ﻣﻦ اﻟﺜﺎﻧﻴﺔ ﻟﺤﻘﻞ اﻟﺜﻮاﻧﻲ وﻳﻤﻜﻦ ﻟﻠﻘﻢ أن ﻳﻜﻮن ﺑﻴﻦ ﻣﺪي 0إﻟﻲ 9
و اﻻﺧﺘﻴﺎر ﻳﻜﻮن .6
ﻣﺜﺎل:
اﻟﻮﻗﺖ اﻟﻤﻌﺘﺎد ﻣﻊ ﻣﻨﻄﻘﺔ اﻟﺘﻮﻗﻴﺖ اﻟﻤﺤﻠﻲ ﻣﻼﺋﻤﺔ ﻟﻠﺘﻄﺒﻴﻘﺎت اﻟﺼﻔﻴﻦ
اﻟﻤﺪرﺟﻴﻦ واﻟﺘﻲ ﺗﺮﻳﺪ أن ﺗﻌﺮض ﺗﻮارﻳﺦ وأوﻗﺎت ﻳﺴﺘﻌﻤﻼن ﻣﻨﻄﻘﺔ اﻟﺘﻮﻗﻴﺖ ﻣﻊ
ﻧﻈﺎم اﻟﻌﻤﻴﻞ .
ﻣﻦ اﻟﺼﻴﻐﺔ:
Year_precisionهﻲ اﻟﺮﻗﻢ اﻟﻤﻜﻮن ﻣﻦ 0إﻟﻲ 9ﻓﻲ اﻟﺴﻨﺔ ﺣﻘﻞ اﻟﺘﺎرﻳﺦ
واﻟﻮﻗﺖ.
ﻣﺜﺎل
ﻣﻦ اﻟﻨﺤﻮ
هﻲ ﻋﺪد ﻣﻦ اﻷرﻗﺎم اﻟﻴﻮم ﻟﺤﻘﻞ اﻟﺘﺎرﻳﺦ Day_precision
واﻟﻮﻗﺖ.
ﻗﻴﻢ ﻣﻘﺒﻮﻟﺔ ﺗﻜﻮن ﻣﻦ 0إﻟﻲ 9واﻻﺧﺘﻴﺎر
ﻳﻜﻮن .2
Fractional_seconds_precisionﻋﺪد ﻣﻦ اﻷرﻗﺎم ﻟﺠﺰء اﻟﻜﺴﺮ ﻣﻦ اﻟﺜﺎﻧﻴﺔ
ﻟﺤﻘﻞ
اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ
واﻟﻘﻴﻢ اﻟﻤﻘﺒﻮﻟﺔ ﻣﻦ 0إﻟﻲ 9واﻟﻤﺨﺘﺎر ﻣﻨﻬﺎ
ﻳﻜﻮن .6
ﻣﺜﺎل
Creating Tables
By using SubQuery
إﻧﺸﺎء ﺟﺪاول ﺑﺎﺳﺘﺨﺪام ﺻﻴﻐﺔ SubQuery
اﻣﺎ اذا اردﻧﺎ ﺗﻐﻴﺮ اﺳﻤﺎء ﺗﻠﻚ اﻻﻋﻤﺪة ﺑﺎﺳﻤﺎء اﺧﺮى ﻓﻴﻜﻮن ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ:
create table emp2
)(id,name,Career,MANAGER_ID,HIRE,SALARY,COMMATION,DEPTID
;AS SELECT * FROM EMP
وﻟﻨﺘﺄآﺪ ﻣﻦ ذﻟﻚ:
;Select * from emp2
إﻧﺸﺎء ﺟﺪول ﺑﺎﺳﺘﺨﺪام اﻻﺳﺘﻌﻼم اﻟﻔﺮﻋﻲ
ﻓﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺗﻢ اﻧﺸﺎء ﺟﺪول ﻣﻜﻮن ﻣﻦ أرﺑﻌﺔ أﻋﻤﺪة وﺗﺤﺘﻮى ﻓﻘﻂ ﻋﻠﻰ
ﺑﻴﺎﻧﺎت اﻟﻤﻮﻇﻔﻴﻦ ﻓﻰ اﻟﻘﺴﻢ رﻗﻢ . 80
Modifying a Column
ﻳﻤﻜﻨﻚ ﺗﻐﻴﺮ أﻧﻮاع ﺑﻴﺎﻧﺎت اﻷﻋﻤﺪة ﺑﺎﻟﺠﺪول وﻟﻜﻦ ﻻﺑﺪ ان ﻳﻜﻮن ﺗﻠﻚ •
اﻟﻌﻤﻮد ﻟﻴﺲ ﺑﺔ ﺑﻴﺎﻧﺎت.وﺳﻮف ﻧﻘﻮم ﺑﺘﻐﻴﺮ اﻟﻌﻤﻮد اﻟﺬى ﺗﻢ اﺿﺎﻓﺘﺔ ﻓﻰ
اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ اﻟﻰ ﻧﻮع ﺑﻴﺎﻧﺎت ﻣﻦ ﻧﻮع أرﻗﺎم.
اذا اردت زﻳﺎدة او ﺗﻘﻠﻴﻞ ﺳﻌﺔ ﻋﻤﻮد وﻟﻜﻦ ﺑﻨﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت هﻨﺎ •
ﻻﻳﺸﺘﺮط ان ﻳﻜﻮن ﺗﻠﻚ اﻟﻌﻤﻮد ﻓﺎرغ.
ﺑﻤﻌﻨﻰ اذا اردﻧﺎ زﻳﺎدة اﻟﻌﻤﻮد اﻟﺬى ﻗﻤﻨﺎ ﺑﺘﻐﻴﺮة ﻓﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ اﻟﻰ
اﻣﻜﺎﻧﻴﺔ اﺣﺘﻮاﺋﺔ ﻋﻠﻰ 5ﺧﺎﻧﺎت ﺑﺪﻻ ﻣﻦ 3ﺧﺎﻧﺎت.
Alter table dept
;)Modify job_id number(5
Dropping a Column
ﺗــﺴﺘﺨﺪم SET UNUSEDﻟﻜــﻰ ﺗــﺸﻴﺮ إﻟــﻲ ﻋﻤــﻮد أو اآﺜــﺮ ﻣــﻦ ﻋﻤــﻮد ﻏﻴــﺮ
ﻣﺴﺘﻌﻤﻞ .وﻟﻜﻦ ﻳﺘﻢ ﺣﺬﻓﻬﻢ ﻋﻨﺪﻣﺎ ﻳﻘﻞ اﺳﺘﺨﺪام ﺗﻠـﻚ اﻻﻋﻤـﺪة.ﺣﻴـﺚ ﻻﻳﻤﻜـﻦ
ازاﻟﺔ اى ﻋﻤﻮد ﻣﻦ اﻟﺠﺪول وﻓﻰ ﻧﻔﺲ اﻟﻮﻗﺖ ﻣـﺴﺘﺨﺪم اﺧـﺮ ﻳﻘـﻮم ﺑﺎﺳـﺘﺨﺪام
هﺬا اﻟﻌﻤﻮد.
وهﺬﻩ اﻟﻤﻴﺰة ﻣﺘﻮﻓﺮة ﻓﻲ اوراآﻞ 8iوﻣﺎ ﺑﻌﺪهﺎ ﻣﻦ إﺻﺪارات.
ﻣﻌﻠﻮﻣﺎت SET UNUSEDﺗﺨﺰن ﻓﻲ ﺟﺪول . USER_UNUSED_COL_TABS
Truncating a Table
ﻳﺴﺘﺨﺪم هﺬا اﻻﻣﺮ اﻟﻰ ازاﻟﺔ آﺎﻓـﺔ اﻟﺒﻴﺎﻧـﺎت ﻣـﻦ اﻟﺠـﺪول وﻟﻜـﻦ ﺑـﺪون اﻟﺤﺎﺟـﺔ
. ﻣﻌﻬﺎRollback وﻻﻳﻤﻜﻦ اﺳﺘﺨﺪام اﻻﻣﺮCommit اﻟﻰ
:ﻣﺜﺎل
Truncate table EMP;
Table truncated
• ALL_COL_COMMENTS
• USER_COL_COMMENTS
• ALL_TAB_COMMENTS
• USER_TAB_COMMENTS
: Comment اﻟﺸﻜﻞ اﻟﺮﺋﻴﺴﻰ ﻟﺠﻤﻠﺔ