Creating a Basic Form Module
:اﻻهﺪاف
.Form Module اﻟﻘﺪرة ﻋﻠﻰ اﻧﺸﺎء و ﺣﻔﻆ •
.Data Block اﻟﻘﺪرة ﻋﻠﻰ اﻧﺸﺎء •
.Data Block اﻟﻘﺪرة ﻋﻠﻰ ﺗﻌﺪﻳﻞ •
.Lay out اﻟﻘﺪرة ﻋﻠﻰ ﺗﻌﺪﻳﻞ •
.Form Module ﻣﻌﺮﻓﺔ آﻴﻔﻴﺔ ﻋﺮض •
.(Relation) و ﺑﻴﻨﻬﻢ رﺑﻂData Block اﻧﺸﺎء اآﺜﺮ ﻣﻦ •
: Form Module هﻨﺎك ﺑﻌﺾ اﻟﺨﻄﻮات ﻻﻣﻜﺎﻧﻴﺔ اﻧﺸﺎء
Tolls Action اﻟﺨﻄﻮات
Object Navigator ﻓﺎرغModule اﻧﺸﺎء .١
Data Block wizard Items وData Block اﻧﺸﺎء .٢
Lay Out Wizard ﻟﺘﻨﺴﻴﻖLay Out اﺳﺘﺨﺪام .٣
.Form ﺷﻜﻞ
Property Palette ﺗﺨﺼﻴﺺ اﻟﻤﻮاﺻﻔﺎت ﻟﺒﻌﺾ .٤
.Objects ﻣﻦ
PL/SQL Editor .اﺳﺘﺨﺪام اﻟﻜﻮد .٥
Run Form button .Module ﺗﺠﺮﺑﺔ .٦
ﻻﺣﻆ اﻧﻚ ﻳﻤﻜﻨﻚ ﻋﻦ ﻃﺮﻳﻖ Object Navigatorاﻧﺸﺎء ارﺑﻊ Fileآﻤﺎ
ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
آﻴﻔﻴﺔ اﻧﺸﺎء Form Module
-١ﻳﻤﻜﻨﻚ اﻟﻘﻴﺎم ﺑﺎﻧﺸﺎء Moduleﺟﺪﻳﺪ ﺑﺎﺳﺘﺨﺪام Wizardﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر
. Use Data Block Wizard
-٢ﻳﻤﻜﻨﻚ اﻟﻘﻴﺎم ﺑﺎﻧﺸﺎء Moduleﺟﺪﻳﺪ وﻟﻜﻦ ﻟﻴﺲ Wizardﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر
. Build a new form manually
-٣ﻳﻤﻜﻨﻚ اﺳﺘﺨﺪام Moduleﺗﻢ ﺣﻔﻈﺔ ﻣﻦ ﻗﺒﻞ ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر
. Open an exiting form
ﻳﻤﻜﻦ ﺗﻌﺪﻳﻞ اﺳﻢ Moduleﺑﻄﺮﻳﻘﺘﻴﻦ:
-١اﺿﻐﻂ ﻋﻠﻰ اﺳﻢ Moduleﻣﻦ ﻋﻠﻰ Object Navigatorﺑﻌﺪ ذﻟﻚ ﻗﻢ ﺑﺘﻌﺪﻳﻞ
اﻻﺳﻢ.
-٢ﺗﻌﺪﻳﻞ اﺳﻢ Moduleﻣﻦ ﺧﻼل Propertyاﻟﺨﺎﺻﺔ ﺑﺔ.
ﻳﻤﻜﻦ اﻧﺸﺎء Data Blockﺑﻄﺮﻳﻘﺘﻴﻦ:
. Data Block Wizard -١
.Data Block Manual -٢
ﻓﻌﻨﺪ اﻟﻘﻴﺎم ﺑﺎﻧﺸﺎء Blockﺟﺪﻳﺪ ﺗﻈﻬﺮ ﻟﻚ رﺳﺎﻟﺔ ﺑﻬﺎ اﺧﺘﻴﺎرﻳﻦ
Wizardاو Manualو ﺗﻜﻮن ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ: وهﻢ
١- Create Data Block Wizard
ﻣﺜﺎل:
ﺳﻮف ﻧﻘﻮم اﻻن ﺑﺎﻧﺸﺎء Data Block Wizardﻋﻠﻰ ﺟﺪول اﻟﻤﻮﻇﻔﻴﻦ.
-١ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ Data Blockﻣﻦ Object Navigatorﻳﺘﻢ ﻇﻬﻮر اﻟﺮﺳﺎﻟﺔ
اﻟﺴﺎﺑﻘﺔ وﻳﺘﻢ اﺧﺘﻴﺎر Use the data block wizardﺑﻌﺪ ذﻟﻚ ﻳﻈﻬﺮ ﻟﻨﺎ
رﺳﺎﻟﺔ ﺗﺮﺣﻴﺐ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Nextﻳﻈﻬﺮ ﺑﻌﺪ ذﻟﻚ:
و ﻳﻮﺟﺪ ﺑﻬﺬة اﻟﺸﺎﺷﺔ اﺧﺘﻴﺎرﻳﻦ و ﻳﻌﺒﺮ آﻼ ﻣﻨﻬﻤﺎ ﻋﻠﻰ اﻣﻜﺎﻧﻴﺔ ﻋﻤﻞ Blockﻋﻠﻰ
) Tableاو ( Viewاو ﻋﻦ ﻃﺮﻳﻖ اﺳﺘﺨﺪام . Procedure
ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Nextﻓﺘﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:
وهﺬة اﻟﺸﺎﺷﺔ ﺗﺴﺘﺨﺪم ﻻﻣﻜﺎﻧﻴﺔ ﺗﺤﺪﻳﺪ Tableاو Viewاﻟﻤﺮاد اﻧﺸﺎء
Blockﻟﺔ وذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﻟﻀﻐﻂ ﻋﻠﻰ Browseﻟﻜﻰ ﻳﺘﻢ ﻋﺮض Object
اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺘﺨﺪم او اﻟﺘﻰ ﻟﺔ ﺻﻼﺣﻴﺔ ﻓﻰ اﺳﺘﺨﺪاﻣﻬﺎ.
وﻓﻰ اﻟﺮﺳﻢ اﻟﺴﺎﺑﻖ ﻳﻮﺟﺪ Check Boxﺑﺎﺳﻢ Enforce data integrityﻓﺎذا ﺗﻢ
اﺳﺘﺨﺪاﻣﺔ ﻳﻘﻮم ﺑﺎدراج آﻞ اﻟﻘﻴﻮد ) (Constraintاﻟﺨﺎﺻﺔ ﺑﺎﻟﺠﺪول ﺑﺪاﺧﻞ . Block
وﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ Browseﺗﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:
هﻨﺎك اآﺜﺮ ﻣﻦ Check Boxﺗﺴﺘﺨﺪم آﻞ واﺣﺪة ﻓﻰ:
• Current Userﻳﻌﺒﺮ هﺬا ﻋﻠﻰ اﻟﻤﺴﺘﺨﺪم اﻟﺤﺎﻟﻰ.
• Other_Userاﻣﻜﺎﻧﻴﺔ اﺳﺘﺨﺪام اى Objectﻣﻦ ﻣﺴﺘﺨﺪم اﺧﺮ ﻳﻜﻮن ﻟﻚ
اﻟﺼﻼﺣﻴﺔ ﻓﻰ اﺳﺘﺨﺪام ﺗﻠﻚ .Object
ﺗﻌﺮض آﻞ اﻟﺠﺪاول اﻟﺘﻰ ﻟﻠﻤﺴﺘﺨﺪم اﻟﺼﻼﺣﻴﺔ ﻟﻬﺎ. • Table
ﺗﻌﺮض آﻞ Viewsاﻟﺘﻰ ﻟﻠﻤﺴﺘﺨﺪم اﻟﺼﻼﺣﻴﺔ ﻟﻬﺎ. • Views
ﺗﻌﺮض آﻞ Synonymsاﻟﺘﻰ ﻟﻠﻤﺴﺘﺨﺪم اﻟﺼﻼﺣﻴﺔ ﻟﻬﺎ. • Synonyms
ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﺧﺘﻴﺎر Objectاﻟﻤﺮاد اﻧﺸﺎء Blockﻟﺔ ﺛﻢ اﻟﻀﻐﻂ ﻋﻠﻰ . OK
ﻓﻴﺘﻢ ﻋﺮض اﻟﺸﺎﺷﺔ اﻟﺴﺎﺑﻖ ﻋﺮﺿﻬﺎ وﺗﻢ ادراج ﺑﻬﺎ اﻻﻋﻤﺪة اﻟﺨﺎﺻﺔ ﺑﻬﺎ
آﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
ﻳﺘﻢ ادراج اﻻﻋﻤﺪة اﻟﺘﻰ ﺗﺮﻳﺪ ان ﻳﺘﻀﻤﻨﻬﺎ Blockوذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﺳﺘﺨﺪام
اﻻﺳﻬﻢ >> او > ﻻﺣﻆ أن:
> ﻳﻘﻮم ﺑﺎدراج ﻋﻤﻮد واﺣﺪ ﻓﻘﻂ.
>> ﻳﻘﻮم ﺑﺎدراج آﻞ اﻻﻋﻤﺪة ﺑﺎﻟﺠﺪول.
ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Nextﻟﺘﻈﻬﺮ ﺷﺎﺷﺔ ﺑﻬﺎ اﺳﻢ Blockو ﻳﻘﻮم اﻻوراآﻞ
ﺑﺎﻋﻄﺎء اﺳﻢ اﻓﺘﺮاﺿﻰ ﻟﺔ ﺑﻨﻔﺲ اﺳﻢ اﻟﺠﺪول اﻟﻤﺴﺘﺨﺪم و ﻳﻤﻜﻦ ان ﺗﻘﻮم ﺑﺘﻐﻴﺮ
ﺗﻠﻚ اﻻﺳﻢ.
ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Nextﻟﺘﻈﻬﺮ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:
و ﺑﻬﺬة اﻟﺸﺎﺷﺔ اﺧﺘﻴﺎرﻳﻦ:
¾ اﻧﺸﺎء Blockو ﺑﻌﺪ ذﻟﻚ اﻧﺸﺎء ) (Lay outﻋﻦ ﻃﺮﻳﻖ .Wizard
¾ اﻧﺸﺎء Blockﺑﺪون اﻧﺸﺎء اﻟﺸﻜﻞ اﻟﺘﺼﻤﻴﻤﻰ) (Lay outﻋﻦ ﻃﺮﻳﻖ .Wizard
ﻋﻨﺪ اﺧﺘﻴﺎر Create the data block, then call the layout Wizardﺛﻢ اﻟﻀﻐﻂ
ﻋﻠﻰ Finishﻳﺘﻢ ﻇﻬﻮر ﺷﺎﺷﺔ ﺗﺮﺣﻴﺐ ﺧﺎﺻﺔ Layout Wizardﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ
Nextﻟﻴﻈﻬﺮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
وﺑﻬﺬا اﻟﺸﻜﻞ ﻳﺘﻢ ﺗﺤﺪﻳﺪ اﺳﻢ و ﻧﻮع ال Canvasاﻟﺨﺎص ﺑﺎل. Block
) Canvasﺳﻮف ﻳﺘﻢ ﺷﺮﺣﺔ ﻓﻴﻤﺎ ﺑﻌﺪ( .ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ . Next
ﻟﺘﻈﻬﺮ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:
و ﻓﻰ هﺬة اﻟﺸﺎﺷﺔ ﻳﺘﻢ ﺗﺤﺪﻳﺪ Itemsاﻟﺘﻰ ﺳﻮف ﻳﺘﻢ ﻋﺮﺿﻬﺎ ﻋﻠﻰ Layout
ﻋﻦ ﻃﺮﻳﻖ اﻻﺳﻬﻢ ) > ( >>،اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﺎ ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ
Nextﻟﻴﻈﻬﺮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
واﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ ﻳﻮﺿﺢ اﺷﻜﺎل ﻇﻬﻮر Itemsﻋﻠﻰ Layoutﻣﻦ ﺣﻴﺚ اﻟﻄﻮل و
اﻟﻌﺮض و ﻳﻤﻜﻦ ﺗﻐﻴﺮ آﻼ ﻣﻦ ﻃﻮل او ﻋﺮض اى Itemﺛﻢ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Next
ﻟﻴﻈﻬﺮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
واﻟﺸﺎﺷﺔ اﻟﺴﺎﺑﻘﺔ ﺑﻬﺎ اﺧﺘﻴﺎرﻳﻦ :
¾ : Formو ﺗﺴﺘﺨﺪم داﺋﻤﺎ ﻟﻌﺮض ﺻﻒ واﺣﺪ ﻣﻦ Blockو ﺗﺴﺘﺨﺪم ﻣﻊ
). (Primary Key
¾ :Tabularو ﺗﺴﺘﺨﺪم داﺋﻤﺎ ﻟﻌﺮض اآﺜﺮ ﻣﻦ ﺻﻒ ﻓﻰ ال Blockو ﺗﺴﺘﺨﺪم
ﻣﻊ ). (Foreign Key
ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Nextﻟﺘﻈﻬﺮ ﺷﺎﺷﺔ ﻳﺘﻢ ﺗﺤﺪﻳﺪ اﺳﻢ Frame
و ﻋﺪد اﻟﺼﻔﻮف اﻟﺘﻰ ﺳﻮف ﻳﺘﻢ ﻋﺮﺿﻬﺎ و اﻟﻤﺴﺎﻓﺎت ﺑﻴﻦ اﻟﺼﻔﻮف و اﻣﻜﺎﻧﻴﺔ
ﻋﺮض ).( Scrollbarوﺗﻜﻮن ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
ﻳﻤﻜﻨﻚ اﻟﻘﻴﺎم ﺑﺎﻧﺸﺎء اآﺜﺮ ﻣﻦ Blockو ﺑﻴﻨﻬﻢ رﺑﻂ اذا آﺎن آﻼ ﻣﻨﻬﻢ ﻳﺴﻤﺢ ﺑﻬﺬا
اﻟﺮﺑﻂ ﻓﻔﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﺎﺗﺒﺎع اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ ﺗﻢ اﻧﺸﺎء Block Wizard
وﻻﺣﻆ اﻧﻚ اذا ﻗﻤﺖ ﻣﺜﻼ ﺑﺎﻧﺸﺎء Blockاﺧﺮ ﻋﻠﻰ ﻧﻔﺲ Moduleﻓﺎن اﻻورآﻞ ﻓﻰ
هﺬة اﻟﺤﺎﻟﺔ ﻳﻘﺪم ﻟﻚ ﺳﺆال وهﻮ هﻞ ﺗﺮﻳﺪ اﻧﺸﺎء ﻋﻼﻗﺔ ﺑﻴﻦ Old Blockو New
Blockوﻳﻜﻮن ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
ﻓﻔﻰ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﻤﻨﺎ ﺑﺎﻧﺸﺎء Blockﻟﺠﺪول اﻟﻤﻮﻇﻔﻴﻦ.
وﺳﻮف ﻧﻘﻮم اﻻن ﺑﺎﻧﺸﺎء Blockﻟﺠﺪول اﻻﻗﺴﺎم ) (Departmentوﺳﻮف ﻳﻜﻮن
ﺑﻨﻔﺲ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ اﻟﺘﻰ ﺗﻢ ﺑﻬﺎ اﻧﺸﺎء Blockاﻟﻤﻮﻇﻔﻴﻦ وﻟﻜﻦ ﺑﺎﺧﺘﻼف
واﺣﺪ وهﻮ اﻧﺸﺎء ) (Relationوﻓﻴﻬﺎ ﻳﺘﻢ ﻇﻬﻮر اﻟﺸﺎﺷﺔ اﻟﺴﺎﺑﻘﺔ ﻣﺒﺎﺷﺮة وﻳﺘﻢ
اﻟﻀﻐﻂ ﻋﻠﻰ Create Relationshipﻟﻴﻈﻬﺮ ﻟﻚ اﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ اﻟﺬى ﻳﻮﺿﺢ
Blockاﻟﺬى ﻳﻤﻜﻦ اﻧﺸﺎء Relationshipﻟﺔ ﻣﻊ Blockاﻟﺠﺪﻳﺪ و ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ
OKﻟﻴﺘﻢ اﻧﺸﺎء . Relationship
وﻟﻜﻰ ﻳﺘﻢ ذﻟﻚ ﺑﻨﺠﺎح ﻻﺑﺪ ﻣﻦ:
-١ان ﻳﻜﻮن هﻨﺎك ﻋﻼﻗﺔ One To Manyﺳﻠﻴﻤﺔ ﺑﻴﻦ اﻟﺠﺪوﻟﻴﻦ.
-٢ان ﻳﺘﻢ اﻧﺸﺎء Blockاﻟﺨﺎص ﺑﺎﻟﺠﺪول اﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ Primary Key
اوﻻ ﻗﺒﻞ اﻧﺸﺎء Blockاﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ . Foreign key
)اى ﻳﺘﻢ اﻧﺸﺎء DEPTﻗﺒﻞ .( EMP
ﻳﻄﻠﻖ ﻋﻠﻰ Blockاﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ Primary Keyاﺳﻢ ). (Master
ﻳﻄﻠﻖ ﻋﻠﻰ Blockاﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ Foreign Keyاﺳﻢ ). (Details
واذا ﺣﺪث ﻣﺸﺎآﻞ ﻣﺜﻞ ﻇﻬﻮر ﺗﻠﻚ اﻟﺮﺳﺎﻟﺔ:
وﻳﻜﻮن ﺳﺒﺐ اﻟﺮﺳﺎﻟﺔ اﻟﺴﺎﺑﻘﺔ ﻋﻜﺲ اﻟﺸﺮﻃﻴﻦ اﻟﺴﺎﺑﻘﻴﻦ ﻻﺗﻤﺎم ﻋﻤﻠﻴﺔ
Relationshipﺑﻨﺠﺎح.وﻟﻌﻼج ذﻟﻚ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ OKﻟﻠﺮﺟﻮع اﻟﻰ
اﻟﺸﺎﺷﺔ اﻟﺘﻰ ﺑﻬﺎ ﻋﻤﻠﻴﺔ . Relationship
وﻳﺘﻢ اﺗﺒﺎع اﻟﺘﺎﻟﻰ:
-١ﻳﺘﻢ ازاﻟﺔ اﻟﻌﻼﻣﺔ ﻣﻦ اﻣﺎم . Auto-Join data block
-٢اﻟﻀﻐﻂ ﻋﻠﻰ Create Relationshipو ﻳﻢ ﻇﻬﻮر اﻟﺮﺳﺎﻟﺔ اﻟﺘﺎﻟﻴﺔ:
-٣ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ OKﻓﻴﻈﻬﺮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ:
-٤ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ Okﻓﻴﻈﻬﺮ ﻟﻚ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:
وﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ ﺗﺤﺪﻳﺪ Primary Keyو Foreign Keyﻣﻦ اﻻﺛﻨﺎن List Item
وهﻢ Master Itemو . Details Item
وﻳﺘﻢ اﺧﺘﻴﺎر Deptnoﻓﻰ آﻼ ﻣﻨﻬﻢ.
اﻧﺸﺎء Relationship Manualوذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﻟﺘﺎﻟﻰ: ﻳﻤﻜﻦ
اﻧﺸﺎء Blockاﻻﻗﺴﺎم . -١
اﻧﺸﺎء Blockاﻟﻤﻮﻇﻔﻴﻦ وﻋﻨﺪ ﻇﻬﻮر اﻟﺸﺎﺷﺔ اﻟﺘﻰ ﺗﺮﻳﺪ اﻧﺸﺎء -٢
Relationship Wizard
اﺿﻐﻂ ﻋﻠﻰ Delete Relationو ﺑﺬﻟﻚ ﻳﺘﻢ اﻧﺸﺎء آﻼ ﻣﻦ Deptو Emp
ﺑﺪون رﺑﻂ ﺑﻴﻨﻬﻢ.
ﻳﺘﻢ اﻟﺪﺧﻮل ﻣﻦ ﻋﻠﻰ Object Navigatorﻋﻠﻰ Master Blockاﻟﺬى -٣
ﻳﺤﺘﻮى ﻋﻠﻰ Primary Keyو ﻳﻌﺒﺮ ﻋﻨﺔ ﻓﻰ هﺬا اﻟﻤﺜﺎل Deptو ﻳﺘﻢ
اﻧﺸﺎء Relationshipﻟﺔ ﻋﻦ ﻃﺮﻳﻖ اﻟﻀﻐﻂ ﻋﻠﻴﻬﺎ ﻣﺮﺗﻴﻦ ﻟﻴﻈﻬﺮ اﻟﺸﻜﻞ
اﻟﺘﺎﻟﻰ:
و ﻳﺘﻢ ادﺧﺎل اﺳﻢ Detail Blockﻓﻰ اول Itemاى ﻳﺘﻢ ادﺧﺎل . EMP
ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ آﺘﺎﺑﺔ Conditionﻓﻰ اﻟﻤﺴﺎﺣﺔ اﻟﺨﺎﻟﻴﺔ اﻟﻜﺒﻴﺮة اﻟﺘﻰ اﻣﺎﻣﻚ.
ﺑﻌﺾ اﻻﺧﺘﻴﺎرات اﻟﻤﺘﺎﺣﺔ ﻟﻚ ﻓﻰ اﻧﺸﺎء : Condition
¾ Cascadingﺗﻌﺒﺮ ﻋﻦ اﻣﻜﺎﻧﻴﺔ ﺣﺬف Primary Keyﻣﻦ Masterوﻓﻰ ﻧﻔﺲ
اﻟﻮﻗﺖ ﻳﺘﻢ ﺣﺬف Foreign Keyﻣﻦ . Details
ﺗﻌﺒﺮ ﻋﻦ اﻣﻜﺎﻧﻴﺔ ﺣﺬف Primary Keyﻣﻦ Masterﺑﺪون ﺣﺬف ¾ Isolated
Foreign Keyﻣﻦ . Details
¾ Non-Isolatedﺗﻌﺒﺮ ﻋﻦ ﻋﺪم اﻣﻜﺎﻧﻴﺔ ﺣﺬف Primary Keyﻣﻦ Masterاوﻻ
ﺑﺪون ﺣﺬف Foreign Keyاﻟﺨﺎص ﺑﺔ ﻣﻦ . Details
¾ Object REFو ﻳﺘﻢ ﺑﻬﺎ ﺗﺤﺪﻳﺪ Foreign Keyﻻﻣﻜﺎﻧﻴﺔ اﻻﺷﺎرة اﻟﻴﺔ.
ﺗﻌﻨﻰ ﻓﺼﻞ ﻋﻤﻠﻴﺔ اﺳﺘﺮﺟﺎع اﻟﺒﻴﺎﻧﺎت ﻣﻦ اﻻﺛﻨﺎن Blockﻣﻌﺎ. ¾ Deferred
ﻓﺎذا ﻗﻤﺖ ﺑﺎﺧﺘﻴﺎرهﺎ ﻓﺎﻧﺖ ﺑﺬﻟﻚ ﻣﻦ ﻋﻠﻰ Run timeﻋﻨﺪ
اﻟﻘﻴﺎم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ Executeﻳﺘﻢ اﺳﺘﺮﺟﺎع اﻟﺒﻴﺎﻧﺎت ﻟﻞ DEPT
ﻓﻘﻂ ﺑﺪون ال . EMP
وﻟﻜﻰ ﻳﻤﻜﻨﻚ اﺳﺘﺮﺟﺎع اﻟﺒﻴﺎﻧﺎت ﻣﻦ ال EMPﻻﺑﺪ ان ﺗﻘﻮم
ﺑﺎﻟﻮﻗﻮف ﻋﻠﻰ ال . EMPوذﻟﻚ اذا آﺎﻧﺖ اﻟﻌﻼﻣﺔ اﻣﺎم Auto-Query
واذا ﺗﻢ ازاﻟﺔ اﻟﻌﻼﻣﺔ ﻓﺎﻧﺖ ﻻﺑﺪ ان ﺗﻘﻮم ﺑﺎﻟﻀﻐﻂ ﻣﺮة ﺛﺎﻧﻴﺔ ﻋﻠﻰ
. Execute Query
¾ :Prevent Masterless Operationو ﺗﻌﻨﻰ ﻋﺪم اﻣﻜﺎﻧﻴﺔ اﺟﺮاء أى ﻋﻤﻠﻴﺔ
DMLﻣﺜﻞ ) (Insert, Update, Deleteﺑﺪاﺧﻞ Detailsﺑﺪون ان ﻳﻜﻮن رﻗﻢ
اﻟﻘﺴﻢ ﻣﻮﺟﻮد ﻓﻰ اﻟﻌﻤﻮد اﻟﺨﺎص ﺑﺎرﻗﺎم اﻻﻗﺴﺎم.