0% found this document useful (0 votes)
99 views9 pages

13 Privllages

The document discusses controlling user access in a database. It covers creating users and roles, granting and revoking privileges using the GRANT and REVOKE commands, and creating database links. It then describes how to create a new user using the CREATE USER command and specifying a password. Typical privileges that can be granted to users are also listed.

Uploaded by

mohamed kamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views9 pages

13 Privllages

The document discusses controlling user access in a database. It covers creating users and roles, granting and revoking privileges using the GRANT and REVOKE commands, and creating database links. It then describes how to create a new user using the CREATE USER command and specifying a password. Typical privileges that can be granted to users are also listed.

Uploaded by

mohamed kamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻋﺸﺮ‬

‫‪Controlling User Access‬‬


‫اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‬
‫اﻻهﺪاف‪:‬‬

‫إﻧﺸﺎء ﻣﺴﺘﺨﺪﻣﻴﻦ)‪. (Users‬‬ ‫•‬


‫إﻧﺸﺎء ‪ Roll‬ﺑﻤﻌﻨﻰ اﻧﺸﺎء ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺼﻼﺣﻴﺎت‪.‬‬ ‫•‬
‫اﺳﺘﺨﺪام اﻷﻣﺮ ‪ GRANT‬آﻲ ﺗﻤﻨﺢ ﺑﻌﺾ اﻟﺼﻼﺣﻴﺎت )‪(Privileges‬و اﻷﻣﺮ‬ ‫•‬
‫‪ REVOKE‬آﻰ ﻳﺘﻢ ﺳﺤﺐ ﺑﻌﺾ اﻟﺼﻼﺣﻴﺎت ﻣﻦ ﻣﺴﺘﺨﺪم ﻣﻌﻴﻦ‪.‬‬
‫إﻧﺸﺎء رواﺑﻂ ﻟﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬ ‫•‬

‫اﻟﺘﺤﻜﻢ ﻓﻲ ﻣﻌﺎﻣﻼت اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‬

‫إﻧﺸﺎء ﻣﺴﺘﺨﺪم )‪: (User‬‬


‫ﻗﺒﻞ اﻟﺒﺪء ﻓﻲ إﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ ﻳﺠﺐ أوﻻ اﻟﺪﺧﻮل ﻋﻠﻲ ﻣﺴﺘﺨﺪم ﻳﻜﻮن ﻟﺔ‬
‫ﺻﻼﺣﻴﺔ إﻧﺸﺎء ﻣﺴﺘﺨﺪم ‪.‬واﻟﻤﺴﺘﺨﺪم اﻟﺬى ﻟﺔ ﺻﻼﺣﻴﺔ هﻮ )‪. (DBA‬‬
‫وﻹﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ ﺳﻮف ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ CREAT_USER‬ﺛﻢ أﺳﻢ اﻟﻤﺴﺘﺨﺪم‬
‫اﻟﻤﺮاد إﻧﺸﺎؤﻩ ﻣﺜﻼ ‪ ، SCOTT‬وﻳﺄﺗﻲ ﺑﻌﺪ ذﻟﻚ ﻓﻘﺮة ‪ IDENTIFIED BY‬واﻟﺘﻲ ﺗﺴﺘﺨﺪم‬
‫ﻓﻲ ﺗﺤﺪﻳﺪ آﻠﻤﺔ اﻟﺴﺮ ﻟﻬﺬا اﻟﻤﺴﺘﺨﺪم ﺛﻢ آﻠﻤﺔ اﻟﺴﺮ اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺘﺨﺪم اﻟﺠﺪﻳﺪ‬
‫)ﻣﺜﻼ ‪.( TIGER‬‬

‫‪Database Security‬‬
‫‪:System Security .1‬‬
‫ﻳﻐﻄﻲ اﻟﻮﺻﻮل واﻻﺳﺘﺨﺪام ﻟﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪ ،‬ﻣﺜﻞ اﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺮﻗﻢ‬
‫اﻟﺴﺮي ‪.‬‬
‫‪: Data Security .2‬‬
‫هﻰ اﻟﺘﻰ ﻳﺘﻢ ﻓﻴﻬﺎ ﺗﺤﺪﻳﺪ اﻟﺼﻼﺣﻴﺎت ﻻﺳﺘﺨﺪام اﻟﺒﻴﺎﻧﺎت ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬

‫هﻨﺎك اآﺜﺮ ﻣﻦ ‪ 100‬ﺻﻼﺣﻴﺔ )‪. (Privilege‬‬ ‫•‬


‫ﻣﺪﻳﺮ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻳﻜﻮن ﻟﺔ اﻋﻠﻰ ﻣﺴﺘﻮى ﻓﻰ اﻋﻄﺎء اﻟﺼﻼﺣﻴﺎت‬ ‫•‬
‫ﻟﻠﻤﺴﺘﺨﺪم )‪ (User‬ﻣﺜﻞ‪:‬‬
‫‪Removing Users‬‬ ‫‪Creating a New User‬‬
‫‪Backing up tables‬‬ ‫‪Removing Tables‬‬
‫‪Typical DBA Privilege‬‬
‫ﺑﻌﺾ ﺻﻼﺣﻴﺎت ‪DBA‬‬

‫‪System Privilege‬‬ ‫‪Operations‬‬


‫‪CREAT USER‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ إﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ‪.‬‬
‫‪DROP USER‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ ﺣﺬف ﻣﺴﺘﺨﺪم‪.‬‬
‫‪DROP ANY TABLE‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ ﺣﺬف اى ﺟﺪول ﻓﻲ ‪Schema‬‬
‫اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺘﺨﺪم‪.‬‬
‫‪BACKUP ANY TABLE‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ ﻋﻤﻞ ‪ Backup‬ﻵى ﺟﺪول ﻓﻰ‬
‫‪.Schema‬‬
‫‪SELECT ANY TABLE‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻻﺳﺘﻌﻼم ﻋﻦ ‪ Tables‬او ‪.View‬‬
‫‪CREATE ANY TABLE‬‬ ‫ﻳﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ إﻧﺸﺎء ﺟﺪاول‪.‬‬

‫إﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ‬

‫ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﺳﺘﺨﺪام اﻷﻣﺮ ‪CREATE USER‬‬

‫ﻓﻔﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺗﻢ اﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ ﺑﺎﺳﻢ ‪ Scott‬واﻟﺮﻗﻢ اﻟﺴﺮى‬


‫اﻟﺨﺎص ﺑﺔ ‪. Tiger‬‬

‫)‪ (DBA‬هﻮ اﻟﻮﺣﻴﺪ اﻟﺬى ﻟﺔ اﻟﺤﻖ ﻓﻰ اﻧﺸﺎء ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ‪،‬وﺑﻌﺪ اﻧﺸﺎءة ﻟﻠﻤﺴﺘﺨﺪم‬
‫اﻟﺠﺪﻳﺪ ﻳﻘﻮم ﺑﺎﻋﻄﺎءة اﻟﺼﻼﺣﻴﺎت اﻟﻤﻨﺎﺳﺒﺔ ﻟﺔ ﺣﺴﺐ ﻃﺒﻴﻌﺔ ﻋﻤﻠﺔ‪.‬وﺑﻬﺬة اﻟﺼﻼﺣﻴﺎت‬
‫ﻳﺘﻤﻜﻦ اﻟﻤﺴﺘﺨﺪم ﻣﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬

‫ﻳﻘﻮم )‪ (DBA‬ﺑﺎﻋﻄﺎء اﻟﺼﻼﺣﻴﺎت اﻻزﻣﺔ ﻟﻜﻞ ﻣﺴﺘﺨﺪم)‪(User‬‬


‫وﻣﻦ هﺬة اﻟﺼﻼﺣﻴﺎت‪:‬‬
‫‪-‬‬ ‫‪Create Session.‬‬
‫‪-‬‬ ‫‪Create Table.‬‬
‫‪-‬‬ ‫‪Create Sequence.‬‬
‫‪-‬‬ ‫‪Create View.‬‬
‫‪-‬‬ ‫‪Create Procedure.‬‬
‫‪System Privilege‬‬ ‫‪Operations‬‬
‫‪CREATE SESSION‬‬ ‫ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻻﺗﺼﺎل)‪(Connect‬‬
‫ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬
‫‪CREATE TABLE‬‬ ‫ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻧﺸﺎء ﺟﺪول‪.‬‬
‫‪CREATE SEQUENCE‬‬ ‫ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻧﺸﺎء ‪. Sequence‬‬
‫‪CREATE VIEW‬‬ ‫ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻧﺸﺎء ‪.View‬‬
‫‪CREATE PROCEDURE‬‬ ‫ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ اﻧﺸﺎء ‪.Procedure‬‬
‫اﻟﺼﻴﻐﺔ اﻻﺳﺎﺳﻴﺔ ﻟﺠﻤﻠﺔ ‪: Grant‬‬

‫ﻳﺘﻢ اﻟﺒﺪء ﺑﻔﻘﺮة ‪ grant Privilege‬ﺛﻢ ﻧﻮع اﻟﺼﻼﺣﻴﺔ) ‪ ( Privilege‬ﺛﻢ ﻓﻘﺮة ‪To User‬‬
‫ﺛﻢ اﺳﻢ اﻟﻤﺴﺘﺨﺪم)‪ (User‬او ) ‪ ( Role‬اﻟﺬى ﻳﻌﺒﺮ ﻋﻦ ﻣﻜﺎن ﺑﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬
‫اﻟﺼﻼﺣﻴﺎت او )‪ (Public‬وﺗﻌﺒﺮ ﻋﻦ اﻋﻄﺎء اﻟﺼﻼﺣﻴﺎت اﻟﻰ آﻞ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎم ﺑﻤﻨﺢ اﻟﺼﻼﺣﻴﺎت اﻟﺴﺎﺑﻘﺔ ﻟﻠﻤﺴﺘﺨﺪم ‪. SCOTT‬‬


‫وﺑﺬﻟﻚ اﺻﺒﺢ اﻟﻤﺴﺘﺨﺪم ‪ SCOTT‬ﻟﺔ ﺻﻼﺣﻴﺔ اﻻﺗﺼﺎل)‪ (Connect‬ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬
‫واﻧﺸﺎء ﺟﺪاول و ‪ Sequence‬و ‪. View‬‬

‫*ﺗﻌﺮﻳﻒ ‪: ROLE‬‬
‫هﻰ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺼﻼﺣﻴﺎت)‪ (Privileges‬اﻟﺘﻰ ﻳﻤﻜﻦ‬
‫ﻣﻨﺤﻬﺎ اﻟﻰ اﻟﻤﺴﺘﺨﺪم‪.‬وﻳﺘﻢ اﺳﺘﺨﺪام ‪ ROLL‬ﻟﺘﺴﻬﻴﻞ ﻋﻤﻠﻴﺔ ﻣﻨﺢ‬
‫اﻟﺼﻼﺣﻴﺎت )‪. (Privileges‬‬

‫*ﻓﻜﺮة ‪: ROLE‬‬
‫اﻟﻬﺪف ﻣﻦ اﻟﺮﺳﻢ اﻟﺴﺎﺑﻖ اﻋﻄﺎء ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺼﻼﺣﻴﺎت ﻟﺒﻌﺾ‬
‫اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪.‬ﻻﺣﻆ ان آﻼ ﻣﻦ اﻟﺮﺳﻤﺘﻴﻦ ﻳﺤﻘﻘﻮا ﻧﻔﺲ اﻟﻬﺪف وﻟﻜﻦ‬
‫ﺑﺎﺳﺘﺨﺪام ‪ ROLL‬ﺗﻜﻮن اﻟﻌﻤﻠﻴﺔ اﺳﻬﻞ وأوﺿﺢ‪.‬‬
‫ﻳﻤﻜﻨﻚ اﻋﺘﺒﺎر ‪ Roll‬ﻣﺜﻼ ﻣﺴﺘﺨﺪم ﻳﺘﻢ اﻋﻄﺎءة ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬
‫اﻟﺼﻼﺣﻴﺎت‬
‫وﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻋﻄﺎء ﺗﻠﻚ ‪ ROLL‬اﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬
‫اﻟﺼﻼﺣﻴﺎت اﻟﻰ اى ﻣﺴﺘﺨﺪم‪.‬‬
‫ﻓﻔﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﻤﻨﺎ ﺑﺎﻧﺸﺎء ‪ ROLL‬واﻋﻄﺎﺋﻬﺎ اﺳﻢ ‪. manager‬‬

‫ﺑﻌﺪ ان ﻗﻤﻨﺎ ﺑﺎﻧﺸﺎء ‪ ROLL‬ﻧﻘﻮم ﺑﺎﻋﻄﺎء اﻟﺼﻼﺣﻴﺎت ﻟﺔ ﻋﻦ ﻃﺮﻳﻖ اﻻﻣﺮ ‪. Grant‬‬

‫ﺑﻌﺪ ان ﻗﻤﻨﺎ ﺑﺎﻧﺸﺎء ‪ ROLL‬واﻋﻄﺎءة اﻟﺼﻼﺣﻴﺎت اﻟﻤﻨﺎﺳﻴﺔ ﻟﺔ ﻧﻘﻮم ﺑﺎﻋﻄﺎء ﺗﻠﻚ ‪ROLL‬‬
‫اﻟﻰ اﻟﻤﺴﺘﺨﺪم‪ ،‬وﺗﻢ اﻋﻄﺎء ‪ ROLL‬اﻟﻰ آﻼ ﻣﻦ ‪ DEHAAN‬و ‪. KOCHHAR‬‬

‫ﻳﻘﻮم )‪ (DBA‬ﺑﺎﻧﺸﺎء ﻣﺴﺘﺨﺪم وﺗﺤﺪﻳﺪ رﻗﻢ ﺳﺮى ﻟﺔ‪.‬‬ ‫‪-‬‬


‫ﺑﻌﺪ ذﻟﻚ ﻳﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪم ﺗﻐﻴﺮ اﻟﺮﻗﻢ اﻟﺴﺮى ﻟﺔ ﺑﺎﺳﺘﺨﺪام اﻻﻣﺮ ‪. Alter User‬‬ ‫‪-‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﻓﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎم اﻟﻤﺴﺘﺨﺪم ‪ Scott‬ﺑﺘﻐﻴﺮ اﻟﺮﻗﻢ اﻟﺴﺮى ﻟﺔ اﻟﻰ ‪. Lion‬‬

‫اﻟﺼﻴﻐﺔ اﻻﺳﺎﺳﻴﺔ ﻟﺘﻐﻴﺮ اﻟﺮﻗﻢ اﻟﺴﺮى‪:‬‬

‫‪ :User‬هﻮ أﺳﻢ اﻟﻤﺴﺘﺨﺪم‪.‬‬


‫‪ :Password‬اﻟﺮﻗﻢ اﻟﺴﺮي اﻟﺠﺪﻳﺪ‪.‬‬

‫‪Object Privilege‬‬

‫‪Object‬‬ ‫‪Table‬‬ ‫‪View‬‬ ‫‪Sequence‬‬ ‫‪Procedure‬‬


‫‪Privilege‬‬
‫‪ALTER‬‬
‫‪DELETE‬‬
‫‪EXECUTE‬‬
‫‪INDEX‬‬
‫‪INSERT‬‬
‫‪REFRENCES‬‬
‫‪SELECT‬‬
‫‪UPDATE‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪ TABLE‬و ‪. Sequence‬‬ ‫‪Alter‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪ TABLE‬و ‪. VIEW‬‬ ‫‪Delete‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪. Procedure‬‬ ‫‪Execute‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﺔ ﻣﻊ ‪. Table‬‬ ‫‪Index‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﺔ ﻣﻊ ‪ Table‬و ‪. View‬‬ ‫‪Insert‬‬
‫‪ References‬ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪Table‬و ‪. View‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪ Table‬و ‪ View‬و ‪. Sequence‬‬ ‫‪Select‬‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ ‪ Table‬و ‪. View‬‬ ‫‪:Update‬‬

‫ﻳﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪم ان ﻳﻌﻄﻰ ﺑﻌﺾ اﻟﺼﻼﺣﻴﺎت اﻟﻰ ﻣﺴﺘﺨﺪم اﺧﺮ ﺑﺸﺮط ان ﻳﻜﻮن‬
‫هﻮ ﺻﺎﺣﺐ ‪. Schema‬‬
‫اﻟﺼﻴﻐﺔ اﻟﺮﺋﻴﺴﻴﺔ ‪: Object Privilege‬‬

‫ﻟﺘﺤﺪﻳﺪ اﻟﺼﻼﺣﻴﺎت‪.‬‬ ‫‪Object_priv‬‬


‫ﺗﻌﻨﻰ اﻋﻄﺎء آﻞ اﻟﺼﻼﺣﻴﺎت‪.‬‬ ‫‪All‬‬
‫ﺗﺤﺪﻳﺪ اﻻﻋﻤﺪة ﻓﻰ ‪ Table‬او ‪ View‬اﻟﺨﺎﺻﺔ ﺑﺎﻟﺼﻼﺣﻴﺎت‪.‬‬ ‫‪Columns‬‬
‫ﻟﺘﺤﺪﻳﺪ ‪. Object‬‬ ‫‪On object‬‬
‫ﻟﺘﺤﺪﻳﺪ ‪ User‬او ‪ Roll‬او ‪ Public‬اﻟﺘﻰ ﺗﻌﻨﻰ ﻣﻨﺢ اﻟﺼﻼﺣﻴﺎت‬ ‫‪To‬‬
‫اﻟﻰ آﻞ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪.‬‬
‫‪ With grant option‬ﺗﺴﺘﺨﺪم ﻟﻜﻰ ﻳﺴﺘﻄﻴﻊ اﻟﻤﺴﺘﺨﺪم اﻟﻤﻤﻨﻮح اﻟﺼﻼﺣﻴﺔ ﻣﻨﺢ‬
‫اﻟﺼﻼﺣﻴﺎت اﻟﻤﻤﻨﻮﺣﺔ ﻟﺔ اﻟﻰ ﻣﺴﺘﺨﺪم اﺧﺮ‪.‬‬

‫ﻣﺜﺎل‪:‬‬

‫ﻓﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎم اﻟﻤﺴﺘﺨﺪم ) ‪ ( HR‬ﺑﻤﻨﺢ ﺻﻼﺣﻴﺔ ‪ Select‬اﻟﻰ‬


‫اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ‪ Sue‬و ‪ Rich‬ﻋﻠﻰ ﺟﺪول اﻟﻤﻮﻇﻔﻴﻦ )اى اﻣﻜﺎﻧﻴﺔ اﻻﺳﺘﻌﻼم‬
‫ﻋﻦ ﺟﺪول اﻟﻤﻮﻇﻔﻴﻦ(‪.‬‬

‫وﻟﻜﻰ ﻳﺘﻤﻜﻦ آﻼ ﻣﻦ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ‪ Sue‬و ‪ Rich‬اﻻﺳﺘﻌﻼم ﻋﻦ ﺟﺪول‬


‫‪Employees‬‬
‫اﻟﺨﺎص ﺑﺎﻟﻤﺴﺘﺨﺪم ) ‪ ( HR‬ﻻﺑﺪ ﻣﻦ آﺘﺎﺑﺔ اﺳﻢ ﻣﺎﻟﻚ اﻟﺠﺪول ﺛﻢ اﺳﻢ اﻟﺠﺪول‬
‫وﺑﻴﻨﻬﻢ ﻧﻘﻄﺔ آﻤﺎ ﻓﻰ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻰ‪:‬‬
‫ﻓﻠﻨﻔﺘﺮض ان اﻟﻤﺴﺘﺨﺪم ‪ Rich‬ﻳﺮﻳﺪ اﻻﺳﺘﻌﻼم ﻋﻦ ﺟﺪول اﻟﻤﻮﻇﻔﻴﻦ اﻟﺨﺎص‬
‫ﺑﺎﻟﻤﺴﺘﺨﺪم ‪: HR‬‬
‫;‪Select * from HR.Employees‬‬
‫ﻣﺜﺎل اﺧﺮ‪:‬‬

‫ﻓﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎم اﻟﻤﺴﺘﺨﺪم )‪ ( HR‬ﺑﻤﻨﺢ ﺻﻼﺣﻴﺔ ‪ Update‬ﻓﻰ‬


‫اﻟﻌﻤﻮدﻳﻦ )‪ (Department_id,Location_id‬اﻟﻰ اﻟﻤﺴﺘﺨﺪم ‪SCOTT‬‬
‫و )‪ Roll‬اﻟﺴﺎﺑﻖ اﻧﺸﺎءهﺎ ﺑﺎﺳﻢ ‪.( Manager‬‬

‫ﺗﺴﺘﺨﺪم ﻓﻘﺮة ‪ With GRANT Option‬ﻟﻠﺴﻤﺎح ﻟﻠﻤﺴﺘﺨﺪم ﺑﻤﻨﺢ اﻟﺼﻼﺣﻴﺎت‬


‫اﻟﺨﺎﺻﺔ ﺑﺔ اﻟﻰ ﻣﺴﺘﺨﺪﻣﻴﻦ اﺧﺮﻳﻦ‪.‬‬
‫ﻣﺜﺎل‪:‬‬

‫اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺎم اﻟﻤﺴﺘﺨﺪم ‪ HR‬ﺑﻤﻨﺢ ﺻﻼﺣﻴﺎت ‪ Select‬و‪ Insert‬اﻟﻰ ‪SCOTT‬‬


‫ﻣﻊ اﻣﻜﺎﻧﻴﺔ ﻗﻴﺎم اﻟﻤﺴﺘﺨﺪم ‪ SCOTT‬ﺑﻤﻨﺢ ﺗﻠﻚ اﻟﺼﻼﺣﻴﺎت اﻟﻰ اى ﻣﺴﺘﺨﺪم اﺧﺮ‬
‫ذﻟﻚ ﻻﻧﺔ اﺳﺘﺨﺪم ﻓﻘﺮة ‪.With Check Option‬‬

‫‪Using Public Keyword‬‬

‫ﺗﺴﺘﺨﺪم آﻠﻤﺔ ‪ Public‬ﻟﺘﻌﺒﺮ ﻋﻦ آﻞ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬


‫ﻣﺜﺎل‪:‬‬

‫ﻳﻘﻮم اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﺎﻋﻄﺎء ﺻﻼﺣﻴﺔ اﻻﺳﺘﻌﻼم )‪ (Select‬ﻋﻠﻰ ﺟﺪول اﻻﻗﺴﺎم‬


‫اﻟﺨﺎص ﺑﺎﻟﻤﺴﺘﺨﺪم ‪ Alice‬اﻟﻰ آﻞ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻻﺧﺮﻳﻦ‪.‬‬

‫ﺳﺤﺐ اﻟﺼﻼﺣﻴﺎت‬

‫ﻟﺴﺤﺐ اﻟﺼﻼﺣﻴﺎت ﻣﻦ اﻟﻤﺴﺘﺨﺪم ﻳﺴﺘﺨﺪم اﻻﻣﺮ ‪. Revoke‬‬


‫اذا ﻗﻤﺖ ﺑﻤﻨﺢ ﻣﺴﺘﺨﺪم ﺻﻼﺣﻴﺔ ﺑﺎﺳﺘﺨﺪام ﻓﻘﺮة ‪ With Grant Option‬واردت ﺑﻌﺪ‬
‫ذﻟﻚ ﺳﺤﺐ ﺗﻠﻚ اﻟﺼﻼﺣﻴﺔ ﻣﻨﺔ او ﻣﻦ اى ﻣﺴﺘﺨﺪم اﺧﺬ ﺗﻠﻚ اﻟﺼﻼﺣﻴﺔ ﻣﻦ اﻟﻤﺴﺘﺨﺪم‬
‫اﻻول ﻳﺘﻢ اﺿﺎﻓﺔ ﻓﻘﺮة ‪. Cascade Constraint‬‬

‫اﻟﺼﻴﻐﺔ اﻻﺳﺎﺳﻴﺔ ﻟﺠﻤﻠﺔ ‪: Revoke‬‬

‫ﻣﺜﺎل‪:‬‬

‫اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺗﻢ ﺳﺤﺐ آﻼ ﻣﻦ ‪ Select‬و ‪ Insert‬ﻣﻦ ﻋﻠﻰ ﺟﺪول اﻻﻗﺴﺎم ﻣﻦ‬


‫اﻟﻤﺴﺘﺨﺪم ‪. SCOTT‬‬

‫ارﺗﺒﺎط ﻗﺎﻋﺪة اﻟﺒﻴﻨﺎت ﺗﺴﻤﺢ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻤﺤﻠﻴﻴﻦ ﻟﻠﻮﺻﻮل إﻟﻲ ﺑﻴﻨﺎت ﻋﻠﻲ‬
‫ﻗﺎﻋﺪة ﺑﻴﺎﻧﺎت اﺧﺮى‪.‬‬

‫• وﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬


‫هﻲ ﻣﺆﺷﺮ آﻲ ﻳﺤﺪد ﻃﺮق اﻻﺗﺼﺎل ﻣﻦ ﺧﺎدم ﻗﺎﻋﺪة ﺑﻴﺎﻧﺎت أوراآﻞ إﻟﻲ ﺧﺎدم‬
‫ﻗﺎﻋﺪة ﺑﻴﺎﻧﺎت ﺁﺧﺮ‪.‬‬
‫إن ﻣﺆﺷﺮ اﻟﻮﺻﻠﺔ ﻳﻌﺮف ﻓﻲ اﻟﺤﻘﻴﻘﻴﺔ آﺎﻟﺪﺧﻮل ﻓﻲ ﺟﺪول ﻗﺎﻣﻮس اﻟﺒﻴﺎﻧﺎت‪.‬‬
‫آﻲ ﺗﺪﺧﻞ اﻟﻮﺻﻠﺔ ﻳﺠﺐ أن ﺗﻜﻮن ﻣﺘﺼﻞ ﺑﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻟﻤﺤﻠﻴﺔ اﻟﺘﻲ ﺗﺤﺘﻮي‬
‫ﻋﻠﻲ ﻗﺎﻣﻮس اﻟﺒﻴﺎﻧﺎت اﻟﻤﺪﺧﻞ‪.‬‬
‫ارﺗﺒﺎط وﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻳﻜﻮن اﺗﺠﺎﻩ واﺣﺪ ﻓﻲ اﻹﺣﺴﺎس اﻟﺬي ﻳﻜﻮن ﻣﺘﺼﻞ‬
‫ﺑﺎﻟﻌﻤﻴﻞ إﻟﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪ A‬وﻳﻤﻜﻦ أن ﻳﺴﺘﺨﺪم اﻟﺮﺑﻄﺔ اﻟﻤﺨﺰﻧﺔ ﻓﻲ ﻗﺎﻋﺪة‬
‫اﻟﺒﻴﺎﻧﺎت ‪ A‬آﻲ ﻳﻤﺮر اﻟﻤﻌﻠﻮﻣﺎت وﻳﺘﺤﻜﻢ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ‬
‫‪ ، B‬وﻟﻜﻦ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﺗﺼﻠﻮا ﺑﺎﻟﻘﺎﻋﺪة اﻟﺒﻴﻨﺎت ‪ B‬ﺣﻴﺚ ﻻ ﺗﺴﺘﻄﻴﻊ‬
‫اﺳﺘﺨﺪام ﻧﻔﺲ اﻟﺮﺑﻄﺔ آﻲ ﺗﺪﺧﻞ اﻟﺒﻴﺎﻧﺎت ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪. A‬‬
‫إذا اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻤﺤﻠﻴﻴﻦ ﻋﻠﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪ B‬ﻳﺮﻳﺪون دﺧﻮل اﻟﺒﻴﺎﻧﺎت ﻋﻠﻲ‬
‫ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪ ، A‬هﻢ ﻳﺠﺐ أن ﻳﺤﺪدوا اﻟﺮﺑﻄﺔ اﻟﺘﻲ ﺧﺰﻧﺖ ﻓﻲ ﻗﺎﻣﻮس اﻟﺒﻴﺎﻧﺎت‬
‫ﻟﻠﻘﺎﻋﺪة ‪. B‬‬
‫وﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪ A‬ﻣﺘﺼﻠﺔ آﻲ ﺗﻌﻄﻲ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻤﺤﻠﻴﻦ اﻟﺪﺧﻮل إﻟﻲ‬
‫ﺑﻴﺎﻧﺎت آﻲ ﻳﺘﺤﻜﻤﻮا ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت وذﻟﻚ ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ ‪ ،‬ﻟﻬﺬا اﻻرﺗﺒﺎط آﻲ‬
‫ﻳﺤﺪث ‪ ،‬وآﻞ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ﻓﻲ اﻟﻨﻈﺎم اﻟﻤﻮزع ﻳﺠﺐ أن ﺗﻜﻮن ﻋﻨﺪهﺎ اﺳﻢ ﻗﺎﻋﺪة‬
‫ﺑﻴﺎﻧﺎت اﻟﻌﺎﻟﻤﻲ اﻟﻔﺮﻳﺪ‪.‬‬
‫أﺳﻢ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت اﻟﻌﺎﻟﻤﻲ اﻟﻔﺮﻳﺪ ﻳﺤﺪد ﺧﺎدم اﻟﺒﻴﺎﻧﺎت ﻓﻲ اﻟﻨﻈﺎم اﻟﻤﻮزع‪.‬‬
‫اﻟﻔﺎﺋﺪة اﻟﻌﻈﻴﻤﺔ ﻟﺮواﺑﻂ ﻗﺎﻋﺪة اﻟﺒﻴﻨﺎت ﻓﻬﻲ ﺗﺴﻤﺢ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﻟﻠﺪﺧﻮل إﻟﻲ‬
‫أهﺪاف اﻟﻤﺴﺘﺨﺪﻣﻴﻦ آﻲ ﻳﺘﺤﻜﻤﻮا ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ ﻟﺬا هﻢ‬
‫ﻳﺤﺪدون ﺑﻤﺠﻤﻮﻋﺔ اﻻﻣﺘﻴﺎزات ﻣﻦ ‪ ،‬ﻣﺎﻟﻚ اﻷهﺪاف‪.‬‬
‫ﺑﻜﻠﻤﺎت أﺧﺮى ‪ ،‬اﻟﻤﺴﺘﺨﺪم اﻟﻤﺤﻠﻲ ﻳﻤﻜﻦ اﻟﺪﺧﻮل واﻟﺘﺤﻜﻢ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬
‫ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ ﺑﺪون ﻟﻠﻤﺴﺘﺨﺪم اﻟﺬي ﻳﻜﻮن ﻟﺪﻳﺔ اﻟﻘﺪرة ﻋﻠﻲ اﻟﺘﺤﻜﻢ ﻓﻲ ﻗﺎﻋﺪة‬
‫اﻟﺒﻴﺎﻧﺎت ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ‪.‬‬
‫اﻟﻤﺜﺎل ﻳﻮﺿﺢ ﻟﻠﻤﺴﺘﺨﺪم ‪ SCOTT‬ﺑﺪﺧﻮﻟﻪ ﻟﺠﺪول ‪ EMP‬ﻋﻠﻲ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﻓﻲ‬
‫اﻟﺘﺤﻜﻢ ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ ﻣﻊ اﻻﺳﻢ اﻟﻌﺎﻟﻤﻲ ‪NQ.ACME.COM.‬‬
‫ﻣﻠﺤﻮﻇﺔ ﻧﻤﻮذﺟﻴﺎ ‪ DBA ،‬ﻳﻜﻮن اﻟﻤﺴﺌﻮل ﻋﻦ اﻹﻧﺸﺎء ﺑﻮﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪.‬‬
‫ﻣﻨﻈﺮ اﻟﻘﺎﻣﻮس ‪USER_DB_LINKS‬‬
‫ﻣﺤﺘﻮﻳﺎت اﻟﻤﻌﻠﻮﻣﺎت ﻋﻠﻲ اﻟﻮﺻﻼت ﻟﻠﻤﺴﺘﺨﺪم اﻟﺬي ﻳﻜﻮن ﻋﻨﺪﻩ اﻟﻮﺻﻮل‪.‬‬

‫رواﺑﻂ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬

‫إﻧﺸﺎء وﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‬ ‫•‬

‫إﻧﺸﺎء أواﻣﺮ ‪ SQL‬اﻟﺘﻲ ﺗﺴﺘﺨﺪم آﻮﺻﻠﺔ ﻟﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت‪.‬‬ ‫•‬

‫اﻟﻤﺜﺎل ﻳﻌﺮض إﻧﺸﺎءات وﺻﻠﺔ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ‪.‬‬


‫اﻟﻔﻘﺮة ‪ USING‬ﺗﺤﺪد أﺳﻢ اﻟﺨﺎدم ﻣﻦ اﻟﺘﺤﻜﻢ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﻴﻨﺎت ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ ‪.‬‬
‫ﻣﺮة ﺗﻜﻮن اﻟﻮﺻﻠﺔ ﻟﻘﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت ﺗﻜﻮن ﻣﻨﺸﺄة ‪ ،‬ﻓﻴﻤﻜﻨﻚ آﺘﺎﺑﺔ أواﻣﺮ ‪ SQL‬ﺿﺪ‬
‫ﻣﺠﻤﻮﻋﺔ اﻟﺘﺤﻜﻢ ﻓﻲ ﺑﺎﻟﺒﻴﺎﻧﺎت ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ‪.‬‬
‫إذا اﻟﻤﺮادﻓﺎت ﺗﻜﻮن ﻣﻬﻴﺄة ‪ ،‬ﻳﻤﻜﻨﻚ آﺘﺎﺑﺔ أواﻣﺮ ‪ SQL‬ﻣﺴﺘﺨﺪم اﻟﻤﺮادﻓﺎت‪.‬‬
‫آﻤﺜﺎل‬

‫ﺛﻢ آﺘﺎﺑﺔ أﻣﺮ اﻟﺬي ﻳﺴﺘﺨﺪم اﻟﻤﺮادﻓﺎت ‪:‬‬

‫ﻻ ﻳﻤﻜﻨﻚ ﻣﻨﺢ اﻟﺼﻼﺣﻴﺎت ﻋﻠﻲ اﻟﺘﺤﻜﻢ ﻓﻲ اﻷهﺪاف ﻣﻦ ﻋﻠﻲ ﺑﻌﺪ‪.‬‬

You might also like