You are on page 1of 104

‫ﻧﺎﻡ ﺩﺭﺱ‪:‬ﺁﺯﻣﺎﻳﺸﮕﺎﻩ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﺍﻟﻒ(ﺗﺠﻬﻴﺰﺍﺕ ﺁﺯﻣﺎﻳﺸﮕﺎﻫﻲ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﺑﺮﺍﻱ ﺑﺮﮔﺰﺍﺭﻱ ﻛﻼﺱ ‪ ۱۸‬ﻧﻔﺮﻩ‪:‬‬


‫‪-۱‬ﻧﺮﻡ ﺍﻓﺰﺍﺭ ‪ SQLServer‬ﺗﺮﺟﻴﺤﺎ ﻧﺴﺨﻪ ‪ ۲۰۰۵‬ﻭ ﺩﺍﺭﺍﻱ ‪Service pack‬‬
‫‪-۲‬ﻧﺮﻡ ﺍﻓﺰﺍﺭ ‪ Oracel‬ﺗﺮﺟﻴﺤﺎ ﻧﺴﺨﻪ ‪ 9i.2‬ﺑﻪ ﺑﺎﻻ‬
‫‪-۲‬ﻧﺮﻡ ﺍﻓﺰﺍﺭ ‪ Windows Xp‬ﺩﺍﺭﺍﻱ ‪ Service pack2‬ﺟﻬﺖ ﻧﺼﺐ ﺷﺒﻜﻪﺍﻱ‬
‫‪ ۱۸-۲‬ﺩﺳﺘﮕﺎﻩ ﻛﺎﻣﭙﻴﻮﺗﺮ ﭘﻨﺘﻴﻮﻡ‪ ۴‬ﺑﺎ ﺳﺮﻋﺖ ‪ 2.8‬ﺑﻪ ﺑﺎﻻ ﺑﺎ ﺍﻣﻜﺎﻧﺎﺕ ﻣﻨﺎﺳﺐ‬
‫‪-۳‬ﻳﻚ ﺩﺳﺘﮕﺎﻩ ﻛﺎﻣﭙﻴﻮﺗﺮ‪) Server‬ﺗﺮﺟﻴﺤﺎ ‪ HP‬ﻣﺪﻝ ‪ DL380‬ﺩﺍﺭﺍﻱ ‪۲‬ﻋﺪﺩ ‪ CPU‬ﻭ ‪Full‬‬
‫‪ Catch‬ﺑﺎ ‪ 4G RAM‬ﺑﻪ ﺑﺎﻻ ﻭ ﺳﺮﻋﺖ ‪ 3GHtz‬ﺑﻪ ﺑﺎﻻ ﻭ ﺣﺪﺍﻗﻞ ‪ ۲‬ﻋﺪﺩ ﻫﺎﺭﺩ ﺍﺳﻜﺎﺯﻱ‬
‫)‪ (SCSI‬ﺑﺎ ﺣﺠﻢ ‪ 300G‬ﺑﻪ ﺑﺎﻻ(‬
‫‪-۴‬ﻛﺎﺑﻞ ﻭ ﺍﺗﺼﺎﻻﺕ ﻻﺯﻡ ﺑﺮﺍﻱ ﺑﺮﻗﺮﺍﺭﻱ ﺍﺭﺗﺒﺎﻁ ﺷﺒﻜﻪﺍﻱ‬

‫ﺏ( ﺷﺮاﻳﻂ ﻛﺎرﺷﻨﺎس ﻣﺴﺌﻮل آزﻣﺎﻳﺸﮕﺎه‪:‬‬


‫دارا ﺑﻮدن ﻣﺪرك ﻛﺎرﺷﻨﺎﺳﻲ در ﻳﻜﻲ از رﺷﺘﻪﻫﺎي ذﻳﻞ ﺑﻪ ﺗﺮﺗﻴﺐ اوﻟﻮﻳﺖ‪:‬‬
‫‪-1‬ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫‪-2‬ﻣﻬﻨﺪﺳﻲ ﻓﻨﺎوري اﻃﻼﻋﺎت‬
‫‪-3‬ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫ﺝ( ﺭﺍﻫﻨﻤﺎﻱ ﺑﺮﮔﺰﺍﺭﻱ ﺁﺯﻣﺎﻳﺸﮕﺎﻩ ﻭ ﺍﺭﺯﺷﻴﺎﺑﻲ‪:‬‬


‫در اﻳﻦ درس ﻓﺮض ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ دروس ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه دادهﻫﺎ‪ ،‬ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﻴﺸﺮﻓﺘﻪ و‬
‫ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار را ﮔﺬراﻧﺪه و ﺑﺎ اﺻﻮل ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻧﺮماﻓﺰار و ﻧﻴﺰ ﺣﺪاﻗﻞ ﺑﺎ ﻳﻜﻲ از زﺑﺎﻧﻬﺎي‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ و ﻳﺎ ‪ HTML‬آﺷﻨﺎﻳﻲ ﻛﺎﻓﻲ دارﻧﺪ‪.‬‬
‫ﻣﺜﺎﻟﻬﺎي ﭘﺎﻳﺎﻧﻲ ﻛﺘﺎب ﻧﻴﺰ ﺑﺮ اﺳﺎس اﻳﻦ ﻣﻔﺮوﺿﺎت و ﻫﻤﭽﻨﻴﻦ درﻧﻈﺮ ﮔﺮﻓﺘﻦ اﻫﻤﻴﺖ و ﻋﻼﻗﻪ‬
‫داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﺑﻪ ﻃﺮاﺣﻲ وب ﺳﺎﻳﺖﻫﺎي ﭘﻮﻳﺎ )‪ (Dynamic‬ﻃﺮاﺣﻲ و ﺷﺮح داده ﺷﺪه اﺳﺖ‪.‬‬
‫اﻧﺘﻈﺎر ﻣﻲرود داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﭘﺲ از ﻣﻄﺎﻟﻌﻪ اﻳﻦ ﻛﺘﺎب‪ ،‬ﺿﻤﻦ درك ﻛﺎﻣﻞ ﻣﻔﺎﻫﻴﻤﻲ ﭼﻮن ﭘﺎﻳﮕﺎه داده‬
‫و اﻧﻮاع آن‪ ،‬روﻧﺪ ﻛﻠﻲ ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه دادهﻫﺎ‪ ،UML ،‬ﺗﺴﻠﻂ ﻛﺎﻓﻲ در ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه داده ‪SQL Server 2000‬‬
‫و‪ ...‬را ﺑﻪدﺳﺖ آورﻧﺪ و در ﻧﻬﺎﻳﺖ ﺑﺘﻮاﻧﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي و ﻳﺎ ﺻﻔﺤﺎت وب ﻣﺒﺘﻨﻲ ﺑﺮ ﭘﺎﻳﮕﺎه دادهﻫﺎ را‬
‫ﻃﺮاﺣﻲ ﻛﻨﻨﺪ‪ .‬اﻳﻦ درس در ‪ 12‬ﺟﻠﺴﻪي دو ﺳﺎﻋﺘﻪ )ﻣﺠﻤﻮﻋﺎ ‪ 24‬ﺳﺎﻋﺖ( اراﺋﻪ ﻣﻲﮔﺮدد و ﭘﻴﺸﻨﻬﺎد ﻣﻲﮔﺮدد‬
‫ﻛﻪ ﻫﺮ ﻳﻚ از ﺟﻠﺴﺎت داراي اﻫﺪاف ذﻳﻞ ﺑﺎﺷﺪ‪:‬‬

‫ﺟﻠﺴﻪ اول‬
‫اﻳﻦ ﺟﻠﺴـﻪ اﺧﺘﺼـﺎص ﺑـﻪ ﻳـﺎدآوري ﻣﻔﺎﻫﻴـﻢ و ﺗﻌـﺎرﻳﻒ اوﻟﻴـﻪ ﭘﺎﻳﮕـﺎه دادهﻫﺎ‪ ،‬ﺗﺎرﻳﺨﭽﻪ آن و ﻣﻬﻤﺘـﺮﻳﻦ‬
‫ﭘﻴﺎدهﺳﺎزﻳﻬـﺎي راﻳﺞ ‪ SQL‬و‪ ...‬دارد ﻛـﻪ در ﻓﺼـﻞ اول ﻛﺘـﺎب ﺑﻪ آن ﭘﺮداﺧﺘﻪ ﺷﺪه اﺳﺖ‪.‬‬
‫ﺿﻤﻨﺎً اﺳﺘﺎدان ﻣﺤﺘﺮم‪ ،‬ﻣﻲﺗﻮاﻧﻨﺪ داﻧﺸﺠﻮﻳﺎن را در ﮔﺮوﻫﻬﺎي دو ﻳﺎ ﺳﻪ ﻧﻔﺮه ﺗﻘﺴﻴﻢ ﻛﻨﻨﺪ و ﻫﺮ ﮔﺮوه‬
‫ﺣﺪاﻛﺜﺮ دو ﻫﻔﺘﻪ ﻓﺮﺻﺖ دارد ﺗﺎ ﭘﺮوژه ﺧﻮد را ﺗﻌﺮﻳﻒ و ﺑﻪ ﺗﺎﻳﻴﺪ اﺳﺘﺎد ﻣﺮﺑﻮﻃﻪ ﺑﺮﺳﺎﻧﺪ‪.‬‬
‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﺻﻮرت ﺗﻤﺎﻳﻞ‪ ،‬داﻧﺸﺠﻮﻳﺎن ﻣﻲﺗﻮاﻧﻨﺪ از ﭘﺮوژهﻫﺎي ﺗﻌﺮﻳﻒﺷﺪه در ﭘﺎﻳﺎن ﻓﺼﻞ‬
‫ﺳﻮم ﻛﺘﺎب ﭘﺎﻳﮕﺎه دادهﻫﺎ‪ ،‬ﺗﺄﻟﻴﻒ آﻗﺎي راﻧﻜﻮﻫﻲ اﺳﺘﻔﺎده ﻛﻨﻨﺪ‪.‬‬

‫ﺟﻠﺴﻪ دوم‬
‫اﻳﻦ ﺟﻠﺴﻪ اﺧﺘﺼﺎص ﺑﻪ ﻣﻌﺮﻓﻲ اﻧﻮاع ﭘﺎﻳﮕﺎه دادهﻫﺎ و ﺳﻴﺴﺘﻤﻬﺎي ﻣﺪﻳﺮﻳﺖ آن دارد ﻛﻪ در ﻓﺼﻞ دوم ﻛﺘﺎب ﺑﻪ‬
‫آن اﺷﺎره ﺷﺪه اﺳﺖ‪ .‬در ﭘﺎﻳﺎن اﻳﻦ ﺟﻠﺴﻪ داﻧﺸﺠﻮﻳﺎن ﺑﺎﻳﺴﺘﻲ ﻣﻔﺎﻫﻴﻤﻲ ﭼﻮن ﻣﺪل راﺑﻄﻪ اي‪ DBMS ،‬و‪...‬را‬
‫ﺑﻄﻮر ﻛﺎﻣﻞ ﻓﺮا ﮔﺮﻓﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬

‫ﺟﻠﺴﻪ ﺳﻮم‬
‫در اﻳﻦ ﺟﻠﺴﻪ اﺻـﻮل ﻃﺮاﺣـﻲ ﭘﺎﻳـﮕﺎه دادهﻫﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﺼـﻞ ﺳـﻮم ﻛﺘـﺎب آﻣـﻮزش داده ﻣﻲﺷﻮد‪.‬ﻫﻤﭽﻨﻴﻦ‬
‫ﻣﻬﻠﺖ ﺗﻌﺮﻳﻒ ﭘﺮوژه ﮔﺮوﻫﻬﺎ در اﻳﻦ ﺟﻠﺴﻪ ﺑﻪ ﭘﺎﻳﺎن ﻣﻲرﺳﺪ‪.‬‬

‫ﺟﻠﺴﺎت ﭼﻬﺎرم و ﭘﻨﺠﻢ و ﺷﺸﻢ‬


‫در اﻳﻦ ﺟﻠﺴﺎت ﻣﻄﺎﺑﻖ ﻓﺼﻞ ﭼﻬﺎر و ﭘﻨﺞ ﻛﺘﺎب اﻧﻮاع ﺣﺎﻟﺘﻬﺎي ﻧﺼﺐ و وﻳﺮاﻳﺶﻫﺎي ﻣﺨﺘﻠﻒ ‪SQL Server‬‬
‫)‪ 2000(2005‬ﺑﻪﺻﻮرت ﻋﻤﻠﻲ آﻣﻮزش داده ﺷﺪه و ﻣﺤﻴﻂ ‪ Enterprise Manager‬و ﻣﻬﻤﺘﺮﻳﻦ دﺳﺘﻮرات‬
‫‪ SQL‬ﺑﻪﺻﻮرت ﻣﺸﺮوح آﻣﻮزش داده ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﻫﻤﭽﻨﻴﻦ داﻧﺸﺠﻮﻳﺎن ﻣﻲﺑﺎﻳﺴﺖ در ﻗﺎﻟﺐ ﻫﺮ ﮔﺮوه اﻗﺪام ﺑﻪ ﻣﺪﻟﺴﺎزي ﭘﺮوژه ﺧﻮد ﻧﻤﻮده و ﺗﺎ ﭘﺎﻳﺎن ﺟﻠﺴﻪ‬
‫ﺷﺸﻢ آنرا ﺑﻪ اﺳﺘﺎد ﻣﺮﺑﻮﻃﻪ اراﺋﻪ دﻫﻨﺪ‪.‬‬

‫ﺟﻠﺴﻪ ﻫﻔﺘﻢ‬
‫در اﻳﻦ ﺟﻠﺴﻪ ﻣﻄﺎﺑﻖ ﻓﺼﻞ ﻫﻔﺖ ﻛﺘﺎب‪ ،‬داﻧﺸﺠﻮﻳﺎن ﺑﻪﺻﻮرت ﻛﺎﻣﻞ ﺑﺎ ﻣﻔﻬــــﻮم ‪ ADO‬و روﻧﺪ ﻛﻠﻲ‬
‫ﺑﺮﻗﺮاري اﺗﺼـﺎل ﺑﺎ ‪ Database‬آﺷـﻨﺎ ﺷـﺪه و اﻗﺪام ﺑﻪ ﭘﻴﺎدهﺳﺎزي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺧﻮد ﻣﻲﻧﻤﺎﻳﻨﺪ‪.‬‬
‫ﺟﻠﺴﺎت ﻫﺸﺘﻢ ﺗﺎ دوازدﻫﻢ‬
‫در اﻳﻦ ﺟﻠﺴﺎت داﻧﺸﺠﻮﻳﺎن ﺿﻤﻦ ﺑﺤﺚ و ﺗﺒﺎدل ﻧﻈﺮ و رﻓﻊ اﺷﻜﺎل ﺑﺎ اﺳﺘﺎد‪ ،‬ﻧﺴﺒﺖ ﺑﻪ ﻣﺴﺘﻨﺪﺳﺎزي ﭘﺮوژه‬
‫ﺧﻮد اﻗﺪام ﻣﻲﻧﻤﺎﻳﻨﺪ و در ﭘﺎﻳﺎن ﺗﺮم ﭘﺮوژه ﺗﻜﻤﻴﻞﺷﺪه اراﺋﻪ ﺧﻮاﻫﻨﺪ داد‪.‬‬
‫اﺳﺎﺗﻴﺪ ﻣﺤﺘﺮم ﻧﻴﺰ ﺿﻤﻦ ﻧﻈﺎرت ﺑﺮ روﻧﺪ اﺟﺮاي ﭘﺮوژه ﻫﺮ ﮔﺮوه در ﻃﻮل ﺗﺮم‪ ،‬در ﻫﺮ ﺟﻠﺴﻪ ﻓﻌﺎﻟﻴﺘﻬﺎ و‬
‫ﺗﻤﺮﻳﻨﺎﺗﻲ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺮ ﻓﺼﻞ را ﺑﺮاي داﻧﺸﺠﻮﻳﺎن درﻧﻈﺮ ﺑﮕﻴﺮﻧﺪ و در ﻳﺎدﮔﻴﺮي ﻣﻄﺎﻟﺐ و اﻧﺘﻘﺎل ﻣﻔﺎﻫﻴﻢ ﻫﺮ‬
‫ﻓﺼﻞ داﻧﺸﺠﻮﻳﺎن را ﻳﺎري ﻧﻤﺎﻳﻨﺪ‪.‬‬
‫داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﻣﻲﺑﺎﻳﺴﺖ ﺑﺎ ﺗﻜﻤﻴﻞ ﻓﺮﻣﻬﺎي ﻣﻮﺟﻮد در ﭘﻴﻮﺳﺘﺎر ‪ 2‬ﻛﺘﺎب ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺗﺎﻟﻴﻒ آﻗﺎي‬
‫راﻧﻜﻮﻫﻲ‪ ،‬ﻣﻄﺎﺑﻖ ﺑﺎ زﻣﺎنﺑﻨﺪي اراﺋﻪ ﺷﺪه‪ ،‬اﺳﺎﺗﻴﺪ ﻣﺤﺘﺮم را در ﺟﺮﻳﺎن روﻧﺪ اﺟﺮاي ﭘﺮوژه ﺧﻮد ﻗﺮار دﻫﻨﺪ و‬
‫در ﻫﺮ ﺟﻠﺴﻪ ﻧﻴﺰ ﭘﺎﺳﺦ ﺗﻤﺮﻳﻨﺎت ﺟﻠﺴﻪ ﻗﺒﻞ را ﺑﻪ اﺳﺘﺎد ﺧﻮﻳﺶ ﺗﺤﻮﻳﻞ ﻧﻤﺎﻳﻨﺪ‪.‬‬
‫ﻧﺤﻮه ارزشﮔﺬاري و ﻧﻤﺮهدﻫﻲ ﺑﻪ داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﻧﻴﺰ ﺑﺮ اﺳﺎس ﻣﺴﺘﻨﺪات و ﭘﺮوژه اراﺋﻪ ﺷﺪه در‬
‫ﭘﺎﻳﺎن ﺗﺮم‪ ،‬ﺗﻤﺮﻳﻨﺎت ﻛﻼﺳﻲ و ﻣﻴﺰان ﺗﺴﻠﻂ داﻧﺸﺠﻮ ﺑﺮ ﻣﻄﺎﻟﺐ درﺳﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫اﻣﻴﺪ اﺳﺖ ﻛﻪ ﺗﻮاﻧﺴﺘﻪ ﺑﺎﺷﻴﻢ ﻗﺪﻣﻲ ﻫﺮﭼﻨﺪ ﻛﻮﭼﻚ در ﺟﻬﺖ ارﺗﻘﺎء ﺳﻄﺢ ﻋﻠﻤﻲ و اﻓﺰاﻳﺶ ﺗﻮاﻧﺎﻳﻴﻬﺎي ﺷﻤﺎ‬
‫داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﺑﺮداﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬

‫ﺩ(ﺟﺰﻭﻩ ﺩﺭﺳﻲ ﺁﺯﻣﺎﻳﺸﮕﺎﻩ‪:‬‬


µÁY ¶§

ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

¥Y|ÅY -1-1
¶Ìƈ/e Y½M Z/¯ Ê´¿Â/´q ­{ SQL ½Z/] Á Z/Å Ã{Y{ ÃZ´ËZa ¶»Z°e xËZe Z] ÊËZÀ‹M
.|À¯Ê»
ÄrzËZe |¿Y{ €´Ë|°Ë Ä] É{Zˁ Ê´fˆ]YÁ ZÅÃ{Y{ ÃZ´ËZa Á SQL ½Z] į Zn¿M Y
€fŒ/Ì] ZÆ¿M {ZnËY Ä] ZÌ¿ ¶ËÓ{ Á ¹Âƨ» Z] Ze ºË{€¯ ½ZÌ] M€fz» Y ZÆ¿M Âƛ Á ŠËY|Ìa
.|Ë‹ ZÀ‹M
½Z/] ¹Âƨ» ¾Ì] cÁZ¨e ­{ ¾ÌÀr¼Å Á ZÅÃ{Y{ ÃZ´ËZa ¹Âƨ» Á Äˀœ¿ ­{ ½Á|]
,É|/m ÉZÅZ¯ ¹Zn¿Y ÉY€] SQL Y ½YÂe ʼ¿ , SQL Server ÊeZŸÔ—Y ®¿Z] Á SQL
.{€¯ Ã{Z¨f‡Y
SQL l/ËY ÉZÆˁZ/‡ Ã{Z/Ìa ¾Ë€/f¼Æ» Ê/§€ » Ä/] ¹Y|/«Y Šz] ¾ËY { ¾ÌÀr¼Å
Ä/fyY{€a Z/Æ¿M Ĉ/ËZ¬» Ä] Á Ã{¼¿ ORACLE ‚Ì¿ Á SQL Server 2000 & 2005 |À¿Z»
SQL Server 2000 Ã{€fˆ/³ {€]Z/¯ Á ½Á‚/§YÁ Ã{Z¨f‡Y Á d̼ÅY ¶Ì·{ Ä] ¾°Ì· .ºËY
[Z/f¯ É|/ ] ÉZƌz] { į ºËY Ã{Y{ Y€« Ã{Y{ ÃZ´ËZa ¾ËY ‰Â»M €] Y {Ây Z¯ ÉZÀ^»
.dyY{€a ºÌÅYÂy ½M Ä] ¶»Z¯ —Ä]
:|̋Z] Äfy»M Y €Ë \·Z˜» Á ºÌÅZ¨» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
½M d̼ÅY Á Ã{Y{ ÃZ´ËZa ¹Âƨ» x
½M ɀ̳ ¶°‹ |¿Á Á SQL ¹Âƨ» x
½M ¦¸fz» ÉZŊËY€ËÁ Á SQL Server 2000 Z] ÊeZ»|¬» ÊËZÀ‹M x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 2

½M ¦¸fz» ÉZÅ ŠËY€ËÁ Á SQL Server 2005 Z] ÊeZ»|¬» ÊËZÀ‹M x


ORACLE Z] ÊeZ»|¬» ÊËZÀ‹M x
SQL Server 2005 ½ZÌ» ...Á ZÅdË{Á|v» ,ZÅd̸]Z« ,ÉY‚§Y¹€¿ ÉZŁZÌ¿ ĈËZ¬» x
ORACLE Á
ÄËZa ¦ËZ e ¾Ë€f¼Æ» Y Êy€] ÉÁM{ZË x
SQL Server ÊeZŸÔ—Y ®¿Z] Á SQL ½Z] cÁZ¨e x

˺
SQL ½Z] Á ZÅ Ã{Y{ ÃZ´ËZa ŠËY|Ìa ÄrzËZe -2-1
.|¿|‹ Äf§€³ Z¯ Ä] ®Ì¿Á€f°·Y cZ^‡Zv» ŠËY|Ìa ÉZŁÁ ¾Ì·ÁY { ZÅÃ{Y{ ÃZ´ËZa
Z¯Ä] cZŸÔ—Y Y ÉYğ¼n» ½{€¯ Ê]ZˁZ] Á ÀÌy} ÉY€] ZÅÃ{Y{ ÃZ´ËZa ÉZƼfˆÌ‡
.|¿ÁÊ»
{ į ÊÀ¨¸e Äq€f§{ ºÅ Á ÊËZ¼ÌaYÂÅ ÉZÆf¯€‹ ½Â̇YÁ ±‚] ÉZƼfˆÌ‡ ºÅ
Á ZÅÃ{Y{ ½{€¯ ÀÌy} ÉY€] ZÆ¿M Y Y€Ë |¿Â‹Ê» [ˆv» ZÅÃ{Y{ ÃZ´ËZa ,d‡Z¼‹ \Ìm
.{‹ʻ Ã{Z¨f‡Y cZŸÔ—Y Ê]ZˁZ]
70 ÄÅ{ µÂ— { ,|‹ {ZnËY É{ÔÌ» 60 ÄÅ{ –‡YÁY Y ZÅÃ{Y{ ÃZ´ËZa ÉÁZÀ§
¶ËYÁY Á 70 Ä/Å{ €/yYÁY Y .d§€³ Y€/« Ã{Z¨f‡Y {» Ê/³{€/fˆ³ Ä] Á d§ZË Ä ‡Âe
{» ÉYĘ]Y ÉZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ ¹Z¿ Ä] ÉÁZÀ§ ½M Y ÉYÃ{ 80 ÄÅ{
Ä] d^ˆ¿) ºÅ ÂÀÅ Á |‹ ÄfyZÀ‹ ,€e€] ÉÁZÀ§ ½YÂÀŸ Ä] Á d§€³ Y€« ɀfŒÌ] ‰€Ë~a
.{€Ì³Ê» Y€« Ã{Z¨f‡Y {» Z̈] (€´Ë{ ÉZÅĿ³
{ ÉYĘ]Y ÉZƼfˆÌ‡ Y ɀf¸»Z¯ Â¿ ,dË{ ĸ¼m Y ½Y€´ŒÅÁ„a ʔ ] €œ¿ Ä]
ºfˆÌ‡ Y Ê^̯€e) {Â] |ÅYÂy –¸ˆ» ÉÁZÀ§ ½Z¯Z¼¯ É{ÔÌ» ¹Â‡ ÃY‚Å µÁY ÄÅ{
ÄuÁ€˜» ÉYĘ]Y µ|» ºÌÅZ¨» ,Ã|ÀˆË¿ ¾Ì¼Å €œ¿ Y Äf^·Y (Y€³V̋ ºfˆÌ‡ Á ÉYĘ]Y
.{Â] |ÀÅYÂy ÉYĘ]Y ÉZÅ ºfˆÌ‡ ÄËZa ºÅ €´Ë{ µZ‡ | Ze {Z¯ ÉZ«M –‡Âe
|Ì·Âe cÄ] 0Z” ] Á {ZnËY ºÅ ɀ´Ë{ ÉZƼfˆÌ‡ ,80 ÄÅ{ –‡YÁY Y Z»Y
dˀË|» |À¼‹ÂÅ ºfˆÌ‡ ,(Š¿Y{) dyZÀ‹ ÃZ´ËZa ºfˆÌ‡ ĸ¼m Y ˭|¿|‹ ē€Ÿ ÉZne

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ µÁY Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
3 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

|Àq€Å .ZÅÃ{Y{ dˀË|» ÊËZÀ » ºfˆÌ‡ Á Y€³Lʋ ÉYÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ ,ZÅÃ{Y{
.|¿Â‹Ê» Ã{Z¨f‡Y ʏZy ÉZÅ{€]Z¯ { ÂÀÅ ZƼfˆÌ‡ ¾ËY €fŒÌ]
ÉZƼfˆÌ‡ ½ZÌ» Y .|À»Z¿Ê» ÉYĘ]Y †a ÉZƼfˆÌ‡ ÃZ³ Y ZƼfˆÌ‡ ¾ËY
¶§Zv» Ã{Z¨f‡Y {» €fŒÌ] Y€³Lʋ ÉZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ |ËZ‹ ,ÉYĘ]Y†a
Ã|‹ ē€Ÿ ,¥€» YZ] Ä] ºfˆÌ‡ Â¿ ¾ËY Y ɀfŒÌ] cY|Ì·Âe Á {€Ì³Ê» Y€« Ê°ÌÀ°e
.|¿Â‹Ê» Á
Äf§ZËdyZ‡ ½Z] ÉZÀ » Ä] Á Structured Query Language ¦¨z» SQL
Z£M ZÌ¿¨̷Z¯ ÉÁÂy ½Z‡ { IBM ÉZÅÃZ´ŒËZ»M Y SQL xËZe .|‹Z]Ê» Š‡€a
.|‹ |·Âf» Zn¿M { SQL ˬ 70 ÄÅ{ Ê¿ZËZa ÉZÆ·Z‡ { į {‹ʻ
Á …€a) ZÅ Query ÉY€] į SEQUEL ½Z] 70 ÄÅ{ €yYÁY { IBM d¯€‹
į Zn¿M Ze ,{€¯ ÊeY€Ì̤e ‚Ì¿ ½Z] ¾ËY ½Z» €Ì̤e Z] .{€¯ Y|]Y Y |‹Ê» Ã{Z¨f‡Y (ZÅÂm
Administrating ÉY€] ºÌfˆ¿YÂeÊ» ½M Y Á |‹Ê¼¿ Ã{Z¨f‡Y ZÅ Query ÉY€] –¬§
½Z] ¾ËY ZÆe|» Y | ] Á ºÌÀ¯ Ã{Z¨f‡Y ‚Ì¿ Database { (dÌÀ»Y) Security Á (dˀË|»)
.{Y{ ¹Z¿ €Ì̤e SQL Ä]

SQL Server 2000 Ã{Y{ ÃZ´ËZa ʧ€ » -3-1


d§Z‡Á€°ËZ» d¯€‹ –‡Âe Ã|‹ ÄWYY Ã{Y{ ÃZ´ËZa Engine ®Ë SQL Server 2000
.d‡Y SQL Server 7.0 ŠËY€ËÁ Ä»Y{Y Á d‡Y
Ã{Y{ ÃZ´ËZa Package ¾Ë€e{€]Z¯ €a ,µÂv» ¾ËY d¨³ ½YÂeÊ» ©Y€£Y ½Á|]
Database YZ] % 60 Y ŠÌ] į d‡Y Ã{€¯ ZŸ{Y d§Z‡Á€°ËZ» Äf^·Y .{‹ʻ [ˆv»
.d‡Y ŠËY‚§Y µZu { Á Ä] Á ¾ËY Á Ã{Y{ ZfyY {Ây Ä] Y ½ZÆm
:|‹Z]Ê» €Ë cÁZ¨f» ŠËY€ËÁ 7 ÉYY{ ½ÂÀ¯Y ºÅ SQL Server 2000
Enterpriseˬ Standardˬ Personalˬ Developerˬ Evaluation ˬ Desktop Engine
and SQL Server CE
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 4

SQL Server 2005 Ã{Y{ ÃZ´ËZa ʧ€ » -4-1


YZ] ,SQLServer ÊÀ Ë d§Z‡Á€°ËZ» Âƌ» ÉYÃ{Y{ ÃZ´ËZa 2005 Äzˆ¿ ½|‹ ē€Ÿ
ÉYÃ{€fˆ³ cZ¿Z°»Y .{Y{ Y€« {Ây €ÌiPe dve c|‹ Ä] Y ÊeZŸÔ—Y ®¿Z] ÉZÅY‚§Y¹€¿
Y ÊeZŸÔ—Y ÉZÅ®¿Z] ɁZ‡Ã{ZÌa Á ÊuY€— ,Ã|‹ ÄÌ^ e |Ë|m ÉÄzˆ¿ ¾ËY { į
Á XML €Ìœ¿ |Ë|m ÉZÅÉÁZÀ§ Y¿Y Z] ½M ©Z^˜¿Y Á ªÌ¨¸e ¾ÌÀr¼Å Á Ã|̌z] dŸ€‡
Y Êy€] Ä] Ä»Y{Y {.d‡Y Ã|‹ ½M ÊËYZ¯ Á c|« ŠËY‚§Y hŸZ] ADO.NET
.ºÌÀ¯Ê» ÃZ‹Y ½M |Ë|m ÉZÅʳ„ËÁ
SQL ¦¸fz» ÉZÅÄzˆ¿ Á ZƌËY€ËÁ sÁ€Œ» cÄ] ,d‡ÂÌa { ¾ÌÀr¼Å
Ã|‹ ½ZÌ] €´Ë|°Ë Z] ZÆ¿M ĈËZ¬» Á ¹Y|¯ €Å ÉZÆf̸]Z« Á ZÆ̳„ËÁ ÃY€¼Å Ä] Server 2005
.d‡Y

Snapshot Isolation Level


ÊeZŸÔ—Y®¿Z] µÁ|m ®Ë ÉZŦË{ ½{€¯ ¶¨« ÉZÅ|f» Y¿Y Ä] į ÊËZʼnÁ Y Ê°Ë
ÉZʼnÁ { .d‡Y {¯ Y ÉY{€]€Ëe ÃÂ̋ ,d‡Y Ã|‹ ħZ“Y |Ë|m Äzˆ¿ {
®Ë Á€‹ į BeginTrans Âf‡{ –‡Âe ÊeZŸÔ—Y ®¿Z] {¯ |Àq ZË ®Ë €³Y ,ʸ^«
|ÀËM€§ į Ê»Y{Z» Ze ,|Àf§€³Ê» Y€« ¥~u ZË €Ì̤e ¥€‹ { |À¯Ê» ŽzŒ» Y |ÀËM€§
pÌÅ Y ,|‹Ê¼¿ ʨfÀ» RollBack –‡Âe ZË |ÌËPe Commit Trans Âf‡{ –‡Âe ¯~»
SELECT Ã{Z‡ Âf‡{ Z] Êfu Y ¯~» ÉZÅ{¯ ºÌfˆ¿YÂeʼ¿ ÉYÄ»Z¿€] Á Zm
½Y€]Z¯ €ËZ‡ É{Y|ËÁ ¾ÌÀq Á€] c { ,ÉY~³¶¨« |Ë|m ‰Á { Z»Y .ºÌ¿YÂz]
ɀÌ̤e pÌÅ ÂÀŠį ‘€§ ¾ËY Z] Y ¯~» ÉZÅ{¯ ‰Y ¾Ë€yM ÃY¼Š|À¿YÂeÊ»
.|ÀÅ{ Y€« Ã{Z¨f‡Y {» Á |À¿YÂz] d‡Y Ã|Œ¿ {ZnËY ZŽM {

.NET Z] Ê´qZb°Ë

Á cZ/¿Z°»Y Y |/¿{Z« ÊeZŸÔ—Y ÉZÅ®¿Z] ½ZˆË¿ĻZ¿€] , SQL Server |Ë|m Äzˆ¿ Z]


½M { Ã|/‹ ÄfyZ/‡ ÉZ/Ņԯ Á ž]YÂe Ä̸¯ Á d¿cY{ ¹€§d¸a { {Âm» ÉZÅd̸]Z«
½Z/°»Y ,Z/Åd/̸]Z« ¾/ËY ¾Ë€eʇZ‡Y µZu ¾ÌŸ { Á ¾Ë€eÊËY|f]Y Y Ê°Ë .|¿Â‹ |À»Ã€Æ]
5 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

{ _Z/‹Ê/‡ Á ®Ìˆ/Ì] µYÁ„/ËÁ Ê/À Ë d¿cY{ |Àˆa€]Z¯ Á ºÆ» ½Z] Á{ Y Ã{Z¨f‡Y


Ä/¯ {Â/‹Ê» hŸZ] ZÆÀeÄ¿ ¶»ZŸ ¾ËY .d‡Y ÊeZŸÔ—Y®¿Z] ®Ë ¦¸fz» ÉY‚mY ɁZ‡Ã{ZÌa
{ (Stored Procedures) ZŵYÁ Á Zŀ´Ë€e ¶j» ÊËZŵÁƒZ» ¾f‹Â¿ ÉY€] ½ZˆË¿ĻZ¿€]
Y |/À¿YÂf] , T-SQL Ã|/ÌrÌa µZ/u ¾Ì/Ÿ { Á {Y|¿Zf/‡Y ½Z] Y Ã{Z¨f‡Y ÉZm Ä] ž]YÂe
¹Z/¼e ďÔy Á ZÅÄËYM ,ZŅԯ ,cYÂf‡{ ,ZÅZfyZ‡ ¹Z¼e Z] d¿cY{ –Ìv» ÉZŽZ]
Â/e» ¾Ì/] ®/Ë{‚¿ ÉZ/°¼Å ¾/ËY Ä/°¸] ,|/ÀÀ¯ Ã{Z¨f‡Y Y€³V̋ ½Z] ®Ë ÉZÅʳ„ËÁ
½Z] Ä] d¿cY{ Ã|‹ Äf‹Â¿ ÉZÅ|¯ ¶Ë|^e µÁRˆ» į) CLR ÊÀ Ë d¿cY{ ʈË¿ĻZ¿€]
Â/Àe Y €Ì£ Ä] Ze Ã|‹ hŸZ] SQL Server ÊeZŸÔ—Y ®¿Z] Âe» Á (d‡Y ¶»ZŸºfˆÌ‡
ÊËYZ/¯ { ‚/Ì¿ ÊÆmÂe ¶]Z« €Ì̤e ,SQL Server{ Ã{Z¨f‡Y ¶]Z« ʈË¿ĻZ¿€] ÉZŽZ]
.|ËM ŠÌa ¯~» ÉZŵÁƒZ»
•Z^eY Ê´¿Â´q Á SQL Server 2005 ɂ¯€» ÉZŠĨ·Â» Ã|ÀÅ{ ½ZŒ¿ €Ë ¶°‹

.|‹Z]Ê» Visual Studio cӐv» Á Á|ÀËÁ ÉZÅÄ»Z¿€] Z] ½M


ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 6

XML ÉÁZÀ§

,d‡Y Ã|‹ ¶Ë|^e ¦¸fz» ÉZÅ°‡ ¾Ì] ʗZ^eY {Y|¿Zf‡Y ®Ë Ä] XML į ½ÂÀ¯Y
€eÃ{Z‡ { [Ô¬¿Y ®Ë {ZnËY Á ½M Ä] ʧZ¯ ÄmÂe Y ºÅ SQL Server |Ë|m Äzˆ¿
.d‡Y Äf§€¿ À¨— ½M Y ½{€¯ Ã{Z¨f‡Y
½Z] Á {Y|¿Zf‡Y ¾ËY Ä] ʏZy ÄmÂe SQL Server |Ë|m Äzˆ¿ { į Zm½M Y
{Y|¿Zf‡Y Á ʸ^« ÉZÅÃ{Y{ Y¿Y Ä] (Data type) |Ë|m Ã{Y{ Â¿ ®Ë ,d‡Y Ã|‹ ʗZ^eY
{Y{ ¹Z¿ XML |Ë|m Ã{Y{ Â¿ ¾ËY .d‡Y Ã|‹ ħZ“Y ½M µZj»Y Á char ,int ¶j» SQL
.d‡Y Y€³V̋ –Ìv» ®Ë { {€n» Ã{Y{ Â¿ ®Ë cZ̏y ÉYY{ Á

(Notification) ½ÔŸY †ËÁ€‡


ÉZŽZ» ʗ Y ÊËZŹZ¤Ìa d‡Y {Z« SQL Server{ ½ÔŸY ºfˆÌ‡ ºÌf¨³ į —½Z¼Å
Ä] µZeY µZu { €]Z¯ É{Y| e į |ÌÀ¯ e 0Ôj» .|f‡€¨] ½Y€]Z¯ d¼‡ Ä] ŽzŒ»
į ÊËZm½M Y .|ÀfˆÅ …Â] { ¹ZƇ ‰Y Ä] •Â]€» cZŸÔ—Y ÉÁZu ®¿Z] ®Ë
É{Zˁ d̼ÅY Y ½Y€]Z¯ Y É{Y| e ÉY€] Ĉ‡R» ZË d¯€‹ €Å ¹ZƇ d¼Ì« d‡Y ¾°¼»
ʏZy ¹ZƇ ‰Y ÃZ³€Å Ze {€¯ ºÌœÀe É— Y ºfˆÌ‡ ¾ËY ½YÂeÊ» ,|‹Z] Y{Ây€]
ºÅ €]Z¯ .{‹ ¹ÔŸY ÉÁ Ä] Z¯{Ây c Ä] ,{€¯ €Ì̤e d‡Y €]Z¯ €Å €œ¿{» į
Windows \·Z« {) ÃY€¼Å ¾¨¸e ,{Ây É{€]Z¯ Ä»Z¿€] ÉÁ€] Y cY€Ì̤e ¾ËY |¿YÂeÊ»
.|À¯ Ã|ÅZŒ» Á d§ZË{ \e€» cÄ] E-Mail ZË Á (SMS,Messenger

ɀ̳‰Y‚³ †ËÁ€‡
Á ¾Ë€e\·Zm Y Ê°Ë Ä] 2005 Äzˆ¿ { ÂÀf» ÉZʼnY‚³ |Ì·Âe |Ë|m †ËÁ€‡
É« €´‹Y‚³ Âe» ®Ë {ÂmÁ .d‡Y Ã|‹ ¶Ë|^e Äzˆ¿ ¾ËY ÉZÅd̸]Z« ¾Ë€e{€]Z¯€a
Ze Ã|‹ hŸZ] ,Ê·ZŸ €]Z¯ –‡YÁ Z] ‰Y‚³ dyZ‡ \‡ZÀ» Y‚]Y ®Ë Á Á€‡ d¼‡ {
d¼‡ { \‡ZÀ» dŸ€‡ Á ÊËYZ¯ Z] Y {Ây €œ¿{» ÉZʼnY‚³ |À¿YÂf] ½ZˆË¿ĻZ¿€]
5É{€]Z¯ ÉÄ»Z¿€] €Å –‡Âe Á€‡ d¼‡ ÉZʼnY‚³ ¾ËY į É—Ä] .|¿Zˆ] Á€‡
7 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

Ã|ÅZŒ» ¶]Z« SQL Server Ä] µZeY cZ¿Z°»Y ½Z¼Å Z] Ê»€§d¸a €Å { ɀfŒ» d¼‡
.d‡Y

½Z] { Ã|‹ {ZnËY ÉZÅ{Â^Æ]


¾ËY .d‡Y Ã|‹ {ZnËY SQL ½Z] { Êf^j» Z̈] cY€Ì̤e SQL Server 2005 {
Recursive ) ÊfŒ³Z] ÉZÅÂnfˆm ,ZÅZ˜y dˀË|» ¶j» ¦¸fz» ÉZÅÄÀÌ» { cY€Ì̤e
ZË Á ÀÌy} ʸ¯ ÊËYZ¯ Á Ã|‹ ¹Zn¿Y ZÅÃ{Y{ ÃZ´ËZa Âe» Ä¿|] { Êfu Á (Query
.d‡Y Ã{Y{ ŠËY‚§Y Ê]¸˜» Âv¿ Ä] Y cZŸÔ—Y ½|¿YÂy

Z˜y dˀË|»
Error ºfˆÌ‡ Y Z˜y dˀË|» Á ¦Œ¯ ÉY€] SQL Server ʼË|« ÉZÅÄzˆ¿ {
ºÅ 6 ®ÌˆÌ] µYÁ„ËÁ ¶j» Ê¿Z] { į Z˜y ¦Œ¯ ÃÂ̋ ¾ËY .|‹Ê» Ã{Z¨f‡Y Handling
–y Á µ€fÀ¯ dˆ¿YÂeÊ» GOTO Âf‡{ Y Ã{Z¨f‡Y Z] d§€³Ê» Y€« Ã{Z¨f‡Y {»
¶v» Ä] Z˜y Á€] ¶v» Y ž«YÁ { Á €´Ë{ ¶v» Ä] ¶v» ®Ë Y Y µYÁ ÉY€mY
½ZŒ¿ €]Z¯ Ä] Y ÊËZ˜y ¹Z¤Ìa ĸ̇Á¾Ë|] Á {€^] ½M (Raise) ½{€¯ Z°‹M Á dˀË|»
Á ¦Œ¯ ÄËÁ cYÂf‡{ Y ,d¿cY{ ¹€¨f¸a Y €ÌiPe Z] SQL Server |Ë|m Äzˆ¿ .|Å{
Y Ã{Z¨f‡Y Z] ‰Á ¾ËY .|À¯Ê» Ã{Z¨f‡Y Exception Handling ½YÂÀŸ Z] Z˜y dˀË|»
{ .{Y~³Ê» Y€mY Ä] Y Z˜y dˀË|» Y ɀfÆ] ÃÂ̋ TRY/CATCH |Ë|m cYÂf‡{
Ä] •Â]€» ÉZÅZ˜y ¶j» Ê¿{Zf§Y ©Z¨eY ÉZÅZ˜y ¹Z¼e ,¶^« ‰Á ¥Ôy€] ‰Á ¾ËY
Á€] Y Á Ã|‹ dˀË|» Ê]Ây Ä] (DataConversion) €´Ë|°Ë Ä] ZÅÃ{Y{ ¶Ë|^e
Ä] ɀ̳¸m {‹ʻ €´Ë€e ZË µYÁ ®Ë cZ̸¼Ÿ Ž«Z¿ ¹Z¼eY Ä] €nÀ» į ÊËZÅZ˜y
.|ËMÊ» ¶¼Ÿ
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 8

ORACLE Ã{Y{ ÃZ´ËZa ʧ€ » -5-1


{ į d‡Y ZŵZ‡ µÂv» ¾ËY .d‡Y ZÌ¿{ €‡Y€‡ { Ã{Y{ ÃZ´ËZa ¾Ë€eÃ{Z¨f‡Y€a ¶¯YÁY
|Ì·Âe ½M Y É|Ë|m ÉÄzˆ¿ µZ‡ €Å Z^ˀ¬e Á {Y{ {ÂmÁ ÉY‚§Y¹€¿ cӐv» YZ]
ÉZÅY‚§Y¹€¿ ÄË{ZveY ¹Z¿ Ä] Êf¯€‹ ‰ÁY {Y Á €ÀËZ»[Z] ,½ÂˆÌ·Y ɀ· 1977 µZ‡ .{‹ʻ
¹Z¿ Ä] RDBMS ®Ë SQL Á C ÉZŽZ] Y Ã{Z¨f‡Y Z] į |¿{Y{ ¶Ì°Œe (RSI) ÉYĘ]Y
2 Äzˆ¿ .|‹ YZ] {YÁ 1979 µZ‡ { d¯€‹ ¾ËY µÂv» ¾Ì·ÁY .|¿{€¯ |Ì·Âe ¶¯YÁY
µZ‡ { ĸZ§Ô] Á {€¯Ê» Z¯ RSX11 ¶»ZŸ ºfˆÌ‡ dve Á PDP11 ºfˆÌ‡ ÉÁ ,½M
.d§Z˵Z¬f¿Y DECVAX ºfˆÌ‡ ÉÁ 1980
{ÂmÁÄ] SQL ½Z] { ÊeY€Ì̤e į |‹ YZ] {YÁ 1983 µZ‡ { ¶¯YÁY 3 Äzˆ¿
Z] Ô»Z¯ {Ây ¾ÌŒÌa xˆ¿ ¥Ôy€] Äzˆ¿ ¾ËY .|̌z] {Â^Æ] Y ºfˆÌ‡ ÊËYZ¯ Á {ÁM
Ä] RSI Y į {Â] d¯€‹ ¹Z¿ €Ì̤e µZ‡ ¾ËY { ºÆ» ©Z¨eY .{Â] Ã|‹ Äf‹Â¿ C ½Z]
į {Â] ÉYÄzˆ¿ ¾Ìfˆz¿ į |»M YZ] Ä] 4 Äzˆ¿ 1984 { .{€¯ €Ì̤e ORACLE
1985 { ÊÀ Ë | ] µZ‡ { ½M É| ] Äzˆ¿ .|‹Ê» ¶»Z‹ Y Read Consistency
. |‹Ê» [ˆv» Client/Server Äzˆ¿ ¾Ì·ÁY į |‹ ē€Ÿ
¶]Z« ZŶ»ZŸ ºfˆÌ‡ Y¿Y ÉÁ į {Y{ ÄWYY Y {Ây 6 Äzˆ¿ 1988 { ¶¯YÁY
{ É{Zˁ cY€Ì̤e ¶»Z‹ Á |»M YZ] Ä] 1992 µZ‡ { µÂv» ¾ËY 7 Äzˆ¿ .{Â] Y€mY
RDBMS ÉZÅʳ„ËÁ Ô»Z¯ Äzˆ¿ ¾ËY .{Â] I/O Á CPU ,Ĝ§Zu ɀ]Z¯ ŠËY‚§Y ÄÀÌ»
|Àq Á LZ̋Y ɁZ‡Ã{ZÌa ½Z°»Y ½M { į |‹ ʧ€ » 1997 { 8 Äzˆ¿. d§€³€]{ Y
. {Â] Ã|‹ Ã|¿ZnÀ³ dˀË|» |Ë|m Y‚]Y Á d̸]Z«
JAVA Z] ¹Z£{Y c|« Á €eÃ{Z‡ ɀ]Z¯ –]Y į |Ë{€³ ÄWYY 2001 { 9 ¶¯YÁY
{ ¥€´‹ Ê·Âve į |‹ ē€Ÿ ¶¯YÁY 10 Äzˆ¿ 2003 µZ‡ { ¾ÌÀr¼Å .d‹Y{ Y
. {ÁM{ÂmÁÄ] ZÅÃ{Y{ ÃZ´ËZa 
Z¯ –ʐz‹ ÉZŀeÂÌb»Z¯ Ze ZŀeÂÌb»Z¯ €a‡ Y– €eÂÌb»Z¯ Â¿ €Å ÉÁ ¶¯YÁY
|‹ \^‡ ¶¯YÁY d˂» ¾ËY .|ËZ¼¿Ê» ¶¼Ÿ ¶°‹ ®Ë Ä] ZÆ¿M ¹Z¼e ÉÁ Z^ˀ¬e Á |À¯Ê»
|{ 70 Y ŠÌ] €“Zu µZu { .|‹Z] Äf‹Y{ ɀfŒÌ] ½Z³|ÀÅ{Ä ‡Âe Á ½Y€]Z¯ Ze
CBS , CNN , Yahoo .|ÀËZ¼¿Ê» Ã{Z¨f‡Y ZÅÃ{Y{ ÃZ´ËZa ¾ËY Y ÉZne ÉZÅd¯€‹
.|ÀfˆÅ ZÅdËZ‡ Ŀ³¾ËY ÉZÅĿ¼¿ ĸ¼m Y CDNOW Á
9 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

ÄËZa ¦ËZ e -6-1


1
ZÅ Ã{Y{ Ä»Z¿ d¤· -1
¹Z¿ Ôj» .{€Ì³Ê» Y€« Ã{Z¨f‡Y {» É{Zˁ Ê»Z‡Y ,cZŸÔ—Y ®¿Z] ºfˆÌ‡ ®Ë {
ZÆ¿M ÉZÀ » ÃY€¼Å Ä] ZÆ»Z¿ ¾ËY Ê»Z¼e ÉZÅÃ{Y{ ÉÄ»Z¿ d¤· { ...Á Z̋Y ,cZ¨ ,µÁ|m
.{€Ì³Ê» Y€«
¹Z¿ ½M ,|À¯ [Zzf¿Y Ê»Z¿ ¹Âƨ» ®Ë ÉY€] ,sY€— ÃZ³€Å ,®¿Z] ÊuY€— ĸu€» {
€Å ¹Âƨ» Y |À¿YÂf] cÁZ¨f» ½Y€]Z¯ Á {Y€§Y Ze {€Ì³Ê» Y€« Ä»ZÀf¤· { ½M ÊÀ » ÃY€¼Å Ä]
.|¿Â‹ €^yZ] ¹Z¿
2
ºfˆÌ‡ ±Â·ZeZ¯ -2
cZŸÔ—Y ®¿Z] {» { ‚Ì¿ ɀ´Ë{ cZŸÔ—Y ZÆ¿M cZzŒ» Á ZÅÃ{Y{ Ê»Z‡Y €] ÃÁԟ
,¦¸fz» ÉZÅÃ{Y{ Ä] {Y€§Y Ê]ZÌf‡{ ªu Ä] •Â]€» cZŸÔ—Y Ôj» .{‹ ÉY|Æ´¿ |ËZ]
ÉY|Æ´¿ ºfˆÌ‡ ±Â·ZeZ¯ { cZŸÔ—Y Ŀ³¾ËY .ZÅÃ{Y{ ½|»M { ÁÄ] Á {ZnËY xËZe
.|¿Â‹Ê»
€´Ë{ cZ^Ÿ Ä] .{€Ì³Ê» €] { ‚Ì¿ Y ZÅÄ»Z¿d¤· cZŸÔ—Y ºfˆÌ‡ ±Â·ZeZ¯
.d‡Y ºfˆÌ‡ ±Â·ZeZ¯ Éğ¼n» €Ë ZÅÃ{Y{ ÉÄ»ZÀf¤·
dÌÀ»Y -3
Á cZŸÔ—Y ¾f§ ¾Ì] Y \m» į d‡Y ÊeY€˜y €]Y€] { ZÅÃ{Y{ dœ§Zv» ÉZÀ » Ä]
¾f§ ¾Ì] Y Ä] ½YÂeÊ» cY€˜y ¾ËY ĸ¼m Y .|¿Â‹Ê» cZŸÔ—Y Zn» €Ì£ ÉZ°f‡{
.{€¯ ÃZ‹Y cZŸÔ—Y Ä] {Y€§Y Zn» €Ì£ Ê]ZÌf‡{ Á ºfˆÌ‡
3
dÌ »Zm -4
Y ʟ¿ Ôj» .d‡Y ºfˆÌ‡ cY€¬» Y ÉÁ€Ìa Á ZÅćÁ€a Á ZÅÃ{Y{ dv ÉZÀ » Ä]
{Z”e { ºÅZ] ºfˆÌ‡ ¶¯ { Ã{Y{ ¹Ô«Y į d‡ZÀ » ¾ËY Ä] Ê¿YÂz¼Å ¹Z¿ Ä] dÌ »Zm

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºŒ‹ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
.ž^À» ½Z¼Å .2
.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºÅ{ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .3
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 10

į Ã|¿Á€a €´Ë{ Äzˆ¿ Z] Žz‹ É{Âm» ,®¿Z] Ã|¿Á€a Y ÉYÄzˆ¿ { Ôj» .|À‹Z^¿
.|À‹Z^¿ cÁZ¨f» d‡Y ½M µ{Z »
1
(DataBase Schema) cZŸÔ—Y ®¿Z] ʯY{Y €Ëe -5
į ÊËZÅÃ{Y{ Ä] ÄmÂe ½Á|] cZŸÔ—Y ®¿Z] ®Ë { Ã|‹ ÊuY€— ÉZÅZfyZ‡ ğ¼n»
µ|» { 0Ôj» .|¿Y{ ¹Z¿ cZŸÔ—Y ®¿Z] (Schema) ÉZ¼‹ ,|¿€Ì³ Ê» Y€« ZÆ¿M {
µÁY|m ½M ÉZÆ¿Âf‡ Á Ã{Z¨f‡Y {» µÁY|m Y cZŸÔ—Y ®¿Z] ®Ë ÉZ¼‹ ,ÉYĘ]Y
.|ÀÅ{Ê» ¶Ì°Œe
cZŸÔ—Y Á Zŀ˜‡ {Y| e Ê·Á {‹ʻ •Â]€» ®¿Z] ÉZ¼‹ Ä] ½Âf‡ €Å Ã{Y{ Â¿
®¿Z] €Ë|» Ã|Ɵ €] ®¿Z] ÉZ¼‹ ÄÌÆe Ó¼ ».{Y|¿ ®¿Z] ÉZ¼‹ Ä] ʘ] ZÆ¿M { {Âm»
.|‹Z]Ê» (DBA) cZŸÔ—Y
2
ZÅÃ{Y{ µÔ¬f‡Y -6
—Ä] .d‡Y ZÆ¿M {€]Z¯ Y ZÅÃ{Y{ ɁZ‡Ã€Ìy} ½{Â] ¶¬fˆ» ,ZÅÃ{Y{ µÔ¬f‡Y Y œÀ»
.{‹ʻ ºÌˆ¬e ʬ˜À» µÔ¬f‡Y Áʰ˂̧ µÔ¬f‡Y ʸ¯ Äf‡{ Á{ Ä] ZÅÃ{Y{ µÔ¬f‡Y ʸ¯
Y ZÅÄ¿Z‡ ÉÁ ZÅÃ{Y{ ɁZ‡Ã€Ìy} ÃÂv¿ į d‡Y ÊÀ » ¾ËY Ä] ʰ˂̧ µÔ¬f‡Y
Â¿ Ôj») {‹ Ã{Y{ ZÅÃ{Y{ ɁZ‡Ã€Ìy} { ɀÌ̤e €³Y ÊÀ Ë .|¿Z»Ê» ʨz» ½Y€]Z¯ |Ë{
ʬ˜À» µÔ¬f‡Y ,|ÀÀ°¿ ɀÌ̤e pÌÅ É{€]Z¯ ÉZÅÄ»Z¿€] (|À¯ €Ì̤e ɁZ‡Ã€Ìy} Ä¿Z‡
ÉZÅÄ»Z¿€] Á ½Y€]Z¯ |Ë{ Y cZŸÔ—Y ®¿Z] ʯY{Y €Ëe €Ì̤e į d‡Y ÊÀ » ¾Ë|]
ʸ^« ÉZÅÄ»Z¿€] 5 ½Âf‡ ½{Á‚§Y Z] |‹Z] Äf‹Y{ ½Âf‡ 4 Ê·Á|m €³Y 0Ôj».|¿Z¼] ʨz» ZÆ¿M
€Ì̤e ÄmÂf» €]Z¯ €´Ë{ cZ^Ÿ Ä] Á |ÀÀ¯ ¶¼Ÿ |À¿YÂf] |Ë|m ½Âf‡ Ä] ÄmÂe ½Á|]
.{‹ Ã{Y{ Y€« ÉÁ ZÌfyY { |Ë|m ½Âf‡ Ä] ÄmÂe Z] É|Ë|m Ä»Z¿€] Ä°ÀËY €´» ,{Œ¿
cZŸÔ—Y ®¿Z] ɁZ‡Ä»Z¿€] ÉZÆ¿Z] -7
Query ) Âm Á …€a ½Z] ZÆ¿M Ä] į (Declarative) Ê¿ZÌ] ÉZÆ¿Z] Y cZŸÔ—Y ®¿Z] {
¾ËY Âm Á …€a ÉZŽZ] Z] į ¾ËY ¶Ì·{ Ä].{‹ʻ Ã{Z¨f‡Y ,|À˳ʻ ‚Ì¿ (Language
Y Äf‹~³ { .|À¯ Z¯ |ÅYÂyÊ» į — €Å ZÅÃ{Y{ Z] į {Y|¿ {ÂmÁ €]Z¯ ÉY€] ½Z°»Y

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºnÀa Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºfŒÅ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .2
11 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

®Ë Z¯Âe ½Z] ,|‹Ê» Ã{Z¨f‡Y (Embedded Language) Z¯Âe ÉZÆ¿Z] ¹Z¿ Z] ʋÁ
{ Á {‹ʻ Ã{Z¨f‡Y ½Z]‚Ì» ½Z] ½YÂÀŸ Ä] µZ°‡Za |À¿Z» ÓZ] t˜‡ ʈË¿ĻZ¿€] ½Z]
cZŸÔ/—Y ®/¿Z] Ä] Ê]Z/Ìf‡{ ÉY€] SQL |À¿Z» Âm Á …€a ½Z] cYÂf‡{ ½M ½Á{
.{{€³Ê» Ê¿YÂ/yY€/§
:d‡Y ZÌ¿ ½Z] Â¿ Á{ Ä] cZŸÔ—Y ®¿Z] {
,ZÅZfyZ‡ €/Ì̤e Á ¦Ë€/ e ¶Ì^« Y ÊËZ/ÅZ/¯ :DDL ZË Z/ÅÃ{Y{ ¦/ˀ/ e ½Z] (¦·Y
.{€Ì³Ê» ¹Zn¿Y ½Z] Â¿ ¾ËY –‡Âe ,ÉYĘ]Y µ|» { µÁY|m Ôj»
–‡Âe ZÅÃ{Y{ Y cZŸÔ—Y kY€zf‡Y ¶Ì^« Y ÊeZ̸¼Ÿ :DML ZË ZÅÃ{Y{ Z] Z/¯ ½Z] ([
|À¿Z» Âm Á …€a ÉZÆ¿Z] .ZÆ°¿Z] Y Âm Á …€a Y¿Y ¶j» ,{€Ì³Ê» ¹Zn¿Y ½Z] Â¿ ¾ËY
.|¿YÃ{ÁM ºÅY€§ Zn°Ë Y ZÌ¿ Á{ €Å SQL
µ€/fÀ¯ ½Z] ®Ë ½YÂeÊ» ©Â§ ½Z/] Á{ €] ÃÁԟ :DCL ZË ZÅÃ{Y{ µ€/fÀ¯ ½Z] (k
Ä] ʇ€f‡{ ÉY€] ½Y€]Z¯ Ä] ÁZ/mY ½{Y{ Ôj» ,Ê·€fÀ¯ µZ/¼ŸY Ä/¯ {€/¯ ¦Ë€ e ZÅÃ{Y{
.{€Ì³Ê» ¹Zn¿Y ½Z] Â¿ ¾ËY ĸ̇Â] ZÆ¿M ÉZ°f‡{ Á ZÅÃ{Y{
ŠÀ¯Y€e -8
¹Z¿ ŠÀ¯Y€e {‹ʻ Y€mY cZŸÔ—Y ®¿Z] –Ìv» { €]Z/¯ –‡Âe į ÉYÄ»Z/¿€] Ŀ³€Å
į d‡Y ¾ËY Ê°¿Z]€Ì£ –Ìv» { ʷ¼ » Ä»Z¿€] ®Ë Z] ŠÀ¯Y€e ®Ë ʸY cÁZ¨e .{Y{
Ä] Êfu Á µ€fÀ¯ Ŀ³€Å µZ¼ŸY { DBMS .{‹ʻ µÂv» DBMS Ä] ÃY¼ŠŠÀ¯Y€e
.d‡Y Zfz» ½M Y ½{€¯ €œ¿ ¥€ ZË Á ¾fyY|¿Y ªË e
dv Á dÌ »Zm š¨u ZŪË e Á ¥~u Á Zŵ€fÀ¯ Ŀ³¾ËY Y ʸY ¥|Å
.ZÅÄ»Z¿€] Ä¿ ,d‡Y ZÅÃ{Y{ Z] µÁY d̼ÅY cZŸÔ—Y ®¿Z] { Y€Ë .d‡Y cZŸÔ—Y ®¿Z]
Ê»Z¼e ÉÁ €] €Ë µ€fÀ¯ 4 dˆËZ]Ê» {‹ ¾Ì¼”e ®¿Z] dÌ »Zm Á dv Ä°ÀËY ÉY€]
:|À»Â‡€» (ACID) YÂy Ä] į {{€³ µZ¼ŸY ZƌÀ¯Y€e
ÊÀ » ¾ËY Ä] ˭d‡Y ¹Â‡Â» pÌÅ ZË Ä¼Å Ä] d̏Zy ¾ËY :(Atomicity) Ê´qZb°Ë (¦·Y
.ZÆ¿M Y ¹Y|¯pÌÅ ZË Á {‹ Y€mY |ËZ] ŠÀ¯Y€e ®Ë ÉZÅ ¶¼ ·YÂf‡{ Ê»Z¼e ZË Ä¯
Ê»Z¼e |ËZ] ŠÀ¯Y€/e€/Å Ä/¯ |ËÂ/³Ê» d̏Zy ¾ËY :(Consistency)Ê¿YÂz¼Å ([
€³Y ŠÀ¯Y€e €Å €/´Ë{ cZ^Ÿ Ä] ZË Á |À¯ dËZ/Ÿ Y cZ/ŸÔ—Y ®/¿Z] dÌ »Zm ¾Ì¿Y«
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 12

¶¬fÀ» ɀ´Ë{ tÌv d·Zu Ä] tÌv Êf·Zu Y Y cZŸÔ—Y ®¿Z] {‹ Y€mY ÊËZÆÀe Ä]
:|‹Z] Äf‹Y{ ½ZËZa Â¿ Á{ d‡Y ¾°¼» ŠÀ¯Y€e ¾ËY€]ZÀ] .|À¯Ê»
Ô/Y į d‡Y ¾ËY ¶j» Á |À»Z¿Ê» •Â¬‡ ZË Abort Y ½M į ª/§Â»Z¿ ½ZËZa -1
.d‡Y Ã|Œ¿ Y€mY ŠÀ¯Y€e
.|À»Z¿Ê» ¹Zn¿Y ZË Commit Y½M į ª§Â» ½ZËZa -2
½ZÀq €´Ë|°Ë ÉÁ |¿Á€¼Å ÉZƌÀ¯Y€e €iY d̏Zy ¾ËY ª^— €] :(Isolation) YÁ‚¿Y (k
|¿Á€¼Å ÉZƌÀ¯Y€e €´Ë{ cZ^Ÿ Ä] .{‹ʻ ¹Zn¿Y YÁ‚¿Y { ¹Y|¯ €Å Z˳ į d‡Y
ʨ¸fz» ÉZƋÁ Y œÀ» ¾Ì¼Å Ä] ,|À‹Z] Äf‹Y{ €´Ë|°Ë ÉÁ [€z» €iY dˆËZ]ʼ¿
.{{€³Ê» Ã{Z¨f‡Y
:Y |ÀeZ^Ÿ ZƋÁ ¾ËY ĸ¼m Y
|‹Z] Äf‹Y{ ZÌ¿ ÉYÃ{Y{ Ä] ʌÀ¯Y€e ÃZ³€Å ‰Á ¾ËY { :(Locking) ÉY~³¶¨«
Z»Y |]ZËÊ» ŠËY‚§Y cZ̸¼Ÿ ¹Zn¿Y dŸ€‡ ‰Á ¾ËY { .|Å{Ê» Y½M ½{€¯ ¶¨« ÉZ“Z¬e
.|]ZËÊ» ŠËY‚§Y ‚Ì¿ dˆ]¾] Á€] µZ¼fuY {ÂmÁ ¾ËY Z]
ļŠ‚Ì¿ Á ZƌÀ¯Y€e Ä/¼Å ÉY€] ‰Á ¾ËY { :(Time stamping) Ê¿Z» ÉY~³Ä¿ZŒ¿
€Ì£ Ê¿Z» ÉZÅÄ¿ZŒ¿ (¾f‹Â¿ ZË ½|¿YÂy) ZÆ¿M Ä] Ê]ZÌf‡{ Â¿ Á Ê]ZÌf‡{ {» ÉZÅÃ{Y{
.{‹ʻ Äf§€³ €œ¿ { É{  ÉY€°e
{Ây Z¯ Ä] Ä¿Y{YM ZƌÀ¯Y€e ‰Á ¾ËY { :(Optimistic Method) Ä¿ZÀÌ^‹Ây ‰Á
Z/ÅÃ{Y{ €//Ì̤e Á ¦¸f/z» ÉZ/ÅÃ{Y{ Ä] Z/Æ¿M Ê]Z/Ìf‡{ Y Á |/ÀÅ{Ê» Ä»Y{Y
Á ʇ€] ZÅd‹Y{{ZË |‡Ê» ¹Zn¿Y ĸu€» Ä] ʌÀ¯Y€e Êf«Á .{‹ʻ ÉY{€/]d‹Y{{Z/Ë
.{{€³Ê» –«Z‡ c ¾ËY €Ì£ { Á ÊËZÆ¿ |‹Z] Ã|Œ¿ \°e€» ÊËZ˜y €³Y
Ã{Z¨f‡Y ­€fŒ» ÉZÅÃ{Y{ Y ZƌÀ¯Y€e į ʷ¼ » ÉZźfˆÌ‡ { ‰Á ¾ËY
Á {{€³Ê» ZÆ¿M Ã|‹ ¹Zn¿Y ÉZÅZ¯ ¾f§ ¾Ì] Y hŸZ] |ÀÀ¯Ê» ÁÄ] Y ZÆ¿M Á |ÀÀ¯Ê»
.{ÁMÊ» ¾ÌËZa Y ºfˆÌ‡ dŸ€‡ Y~·
¹Zn¿Y ĸu€» Ä] į ÊËZƌÀ¯Y€e ,d̏Zy ¾ËY …Z‡Y €] :(Durability) ÊËZËZa ({
.|¿Áʼ¿ ¾Ì] Y ʧ{Ze — Ä] ‚³€Å Á d‡Y Ê¿|¿Z» ½Z‹€iY |À‡€] (Commit)
Ä] DBMS Y É|uYÁ –‡Âe (Durability) ÊËZËZa Á (Atomicity) Ê´qZb°Ë ¶»ZŸ Á{
.{€Ì³Ê» ¹Zn¿Y ºÌ»€e Á {€³Z] dˀË|» |uYÁ ¹Z¿
13 ZÅÃ{Y{ ÃZ´ËZa ʧ€ »

SQL Server ÊeZŸÔ—Y ®¿Z] Á SQL ½Z] cÁZ¨e ìæ


ÉYĘ]Y ÉZÅÃ{Y{ ÃZ´ËZa .d‡Y ½|» ÉZÅÃ{Y{ ÃZ´ËZa €j¯Y {Y|¿Zf‡Y ½Z] SQL
,ɀ̳ºÌ¼e Ê¿Z^ÌfŒa ÉZƼfˆÌ‡ ,ÊeZŸÔ—Y ÉZÆ°¿Z] €j¯Y ɂ¯€» ÄfˆÅ (RDBMS)
ÉZÅY‚§Y¹€¿ Y ÉZ̈] Á [Á ®Ì»ZÀË{ cZv¨ ,(MIS) dˀË|» cZŸÔ—Y ÉZƼfˆÌ‡
.|ÀÅ{Ê» ¶Ì°Œe Y €´Ë{
ZÅÃ{Y{ ÃZ´ËZa dˀË|» cZ¿Z°»Y ,½|» ɁZ‡Ä»Z¿€] Á ʈË¿ĻZ¿€] ÉZÅY‚]Y €j¯Y
, Visual Basic ,Visual C++ |À¿Z» ÊeӐv» { .|ÀÀ¯Ê» ē€Ÿ SQL ªË€— Y Y
Á ɁZ‡Ã€Ìy} cZ̸¼Ÿ Á ZÅÃ{Y{ ÃZ´ËZa dˀË|» MS SQL Server Á Oracle ˬAccess
.|¿Â‹Ê» ¹Zn¿Y SQL ½Z] ªË€— Y ZÅÃ{Y{ Ê]ZˁZ]
¾ÌÀr¼Å Á ÊeZŸÔ—Y ®¿Z] ®Ë Ä] Ê]ZÌf‡{ ÉY€] ANSI {Y|¿Zf‡Y ½Z] ®Ë SQL
®/¿Z/] ÉZ/ÅÄ/»Z¿€] Z] SQL ½Z] .d‡Y Ê/eZ/ŸÔ/—Y ®/¿Z/] Y Â/m Á …€a
Z¯ Informix Á DB2 , Oracle , Access , MS SQL Server :|À¿Z» ÊeZŸÔ/—Y
.|À¯Ê»
ÉZÆ°¿Z] Ä] Ê]ZÌf‡{ ÉY€] d‡Y ÊeZŸÔ—Y ÉZÆ°¿Z] {Y|¿Zf‡Y ½Z] SQL ½Âq
.{‹ʻ Ã{Z¨f‡Y ½Z] ¾ËY Y ÊeZŸÔ—Y
SQL ºÅ Á d‡Y Á|ÀËÁ À]Z¯ ®e Ä»Z¿€] ®Ë į Access Ä»Z¿€] ºÅ ž«YÁ {
ÉļŠ{ .|ÀÀ¯Ê» Ã{Z¨f‡Y ½Z] ¾ËY Y ...Á |‹Z] €]Z¯ ZÅ| ÉYY{ |¿YÂeÊ» į Server
.{€] Z¯Ä] ʯ|¿Y cY€Ì̤e Z] Y SQL cYÂf‡{ ½YÂeÊ» ,ZÅÃ{Y{ ÉZÅÃZ´ËZa ¾ËY
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 14
¹Á{ ¶§

½M dˀË|» ÉZƼfˆÌ‡ Á ZÅÃ{Y{ ÃZ´ËZa Y¿Y

¥Y|ÅY -1-2
ÃZ´ËZa sY€— į d‡Y ʼ̼e ¾Ë€f¼Æ» ,ZfyZ‡ Ê´¿Â´q Á dˀË|» ºfˆÌ‡ [Zzf¿Y
0Z¬Ì¼Ÿ Y ZÅÃ{Y{ ÃZ´ËZa dyZ‡ É| ] ¶uY€» ,ºÌ¼e ¾ËY .d‡Y ½M }ZzeY Ä] ZqZ¿ ZÅÃ{Y{
.|Å{Ê» Y€« €ÌiZe dve
Á ZÅÃ{Y{ ÃZ´ËZa dˀË|» ÉZƼfˆÌ‡ Á Ã{Y{ ɁZ‡Ã€Ìy} ÉZÆ·|» Y¿Y Z] Šz] ¾ËY {
.|‹ |ÌÅYÂy ZÀ‹M ZÆ¿M ¹Âƨ»
:|̋Z] Äfy»M Y €Ë \·Z˜» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
ZÅÃ{Y{ ÃZ´ËZa Y¿Y x
ÉYĘ]Y Ã{Y{ ÃZ´ËZa ¹Âƨ» x
½M ÉZÆ̳„ËÁ Á ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ ¹Âƨ» x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 16

1
ZÅÃ{Y{ ÃZ´ËZa ÉZÆ·|» Y¿Y -2-2
ÉYĘ]Y ÉZÆ·|» ,ʼË|« ÉZÆ·|» Äf‡{ ć Ä] Y Ã{Y{ ÃZ´ËZa ÉZÆ·|» ½YÂe Ê» ʸ¯ —Ä]
:{€¯ ºÌˆ¬e |Ë|m ÉZÆ·|» Á
ʼË|« ÉZÆ·|» -1
ÉZÀ^» €] Á{ €Å ZÆ·|» ¾ËY .d‡Y ÉYÄ°^‹ µ|» Á Ê^eY€»Ä¸ˆ¸‡ µ|» ZÆ·|» ¾ËY ¾Ë€f¼Æ»
€´Ë|°Ë Z] –^e€» ÉZÅ{¯ c Ä] ZŽM { ZÅÃ{Y{ ÊÀ Ë -|¿YÃ|‹ ÉY~³ÄËZa {¯
d‡Y dy{ ®Ë ¶°‹ Ä] ʗZ^eY ZfyZ‡ Ê^eY€»Ä¸ˆ¸‡ µ|» { .|¿Â‹Ê» ÊÅ|¿Z»Z‡
.|‹Z]Ê» ¥Y€³ ®Ë c Ä] ÉY Ä°^‹ µ|» { įʷZu {
ÉYĘ]Y µ|» -2
.d‡Y ÉYĘ]Y Ã{Y{ ÃZ´ËZa µ|» ,ZÅÃ{Y{ ɁZ‡Ã€Ìy} µ|» ¾Ë€e{€]Z¯€a Á ¾Ë€fnËY
ÉYÃÂ̋ ÉÄÀÌ» { ÊeÓZ¬» 1970 µZ‡ { {€¯Ê» Z¯ ¹YÊ]ÉM d¯€‹ { į {Z¯ Z³{Y
Relational Model of į ÉÁ cÓZ¬» Y Ê°Ë .d‹Â¿ ZÅÃ{Y{ ÃZ´ËZa dyZ‡ ÉY€] |Ë|m
(±‚] ʯY€f‹Y ÉZÅÃ{Y{ ÉZÆ°¿Z] ÉY€] ÉYĘ]Y µ|») Data for Shared Data Bank
±‚] ÉZÅÃ{Y{ ÃZ´ËZa Z] Z¯ Á ɁZ‡Ã€Ìy} ÉY€] É|Ë|m ºfˆÌ‡ ʇ€] Ä] ,d‹Y{ ¹Z¿
.{‹ʻ ÊuY€— ZÅĘ]Y Y ÉYğ¼n» c Ä] µ|» ¾ËY .{Â] ÄfyY{€a
µÁ|m c Ä] Ę]Y Y€Ë ,d‡Y ½M ʳ{Z‡ µ|» ¾ËY d̬§Â» ¶Ì·{ ¾Ë€f¼Æ»
€´Ë{ ɇ Y .|À¼Æ§Ê» Y½M ʳ{Z‡ Ä] {Y€§Y į d‡Y Ê»Âƨ» į {‹ʻ ɁZ‡Ã{ZÌa
cZŸÔ—Y ®¿Z] cZ̏y €´Ë{ Y .{Y{ É« Z̈] ®ËÂXe Ä¿YÂfŒa ÉYĘ]Y µ|»
¾ËY Y ‚Ì¿ SQL.{€] ¹Z¿ ½YÂeÊ» Y ZÅÃ{Y{ µÔ¬f‡Y Á ZÅÃ{Y{ Ä] Ê]ZÌf‡{ ½Z¬e ÉYĘ]Y
.d‡Y YÂf‡Y ½M ºÌÅZ¨» ÉZÀ^» €] Á |À¯Ê» ÉÁ€Ìa µ|»
Ŀ³½Z¼Å free-form ÉZÅ{¯ c Ä] {¯ Ä°ÀËY ÉZm Ä] ÃÂ̋ ¾ËY {
d]Zi µÂ— Z] ÉZÅ{¯ Z] Ê·Á|m Y ,|¿Â‹ ÀÌy} {Â] Ã|»M CODASYL ‰Á { į
į ÊËZm { Á Ã|À¯Y€a ÉZÅÃ{Y{ ÃZ´ËZa ɁZ‡Ã€Ìy} ÉY€] ʼfˆÌ‡ ¾ÌÀq.|‹Ê» Ã{Z¨f‡Y
¶u Y ¶°Œ» ¾ËY ÉYĘ]Y µ|» .{Y|¿ ÊËMZ¯ ,|ÀfˆÅ Ê·Zy {¯ ÉZÅÃ{Y{ Y ʔ ]
€ZÀŸ Á |¿Â‹Ê» ºÌˆ¬e µÁ|m ɀ‡®Ë Ä] ZÅÃ{Y{ į c ¾Ë|] .d‡Y Ã{€¯

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ¹ZÆq Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
17 ½M dˀË|» ÉZƼfˆÌ‡ Á ZÅÃ{Y{ ÃZ´ËZa Y¿Y

.|¿€Ì³Ê» Y€« µÁ|m { ZÌ¿ c { Á |¿{€³Ê» kZy ʸY µÁ|m Y ÉZÌfyY
Z¯ Ä] Ạ̀ Á ½Z¿M Ê¿ZŒ¿ Á Ê»Z‡Y ,½Y€]Z¯ cZŸÔ—Y Ê]ZË{ ÉY€] ʼfˆÌ‡ ¾ÌÀq
{» į ÊËZźfËM Á |¿€Ì³Ê» ÉZm {¯ ®Ë { ʌËZ¼Ìa ‰Á { ZÅÃ{Y{ .{ÁÊ»
.{Â] |ÀÅYÂz¿ ‚Ì¿ ZÅÃ{Y{ ÃZ´ËZa { ,|¿€Ì´¿ Y€« Ã{Z¨f‡Y
µÁ|m ,Ê»Z‡Y µÁ|m Ôj» ,ÉYÄ¿Z³Y|m µÁY|m { ÉYĘ]Y ÃÂ̋ { ZÅÃ{Y{
.d‡Y ºfˆÌ‡ ¾ËY { ºÆ» Äf°¿ cZŸÔ—Y ¾Ì] •Z^eY ÉY€«€] .|¿€Ì³Ê» ÉZm ZÅÊ¿ZŒ¿
Á |¿Â‹Ê» ʧ€ » |̸¯ ½YÂÀŸ Ä] cZŸÔ—Y ÉZÅdÌ] Y ʔ ] ÉYĘ]Y µ|» {
,{‹ʻ ÉÁMž¼m €]Z¯ cZŸÔ—Y į Ê»Z´ÀÅ .|ÀfˆÅ ʏZy {¯ €´¿ZÌ] 0Y€vÀ»
|̸¯ ÉÂnfˆm Z] ,|¿Â‹Ê» ÀÌy} ÉZÌfyY µÁY|m { į Y cZŸÔ—Y ¾ËY ½YÂeÊ»
.d§ZË Ä—Â]€»
|Ë|m ÉZÆ·|» -3
Á ZŁZÌ¿ Ê»Z¼e Ä] ÊË´z‡Za Ä] {Z« ŠËZŁZÌ¿ ¹Z¼e Z] ÉYĘ]Y µ|» Ä°ÀËY Ä] ÄmÂe Z]
½YÂeÊ» ZÆ¿M Éĸ¼m Y į |¿Y Ã|‹ ʧ€ » É|Ë|m ÉZÆ·|» dˆÌ¿ ɁÁ€»Y ÉZÅ{€]Z¯
:{€¯ ÃZ‹Y €Ë {Y» Ä]
ʌËZ¼Ìa ÉZÅÃ{Y{ ÃZ´ËZa
|Ë{€³ \m» Y ÃœÀ»Ä¼Å ÉZÅÃ{Y{ ÃZ´ËZa ÉZźfˆÌ‡ ŠËY|Ìa ,€eÂÌb»Z¯ ɀ]Z¯ |‹
,¾» p] ‚·Zq .|‹ Äf§€³ Z¯ Ä] ÉZne Šz] { ÊËZźfˆÌ‡ ¾ÌÀq 1960 –‡YÁY { Á
½ZÌÀ] Y Group Database Task ÃÁ€³ , IDS ¹Z¿ Z] ÊeӐv» ¾ÌÀq Y Ê°Ë Ã|ÀˆË¿
1971 µZ‡ { ZÆ¿M .|‹ COBOL ɁZ‡{Y|¿Zf‡Y Á {ZnËY µÁˆ» ÃÁ€³ ¾ËY į {ZÆ¿
¾ËY .d‹Y{ ¹Z¿ Approach CODASYL {Y|¿Zf‡Y ¾ËY .|¿{¼¿ ē€Ÿ Y {Ây {Y|¿Zf‡Y
¾Ì·ÁY ÉY€] ZÅÃ{Y{ ÃZ´ËZa į Ê»Z´ÀÅ .{Â] ZÅÃ{Y{ ğ¼n» Êf‡{ ŠËZ¼Ìa €] ÊÀf^» ÃÂ̋
\Ìe€e ¾Ì¼Å Ä] Á {€¯Ê» ÃZ‹Y ZÅÃ{Y{ ÃZ´ËZa { {¯ ¾Ì·ÁY Ä] ,{€¯Ê» Z] Y Ä»Z¿€] Z]
{¯ ®Ë Ä] ʇ€f‡{ ÉY€] †Ë¿ĻZ¿€] .|‹Ê» ÃZ‹Y Ã{Y{ ÉZŊz] €ËZ‡ Ä] ‚Ì¿
.|‡€] €œ¿{» {¯ Ä] Ze |À¯ µZ^¿{ \Ìe€e Ä] Y Zŀ³ÃZ‹Y ¾ËY Ze {Â] Â^n» Zy
ÉY€] |ËZ] "|ÀÀ¯Ê» ʳ|¿ |W‡ { į É{Y€§Y ¹Z¼e ¾f§ZË" |À¿Z» Ã{Z‡ ÉZÅ Query {
{ÂmÁ find ¹Z¿ Ä] ÉÂf‡{ Á |‹Ê» ʈË¿ĻZ¿€] ZÅÃ{Y{ ğ¼n» ¶¯ { Ânfˆm
ºfˆÌ‡ ¾ËY .d‹Y{ IMS ¹Z¿ Ä] ÊËZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ IBM d¯€‹ .d‹Y|¿
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 18

Ã{Z¨f‡Y ÉYÄ°^‹ µ|» Y į ½M ¥Ôy€] Z»Y ,{Â] CODASYL Ä]ZŒ» ¹Âƨ» €œ¿ Y
.{€]Ê» Z¯ Ä] Y Ê^eY€»Ä¸ˆ¸‡ µ|» IMS ,{¼¿Ê»

É| ] |Àq ÉZÅÃ{Y{ ÃZ´ËZa


‚Ì¿ ÊËZÅZ¯ |Àq€Å .|À¯ €Ìzˆe Y YZ] dŸ€‡ Ä] dˆ¿YÂe ÉYĘ]Y ÉZÅÃ{Y{ ÃZ´ËZa
ɀ̳Z¯Ä] ÄËÁ Ä] .|Å{ ¹Zn¿Y Ê]Ây Ä] dˆ¿YÂeʼ¿ ZÅÃ{Y{ ÃZ´ËZa ¾ËY į d‹Y{ {ÂmÁ
Y ºfˆÌ‡ É|À¯ ,­€fŒ» Ã{Y{ ÃZ´ËZa |Àq { Á ºÅ Ä] –^e€» {¯ |Àq { ZÅ|̸¯
.|‹Ê» \m»
Y ÉÁ ¹Z¿ |ËZ] ÉYĘ]Y ºfˆÌ‡ ,ʸŸ ¹Z¿ Z] ɀ]Z¯ Ê¿ZŒ¿ ¾f§ZË ÉY€] Ŀ¼¿ ÉY€]
µÁ|m { †b‡ Á |]ZÌ] Y (Primary Key) ʸY |̸¯ Á |À¯ Ânfˆm €]Z¯ µÁ|m {
.{{€´] |̸¯ ½M µZ^¿{ ,ZÅÊ¿ZŒ¿
Ä] Z»Y ,{‹ʻ [ˆv» cZ̸¼Ÿ ®Ë –¬§ ,€]Z¯ €œ¿ Y dÌ “Á ¾ËY Äq€³Y
.{Â] |ÅYÂy €]½Z» Á Ã|ÌrÌa Z¯ ¾ËY į d‡Y |À»ZÌ¿ µÁY|m { Ânfˆm
¾Ì] •Z^eY ÃZ]{ tˀ cZŸÔ—Y ZÅÃ{Y{ ÃZ´ËZa į d‡Y ¾ËY ¶°Œ» ¾ËY Z¯ ÃY
µÁ|m { |̸¯ ÉÂnfˆm Z] ʸŸ Ê¿ZŒ¿ ¾f§ZË ÉZm Ä] ½YÂeÊ» .|ËZ¼¿ ÀÌy} Y ZÅÃ{Y{
{ ,|‹Z] Ã{Y{ ®·Z» ,ʸY {¯ €³Y ž«YÁ { .{¼¿ ÀÌy} Y ZÅÃ{Y{ Ä] €³ÃZ‹Y ,Ê¿ZŒ¿
|ÅYÂy ŠËY‚§Y ʇ€f‡{ dŸ€‡ €´Ë{ ɇ Y Á |‹ |ÅYÂy ÀÌy} ʰ˂̧ ½Z°» ½Z¼Å
.d§ZË
į Ê»Z´ÀÅ { ºfˆÌ‡ ¾ËY .|À»Z¿Ê» É| ] |Àq ÉZÅÃ{Y{ ÃZ´ËZa Y ʼfˆÌ‡ ¾ÌÀq
į ÊËZn¿M Y .{Â] |ÅYÂy |À»{‡ Z̈] ,{‹ʻ Ã{Z¨f‡Y ±‚] ÉZÅÃ{Y{ ğ¼n» Y
— Ä] YZ] { ÃZ³pÌÅ ,{ÁÊ» Z¯ Ä] ±‚] ÉZÅÃ{Y{ ğ¼n» ÉY€] ºfˆÌ‡ ¾ËY
.d§ZË |ÅYÂz¿ d̻¼Ÿ ºÌ¬fˆ»

Y€³ V̋ ÉZÅÃ{Y{ ÃZ´ËZa


ÉZźfˆÌ‡ Ä ‡Âe Ä] Z»Y ,|ÀËZ¼¿ €Ìzˆe Y YZ] |Àfˆ¿YÂf¿ É| ] |Àq ÉZźfˆÌ‡ Äq€³Y
É| ] |Àq ÉZźfˆÌ‡ ºÌÅZ¨» Á ZfyZ‡ €] ÊÀf^» į ZźfˆÌ‡ ¾ËY .|¿|‹ €nÀ» Y€³V̋
.|ËZ¼¿ ÀÌy} ZÅÃ{Y{ ÃZ´ËZa { ºÌ¬fˆ» — Ä] Y LZ̋Y Ze |ÀÅ{Ê» ½Z°»Y €]Z¯ Ä] ,|ÀfˆÅ
19 ½M dˀË|» ÉZƼfˆÌ‡ Á ZÅÃ{Y{ ÃZ´ËZa Y¿Y

Y (Object Oriented Programming) Y€³V̋ ʈË¿ĻZ¿€] ZfyZ‡ \Ìe€e ¾Ë|]


{» ZÅÃ{Y{ ÃZ´ËZa { ,ZÅd»€§ €ËZ‡ Ä] ½{¼¿ ¶Ë|^e ½Á|] Á ºÌ¬fˆ» — Ä] ½YÂeÊ»
ºfˆÌ‡ { (Ownership) dÌ°·Z» ºÌÅZ¨» ¶Ì·{ Ä] dÌ “Á ¾ËY .{Y{ Y€« Ã{Z¨f‡Y
.|Å{Ê» w ,É| ]|Àq
,d‡Y Ĝ§Zu { LZ̋Y €ËZ‡ "®·Z»" Zy Lʋ ®Ë ,(OO) Y€³V̋ Ä»Z¿€] {
ÉZÅÃ{Y{ ÃZ´ËZa { dÌ°·Z» ¹Âƨ» į Êe { .|‹Z]Ê» {Ây Ê¿ZŒ¿ ®·Z» ʸŸ Ôj»
.|‹Z] Ê» ZÆ·|» €ËZ‡ Y €eª§Â» µ|» ¾ËY .{Y|¿ {ÂmÁ ÉYĘ]Y

(DBMS) ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ -3-2


1

Y Ã{Z¨f‡Y Z] |¿{Â] Â^n» ½Y€]Z¯ ,cZŸÔ—Y ®¿Z] dˀË|» ¹Zœ¿ ½|»M {ÂmÁÄ] Y ŠÌa
\Ìe€e ¾ËY Ä] .|ÀÀ¯ ÊÅ|¿Z»Z‡ ZƸËZ§ { Y cZŸÔ—Y ,Ê]ZˁZ] Á ÀÌy} ÉZÅY‚§Y¹€¿
¾ÌÀr¼Å Á |¿{€¯Ê» Ã{Z»M Ä¿Z³Y|m Y ėÂ]€» ÉZÅÃ{Y{ dˆËZ]Ê» {€]Z¯ €Å ÉY€]
.{Â^¿ ¾°¼» Ê·Â^« ¶]Z« t˜‡ { ZÅÃ{Y{ ­Y€f‹Y
Ê·Âve ,DBMS ZfyY Ä] ZË Á cZŸÔ—Y ®¿Z] dˀË|» ¹Zœ¿ ½|»M {ÂmÁÄ] Z]
į \Ìe€e ¾ËY Ä] .|»M {ÂmÁÄ] cZŸÔ—Y ÊÅ|¿Z»Z‡ Á Ê]ZˁZ] Á ÀÌy} Šz] { ºÌœŸ
Ŀ³€Å Á Ã{Â] DBMS ZÌfyY { –¬§ Á –¬§ ZÅÃ|¿Á€a Ê»Z¼e cZŸÔ—Y ®¿Z] €Å {
.{€Ì³Ê» ¹Zn¿Y ½M ªË€— Y ZÆÀe ZÅ Ã{Y{ Ä] Ê]ZÌf‡{
Ä»Z¿€] |Àq Y ÉYğ¼n» ZË ®Ë ,(DBMS) ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡
ÉZÅÃ{Y{ Y ʼ̜Ÿ ğ¼n» ,ZÅÃ{Y{ ÃZ´ËZa dˀË|» ÉY€] į d‡Y ɀeÂÌb»Z¯
.d‡Y Ã|‹ ÊuY€— ,½Y€]Z¯ Êf‡YÂy{ ÉZÅÃ{Y{ ÉÁ €] ÊËY€mY cZ̸¼Ÿ Á Äf§ZËdyZ‡
ºfˆÌ‡ {€]Z¯ Y ÊËZÅĿ¼¿ ,­€fŒ» ½Z^ÌfŒa Á Ê¿Zˆ¿Y ž]ZÀ» ,ÉY|]Zˆu ÉZźfˆÌ‡
s€˜» ±‚] ÉZÅd¯€‹ { –¬§ €fŒÌa į ZźfˆÌ‡ ¾ËY .|ÀfˆÅ ZÅÃ{Y{ ÃZ´ËZa dˀË|»
dˀË|» ÉZźfˆÌ‡ cÁZ¨e .|¿Â‹Ê» [ˆv» d¯€‹ { ʼƻ Šz] 0Y€ÌyY ,|¿{Â]
½YÂÀŸ Ä] ¯~» ÉZźfˆÌ‡ į d‡Y ¾ËY { ZÅÃ{Y{ ÃZ´ËZa ÉZÅÄ»Z¿€] Z] ZÅÃ{Y{ ÃZ´ËZa
{ ,ʌ¬¿ ¾ÌÀq ÉZ¨ËY ÉY€] ZźfˆÌ‡ ¾ËY .|¿YÃ|‹ ÊuY€— À]Z¯|Àq ºfˆÌ‡ Âe»

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºŒ‹ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 20

Y ÉYÄ°^‹ ½Z^ÌfŒa Z] (Private Multitasking Kernel) ʏy ÉYĨ̛Á |Àq ÄfˆÅ


½Á{ { Y ZÅĿ³ ¾ËY ,Ŀ¼¿ Ã{Y{ ÃZ´ËZa Ä»Z¿€] ®Ë .|¿YÄf§€³ Y€« ,Ã|‹ÄfyZ‡ ŠÌa
Ê¿Z^ÌfŒa ÊËZÅĿ³ ¾ÌÀq {€°¸¼Ÿ Y ¶»ZŸ ºfˆÌ‡ ®¼¯ Z] |¿YÂf] |ËZ‹ Z»Y ,{Y|¿ {Ây
.|À¯
dv ,cZŸÔ—Y d›Z¨u Z] •Z^eY { ʟÂÀf» ÉZƈËÁ€‡ ZÆÀe Ä¿ DBMS
Ä] ­€fŒ» Ê]ZÌf‡{ ½Z°»Y Ä°¸] ,{Y{ {Ây { cZŸÔ—Y Ê]ZˁZ] Á ÀÌy} Á cZŸÔ—Y
.{Z‡Ê» ºÅY€§ ‚Ì¿ Y ZÅÃ{Y{ ÃZ´ËZa { Ê´¿Á‚§Y Y|¬» Ã|‹ [Zˆu µ€fÀ¯ Á ZÅÃ{Y{
:|¿Y{ Z¯ Á €‡ DBMS Z] {Y€§Y ÃÁ€³ ć ʸ¯ —Ä]
1
(DBA) cZŸÔ—Y ®¿Z] €Ë|» -1
Y ®Ë €Å į |À¯Ê» ŽzŒ» ÊÀ Ë ˬd‡Y ZÅÃ{Y{ ÃZ´ËZa ʸ¯ ʌ» –y Ã|ÀÀ¯ ¾ÌÌ e
Äq ¹Zn¿Y Ä] Zn» Á |À‹Z] Äf‹Y{ ʇ€f‡{ |À¿YÂeÊ» cZŸÔ—Y Ä] |u Äq Ze ½Y€]Z¯
Á {‹ ÄÌÆe ½Z^ÌfŒa cZŸÔ—Y ®¿Z] Y ÊËZÆ¿Z» Äq { ,|ÀfˆÅ ZÅÃ{Y{ ÉÁ €] ÊeZ̸¼Ÿ
.{€Ì³ c cZŸÔ—Y ®¿Z] { ÊeY€Ì̤e Äq
(DBP) cZŸÔ—Y ®¿Z] Z‡Ä»Z¿€] -2
ʷ¼ » €]Z¯ Z] |ËZ^¿ Y Z‡Ä»Z¿€].|À¯ Ê» ɁZ‡Ã{ZÌa Y cZŸÔ—Y ®¿Z] €Ë|» cZ¼Ì¼e
{ -|ÀfˆÅ cZŸÔ—Y ®¿Z] ɀ^ÅY Á ZÅÄ»Z¿€] ÉY€mY µÂXˆ» ½Y€]Z¯ .d§€³ ÃZ^f‹Y
ɁZ‡Ã{ZÌa Ä»Z¿€] c Ä] Y €Ë|» cZ¼Ì¼e cZŸÔ—Y ®¿Z] ½YZ‡ Ä»Z¿€] įʷZu
.{‹ Y€mY ½Y€]Z¯ –‡Âe Ze |ÀÀ¯Ê»
(User) €]Z¯ -3
Y€mY Y Ã|‹ Äf‹Â¿ cZŸÔ—Y ®¿Z] ½YZ‡Ä»Z¿€] –‡Âe į ÊËZÅÄ»Z¿€] ZÆÀe ½Y€]Z¯
Ä] Zn» į Zn¿M Ze cZ///ŸÔ—Y €Ì̤e Á Ê]ZˁZ] ,ÀÌy} Ä] ZÆ¿M Y Ã{Z¨f‡Y Z] Á |ÀÀ¯Ê»
.|¿Y{€aÊ» ,|ÀfˆÅ ZÆ¿M ¹Zn¿Y
ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ ÉZÅʳ„ËÁ
dˀË|» ºfˆÌ‡ .ºËY{€aÊ» ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ ¦ÌÂe Ä] Ä»|¬» ¾ËY Y †a
Á ɁZ‡Ã€Ìy} į d‡Y ÉY‚§Y¹€¿ ÉZÅÄ»Z¿€] Y Ã|ÌrÌa ÉYğ¼n» ,ZÅÃ{Y{ ÃZ´ËZa

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºf¨Å Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
21 ½M dˀË|» ÉZƼfˆÌ‡ Á ZÅÃ{Y{ ÃZ´ËZa Y¿Y

.|À¯Ê» µ€fÀ¯ ,ZÅÃ{Y{ ÃZ´ËZa { Y ½Z»Z‡ (ZŶËZ§ Á ZÅ{¯ ,ZÅ|¸Ì§) ÉZÅÃ{Y{ Ê]ZˁZ]
dˀË|» ºfˆÌ‡ .{Y{ Ã|Ɵ €] ‚Ì¿ Y ZÅÃ{Y{ ÃZ´ËZa dv Á dÌÀ»Y µ€fÀ¯ ,ºfˆÌ‡ ¾ËY
|Å{Ê» Âf‡{ ¶»ZŸ ºfˆÌ‡ Ä] Á {€Ë~aÊ» Ä»Z¿€] Y Y Ã{Y{ ÉZÆf‡YÂy{ ,ZÅÃ{Y{ ÃZ´ËZa
,{€Ì³Ê» Y€« Ã{Z¨f‡Y {» ʼfˆÌ‡ ¾ÌÀq į Ê»Z´ÀÅ .|Å{ µZ¬f¿Y Y \‡ZÀ» ÉZÅÃ{Y{ Ze
€Ì̤e €e½Z‡M ‚Ì¿ ÊeZŸÔ—Y ÉZźfˆÌ‡ ,|]ZË €Ì̤e Ê¿Z»Z‡ ÊeZŸÔ—Y ÉZÆË|À»ZÌ¿ €³Y
.|À¯Ê» Ê¿Z^ÌfŒa ZÅÃ{Y{ ÃZ´ËZa dv Y ¯~» ºfˆÌ‡ .d§ZË |ÀÅYÂy
Y {¯ ®Ë ,Ĝv· €Å { €]Z¯ ®Ë Y ŠÌ] |Å{ʼ¿ ÁZmY į \Ìe€e ¾Ë|]
ÃZ´¿ ZÅÃ{Y{ ÃZ´ËZa kZy { Y ÉY€°e ÉZÅ{¯ ºfˆÌ‡ ¾ËY .|À¯ Ê¿Z‡ÁÄ]
ZÅÃ{Y{ ÃZ´ËZa { |À¿YÂeʼ¿ ,ɀfŒ» ÃZ¼‹ ®Ë Z] ɀfŒ» Á{ pÌÅ ,µZj» ÉY€] .{Y{Ê»
ºÅY€§ ZÅÃ{Y{ ÃZ´ËZa ʸ»Z e Ê¿Z‡ Á Ä] Á {ÁÁ ÉY€] ʋÁ ºfˆÌ‡ ¾ËY .|¿Â‹ {YÁ
,½Y|À»Z¯ ,½ZˀfŒ») €Ìœ¿ ÊeZŸÂ“» Y Z¯ Á \ˆ¯ cZŸÔ—Y ºfˆÌ‡ ®Ë .{ÁMÊ»
(Ạ̀ Á ZÅ|ˀy ,ZÅdyY{€a ,cZ‹Z¨‡) ½Âq ÊËZÅdÌ·Z § Á (Ạ̀ Á ½Z³|À‹Á€§
ÊÅ|¿Z»Z‡ ÃÂv¿ ÃZ]{ ɀ̳ºÌ¼e |ÀËM€§ ,ZÅÃ{Y{ ÃZ´ËZa ÊuY€— .d‡Y Ã|‹ ¶Ì°Œe
ÃZ´ËZa dˀË|» ºfˆÌ‡ .d‡ZÅ{¯ ¾Ì] •Z^eY ÉY€«€] Á ZÅ{¯ Y¿Y { ZÅÃ{Y{ ¾ËY
.|Å{ ½ZŒ¿ Šz] €iY — Ä] ½Z»Z‡ { Y ZÆ¿M •Z^eY Á ZÅÃ{Y{ ZfyZ‡ |¿YÂeÊ» ZÅÃ{Y{
®Ë .ÉYĘ]Y Á ÉYÄ°^‹ ,Ê^eY€»Ä¸ˆ¸‡ :Y |ÀeZ^Ÿ Ê¿Z»Z‡ µÁY|f» µ|» Â¿ ć
.{ÁM ºÅY€§ Y ‰Á ć €Å ZË Á{ ,®Ë d‡Y ¾°¼» ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡
ÃZ´¿ Y Ê «YÁ ÉZÅÃ{Y{ ÃZ´ËZa į |ÀfˆÅ ÊËZŀeÂÌb»Z¯ ,ZÅÃ{Y{ ÃZ´ËZa ÉZÅÁ€‡
.|ÀÀ¯Ê» Y€mY Y ėÂ]€» Y‚§Y¹€¿ Á ZÅÃ{Y{ ÃZ´ËZa dˀË|» ºfˆÌ‡ –¬§ Á |¿Y{Ê»
ÉY€] RAID ®ˆË{ ÉZÅÄËYM Z] ÉYÃ|¿Y{€a |Àq ÉZŀeÂÌb»Z¯ ZÅÁ€‡ ¾ËY Ó¼ »
.|À‹Z]Ê» ɁZ‡Ã€Ìy}

ZÅÃ{Y{ ÃZ´ËZa dˀË|» µÁY|f» ÉZźfˆÌ‡ Y¿Y -4-2


Closed source :

x IBM (DB2)
x FileMakerˬ Inc (FileMaker Pro)
x IBM (IMS)
x Informix
x Computer Associates (Ingress)
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 22

x Borland (Interface)
x Microsoft (Microsoft SQL Server)
x Microsoft (Microsoft Access)
x Mimer AB (Mimer SQL)
x Oracle
x Sybase
x NCR Corporation (Teradata)

Open Source:

x Sleepy cat software (Berkeley DB )


x I Phoenix (Firebird)
x My SQL AB (My SQL)
x PostgreSQL
x MaxDB
x SQLite
¹Â‡ ¶§

ZÅÃ{Y{ ÃZ´ËZa ÊuY€—

¥Y|ÅY -1-3
Ã{Y{ ÃZ´ËZa dˀË|» ÉY€] ÉY‚§Y¹€¿ Äq Y |ÌÅYÂyÊ» |Ë{€¯ ŽzŒ» į ¾ËY Y | ]
.|ÌÅ{ ¹Zn¿Y |ËZ] į d‡Y ÉZ¯ ¾Ë€eºÆ» Á ¾Ì·ÁY Ã{Y{ ÃZ´ËZa ÊuY€— ,|ÌÀ¯ Ã{Z¨f‡Y {Ây
ºÌÀ¯Ê» ʇ€] É{€]Z¯ Ä^Àm Y ,Y ZÅÃ{Y{ ÃZ´ËZa ÊuY€— ʇZ‡Y ¶uY€» Šz] ¾ËY {
.dyY{€a ºÌÅYÂy ZÆ¿M Y ®Ë €Å ‰Â»M Á s€‹ Ä] [Zf¯ Ä»Y{Y { Á
:|̋Z] Äfy»M Y €Ë \·Z˜» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
ZÅÃ{Y{ ÃZ´ËZa ÊuY€— ʇZ‡Y ¶uY€» x
½M ¹Á‚· Á ɁZˆ·|» ¹Âƨ» x
½M Y¿Y Á Ƀ·Á|f» x
½M {€]Z¯ Á UML ¹Âƨ» x
ʬ˜À» ÊuY€— Ä] UML ZË ER ÉZÅY{¼¿ ¶Ë|^e ‰Á x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 24

1
ZÅÃ{Y{ ÃZ´ËZa ÊuY€— ʇZ‡Y ¶uY€» -2-3
:Y |ÀeZ^Ÿ É{€]Z¯ Ä^Àm Y ,ZÅÃ{Y{ ÃZ´ËZa ÊuY€— ʇZ‡Y ¶uY€»
ZŁZÌ¿ ʇ|ÀÆ» ¹Zn¿Y Á ºfˆÌ‡ dyZÀ‹ Á Ä ·Z˜» -1
(...ZË UML ZË ER ‰Á Z]) ZÅÃ{Y{ ÊËZÀ » ɁZˆ·|» -2
(ʰ˂̧ ÊuY€— Á ʬ˜À» ÊuY€—) ZÅÃ{Y{ ÃZ´ËZa ÊuY€— -3
ZƌÀ¯Y€e ¾ÌÌ e Á É{€°¸¼Ÿ ¶Ì¸ve ¹Zn¿Y Á ʇZÀ‹Y‚]Y -4
ɀ]Z¯ ÉZƘ‡YÁ Á É{€]Z¯ ÉZÅÄ»Z¿€] ÊuY€— Á ɁZ‡Ã{ZÌa -5
ºfˆÌ‡ ÉY€mY Á ÊËY{µZ°‹Y ,dˆe -6
ÃZ^f‹Y Z¯ ¾ËY Ê·Á ,|ÌÀ¯ ÀÌy} µÁ|m ®Ë { Y ½ZfËZÅÃ{Y{ ¹Z¼e |Ì¿YÂeÊ» Z¼‹
®Ë { Y‚n» cÄ] Y Â“» €Å Ä] •Â]€» ÉZÅÃ{Y{ d‡Y €fÆ] Á d‡Y ʳ‚]
,|À¯Ê» ÉY|Æ´¿ Y ɀfŒ» ÉZƋZ¨‡ į ÉYÃ{Y{ ÃZ´ËZa { 0Ôj» .|ÌÀ¯ ÀÌy} µÁ|m
:|̋Z] Äf‹Y{ Y €Ë ÉZÆ·Á|m d‡Y ¾°¼»
ɀfŒ» Y¿Y ZÆˀfŒ»
¶¬¿ Á ¶¼u ÉZƋÁ cZ‹Z¨‡
cӐv» dyY{€a ÉZÅÃÁ{
½Z³|À‹Á€§
Y {Ây µÁY|m |ËZ] µÁ|m €Å ÉZÅ|¸Ì§ ½{€¯ ŽzŒ» Á ZÆ·Á|m ¾ÌÌ e Y | ]
µZj» ÉY€] Á Ã{Â] \e€» Ã{Y{ ÃZ´ËZa į d‡Y ¾ËY ɁZ‡µZ»€¿ Y ¥|Å .ºÌÀ¯ ɁZ‡µZ»€¿
Ze Y ZÆ·Á|m Ã{Y{ ɁZ‡µZ»€¿.|ÀËZÌ] ZÆ·Á|m ¹Z¼e { ÁY …{M Á ɀfŒ» ¹Z¿ |‹Z^¿ ZÌ¿
.|‹Z] Äf‹Y|¿ {ÂmÁ ÃZ^f‹Y Á Z˜y ½Z°»Y Ze {Z‡Ê» Ã{Z]€a Á Ã{€Œ§ ½Z°»Y |u

ZŁZÌ¿ ʇ|ÀÆ» -3-3


:d‡Y €Ë cZ»Y|«Y ¶»Z‹ ZŁZÌ¿ ÉÁM{€³
€]Z¯ ÉZÅ|ÀËM€§ ­{ x
(½Y|Ì») ÁÂu ¶Ì¸ve ÉY€mY x

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºÅ{‚̇ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
25 ZÅ Ã{Y{ ÃZ´ËZa ÊuY€—

(¶»Z f») €´Ë|°Ë €] Y~³€iY ÉZƼfˆÌ‡ ÊËZ‡ZÀ‹ x


ºfˆÌ‡ ÉZŁZÌ¿ ­{ x
lËZf¿ ÉÄWYY x
{Ây ¾Å} { É{| f» cÓY‡ Ä] |ËZ] |ÌÀ¯ {ZnËY Y ½ZeÃ{Y{ ÃZ´ËZa Ä°ÀËYY ¶^«
:µZj» —Ä] .|ÌÅ{ [YÂm
.d‡Y Ŀ´q ½M ÊÅ|¿Z»Z‡ ‰Á ¾Ë€fÆ] Á ºÀ¯ ÀÌy} ºÅYÂyÊ» ÉYÃ{Y{ Äq x
.d‹Y{ |ÌÅYÂy ZÌ¿ Ê·ÁY|m Äq Ä] |À¯Ê» ŽzŒ» į
.ºÅ{ ¹Zn¿Y |ËZ] Y Z¯ Z] –^e€» ,Ã{Y{ {ÁÁ ÉZÆfÌ·Z § Äq x
.|À¯ Ê» ŽzŒ» |ËY{ ZÌ¿ į Y ÊËZÅ ¹€§ į
.º¿Y|] ºÅYÂyÊ» ¹Z¯ Á dÌ·Z § {» { ÊeZŸÔ—Y Äq x
.|ËY{ ¹Ó ÊËZÅ Âm Á …€a ZË Á ‰Y‚³ Äq ,|˳ʻ Z¼‹ Ä] į
ÉZÆ˃·Á|f» Y Ã{Z¨f‡Y Z] dˆËZ]Ê» ¹Z³ ¾Ì·ÁY { ,ZÅÃ{Y{ ÃZ´ËZa ÊuY€— ÉY€]
ºfˆÌ‡ Y ʟY‚f¿Y µ|» ®Ë ,ZŁZÌ¿ ʇ|ÀÆ» ¹Zn¿Y Á Šz] ¾Ì¼Å Ä»Y{Y { Ã|‹s€˜»
¹Zn¿Y Y ZÅÃ{Y{ ÊËZÀ » ɁZˆ·|» ,½M cY|Àfˆ» …Z‡Y €] ½YÂf] į ÉÂv¿Ä] .{€¯ |Ì·Âe
...Á ½Z¿M ÊeZŸÔ—Y ÉZÅÄf‡YÂy Á ZŁZÌ¿ ,½Y€]Z¯ N¬Ì«{ |ËZ] œÀ» ¾ËY ÉY€] .{Y{
.|¿Â‹ ŽzŒ» Á ÊËZ‡ZÀ‹

Ƀ·Á|f» ¹Âƨ» -4-3


Y ÉYğ¼n» ĸ̇ÁÄ] į |‹Z]Ê» ĸXˆ» ®Ë ¶u ÉY€] |À»ZfyZ‡ É|ÀËY€§ Ƀ·Á|f»
Ä] ÉY~³{Z¼¿ Y dˆeZ^Ÿ Ƀ·Á|f» €´Ë{ ¦Ë€ e .{{€³Ê» dËZ¼u ½ÂÀ§ Á ZÅY‚]Y
.ºfˆÌ‡ s€— ZË µ|» dyZ‡ ÉY€] ŽzŒ» Á ½|» ‰Á ®Ë ħZ“Y
ÂyÄ] ÉY‚§Y¹€¿ ÉZƼfˆÌ‡ ÊuY€— Á ¶Ì¸ve cZÌ]{Y { Ƀ·Á|f» Â¿ lÀa
:{Y{ {ÂmÁ ÊeZŸÔ—Y ÉZƼfˆÌ‡
ÊfÀ‡ Ƀ·Á|f» -1
”u É|Àq ÉZÆ·Z‡ Ze Y‚§Y¹€¿ ÉZÌ¿{ Á Ä¿ZËY d¬¸y ÉY|f]Y { į ÊfÀ‡ Ƀ·Á|f»
ÉY‚§Y¹€¿ ºfˆÌ‡ ®Ë {ZnËY ÉY€] É|À»ZfyZ‡ Á ŽzŒ» ‰Á pÌÅ ¶Y { ,d‹Y{
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 26

ŠÌa Y Á ½Á|» ‰Á pÌÅ ½Á|] Á ‰YĬ̸‡ \‡ZÀe Ä] †¯ €Å Á {€¯Ê¼¿ Ä̏Âe Y


.{€¯Ê» ‰€œ¿ {» ºfˆÌ‡ ÄÌÆe Ä] ¹Y|«Y Ã|‹ÊuY€—
Y€³|ÀËM€§ Ƀ·Á|f» -2
¦ÌÂe ¶»Z e µZu { ÉZÅ|ÀËM€§ Y ÉYÄ°^‹ ½YÂÀŸ Ä] ºfˆÌ‡ Ƀ·Á|f» Ŀ³¾ËY {
.d‡Y Ƀ·Á|f» ¾ËY Y ÉYĿ¼¿ Äf§ZËdyZ‡ ÉZÅɁ·|f» .{‹ʻ
Ã{Y{ ½Z¼fyZ‡ Ƀ·Á|f» -3
¶»Z e µZu { ÉZÅ|ÀËM€§ Y ÉYÄ°^‹ ½YÂÀŸ Ä] ºfˆÌ‡ ‚Ì¿ Ƀ·Á|f» Ŀ³¾ËY {
Á ¦Ë€ e ,{Âm» ÉYÃ{Y{ ÉZÅZfyZ‡ \ˆu €] ZÅ|ÀËM€§ ZÆfÀ» .{‹ʻ ¦ÌÂe
.|¿Â‹Ê» ÊÅ|¿Z»Z‡
Y ÉYğ¼n» ½YÂÀŸ Ä] ºfˆÌ‡ ʬ¸e €] ɀÅZ› |̯Ze {ÂmÁ Z] į \Ìe€e ¾Ë|]
ZÅ|ÀËM€§ Á µZ¼ŸY ÊÅ|¿Z»Z‡ Á ¦Ë€ e œÀ» Ä] ZÆÀe ZÆ¿M Y (ÉYÃ{Y{ ÉZÅZfyZ‡) LZ̋Y
€´Ë|°Ë €] ZÆ¿M ¶]Z¬f» cY€ÌiPe Á ÉYÃ{Y{ ÉZÅZ/fyZ/‡ ¾Ì] Êf̼ÅY Á {‹ʻ ɀ̳ÀÆ]
.d‡Y Ƀ·Á|f» Â¿ ¾ËY Z] Ŀ¼¿ ½Âˆ°m Ƀ·Á|f» .{‹ʼ¿ Ã{Y{
cZŸÔ—Y ɁZˆ·|» Ƀ·Á|f» -4
|¿Â‹Ê» Äf§€³ €œ¿ { ÉYÃ{Y{ LZ̋Y Y ÉYğ¼n» ½YÂÀŸ Ä] ºfˆÌ‡ Ƀ·Á|f» ¾ËY {
.|¿Y~³Ê¼¿ €´Ë|¼Å €] ʸ]Z¬f» €ÌiZe Z»Y ,|ÀfˆÅ –^e€» €´Ë|°Ë Z] ÉZfyZ‡ €œ¿ Y į
Á |¿Y|¿ (¶¼Ÿ ZË ‰Á) Zf§ ,Y€³Ê‹ ‰Á ½Á{ LZ̋Y ¥Ôy €] ÉYÃ{Y{ LZ̋Y
.d‡Y ÉYÃ{Y{ ÉZÅZfyZ‡ ʇZÀ‹ Z] –¬§ ½ZŒ§|Å
Y€³V̋ Ƀ·Á|f» -5
Y į {‹ʻ Äf§€³ €œ¿{ Z̋Y Y ÉYğ¼n» ½YÂÀŸ Ä] ºfˆÌ‡ Y€³V̋ Ƀ·Á|f» {
.(Zf§) |¿Y{ €´Ë|°Ë €] ʸ]Z¬f» €ÌiZe Á (ZfyZ‡) |À˜^e€» €´Ë|°Ë Z] ÉZfyZ‡ €œ¿
ÉZÆ¿Z] Y Á {€¯ Âƛ 1980 ÄÅ{ ÉZÆf¿Y Á –‡YÁY { Ƀ·Á|f» ¾ËY
‰Á …Z‡Y €] ÊuY€— Á ¶Ì¸ve ZÌ¿ …ZˆuY ½|»M {ÂmÁÄ] Á Y€³V̋ ʈË¿ĻZ¿€]
Y€« ½Y|À»Ä«ÔŸ µZ^¬f‡Y {» į Y€³V̋ ÉZÆ˃·Á|f» Y Êy€] .|Ë{€³ Á€‹ Y€³V̋
:Y |ÀeZ^Ÿ ,|¿Y{ {€]Z¯ ZÆ¿M Y Êy€] ‚Ì¿ ½ÂÀ¯YºÅ Á d§€³
coad/Yourdon Ƀ·Á|f» .1
BON Ƀ·Á|f» .2
27 ZÅ Ã{Y{ ÃZ´ËZa ÊuY€—

OSA Ƀ·Á|f» .3
Hodge/ Mock Ƀ·Á|f» .4
Booch Ƀ·Á|f» .5
OMT Ƀ·Á|f» .6
Fusion Ƀ·Á|f» .7
ZÆfÌ·ÂXˆ» €] ÊÀf^» ÊuY€— Ƀ·Á|f» .8

½M ¹Á‚· Á ɁZˆ·|» -5-3


.d‡Y ÉÁ€“ Z̈] ɁZ‡Â¿ ZË dyZ‡ Y ¶^« ÉY‚§Y¹€¿ ºfˆÌ‡ ®Ë ɁZˆ·|»
ÉZƼfˆÌ‡ ÉY€] ½YÂeÊ» ,|¿Z‡Ê» ÄÌ·ÁY s€— ±‚] ½Z¼fyZ‡ ®Ë ÉY€] į —½Z¼Å
{ {Y€§Y •Z^eY ÉY€] [Ây ÉZÆ·|» .{€¯ ÄÌÆe µ|» ‚Ì¿ ÊeZŸÔ—Y ÉZÆ°¿Z] Á ÉY‚§Y¹€¿
.d‡Y ÉÁ€“ Z̈] ÉZ¼ » c« Y ½ZÀ̼—Y ‚Ì¿ Á €´Ë|°Ë Z] ÃÁ€a ÉZÆÅÁ€³
,ºÌÀ¯ ­{ Zm ®Ë Y ºfˆÌ‡ ¶¯ ºÌ¿YÂeʼ¿ į½M ¶Ì·{Ä] Ã|ÌrÌa ÉZƼfˆÌ‡ { ¾ÌÀr¼Å
,|]ZËÊ» ŠËY‚§Y ZƼfˆÌ‡ ʳ|ÌrÌa į Ŀ³½Z¼Å .ºÌÀ¯ ɁZˆ·|» Y€¿M Y|f]Y d‡Y €fÆ]
ÉY€] ɀ´Ë{ {| f» ¶»YŸ .{‹ʻ €fŒÌ] ‚Ì¿ [Ây ɁZˆ·|» ÉZÆ°ÌÀ°e d̼ÅY
¶»YŸ Y Ê°Ë ÉZˆ·|» {Y|¿Zf‡Y ½Z] ®Ë ¾f‹Y{ į {Y{ {ÂmÁ ÃÁ€a d̬§Â»
.d‡Y ÉÁ€“
:|‹Z] €Ë {Y» ¶»Z‹ |ËZ] ɁZˆ·|» ½Z] ®Ë
.|À¯Ê» ½ZÌ] Y ɁZˆ·|» Ê¿Z » Á ºÌÅZ¨» į :ɁZˆ·|» €ZÀŸ
ºWԟ ¾ËY .ºÌfˆÅ \‡ZÀ» ºWԟ |À»ZÌ¿ µ|» { ɁZˆ·|» €ZÀŸ ½ZÌ] ÉY€] :ºWԟ
.|ÀfˆÅ ɁZˆ·|» €ZÀŸ Y ʼˆne ZË É€] €Ì^ e
ÉY€] Y É{€]Z¯ cZuԘY Á |À¯ dËY|Å µ|» ºÌ‡€e ÉY€] Y Zˆ·|» į :ZÅ{¼ÀÅ
d̼ÅY ɁZˆ·|» { ɀ] ºˆne Ã|ÌrÌa ÉZƼfˆÌ‡ Z] ½|‹ Á€]Á { į |À¯ ½ZÌ] ÁY
.|]ZËÊ» ÉYÄËÁ
‰Á ĸ¼m Y {€Ì³Ê» c ʨ¸fz» ÉZƋÁ Ä] ZÅÃ{Y{ ÊËZÀ » ɁZˆ·|»
ZË "ɁZˆ·|» ʻ¼Ÿ ½Z]" Ä] ¹Â‡Â» ‰Á Á ER ZË "•Z^eY -dË{Âm»" Ä] ¹Â‡Â»
.UML
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 28

,d‡Y Ã|‹ Ã{Y{ s€‹ ZÅÃ{Y{ ÃZ´ËZa [Zf¯ { ¶»Z¯ —Ä] ER ‰Á Ä°ÀËY ¶Ì·{Ä]
.ºËY{€aÊ» UML ‰Á ʇ€] Ä] d¼ˆ« ¾ËY { Z»
‰€Ë~a {» į ɁZˆ·|» {Y|¿Zf‡Y ½Z] ¦Ë€ e ÉY€] d‡Y ʋÔe UML
Á Y€³V̋ ÉZƼfˆÌ‡ {ZnËY ÉY€] ɀ] ɁZˆ·|» ½Z] UML .d‡Y Äf§€³ Y€« ½Z´¼Å
.|‹Z]Ê» (Component-Based) Y‚mY €] ÊÀf^»

UML ¹Âƨ» Z] ÊËZÀ‹M -6-3


1

UML ʧ€ » -1
¾Ì » ÉY€] Ê¿Z] (Unified Modeling Language) |vf» ÉZŵ|» ½Z] ZË UML
,ÉY‚§Y¹€¿ ÉZÅ ºfˆÌ‡ cÓÂ/v» ½{€/¯ |Àfˆ» Á ¾fyZ‡ ,½|̌¯ €Ëe Ä] ,½{€¯
.d‡Y ÉY‚§Y ¹€¿ €Ì£ ÉZÅ ºfˆÌ‡ €ËZ‡ Á ÉZne ÉZźfˆÌ‡
{ ZÆ¿M d̬§Â» į ʼ¸Ÿ -ʇ|ÀÆ» Ê·ZŸ ÉZ°¼Å ®Ë ½{Y{ ½ZŒ¿ ÉY€] UML
.|‹Z]Ê» d‡Y Ã|‹ d]Zi ¶»Z¯ Á ±‚] ÉZźfˆÌ‡ ÉZŵ|»
UML ¹Âƨ» -2
UML ɁÁ€»Y ÉY€³V̋ ÉZƼfˆÌ‡ Ä ‡Âe ÉZÌ¿{ { \·Zm Z̈] ÉZÅY‚]Y Y Ê°Ë
Ä] Y ½Z°»Y ¾ËY įÉÂv¿Ä] ,|À¯ Ê» {ZnËY ɀ] ɁZ‡µ|» ½Z] ®Ë UML .d‡Y
cZŸÂ“» ʳ{Z‡ Ä] Á |ÀËZ¼¿ |Ì·Âe Y ʸ¯ ÉZÆu€— Ze |Å{Ê» ʼfˆÌ‡ €Å ½Z³|¿Z‡
.{ÁMÊ» ºÅY€§ ½Y€´Ë{ Z] ZÆu€— ¾ËY •Z^eY ÉY€] ʯ{ ¶]Z« |¿Á Á |ÀËZ¼¿ ­{ Y
Á (Rumbaugh) Z^»Y ,(Booch) oÂ] Z¯ ÄnÌf¿ Á €°¨e Ã|ÌËY UML
.{Â] (Jacobson)¾ˆ^¯Zm
UML cZËÂfv» -3
UML ÉZÅY{¼¿ ZÆ¿M \̯€e Y į d‡Y Ê/°Ì§Y€³ €/ÀŸ É{Y|/ e ¶»Z‹ UML
¾ËY \̯€e ÉY€] ÊÀÌ¿Y« ÉYY{ ¾ËY€]ZÀ] d‡Y ½Z] ®Ë UML ½Âq.|¿€Ì³Ê» ¶°‹
.|‹Z]Ê» €ZÀŸ

Ä mY€» €§ dËY|Å ÉZ«M ¦Ì·Ze Á ļm€e UML Y ɀ̳ÀÆ] Z] Y‚§Y ¹€¿ ʇ|ÀÆ» [Zf¯ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
.|ÌÀ¯
29 ZÅ Ã{Y{ ÃZ´ËZa ÊuY€—

Y ½Â³Z¿Â³ ÉZÆÅZ³|Ë{ ÄWYY UML { ¦¸fz» ÉZÅY{¼¿ Y Ã{Z¨f‡Y ¥|Å


®Ë ÄÌÆe.{‹ʻ Ã|Ì»Z¿ µ|» ®Ë ,¦¸fz» ÉZÆÅZ³|Ë{ Y ğ¼n» ¾ËY .d‡Y ºfˆÌ‡
®Ë Á ½Z¼fyZ‡ ®Ë Y d¯Z» ®Ë {ZnËY Ä] ÄÌ^‹ ɂÌq ºfˆÌ‡ ®Ë Y UML µ|»
ɂÌq ½M Y ®q¯ ɀːe ,µ|» ®Ë ž«YÁ { .d‡Y ‰Z¬¿ |À»€ÀÅ ®Ë Y ʋZ¬¿
.{€¯ |Ì·Âe |ËZ] į d‡Y
ºfˆÌ‡ ®Ë į Y Är¿M ,UML µ|» į d‡Y d̼ÅY ‚WZu Z̈] Äf°¿ ¾ËY €¯}
.|˳ʼ¿ ºfˆÌ‡ ɁZ‡Ã{ZÌa ÃÂv¿ ÃZ]{ ɂÌq Ê·Á .|Å{Ê» t̓Âe ,|Å{ ¹Zn¿Y |ËZ]
UML ¥Y|ÅY -4
:Y |¿{Â] cZ^Ÿ UML ÊuY€— { ¥Y|ÅY ¾Ì·ÁY
Y ½M ½YÂf] į ½ZÀq ɀːe µ|» ½Z] t̓Âe Y Ã{Z¨f‡Y ÉY€] ½Y€]Z¯ ɁZ‡Ã{Z»M (1
.{Y{ µ|» €Ì̤e Á ‰€fˆ³
ʸyY{ ÄfˆÅ ºÌÅZ¨» €]Y€] { ʐze ÉZƼˆÌ¿Z°» Á ɀË~aÄ ‡Âe ¾fyZ‡ €ˆÌ» (2
‰Y{€a ‰€fˆ³ Á Zy ʈË¿ĻZ¿€] ÉZŽZ] Y µÔ¬f‡Y {ÂmÁ (3
µ|» ÉZÆ¿Z] ½|̼Ƨ ÉY€] ʇZ‡Y {Y{Y€« ®Ë ɁZ‡ Ã{Z»M(4
Y€³Lʋ ÉZÆ·|» ÉZÅY‚]Y YZ] ¥€— Y |‹ d˨e (5
Á ZÅ´·Y ,ZÅ[ÂqZÆq ,ZÅÉZ°¼Å ¶Ì^« Y ʼÌÅZ¨» ‰€fˆ³ Y ÓZ] t˜‡ Ê¿Z^ÌfŒa (6
LY‚mY
d‡Y ¾Ë€¼e ¾Ë€fÆ] Ê´qZb°Ë (7

˺
ER µ|» -7-3
®¿Z] ÊuY€— |»MZ¯ ÉZÅY‚]Y Y Ê°Ë EER ¹Z¿ Z] ½M Äf§ZË ‰€fˆ³ µ|» Á ER µ|»
ÉZƌz] ÉYY{ {Ây ¶°‹ ¾Ë€eÃ{Z‡ { cZŸÔ—Y ®¿Z] €Å µ|» ¾ËY { .d‡Y cZŸÔ—Y
:d‡Y €Ë
(Entity) dË{Âm» -1
{ €Ëe Ä] ZË Á |¿Y{ ÊmZy {ÂmÁ cZŸÔ—Y ®¿Z] { į d‡Y ÊËZłÌq €´¿ZËZ¼¿

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ¹Â‡ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 30

ER Y{¼¿ { .{‹ʻ Ã|Ì»Z¿ d¨ į d‡Y ÊeZzŒ» ÉYY{ dË{Âm» €Å .|ÀËMÊ»


.|¿Â‹Ê» ŽzŒ» ʔÌ] Z] cZ¨ Á ¶Ì˜fˆ» Z] ZÆfË{Âm»
(Relationship) •Z^eY -2
€´Ë|°Ë Z] Y ZÆ¿M ¾f§€³ Y€« •Z^eY { Ê´¿Â´q Á |Å{Ê» |¿ÂÌa ºÅ Ä] Y ZÆfË{Âm»
.{‹ʻ º‡ Ɂ· c Ä] •Z^eY ER Y{¼¿ { .|À¯Ê» ½ZÌ]
cZ¨ Y¿Y
:|¿Â‹Ê» ºÌˆ¬e Â¿ ZÆq Ä] |¿Â‹ €ÅZ› ER µ|» { d‡Y ¾°¼» į ÊËZÆf¨
|̸¯ cZ¨(¦·Y
ÉY€] ÊËÂnŒ¿Y{ ÃZ¼‹ ¶j» ,|À‹Z]Ê» {€§ Ä] €vÀ» dË{Âm» €Å ÉY€] į ÊeZ¨
–y É|̸¯ ÉZÆf¨ ZË cZ¨ 5€Ë ,É|̸¯ cZ¨ ½{€¯ ŽzŒ» ÉY€] .ÂnŒ¿Y{
.ºÌŒ¯Ê»
\¯€» Á Ã{Z‡ cZ¨ ([
¶]Z« \¯€» cZ¨ Z»Y ,…{ ¹Z¿ 0Ôj» .|‹Z] €Ë~aZ¿ Ä˂ne į d‡Y Êf¨ Ã{Z‡ d¨
...Á ½Z]ZÌy ¹Z¿ €Æ‹ ¹Z¿ Ä] Ä˂ne ¶]Z« …{M Ôj» .|ÀfˆÅ Ã{Z‡ d¨ |Àq Ä] Ä˂ne
½YÂÀŸ Ä] {Ây ,Ê^̯€e d¨ ÉY‚mY ER Y{¼¿ { \¯€» cZ¨ ŠËZ¼¿ ÉY€] .d‡Y
.|¿Â‹Ê» Ã{Y{ ŠËZ¼¿ ¯~» d¨ ÉY€] d¨
ÉY|¬» |Àq ZË ÉY|¬» ®e d¨ (k
|À¿Z» |¿€Ì´] Y|¬» |Àq ZË Á ,{Zf‡Y ¹Z¿ |À¿Z» .|¿€Ì´] Y|¬» ®Ë d‡Y ¾°¼» cZ¨
ŠËZ¼¿ ÉY€] .{€Ì´] Žze ®Ë Y ŠÌ] d‡Y ¾°¼» {Zf‡Y ®Ë Y€Ë .{Zf‡Y Žze
.ºÌÀ¯Ê» ħZ“Y ¯~» dË{Âm» Ä] –y Á{ ĸ̇ÁÄ] Y ZÆ¿M ÃY|¬» |Àq cZ¨
ªfŒ» d¨ ({
¾‡ 0Ôj» .{€¯ Ä^‡Zv» €´Ë{ cZ¨ ZË d¨ Y Ã{Z¨f‡Y Z] Y ½M ½YÂeÊ» į d‡Y Êf¨
cZ¨ ŠËZ¼¿ ÉY€] .{¼¿ Ä^‡Zv» ÉÁ |·Âe µZ‡ d¨ ªË€— Y ½YÂeÊ» Y ÂnŒ¿Y{
–y ÉZm Ä] ¾Ìqʬ¿ Y ,dË{Âm» Z] ½M •Z^eY ¹Z´ÀÅ Ä] ,ER Y{¼¿ { ªfŒ»
.{‹ʻ Ã{Z¨f‡Y
•Z^eY Äm{
.|¿Y{ d¯ZŒ» •Z^eY ½M { į d‡Y ÊËZÆfË{Âm» {Y| e €]Y€]
31 ZÅ Ã{Y{ ÃZ´ËZa ÊuY€—

.|À˳ʻ ‚Ì¿ {Ây Z] •Z^eY ZË Á ÊfŒ³Z] •Z^eY 1 Äm{ •Z^eY Ä]

|u Á µZeY
¾ËY .|¿Â‹Ê» ºÌˆ¬e M-N , M-1 , 1-1 Äf‡{ ć Ä] µZeY Â¿ ™Zv· Y •Z^eY
{ Ôj».|À‹Z]Ê» {Y| e Äq dË{Âm» €Å Y •Z^eY ½M { į |ÀÅ{Ê» ½ZŒ¿ cÓZeY
¾Ë|Àq {Zf‡Y ®Ë įʷZu { {Y{ Z¼ÀÅY {Zf‡Y ®Ë ZÆÀe ÂnŒ¿Y{ €Å ,Z¼ÀÅY {Zf‡Y ÄÀÌ»
.( M-1 •Z^eY).|À¯Ê» ÊËZ¼ÀÅY Y ÂnŒ¿Y{
{ ¾ÌËZa Á ÓZ] |u cÄ] ½YÂeÊ» ‚Ì¿ Y ZÆfË{Âm» ªÌ«{ {Y| e •Z^eY €Å {
½M { |‹Z] ÉZÌfyY dË{Âm» ®Ë ÉY€] •Z^eY { d¯€‹ įÊe { .d‹Â¿ ‚f¿Y€a
.|ÀŒ¯Ê» Ê·Zy Âe ÀËY{ ®Ë µZeY

•Z^eY { d¨
ŠËZ¼¿ Ɂ· Á ¶Ì˜fˆ» ¹Z£{Y Z] •Z^eY ½M |‹Z] d¨ ÉYY{ •Z^eY {Ây įÊe {
.{‹ʻ ¶Ì°Œe ėÂ]€» ÉZÆfË{Âm» ¹Z¼e |̸¯ Y ½M |̸¯ Á {‹ʻ Ã{Y{

É{ÂmÁ Ê´fˆ]YÁ
{ ÊÀ Ë ,|‹Z] ɀ´Ë{ dË{Âm» {ÂmÁ Ä] Äfˆ]YÁ dË{Âm» ®Ë {ÂmÁ d‡Y ¾°¼»
— Ä] ºÅ Äfˆ]YÁ ÉZ/Å”Ÿ |‹Z] ¹Ó dË{Âm» ½M Y É”Ÿ ¥~u c
Y Äfˆ]YÁ dË{Âm» Á É{ÂmÁ Ê´fˆ]YÁ Y Ê´fˆ]YÁ Â¿ ¾ËY .|¿Â‹ ¥~u Z/¯{Ây
.|À»Z¿Ê» Äfˆ]YÁ dË{Âm» ZË ¦Ì “ dË{Âm»
Äf°¿ .{‹ʻ Ã{Z¨f‡Y Âe { Âe ¶Ì˜fˆ» Á{ Y ¦Ì “ ÉZÆfË{Âm» ŠËZ¼¿ ÉY€]
½M Ä] į Y ʸY dË{Âm» |̸¯ dˆËZ]Ê» Äfˆ]YÁ ÉZÆfË{Âm» į Äf‡Y ¾ËY ºÆ»
.|À‹Z] €Ì̤e Á ¥~u ,ÊËZ‡ZÀ‹ ¶]Z« ʳ{Z‡ Ä] Ze |¿€^] gY ,|¿YÄfˆ]YÁ
ɀ] gY
ÉY€] .|¿Y{ ­€fŒ» cZ¨ cZŸÔ—Y ®¿Z] ®Ë { ZÆfË{Âm» į |f§YÊ» ©Z¨eY Z̈]
¾¨¸e ,…{M ,¹Z¿ |À¿Z» ÊeZ¨ ÉYY{ |À»Z¯ Á ÂnŒ¿Y{ ,{Zf‡Y Y ºŸY {Y€§Y Ê»Z¼e µZj»
ɀ]gY Y ,ºÌÀ¯ ɀ̳¸m Äf‡{ €Å ÉY€] cZ¨ Ã{ÂÆÌ] Y€°e Y Ä°ÀËY ÉY€] .|ÀfˆÅ
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 32

½Z°Ìa Á h¸j» Z] Á ºÌ»Z¿ Ê» "is-a" ZË Á "dˆÅ" Y •Z^eY Â¿ ¾ËY .ºÌÀ¯Ê» Ã{Z¨f‡Y
.ºÌÅ{Ê» ŠËZ¼¿

1
ZÅĘ]Y Ä] UML Á ER ÉZÅY{¼¿ ¶Ë|^e ‰Á -8-3
sY€— Á {‹ʻ ÄWYY ºfˆÌ‡ Y ʟY‚f¿Y µ|» ®Ë N§€ ZÅÃ{Y{ ɁZˆ·|» ĸu€» {
,ž«YÁ { .|ËZ¼¿ ZÅÃ{Y{ ÃZ´ËZa ɁZ‡Ã{ZÌa Ä] Á€‹ ,µ|» ¾ËY …Z‡Y €] |ËZ] ZÅÃ{Y{ ÃZ´ËZa
µÁY|m ,ZÆ¿M Y ®Ë €Å Â¿ Á cZ¨ Ä̸¯ ,{Âm» ÉZÅY{¼¿ Y Ã{Z¨f‡Y Z] |ËZ] sY€—
.|À¯ ŽzŒ» Á ¾ÌÌ e Y ...Á ZÆ¿M ¾Ì] •Z^eY Â¿ Á ZÌ¿ {»
,|Å{Ê» ½ZŒ¿ Y ½YÂf‡ ®Ë ÉZÆfÌ·Z § Y ʌz] į ,€Ë ER Y{¼¿ µZj» ÉY€]
:|ˀ̴] €œ¿{

¹Z¿ ¹Z¿
ʸ» |¯

‚Ì» ÃZ¼‹

d»|y ŠÌa ‰Z¨‡ ɀfŒ»

‰Z¨‡ {Y| e

{ÁÁ ½Z»

Y~£ ŠÌa Y~£


†ËÁ€‡ ½Z»

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅ Ã{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºÅ{‚̇ Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
33 ZÅ Ã{Y{ ÃZ´ËZa ÊuY€—

:ºÌÀ¯Ê» ÊuY€— Y ėÂ]€» µÁY|m ,ɁZˆ·|» ¾ËY …Z‡Y€]

,{Ây ÉZÅÃ{Y{ ÃZ´ËZa ʰ˂̧ Á ʬ˜À» ÊuY€— Êf‡{ Á dv Y ½ZÀ̼—Y ÉY€]
.|ÌÀ¯ Ã{Z¨f‡Y ,|ÀfˆÅ Z¯ ¾ËY ¹Zn¿Y Žfz» į ÊËZÅY‚§Y¹€¿ Y |Ì¿YÂeÊ»
¾ËY .d‡Y PowerDesigner ZÅY‚§Y ¹€¿ ¾ËY ¾Ë€fnËY Á ¾Ë€f§Á€ » Y Ê°Ë
Á |Å{Ê» Y ...Á Y€³V̋ µ|» ,ʰ˂̧ µ|» ,ʬ˜À» µ|» ÊuY€— ½Z°»Y Z¼‹ Ä] Y‚§Y¹€¿
Y Ã{Z¨f‡Y Z] |Ì¿YÂeÊ» ½ZËZa { ¾ÌÀr¼Å.|À¯Ê» ¾Ì¼”e Y ÊuY€— ¾ËY dv
.|ÌÀ¯ |Ì·Âe Y {Ây ÉZÅÃ{Y{ ÃZ´ËZa ©Â§ ÉZÅÊ/uY€—
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 34
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 35

¹ZÆq ¶§

SQL Server 2000 Z] Z¯ Á€‹

¥Y|ÅY -1-4
Á \¿ ÉZÆf·Zu Y¿Y į d‡Y ¹Ó Y|f]Y SQL Server 2000 Y Ã{Z¨f‡Y ÉY€]
ŠËY€ËÁ [Zzf¿Y.ºÌÀ¯ \¿ Y ½M ºÌ¿YÂf] †b‡ Á ºÌ‡ZÀŒ] Y ½M ¦¸fz» ÉZŊËY€ËÁ
.d‡Y d̼ÅY ‚WZu Z̈] ZÆ¿M Y ®Ë €Å ÉZÆ̳„ËÁ Y Ã{Z¨f‡Y ÉY€] \‡ZÀ»
SQL -d§Z‡Á€°ËZ» Database Á{ ¾ËY ¾Ì] ÉYĈËZ¬» Šz] ¾ËY { ¾ÌÀr¼Å
ZÀ‹M ®Ë €Å \ËZ » Á ZËY‚» Z] Z¼‹ Ze ºÌÅ|] ¹Zn¿Y - ACCESS 2000 Á Server 2000
.|ÌÀ¯ [Zzf¿Y Y {Ây Ä»Z¿€] ¾f‹Â¿ ÉY€] ¹Ó Database |Ì¿YÂf] €eduY Á |Ë‹
:|ÌÅ{ ¹Zn¿Y Y €Ë ÉZÅZ¯ |Ì¿YÂf] |ËZ] ¶§ ¾ËY ½ZËZa {
SQL Server 2000 ¦¸fz» ÉZÅ ŠËY€ËÁ \¿ x
ZŊËY€ËÁ Y ®Ë €Å ÉZÆ̳„ËÁ ½ZÌ] x
˵SQL Server 2000 ½ZÌ» ...Á ZÅdË{Á|v» ,ZÅd̸]Z« ,ÉY‚§Y¹€¿ ÉZŁZÌ¿ ĈËZ¬» x
ACCESS 2000 Á
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 36

SQL Server 2000ÉZŊËY€ËÁ Á \¿ ÉZÆf·Zu ƕřƺƳY -2-4


[Zzf¿Y į |‹Z]Ê» cÁZ¨f» ŠËY€ËÁ 7 ÉYY{ €“Zu µZu { SQL Server 2000
:|‹Z]Ê» d̼ÅY ‚WZu Z̈] ZÆ¿M Y ®Ë €Å ÉZÆ̳„ËÁ Y Ã{Z¨f‡Y ÉY€] \‡ZÀ» ŠËY€ËÁ
Enterprise ˬ Standard ˬ Personal ˬ Developer ˬ Evaluation ˬ
Desktop Engine and SQL Server CE
ÉZÅœÀ» ÉY€] ʬ]Z» Á d‡Y Á€‡ Žfz» ZÆ¿M Y ŠËY€ËÁ 4 ZÆÀe ž«YÁ {
tˀŒe ¶»Z¯ — Ä] Y ZÆ¿M Y ®Ë €Å Ä»Y{Y { į |¿€Ì³Ê» Y€« Ã{Z¨f‡Y {» Zy
.{€¯ ºÌÅYÂy

Enterprise Edition SQL Server 2000 -1


Windows ÉZʼnZ´¿ Ê»Z¼e ÉÁ€] –¬§ ÊÀ Ë d‡Y ZÅ Server Žfz» ŠËY€ËÁ ¾ËY
|ËY{ ZÌ¿ SQL Server 2000 ÉZÅʳ„ËÁ ļŠÄ] Z¼‹ €³Y .{‹ʻ \¿ 2K Server
Ê¿Z^ÌfŒa Y |Ì·Âe –Ìv» ¾Ë€f³‚] ž«YÁ { į |ÌÀ¯ Ã{Z¨f‡Y ŠËY€ËÁ ¾ËY Y |Ì¿YÂeÊ»
:{‹ʻ \¿ €Ë ÉZƸ»ZŸ ºfˆÌ‡ ÉÁ €] Á |À¯Ê»
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows 2003 Server
Windows NT 4 Server Enterprise Edition
Windows NT 4 Server

Standard Edition SQL Server 2000 -2


Z] ĈËZ¬» { Á d‡Y \‡ZÀ» ®q¯ ÉZ¯ ÉZÆÅÁ€³ ÉY€] €fŒÌ] ŠËY€ËÁ ¾ËY
.|À¯Ê¼¿ Ê¿Z^ÌfŒa SQL Server 2000 ÉZÆ̳„ËÁ ¹Z¼e Y Enterprise Edition
:Y |ÀeZ^Ÿ d‡ZÆ¿M |«Z§ ŠËY€ËÁ ¾ËY į ʐËZy Á ZÆ̳„ËÁ
Failover clustering
Failover support
Parallel CREATE INDEX
Parallel DBCC
Log shipping
Enhanced read-ahead and scan
Indexed views
Federated Database Server
SAN Support
Graphical utilities' support for language settings
37 SQL Server 2000 Z] Z¯ Á€‹

:{‹ʻ \¿ €Ë ÉZƸ»ZŸ ºfˆÌ‡ ÉÁ €] ŠËY€ËÁ ¾ËY


Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows NT 4 Server Enterprise Edition
Windows NT 4 Server

Personal Edition SQL Server 2000 -3


ÉY€] Á ¶¬fˆ» ÉZƼfˆÌ‡ { É{€]Z¯ ÉZÅÄ»Z¿€] { Ã{Z¨f‡Y œÀ» Ä] d§Z‡Á€°ËZ»
ŠËY€ËÁ ¾ËY ¶¼u ¶]Z« ÉZÆfˆÌ‡ €´Ë{ ZË Á ʨ̯ Ä¿ZËY ,ÃY€¼Å ¾¨¸e Y ½Z³|ÀÀ¯Ã{Z¨f‡Y
Á ZÆ̳„ËÁ Y Êy€] |«Z§ Standard Edition |À¿Z¼Å ŠËY€ËÁ ¾ËY .d‡Y Ã{€¯ |Ì·Âe Y
:|À¯Ê¼¿ Ê¿Z^ÌfŒa ‚Ì¿ €Ë Đ̐y Á{ Y ÃÁԟÄ] ,|‹Z]Ê» ZÆf̸]Z«
Transactional replication support
Full-text search (ºÌÀ¯ \¿ Windows 98 Á Windows ME ÉÁ €] €³Y)
:{‹ʻ \¿ €Ë ÉZƸ»ZŸ ºfˆÌ‡ ÉYY{ ÉZÅ Client ÉÁ €] ŠËY€ËÁ ¾ËY
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows 2000 Professional
Windows NT 4 Server Enterprise Edition
Windows NT 4 Server
Windows NT 4 Workstation
Windows Millennium Edition (ME)
Windows XP Professional Edition
Windows XP Home
Windows 98

¾ËY ÉZÆf̸]Z« Y ÉZ̈] ,ºÌÀ¯ \¿ Windows ME Á Windows 98 ÉÁ €] €³Y Äf^·Y
.{ÁÊ» ¾Ì] Y Package
Windows 2000 ÉZƸ»ZŸºfˆÌ‡ ÉÁ €] ŠËY€ËÁ ¾ËY \¿ d·Zu ¾Ë€fÆ]
.d‡Y Windows XP Professional Á Professional

Developer Edition SQL Server 2000 -4


ÉZÅÄ»Z¿€] Ä ‡Âe Á {ZnËY Ä] |À¼«ÔŸ {€§ ®Ë Á €ÅZ» †Ë¿ĻZ¿€] ®Ë Z¼‹ €³Y
.{Â] |ÅYÂy \‡ZÀ» Z¼‹ ÉY€] ŠËY€ËÁ ¾ËY |ÌfˆÅ SQL Server 2000 Z] É{€]Z¯
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 38

½M \ËZ » ž§ Á dˆe ‚Ì¿ Á SQL d§€ŒÌa Á Ä ‡Âe dÆm 0Z§€ ŠËY€ËÁ ¾ËY
.{€¯ Ã{Z¨f‡Y É|Ì·Âe Á ÉZne ÉZƘÌv» { ½M Y ½YÂeʼ¿ Á {ÁÊ» Z¯Ä]
®Ë ‚mÄ] ,d‡Y SQL Server 2000 ÉZÆf̸]Z« ļŠÉYY{ ŠËY€ËÁ ¾ËY
ÉZƸ»ZŸ ºfˆÌ‡ ÉÁ €] Á Graphical utilities' support for language settings:{»
:{‹ʻ \¿ €Ë
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows 2000 Professional
Windows NT 4 Serverˬ Enterprise Edition
Windows NT 4 Server
Windows NT 4 Workstation

Evaluation Edition SQL Server 2000 -5


Z] SQL Server 2000 Ê]ZˁY Á ŠnÀ‡ ,‰Â»M dÆm Y ŠËY€ËÁ ¾ËY d§Z‡Á€°ËZ»
Á 120 d‹~³ Y | ] ŠËY€ËÁ ¾ËY .d‡Y ÄfyZ‡ Enterprise Edition Y ÉY{€]Êb¯
.|‹ |ÅYÂy (Expire) ¦«Âf» \¿ ½Z» Y
:{» ®Ë ‚mÄ] ,d‡Y SQL Server 2000 ÉZÆf̸]Z« ļŠÉYY{ ŠËY€ËÁ ¾ËY
€Ë ÉZƸ»ZŸ ºfˆÌ‡ ÉÁ €] Á Graphical utilities' support for language settings
:{‹ʻ \¿
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows 2000 Professional
Windows NT 4 Serverˬ Enterprise Edition
Windows NT 4 Server
Windows NT 4 Workstation

Desktop Engine Edition SQL Server 2000 -6


Ã{Y{ ÃZ´ËZa Âe» Y {|n» ºÌˆ¬e ¶]Z« Äzˆ¿ ®Ë SQL Server 2000 Y ŠËY€ËÁ ¾ËY
{ ÀÌy} ¶]Z« |À¼e|« ÉZÅÃ{Y{ Y Ã{Z/¨f‡Y Ä] ZÌ¿ į Ê¿ZˆË¿ĻZ¿€] .d‡Y ÉYĘ]Y
ɁZÌ¿ Äzˆ¿ ¾ËY ¾ÌÀr¼Å .|ÀÀ¯ Ã{Z¨f‡Y ŠËY€ËÁ ¾ËY Y |À¿YÂeÊ» |¿Y{ {Ây ÉZÅÄ»Z¿€]
.{Y|¿ ʰ̧Y€³ d̸]Z« Á Y‚]Y ZË admin pÌÅ Ä]
39 SQL Server 2000 Z] Z¯ Á€‹

|‹Z]Ê» Personal Edition |À¿Z¼Å ZÆf̸]Z« Á ZÆ̳„ËÁ Y Êy€] |«Z§ ŠËY€ËÁ ¾ËY
:|À¯Ê¼¿ Ê¿Z^ÌfŒa ‚Ì¿ €Ë Đ̐y Á{ Y ÃÁԟÄ]
Full-text search capabilities
Graphical administration and developer tools and wizards
Analysis Services
:{‹ʻ \¿ €Ë ÉZŶ»ZŸ ºfˆÌ‡ ÉÁ €] ŠËY€ËÁ ¾ËY
Windows 2000 Datacenter Server
Windows 2000 Advanced Server
Windows 2000 Server
Windows 2000 Professional
Windows NT 4 Serverˬ Enterprise Edition
Windows NT 4 Server
Windows NT 4 Workstation
Windows Millennium Edition
Windows 98

SQL Server CE Edition SQL Server 2000 -7


ÉÁ €] Y ÀÌy} ¶]Z« |À¼e|« ÉZÅÃ{Y{ SQL Server 2000 Y ŠËY€ËÁ ¾ËY
.|À¯Ê» |Ì·Âe ,|ÀfˆÅ CE Á|ÀËÁ ¶»ZŸ ºfˆÌ‡ ÉYY{ į ÊËZÆÅZ´f‡{
CE į dˆÅ |̨» Ê «Y» { 0ZÂz» SQL Server 2000 Windows CE Edition
Remote Data Access (RDA) ÉZÅĨ·Â» ªË€— Y Á |À‹Z] ¶f» Ä°^‹ Ä] ZÅ device
.|À‹Z] Äf‹Y{ ʇ€f‡{ SQL Server 2000 ºÌnu ÉZƼfˆÌ‡ Ä]
ʇYÁÄ] Z¯¾ËY į |À¯Ê» Z¯ Ê]Ây Ä] ºÌ‡Ê] ÉZÅÄ°^‹ { ŠËY€ËÁ ¾ËY ¾ÌÀr¼Å
cZŸÔ—Y µZ¬f¿Y ÁY|¿Y Á ºnu ŠÅZ¯ ÉY€] ÊËZŹZ¤Ìa Á ZÅÃ{Y{ ɁZ‡º¯Y€f» Y Ã{Z¨f‡Y
.{‹ʻ ¹Zn¿Y
MICROSOFT SQL SERVER 2000 WINDOWS CE (SQL SERVER CE)
MICROSOFT SQL SERVER 2000 Y Ê°q¯ Z̈] Â¿ ž«YÁ { 2.0 ŠËY€ËÁ
Á|ÀËÁ ¶»ZŸ ºfˆÌ‡ ÄËZa €] į {ÁÊ» Z¯Ä] (ÃY€¼Å ¾¨¸e ¶j») ʸËZ‡Á ÉY€] į d‡Y
Z] .|À¯Ê» ºÅY€§ ¶ËZ‡Á ¾ËY ÉY€] Y ÉYÃ{€Œ§ Database ®Ë ž«YÁ { Á |ÀfˆÅ CE
.|À¯Ê» {ZnËY Y Ã{Y{ d§ZË{ Á ÀÌy} ÉY€] Ê]Ây 0Zf^ˆ¿ ½Y‚Ì» SSCE ½M ÁY|¿Y {ÂmÁ
EMBEDDED VISUAL TOOLS ZË MICROSOFT VS.NET Y Ã{Z¨f‡Y Z]
CE-base ¶ËZ‡Á ÉY€] Y SQL SERVER { Ã{Y{ dˀË|» Äf§€ŒÌa ÉZÆf̸]Z« ½YÂeÊ»
.{€] Z¯Ä]
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 40

.{‹ʻ \¿ Windows CE ¶»ZŸ ºfˆÌ‡ ÉÁ €] ZÆÀe ŠËY€ËÁ ¾ËY

ACCESS 2000 Á SQL Server 2000 ¾Ì] ÉZƈËZ¬» -3-4


.†ˆ¯Y ÊeZŸÔ—Y ®¿Z] ZË d‡Y €fÆ] SQL ÉZÅÃ{Y{ ÃZ´ËZa Z¼‹ €œ¿ Ä]
¹Zn¿Y d§Z‡Á€°ËZ» Database Á{ ¾ËY ¾Ì] ÉYĈËZ¬» Ze ºÌÀ¯Ê» Ê ‡ d¼ˆ« ¾ËY {
.|ÌÀ¯ [Zzf¿Y Y {Ây Ä»Z¿€] ¾f‹Â¿ ÉY€] ¹Ó Database |Ì¿YÂf] €eduY Z¼‹ Ze ºÌÅ|]
€Å ÉZÅdË{Á|v» Á ®¿Z] €Å ÉZÅd̸]Z« ,d¼Ì« ,ÉY‚§Y¹€¿ ÉZŁZÌ¿ ĈËZ¬» ¾ËY {
.{‹ʻ ʇ€] µÂv»

Y€mY –Ìv»
¶]Z« CE Á 2000 Á NT Á 9x Á|ÀËÁ |À¿Z» ɁÁ|ÀËÁ ÉZŖÌv» ÉÁ –¬§ SQL 2000
:d‡Y \¿ ¶]Z« €Ë ÉZÅ ºfˆÌ‡ Y ®Ë €Å ÉÁ€] ACCESS Ê·Á ,d‡Y€mY
(Service Pack 6) 6 ®a †ËÁ€‡ Z] NT4 Á ME Á 98SE Á 98 Á 95 Á|ÀËÁ
.½M Y | ] ÉZŁÁ|ÀËÁ Á XP Á 2000 Á|ÀËÁ Á

ÉY‚§Y dz‡ ÉZŁZÌ¿


½M Z] Z³Z‡ µ|» ZË Á(Intel CPU) ¶fÀËY Ã|¿Y{€a |ËZ] Z¼‹ SQL 2000 \¿ ÉY€]
:€Ë cZzŒ» ÉÃÁԟÄ] |̋Z] Äf‹Y{
Hardware Requirements
Processor Pentium 166 MHz or higher
32 MB RAM (minimum for Desktop Engine)ˬ
Memory 64 MB RAM (minimum for all other editions)ˬ
128 MB RAM or more recommended
270 MB (full installation)ˬ
250 MB (typical)ˬ
Hard disk 95 MB (minimum)ˬ
space Desktop Engine: 44 MB
Analysis Services: 50 MB minimum and 130 MB typical
English Query: 80 MB
.{Y{ {ÂmÁ developerŠËY€ËÁ Á pro ŠËY€ËÁ [Zzf¿Y Á{ 2000 †ˆ¯Y \¿ ÉY€]
:|ËY{ €Ë ÉZÅY‚§Y dz‡ Ä] ZÌ¿ Z¼‹ †ˆ¯Y \¿ ÉY€]
41 SQL Server 2000 Z] Z¯ Á€‹

Hardware Requirements
Processor Pentium 75 MHz or higher
8 MB of RAM required for Access 2000ˬ
plus 4 MB of RAM for each application running simultaneouslyˬ
plus memory for the operation system:
Memory 16 MB of RAM for Windows 95 or Windows 98
32 MB of RAM for Windows Me or Windows NT ·64 MB of
RAM for Windows 2000
128 MB of RAM for Windows XP
Hard disk
Access 2000 requires over 30 MB of hard disk space
space

ÉY‚§Y¹€¿ ÉZŁZÌ¿
ZÌ¿ €Ë ÉZÅY‚§Y¹€¿ Ä] Y€mY ÉY€] į |‹Z]Ê» ŠËY€ËÁ 7 ÉYY{ SQL server 2000
:{Y{
SQL
Operating Enterprise Standard Personal Developer Desktop
Server
System Edition Edition Edition Edition Engine
CE
Windows CE No No No No No Yes
Windows 9x No No Yes No Yes No
Windows NT 4.0
Workstation with No No Yes Yes Yes No
Service Pack 5
Windows NT 4.0
Server with Yes Yes Yes Yes Yes No
Service Pack 5
Windows NT 4.0
Server Enterprise
Yes Yes Yes Yes Yes No
Edition with
Service Pack 5
Windows 2000
No No Yes Yes Yes No
Professional
Windows 2000
Yes Yes Yes Yes Yes No
Server
Windows 2000
Yes Yes Yes Yes Yes No
Advanced Server
Windows 2000
Yes Yes Yes Yes Yes No
DataCenter
Windows XP
No No Yes Yes Yes No
Professional
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 42

Á {Y|¿ €/fŒÌ] ŠËY€/ËÁ ®Ë ¶Y { †ˆ¯Y ®¿Z/] SQL server 2000 Z] Ä/ˆËZ/¬» {
:{‹ \¿ €Ë ÉZÅ ºfˆÌ‡ ÉÁ |¿YÂeÊ»
Á XP Á 2000 Á|ÀËÁ Á 6 ®a †ËÁ€‡ Z] NT4 Á ME Á 98SE Á 98 Á 95 Á|ÀËÁ
.½M Y | ] ÊËZŁÁ|ÀËÁ

ZÅ d¼Ì« ĈËZ¬»
.{Y{ ZÅÁ€‡ ÉÁ \¿ ÉY€] Ân» Á{ €“Zu µZu { SQL 2000
x Processor license.
x server/per-seat Client Access License (CAL).

ʇ€f‡{ {Y| e Á |‹Z]Ê» Ân» ®Ë Ä] ZÌ¿ CPU €Å ÉY€] Ã|¿Y{€a d·Zu {


¾ËY Y ½YÂeÊ» d‡Y ¹Â¸ »Z¿ ZÅɀfŒ» {Y| e €³Y .ºËY{ Y (client) ZÅɀfŒ» {Á|v»Z¿
¹Z¼e €e½YY Ân» ¾ËY ɀfŒ» ÉÓZ] cY€¨¿ {Y| e ÉY€] .{€¯ Ã{Z¨f‡Y Ân» Â¿
.{‹ʻ
dÀËÔ¯ €Å ÉYY Ä] Á |ÌÀ¯ ~yY |ËZ] Á€‡ ®Ë ÉY€] Ân» ®Ë CAL d·Zu {
.d‡Y ħ€ Ä] |À‹Z] Ze 30 {Á|u ZÅɀfŒ» Êf«Á d·Zu ¾ËY .Ä¿Z³Y|m Ân» ®Ë ºÅ
SQL Server 2000 SQL Server 2000
Licensing Options
Standard Edition Enterprise Edition
Processor $4ˬ999 per processor $19ˬ999 per processor
with 5 CALs - $1ˬ489
Server/Per-Seat CAL with 25 CALs - $11ˬ099
with 10 CALs - $2ˬ249

Á dˆÌ¿ d§ZË ¶]Z« ZÅʋÁ€§Ã{€y { ½ÂÀ¯Y ºÅ 2000 †Ì§M |À¿Z» 2000 †ˆ¯Y ®¿Z]
.d‡Y ÉY|ˀy ¶]Z« XP Äzˆ¿ |À¿Z» cӐv» ¾ËY |Ë|m ÉZÅÄzˆ¿
,½M |Ë|m ŠËY€ËÁ ÉZmÄ] d§Z‡Á€°ËZ» ʼË|« cӐv» |ˀy Ä] Z°Ë€»M {)
(dˆÌ¿ Ê^·Zm Z¯ ½Y|Àq Á {‹ʻ Äf¨³ ¾f‹Y|Àa ‰Yº¯ ZË Downgrading
Products New User Price Upgrade Price
Microsoft Access 2002 $339 $109
Office XP Professional Edition $579 $329
Office XP Developer Edition $799 $549
43 SQL Server 2000 Z] Z¯ Á€‹

ZÅ d̸]Z« ĈËZ¬»
Ê]ZˁY (Desktop)ɂ̻Á ÉZÅÄ»Z¿€] ½YÂÀŸÄ] 2000 †ˆ¯Y ÊeZŸÔ—Y ®¿Z] x
Ê°¿Z] SQL Z»Y .|ÀÀ¯Ê» Z¯ [Ây cZŸÔ—Y dËZ]Z´» ¾Ë|Àq Z] Z¯ ÉY€] Á |¿Â‹Ê»
.d‡Y cZŸÔ—Y dËZ]Z´Ì³ |Ë|Àq Z] Z¯ ÉY€]
-ɀfŒ» ºfˆÌ‡ Y SQL Z»Y .{€Ì³Ê» ÀÆ] ʸËZ§ ÉZ¼ » ºfˆÌ‡ Y †ˆ¯Y ®¿Z] x
.|À¯Ê» Ã{Z¨f‡Y (client-server) ¹{Zy
ÊËZŖÌv» { Á {Y{ SQL server Ä] d^ˆ¿ É{Zˁ ÉZÅdË{Á|v» †ˆ¯Y ®¿Z] x
Z¯ ½YÂe ÊÅZ³ |ÀÀ¯ Z¯ ÄÀÌÆ] Á ½Z»‚¼Å cÄ] |ÀÅYÂyÊ» ºÅZ] €]Z¯ ¾Ë|Àq į
.{Y|¿
:ÊeZŸÔ—Y ®¿Z] Á{ ¾ËY ÉZÅ d̸]Z« Y É{Y| e
Feature Access 2000 SQL Server 2000
SMP support Not Supported Supported
Relational tablesˬ
Tables Relational tables
Temporary tables
AFTER triggersˬ
Triggers Not Supported
INSTEAD OF triggers
Procedures Not Supported Microsoft T-SQL statements
Scalar functionsˬ
User-defined Inline table-valued functionsˬ
Not Supported
functions Multistatement table-valued
functions
Views Not Supported Supported
Transaction logging Not Supported Supported
Recovery to last backupˬ
Recovery Recovery to last backup Recovery to the point of failureˬ
Recovery to a specific point in time
Integration with
Not Supported Supported
Windows NT security
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 44

ZÅ dË{Á|v» ĈËZ¬»
:d‡Y €Ë Y€« Ä] ZÅ dË{Á|v» ¾ËY Y É{Y| e
Feature SQL Server 2000 Access 2000
2 GB plus linked
Database size 1ˬ048ˬ516 TB
tables size
Objects in a database 2ˬ147ˬ483ˬ647 32ˬ768
User name length 128 20
Password length 128 14
Table name length 128 64
Column name length 128 64
Index name length 128 64
Number of concurrent users limited by available memory 255
Columns per table 1024 255
Table size limited by available storage 1 GB
Number of indexes in a table 250 32
Number of columns in an index 16 10
Bytes per row 8060 2000
Number of tables in a query 256 32
Columns per SELECT statement 4096 255
Nested subqueries 32 50
Number of enforced relationships 253 32
65ˬ536 * Network packet
SQL statement size size approximately 64ˬ000
(4 KBˬ by default)

ɀ̳ÄnÌf¿
SQL Y |ËZ] |ˁZˆ] YZ¯ Á dÌÀ»Y Z] ,¶°ÌÅ É« ºfˆÌ‡ ®Ë |ÌÅYÂyÊ» Z¼‹ €³Y
:Y€Ë ,|ÌÀ¯ Ã{Z¨f‡Y
.|À¯Ê¼¿ Ê¿Z^ÌfŒa ‚Ë ʸÌy ÉZÅ Transaction Y †ˆ¯Y x
¾Ì¼”e Y ROLL back cÓZu ZË Á ZÅ®¿Z] { Y cZŸÔ—Y µZ¬f¿Y †ˆ¯Y x
.|À¯Ê¼¿
.€Ìy †ˆ¯Y Z»Y , d‡Y Ã|‹ ÄqZb°Ë NT Á|ÀËÁ dÌÀ»Y Šz] Z] SQL server x
.½YÂeÊ» SQL { Z»Y ,dŒ³Z] (point)•Z¬¿ Ä] Z˜y Á€] ¹Z´ÀÅ ½YÂeʼ¿ †ˆ¯Y {
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 45

ºnÀa ¶§

SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

¥Y|ÅY -1-5
.|ÌÀ¯ Ã{Z¨f‡Y ½M Y |Ì¿YÂf] |ËZ] SQL Server 2000 ɁY|¿YÃY Á \¿ ,[Zzf¿Y Y †a
|ˀ̴] Y€§ Y½M d‡Y ¹Ó SQL Server 2000 Y Ã{Z¨f‡Y ÉY€] į ʌz] ¾Ë€f¼Æ»
.d‡Y SQL Server \¸« º°u { į |‹Z] Ê» Enterprise Manager
,½M Y Ã{Z¨f‡Y ÃÂv¿ Á Enterprise Manager ¶»Z¯ ‰Â»M ¾¼“ Šz] ¾ËY {
.ºÌÀ¯Ê» Á€» ‚Ì¿ Y SQL cYÂf‡{ ¾Ë€f¼Æ»
:|̋Z] Ã{€¯ \ˆ¯ Y €Ë ÉZÆeZÆ» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
Enterprise Manager Z] Z¯ { ʧZ¯ –¸ˆe x
½M { {Âm» ÉZÅ ÄÀ˂³ Á ºÌÅZ¨» ­{ x
...Á ZÆ¿M ºÌÅZ¨» ­{ Á Stored Procedure ˬTable ˬDatabases ¦Ë€ e Á {ZnËY x
ZÆ¿M Y Ã{Z¨f‡Y ÃÂv¿ Á SQL cYÂf‡{ ¾Ë€f¼Æ» Z] ¶»Z¯ ÊËZÀ‹M x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 46

Enterprise Manager ‰Â»M -2-5


Enterprise { .d‡Y SQL Server \¸« Enterprise Manager d¨³ ½YÂeÊ»
User ,|ˁZˆ] Table ,|ÌÀ¯ Y€«€] SQL Á€‡ Ä] µZeY ®Ë |Ì¿YÂeÊ» Z¼‹ Manager
...Á|ÌÀ¯ ¦Ë€ e

.d‡Y Á€‡ ½{Â] µZ § €´¿ZËZ¼¿ `q d¼‡ Š¸§ d»ÔŸ


.Á€‡ ®Ë ÉÁ€] |‹Z] SQL Server ®Ë ZË Á ÓZ] |À¿Z» |‹Z] local |¿YÂeÊ» Á€‡
®Ë Ä] (98 Á|ÀËÁ) client ½|‹ ¶Á €´Ë{ cZ^Ÿ Ä] ZË |Ë|m Á€‡ ®Ë {ZnËY ÉY€]
ZË Á SQL Server Group †b‡ Á Microsoft SQL Server ÉÁ €] Y|f]Y €´Ë{ Á€‡
New SQL Server ÄÀ˂³Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ {Âm» Á€‡ ÉÁ €]
.|ÌÅ{ ZŒ§ [Zzf¿Y Y next |̸¯ †b‡ .|ÌÀ¯ [Zzf¿Y Y Registratin
Á€‡ ¹Z¿) .|ÌÀ¯ `ËZe Y {Ây Á€‡ ¹Z¿ Available Server { É| ] ÉÂÀ» { †b‡
ZŒ§ Y add |̸¯ | ] Á (|ËYÃ{€¯ \¿ {Ây 2000 Á|ÀËÁ ÉÁ€] į Y {Ây SQL
.|ÌÀ¯ [Zzf¿Y Y next ÄÀ˂³ Á |ÌÅ{
47 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

Windows ) {Âm» ÉZÅÄÀ˂³ ½ZÌ» Y į {‹ʻ Äf‡YÂy Z¼‹ Y | ] ÀnÀa {


Authentication ) |ÌËPe |9» ®Ë (SQL Server Authentication Á Authentication
.|ÌÀ¯ [Zzf¿Y ,|Ë‹ Ê» ¶f» SQL Server Ä] ½M Y Ã{Z¨f‡Y Z] į Y (Mode
ÃÁ€³ Ä] Y SQL Server |ÌÅYÂyÊ» ZËM į {‹ʻ µYR‡ Z¼‹ Y †b‡
,½ZËZa { .|ˁZˆ] |Ë|m ÃÁ€³ ®Ë ZË |ÌÀ¯ ħZ“Y {Âm» ÉZÆÅÁ€³ €´Ë{ ZË ‘€§ŠÌa
.|ÌÀ¯ ®Ì¸¯ Finish ÉÁ €] ,©Â§ ¶uY€» ʗ Y †a
cZ^Ÿ Ä] .{€¯ |ÌÅYÂy Databases Y Y Ã{Z¨f‡Y ¾Ë€fŒÌ] Z¼‹ ,ZÅÄÀ˂³ €´Ë{ Y
ļŠ.{€Ì³Ê» Y€« SQL Á€‡ { Database ®Ë ½YÂÀŸÄ] Z» ÃÁ€a Á Z¯ €Å €´Ë{
.{‹ʻ ÉY|Æ´¿ ¶v» ¾ËY { ZÆ¿M Ä] •Â]€» cYÂf‡{ Á µÁY|m
, New Database... [Zzf¿Y Á Databases ÉÁ€] d‡Y d¼‡ ®Ì¸¯ Z]
.|ˁZˆ] ½Ze{Ây ÉY€] |Ë|m Database ®Ë |Ì¿YÂeÊ»

database¹Z¿

.|ÌÀ¯ |ÌËZe Y ½M ¹Z¿ [Zzf¿Y Y †a


ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 48

:d‡Y €Ë {Y» ¶»Z‹ Database €Å


.|Å{Ê» ½ZŒ¿ Y µÁY|m •Z^eY :Diagram -1
.|Å{Ê» ½ZŒ¿ Y ÃÁ€a µÁY|m :Tables -2
.|Å{Ê» ½ZŒ¿ Y ÃÁ€a ÉZÅ|Ë{ :Views -3
ÉY|Æ´¿ Y µÁY|mÉÁÉZÆeZ̸¼ŸÄ] •Â]€» SQL ÉZÅ|¯ :Stored Procedure -4
.|À¯Ê»
.|Å{Ê» ½ZŒ¿ Y database ¾ËY ÉÁ €] Ã|‹ ¦Ë€ e ½Y€]Z¯ :Users -5
.|Å{Ê» ½ZŒ¿ Y (Procedure) ZŀṅÁ€a Á µÁY|m Ä] ʇ€f‡{ ¾Ì¿Y« :Roles-6
.|Å{Ê» ½ZŒ¿ µÁY|m { Y ZÅÃ{Y{ Ä] •Â]€» ¾Ì¿Y« :Rules -7
.|¿Y|¿ ÊËY|f]Y ÉZÅZ¯ ÉY€] Ê¿ZÀq½M {€]Z¯ | ] Ä] 7 ÉZÅ ÄÀ˂³

|Ë|m µÁ|m ®Ë {ZnËY


New ÄÀ˂³ Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ Tables ÉÁ |Ë|m µÁ|m ®Ë {ZnËY ÉY€]
Â¿ Á ZÅ|¸Ì§ µZu .|ÌÀ¯ [Zzf¿Y Y µÁ|m ¹Z¿ É| ] {Z¯ { †b‡ ,[Zzf¿Y Y Table
.|ÌÀ¯ ŽzŒ» Y ZÆ¿M
|¸Ì§ ZËM į |ÌÀ¯ ŽzŒ» |ËZ] Y |¸Ì§ µÂ— 0ÓZ¼fuY Á Â¿ ½{€¯ ŽzŒ» Y | ]
®Ìe €³Y Allow Nulls .|‹Z] null |¿YÂeÊ» ZË Á |‹Z] Äf‹Y{ Y|¬» dˆËZ]Ê» Č̼Å
.|Å|¿ ZfyY {Ây Ä] ÉY|¬» pÌÅ |¿YÂeÊ» |¸Ì§ ¾ËY Ä°ÀËY ÊÀ Ë |‹Z] Äf‹Y{
.|ˀ̴¿ ÃZ^f‹Y Ê·Zy ÉZ”§ Z] Y null Y|¬» :€¯~e
pÌŠįÊe { Ze .|ÌÀ¯ {YÁ |¸Ì§ ÉY€] ÄÌ·ÁY Y|¬» Default Value d¼ˆ« {
(Insert Âf‡{ {) .{‹ k{ Y|¬» ½M ,|Œ¿ k{ ÉY|¬»
Â¿ |ËZ] 0ÓÁY į |‹ |ÅYÂy Y‚§Y{Ây ¶°‹Ä] |¸Ì§ ¾ËY |Ì¿‚] ®Ìe Y Identity €³Y
Y½M ÄÌ·ÁY Y|¬» .{‹ ŽzŒ» Identity increment { ZÆ»Z³ Y|¬» 0ZÌ¿Zi Á É{|Ÿ |¸Ì§
ÉZÆ»Z³ Z] Á Á€‹ Y|¬» ¾ËY Z] ¶°‹ ¾Ë|] .|ÌÅ{ Y€« Identity Seed { |Ì¿YÂeÊ» ºÅ
.{€¯ |ÅYÂy d¯€u Ã|‹ ŽzŒ»
Y Y|¬» ¾ËY ºfˆÌ‡ {Ây į Y€q ,|ÌÀ¯ k{ |Ì¿YÂeʼ¿ |¸Ì§ ¾ËY { ÉY|¬» pÌÅ :€¯~e
.|À¯Ê» |Ì·Âe
49 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

ÉÁ €] Á [Zzf¿Y Y (ZÅ)|¸Ì§ (É|̸¯ ÉZÅ|¸Ì§ ZË) |̸¯ |¸Ì§ ½{€¯ ŽzŒ» ÉY€]
.|ÌÀ¯ ®Ì¸¯ Toolbar ÉÁ €] "|̸¯" d»ÔŸ
.|‹Z] Allow Nulls |¿YÂeʼ¿ |̸¯ |¸Ì§ :€¯~e
.|ÌÀ¯ [Zzf¿Y Y index/keys Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ index ¦Ë€ e ÉY€] :€¯~e

Stored Procedure {ZnËY


ć .|¿ÁÊ» Z¯Ä] Á |À‹Z]Ê» {Âm» ‚Ì¿ SQL Server { ZÅÄËÁ ,€´Ë{ ½Z] €Å |À¿Z»
SQL {Ây ÉZÅ{Y‚ËÁ Z] ÊfuYÄ] |Ì¿YÂeÊ» Y Delete Á Update , Insert ÄËÁ
Z] Y|f]Y.{€¯ ºÌÅYÂy Ã{Z¨f‡Y ÄËÁ ÉZmÄ] SP ÃYÁ Y | ] Ä] ZnÀËY Y .|ˁZˆ] Server
.dyY{€a ºÌÅYÂy {Âm» {Y‚ËÁ Ä] †b‡ Á Ã|‹ ZÀ‹M SP ʸ¯ ZfyZ‡
d¼‡ ®Ì¸¯ Stored Procedure ÄÀ˂³ ÉÁ€] Y|f]Y |Ë|m SP ®Ë {ZnËY ÉY€]
É|/ ] À/nÀa { .|ÌÀ¯ [Z/zf¿Y Y New Stored Procedure... ÄÀ˂³ Á Ã{€¯ d‡Y
.|ÌÀ¯ {YÁ Y SP ¾f» |Ì¿YÂeÊ» Z/¼‹

SP ¹Z¿ -1
.|ˀ̴] €œ¿ { {Ây SP ÉY€] ¹Z¿ ®Ë [PROCEDURE NAME] ÉZmÄ] Y|f]Y
:ºÌÀ¯Ê» Ã{Z¨f‡Y œÀ» ¾Ë|] €Ë ZfyZ‡ Y µZj» ½YÂÀŸÄ]
µÁ|m ¹Z¿_cZ̸¼Ÿ
SP ¹Z¿ |‹Z] insert cZ̸¼Ÿ ®Ë €œ¿ {» cZ̸¼Ÿ Á Sale µÁ|m ¹Z¿ €³Y µZj» —Ä]
Äf^·Y .{‹ `ËZe ±‚] ¥Á€u Z] cZ̸¼Ÿ ¹Z¿ d‡Y €fÆ] .ºËY~³Ê» Sale_INSERT Y
:d‹Y{ ºÌÅYÂy ÓZ] µZj» ÉY€] .|ÀÀ¯ Ê» Ã{Z¨f‡Y cZ̸¼Ÿ ¥€u ć Y ½Zf‡Á{ Y ʔ ]
Sale_INS

Zŀf»YZa ¦Ë€ e -2
‚f¿Y€a ¶yY{ Y ZÆ¿M As É|̸¯ ļ¸¯ Y ¶^« SP É{ÁÁ ÉZŀf»YZa ¦Ë€ e ÉY€]
Â¿ Á ĸZ§ | ] €f»YZa ¹Z¿ †b‡ @ d»ÔŸ Y|f]Y į ¶°‹ ¾Ë|] .|ÌÀ¯ ŽzŒ»
.€f»YZa
.|ÀÀ¯Ê» ÉÁ€Ìa "@€Ì¤f» ¹Z¿" ZfyZ‡ Y SP { Zŀ̤f» Ê»Z¼e :€¯~e
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 50

Y name Á int Â¿ Y Id ÉZÆ»Z¿ Z] €f»YZa Á{ ÉYY{ SP ®Ë |ÌÀ¯ ‘€§ µZj» ½YÂÀŸÄ]
@name varchar(20)ˬ @id int: ºËY{ ,|‹Z] Varchar(20) Â¿
.ºÌÀ¯Ê» `ËZe Y €œ¿ {» cYÂf‡{ As Y | ] µZu
Y Y FirstName |¸Ì§ Á LastName |¸Ì§ µÁY ¥€u ZÆq į |̈ËÂÀ] SP :1 µZj»
.{‹ Á€‹ A ¥€u Z] LastName |¸Ì§ į ʗ€‹ Ä] |À¯ [Zzf¿Y Employees µÁ|m
New stored ÄÀ˂³ Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ Stored procedure ÉÁ€] Y|f]Y
.|ÌÀ¯ `ËZe Y €Ë •Â˜y Á Ã{€¯ [Zzf¿Y Y procedure
Create Stored Procedure Employees_BROWSE
As
Select substring(Lastnameˬ1ˬ4) as LastNmaeˬFirstName
From Employees
Where LastName Like ‘%A’

dˆÌ· { Employees_BROWSE ¹Z¿ Z] SP µZu .|ÌËZ¼¿ ®Ì¸¯ ok ļ¯{ ÉÁ €] µZu


.d‡Y Ã|‹ ħZ“Y SP
ÁZ] ®Ë { BirthDate |¸Ì§ į |ÌÀ¯ [Zzf¿Y Y Employees ÉZÅ|¸Ì§ ¹Z¼e :2 µZj»
.{€Ì³ Y€« {‹ Ê» {YÁ €f»YZa ¶°‹ Ä] į ÊzËZe
Create Stored Procedure Employees_BROWSE2
(@StartDate char(10) ˬ @EndDate char(10))
As
Select *
From Employees
Where BirthDate between @StartDate and @EndDate

Exec SP ¹Z¿ :ºÌˆËÂÀ] d‡Y ʧZ¯ Query Analyzer { ZÅ SP ÉY€mY ÉY€] µZu
Exec Employees_browse: µZj» ½YÂÀŸÄ]
:ºËÁM Ê» ºÅ Y Zŀf»YZa Y|¬» d‹Y{ €f»YZa €³Y
Exec Employees_Browse2 ‘01/01/1940’ ˬ ‘15/06/1955’

Zŀ̤f» ¦Ë€ e -3
:µZj» ½YÂÀŸÄ] .ºÌÀ¯ Ã{Z¨f‡Y Declare É|̸¯ ļ¸¯ Y dˆËZ]Ê» Zŀ̤f» ¦Ë€ e ÉY€]
Declare @myname varchar(50)
.|À¯Ê» ¦Ë€ e ZËÂa ɀf¯YZ¯ Â¿ Y @myname €Ì¤f»
51 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

Z˜y |¯ ½|¿Y{€³€] -4
į Y ÉY|¬»€Å Äq€³ .ºÌÀ¯Ê» Ã{Z¨f‡Y return @@Error Âf‡{ Y œÀ» ¾Ë|]
.ºÌ¿Y{€³€] return Âf‡{ Z] ºÌ¿YÂeÊ» ºÌÅYÂz]

|À¿Y{€³Ê»€] Y ÉY|¬» į Zŀf»YZa ¦Ë€ e -5


½M Â¿ Y | ] ºÌÀ¯Ê» ¦Ë€ e €ṅÁ€a ÉY|f]Y { Y €f»YZa į Ê»Z´ÀÅ œÀ» ¾ËY ÉY€]
:µZj» ½YÂÀŸÄ] .ºÌÀ¯Ê» output É|̸¯ ļ¸¯ Y
Create Stored Procedure Employees_BROWSE2
(@StartDate char(10) ˬ @EndDate char(10) ˬ @pp varchar(10) output)
As

Zŀ̤f» Ä] ÊÅ{Y|¬» -6
.Select Âf‡{ Z] ɀ´Ë{ Á Set Âf‡{ Z] Ê°Ë |ÌÀ°] Y Z¯ ¾ËY |Ì¿YÂeÊ» ‰Á Á{ Ä]

ʗ€‹ cYÂf‡{ -7
.|ˀ^] Z¯Ä] Y ʗ€‹ cYÂf‡{ SQL { |Ì¿YÂeÊ» Z¼‹ ZÆ¿Z] €´Ë{ |À¿Z»
:d‡Y €Ë ¶°‹ Ä] ½M ZfyZ‡
If •€‹ then Âf‡{
If •€‹ then
Begin
1Âf‡{
2Âf‡{
...
end
:µZj»
If @Sdate > @Edate set @newDate = @Sdate

Set NOCOUNT on Âf‡{ -8


.|À¯Ê» ɀ̳¸m cYÂf‡{ –‡Âe Ã|‹ Ã|¿Y{€³€] ÉZŀ˜‡ {Y| e ¾f‹Â¿ Y Âf‡{ ¾ËY
.|ÌÅ{Ê» ¹Zn¿Y SP { ºÅ€‡ dŒa Y Z¯ |Àq Z¼‹ į d‡Y Ê¿Z» ½M ºÆ» {€]Z¯
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 52

Select Âf‡{ Z] ½M Y Y ZÅ|¸Ì§ Y {Y| e ®Ë †b‡ Á |ˁZ‡Ê» d«Â» µÁ|m ®Ë 0Ôj»


.|ÌÀ¯Ê» [Zzf¿Y
SP ½M Y |ÌÅYÂyÊ» į Ê»Z´ÀÅ ,|ÌÀ°¿ Ã{Z¨f‡Y SP ÉY|f]Y { Y Âf‡{ ¾ËY €³Y
|¿Y{€³Ê¼¿€] É dataset pÌÅ SP ÉZ˜y Z] |ÌÀ¯ Ã{Z¨f‡Y ʈË¿ĻZ¿€] ½Z] ®Ë {
.|‹ |ÌÅYÂy ÄmY»
œÀ» ¾ËY ÉY€] .|ÌÀ¯ Ê¿YÂyY€§ €´Ë{ SP ®Ë { Y SP ®Ë |Ì¿YÂeÊ» Z¼‹ :1€¯~e
.|ÌËZ¼¿ Ã{Z¨f‡Y exec Âf‡{ Y |‹ Äf¨³ 0Ô^« į —½Z¼Å
Z¯ ¾ËY .|ÌÀ¯ Y€mY ‚Ì¿ Y SQL Âf‡{ ®Ë |Ì¿YÂeÊ» Z¼‹ exec Âf‡{ Z] :2€¯~e
.|‹Z] €Ì¤f» Á ZËÂa €œ¿ {» Âf‡{ į |ËMÊ» Z¯Ä] Ê¿Z»
:µZj»
Exec (“ select * From Employees Where “+@Shart)
.{{€³ |Ì·Âe ®¿Z] ÉZÅ|¸Ì§ …Z‡Y €] |¿YÂeÊ» •€‹ ¾ËY
France ZÆ¿M ShipCountry |¸Ì§ į ÊeZ‹Z¨‡ {Y| e ¥ÔfyY į |̈ËÂÀ] SP ®Ë :µZj»
.|¿Y{€³€] Y ,|‹Z] German ZË
create Stored Procedure Order_France_German ( @Outp int output)
as
declare @Count_France int ˬ @Count_German int

select @Count_France = Count(*)


from orders
where ShipCountry = 'France'

select @Count_German = Count(*)


from orders
where ShipCountry = 'German'

if @Count_France is null set @Count_France = 0


if @Count_German is null set @Count_German = 0
set @outp = @Count_France - @Count_German

ZÅ{Y‚ËÁ Y Ã{Z¨f‡Y Z] Stored Procedure {ZnËY


Y |Ì¿YÂeÊ» Z¼‹ ŠËY€ËÁ Á ¥~u ,k{ cZ̸¼Ÿ dÆm {Y|¿Zf‡Y ÉZÅ SP {ZnËY ÉY€]
{Y| e Ĭ̫{ |Àq ʗ |Ë{Z« Z¼‹ Y‚]Y ¾ËY Z] .|ÌËZ¼¿ Ã{Z¨f‡Y SQL {Ây ÉZÅ{Y‚ËÁ
53 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

{ œÀ» ¾ËY ÉY€] .|ˁZˆ] {Ây µÁY|m ÉÁ €] Ã|‹ Äf¨³ ÉZÆeZ̸¼Ÿ dÆm SP É{Zˁ
:€Ë ¶°‹ |À¿Z» .|ÌËZ¼¿ ®Ì¸¯ {Y‚ËÁ |̸¯ ÉÁ €] Enterprise Manager

Create Stored ÄÀ˂³ Á ®Ì¸¯ Database ÉÁ €] Select Wizard ÀnÀa { | ]
:€Ë ¶°‹ |À¿Z» .|ÌËZ¼¿ [Zzf¿Y Y Procedure Wizard

®Ì¸¯ Next |̸¯ ÉÁ€] .|ËZ¼¿Ê» Ê˳ |»M‰Ây Z¼‹ Ä] É| ] ÀnÀa {
{‹ Z¯ ½M µÁY|m ÉÁ €] d‡Y Y€« į Y É Database ¹Z¿ É| ] ÀnÀa { .|ÌËZ¼¿
.|ÌËZ¼¿ ®Ì¸¯ Next ÉÁ €] Á |ÌËZ¼¿ [Zzf¿Y
[Zzf¿Y |ÌÅ{ ¹Zn¿Y |ÌÅYÂyÊ» į ɀœ¿ {» cZ̸¼Ÿ Á µÁY|m É| ] ÀnÀa {
Ã{Y{ ½ZŒ¿ Z¼‹ Ä] Ã|‹ ÄfyZ‡ ºfˆÌ‡ –‡Âe į ÊËZÅ SP ¹Z¼e ¹Z¿ É| ] ÀnÀa { .|ÌÀ¯
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 54

|̸¯ Á [Zzf¿Y Y SP ½M |Ì¿YÂeÊ» ZÆ¿M Y ¹Y|¯€Å |¯ ZË Á ¹Z¿ ŠËY€ËÁ ÉY€] .|‹ |ÅYÂy
:d‹Y{ |ÌÅYÂy €Ë ¶°‹ Ä] ÉYÀnÀa Z¼‹ c¾ËY { .|ÌÅ{ ZŒ§ Y Edit

.|ÌËZ¼¿ ‘Ÿ Y SP ¹Z¿ |Ì¿YÂeÊ» Name d¼ˆ« { Z¼‹ µZu


|ÌÅYÂyÊ» į ėÂ]€» µÁ|m Y ÊËZÅ|¸Ì§ Z¼‹ Include in Set Clause d¼ˆ« {
¶»Z‹ Z¼‹ SP €³Y .|ÌËZ¼¿ [Zzf¿Y {‹ µZ‡Y SP ÉY€] €f»YZa ¶°‹ Ä] ½M €Ë{Z¬»
|Ì¿YÂeÊ» Z¼‹ Include in Where Clause d¼ˆ« { |‹Z] Delete ZË Á Update
.|ÌËZ¼¿ [Zzf¿Y |¿€Ì³ Y€« (Where Âf‡{) •€‹ { d‡Y Y€« į ÊËZÅ|¸Ì§
Include in d¼ˆ« Y 0Z¼fu Insert d·Zu { |ËY{ Identity Â¿ Y É|¸Ì§ €³Y :1€¯~e
.|‹ |ÌÅYÂy ÄmY» Z˜y Z] Y€mY ½Z» { c¾ËY €Ì£ { .|ÌÀ¯ kZy Set Clause
.{ÁM |ÅYÂyWhere Âf‡{ { Update Âf‡{ { Y µÁ|m É|̸¯ |¸Ì§ SQL :2€¯~e
ZŒ§ Z] Z¼‹ dËZÆ¿ { .|ÌÀ¯ kZy Include in Set Clause Y Y |¸Ì§ ¾ËY Z¼‹ ¾ÌÀr¼Å
.dyZ‡ |ÌÅYÂy Y SP ¾ËY ½Z»‚¼Å Finish |̸¯
ʧZ¯ ‚Ì¿ ½M ŠËY€ËÁ ÉY€] µZu .|Ë|‹ ZÀ‹M SP dyZ‡ Z] Z¼‹ d¼ˆ« ¾ËY Ze
.|ÌËZ¼¿ ŠËY€ËÁ Y ½M |¯ Ã|‹ Z] ÀnÀa { Á Ã{¼¿ |̸¯ SP ÉÁ €] d‡Y
55 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

(view) ZÅ|Ë{
.ºËY{€aÊ» (view) ZÅ|Ë{ hv] Ä] µZu SQL ‰Â»M \·Z˜» Ä»Y{Y {
Âm Á …€a ®Ë –‡Âe ½M ÉYÂfv» į d‡Y ɁZn» µÁ|m ®Ë ¶Y { |Ë{
Ä] ½YÂeÊ» .|‹Z]Ê» ÊËZÆ¿Âf‡ Á €˜‡ ÉYY{ ºÅ |Ë{ ,µÁ|m |À¿Z¼Å .{{€³Ê» ¦Ë€ e
:{€¯ ÃZ‹Y |Ë{ ÉZËY‚» ½YÂÀŸ Ä] €Ë {Y»
.|¿Â‹ ‚¯€¼f» |¿Y{ ZÌ¿ į ÊËZÅÃ{Y{ ÉÁ €] Ze |ÀÅ{Ê» ÁZmY ½Y€]Z¯ Ä] ZÅ|Ë{
‚Ì¿ Y ZÅÃ{Y{ dÌÀ»Y ZÅ|Ë{ .{€¯ kZy |Ë{ Y ½YÂeÊ» Y ÉÁ€“ €Ì£ ÉZÅÃ{Y{ ¾ËY€]ZÀ]
Ä] ZÅ|Ë{ .|¿Y{ {ÂmÁ |Ë{ { į |ÀÌ]Ê» Y ÊËZÅÃ{Y{ –¬§ €]Z¯ įY€q |ÀÅ{Ê» ŠËY‚§Y
Z/Å|Ë{ .|ÀËZ¼¿ Ã|ÅZŒ» cÁZ¨f» ÉZ/ƋÁ Ä] Y ZÅÃ{Y{ Ze |ÀÅ{Ê» ÁZmY ½Y€]Z¯
...Á |¿Á Z¯Ä] É{€]Z¯ ÉZÅÄ»Z¿€] €ËZ‡ Z] ZÅÃ{Y{ Ä·{Z^» ÉY€] |À¿YÂeÊ»

|Ë{ {ZnËY
į ÊËZÅ|Ë{ €´Ë{ Á µÁY|m ¹Z¿ ¾Ì] { dˆËZ]Ê» ½M ¹Z¿ |ÌÀ¯Ê» {ZnËY Y É|Ë{ Êf«Á
{ZnËY ½Z°»Y Z¼‹ SQL Server 7.0 { .|‹Z] Zf°Ë ,ÄfyZ‡ Y ZÆ¿M €œ¿ {» €]Z¯
.d‡Y Ã|‹ ħZ“Y SQL 2000 { ½Z°»Y ¾ËY ¾°Ì· ,|Ìf‹Y|¿ Y ZÅ|Ë{ ÉÁ €] ŽyZ‹

|Ë{ ®Ë {ZnËY ¶uY€»


.|ÌÀ¯ Z] .|ÌÀ¯ {ZnËY ½M { |Ë{ |ÌÅYÂy Ê» į Y ÉYÃ{Y{ ÃZ´ËZa -1
.|ÌÀ¯ [Zzf¿Y Y New View... ÄÀ˂³ †b‡ Á Ã{€¯ d‡Y ®Ì¸¯ Views ÉÁ -2
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 56

.|ÌÀ¯ [Zzf¿Y Y Add Table... ÄÀ˂³ Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ É| ] ÉÀnÀa { -3

(ž]YÂe) Functions ZË Á (ZÅ|Ë{) Views ,(µÁ|m) Table ÉZÅ Tab Y ¹Y|¯€Å -4


€] Á [Zzf¿Y Y €œ¿ {» ž]YÂe ZË Á ZÅ|Ë{ ,µÁY|m †b‡ Á .|ÌËZ¼¿ [Zzf¿Y Y €œ¿ {»
{» ž]YÂe ZË Á ZÅ|Ë{ ,µÁY|m ¹Z¼e ÉY€] Y Z¯ ¾ËY .|ÌËZ¼¿ ®Ì¸¯ Add ļ¯{ ÉÁ
.|ÌËZ¼¿ ®Ì¸¯ Close ļ¯{ ÉÁ €] †b‡ Á |ÌÀ¯ Y€°e €œ¿
ZÆ¿M Ä] |Ë{ { |ÌÅYÂyÊ» į Y ÊËZÆ¿Âf‡ ,®^Œ» ¶¿Za Y Column d¼ˆ« {
ÄÀ˂³ {‹ Ã|Ë{ ÄnÌf¿ ğ¼n» { Ê¿Âf‡ |ÌÅYÂyÊ» €³Y .|ÌÀ¯ [Zzf¿Y |ÌËZ¼¿ ZmY
.|‹Z] Äf‹Y{ ®Ìe 0Z¼fu ÊfˆËZ] Ê» ½M Z] €›ZÀf» Output
OR ÉZÆ¿Âf‡ { |Ì¿YÂeÊ» Y •€‹ |Àq .|̈ËÂÀ] Y •€‹ Criteria ½Âf‡ {
ÄÀ˂³ Á Ã{€¯ d‡Y d¼‡ ®Ì¸¯ Criteria ½Âf‡ ÉÁ€] É|À]ÃÁ€³ ÉY€] .|ÌÀ¯ Y€°e
½Âr¼Å Ê ]YÂe Y {Â] |ÌÅYÂy {Z« Z¼‹ c¾ËY { .|ÌËZ¼¿ [Zzf¿Y Y Group By
.|ÌÀ¯ Ã{Z¨f‡Y Sum
Criteria ½Âf‡ { į –ËY€‹ ¹Z¼e ,|̋Z] Ã{€¯ [Zzf¿Y Y Group by €³Y :1€¯~e
ZÆfË{Á|v» ¾ËY Ä°ÀËY ÉY€] .|¿Â‹Ê» Äf§€³ €œ¿ { Having –ËY€‹ ½YÂÀŸ Ä] |̈ËÂÀ]
dˆÌ· Y Á Ã{€¯ ®Ì¸¯ €›ZÀf» ®^Œ» ¶¿Za ÉÁ €] ,|¿{€³ ħZ“Y Where •€‹ Ä]
.|ÌÀ¯ [Zzf¿Y Group by ÉZn] Y where ÄÀ˂³ €œ¿ {»
.|ˀ̴] €œ¿ { ½Âf‡ ¾ËY ÉY€] Z fˆ» º‡Y ®Ë |Ì¿YÂeÊ» Z¼‹ Alias ½Âf‡ { :2€¯~e
.|ÌËZ¼¿ ®Ì¸¯ (!) d»ÔŸ ÉÁ €] |Ë{ lËZf¿ ½|Ë{ ÉY€]
57 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

ÉÁ €] ÊmZy ÉZÅ|̸¯ į {‹ʻ Y€«€] Êe { ZŕZ^eY į |̋Z] Äf‹Y{ ÄmÂe
d¯€u Á €œ¿ {» |¸Ì§ [Zzf¿Y Z] |Ì¿YÂeÊ» Z¼‹ Äq€³ .|‹Z] Äf‹Y{ {ÂmÁ µÁY|m
Y€«€] Y •Z^eY µÁ|m Á{ ¾Ì]Z» |ËYÃ{Y{ ZŒ§ Y `q d¼‡ ®Ì¸¯ įʷZu { ÃY‹»
.|ÌÀ¯

Run

¶¿Za
®^Œ»

ÉZÅ|¯
SQL

|Ë{ lËZf¿

:˺ SQL cYÂf‡{ ¾Ë€f¼Æ» -3-5

CREATE DATABASE

CREATE DATABASE database_name

ÉZŀf»YZa ÉYY{ |¿YÂeÊ» Âf‡{ ¾ËY .{Z‡Ê» Y |Ë|m ÉZÅÃ{Y{ ÃZ´ËZa ®Ë Âf‡{ ¾ËY
ŽzŒ» Y ½M ½|‹ ÄfyZ‡ ¶v» Á ZÅÃ{Y{ ÃZ´ËZa ÊËY|f]Y ÁY|¿Y 0Ôj» į |‹Z] É{| f»
.|ÀÀ¯Ê»

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅÃ{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºÅ{ZË Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 58

CREATE TABLE

CREATE TABLE table_name


(fild1 datatype [NOT NULL]ˬ
fild2 datatype [NOT NULL]ˬ…)
.|À¯Ê» {ZnËY ZÅÃ{Y{ ÃZ´ËZa { Y |Ë|m µÁ|m ®Ë Âf‡{ ¾ËY
.|¿Â‹Ê» ŽzŒ» Âf‡{ ¾ËY { ‚Ì¿ µÁ|m ÉY‚mY ÉZÅÃ{Y{ Â¿ Á ¹Z¿

CREATE USER

CREATE USER user


.|À¯Ê» ŽzŒ» Y ÉÁ ÄÌ·ÁY Â^Ÿ ‚» Á ¹Z¿ Á {Z‡Ê» Y |Ë|m €]Z¯ ®Ë Âf‡{ ¾ËY

DELETE
DELETE FROM table_name
WHERE condition
¾ËY Y Ã{Z¨f‡Y ¹Z´ÀÅ Ä] .|À¯Ê» ­Za ÊeZŸÔ—Y ®¿Z] ¶yY{ Y Y ZÅÃ{Y{ Âf‡{ ¾ËY
:į d‹Y{ ÄmÂe |ËZ] Âf‡{
.|¿Z»Ê¼¿ €]Z¯ |ÌËPe €œfÀ» Á {‹ʻ Y€mY {ÁÁ Y †a ĸZ§Ô] Âf‡{ ¾ËY 0ÓÁY
.dˆÌ¿ µÁ|m ¥~u Ä] {Z« Á |À¯Ê» ¥~u Y ZÅ{¯ ZÆÀe DELETE Âf‡{ 0ZÌ¿Zi
.|ÌÀ¯ Ã{Z¨f‡Y DROP TABLE Âf‡{ Y |ËZ] ZÆ·Á|m ¥~u ÉY€]

DROP DATABASE

DROP DATABASE database_name


ZÅÃ{Y{ ÃZ´ËZa ʰ˂̧ ZfyZ‡ į ÉÂv¿Ä] |À¯Ê» ¥~u Ô»Z¯Y ZÅÃ{Y{ ÃZ´ËZa Âf‡{ ¾ËY
.|‹ |ÀÅYÂy ­Za ʸ¯Ä] ½M ÉZÅÃ{Y{ Á

DROP TABLE

DROP TABLE table_name


.|À¯Ê» ¥~u ZÅÃ{Y{ ÃZ´ËZa Y Y µÁ|m ®Ë Âf‡{ ¾ËY
59 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

FROM

FROM <table>[ˬ<table>…]
.|À¯Ê» ŽzŒ» Y Ã|‹ ªÌ¨¸e ZË Á Ã{Z¨f‡Y {» ÉZÆ·Á|m Âf‡{ ¾ËY

GROUP BY

GROUP BY <col> [ˬ<col>…]


€´Ë|°Ë Z] ,|ÀfˆÅ |uYÁ ½Âf‡ Y|¬» ®Ë ÉYY{ į Y ÊËZŀ˜‡ ļŠÂf‡{ ¾ËY
.|À¯Ê» É|À]Äf‡{

HAVING

HAVING <search_condition>
ÃÁ€³ į {‹ʻ hŸZ] Á {ÁÊ» Z¯Ä] GROUP BY Z] ÃY€¼Å ZÆÀe É|̸¯ ļ¸¯ ¾ËY
.{{€³ {Á|v» ,Ã|‹ ŽzŒ» •€‹ –‡Âe Ê]Zzf¿Y

INSERT
Á{ ÉYY{ Á {ÁMÊ» ºÅY€§ ÊeZŸÔ—Y ®¿Z] Ä] Y ZÅÃ{Y{ ½{€¯ ħZ“Y ½Z°»Y Âf‡{ ¾ËY
:d‡Y ʸ¯ ¶°‹

INSERT VALUES -˺
INSERT INTO table_name (col 1ˬ col 2ˬ…)
VALUES(value 1ˬ value 2ˬ…)
.|À¯Ê» ħZ“Y µÁ|m ®Ë Ä] |Ë|m {¯ ®Ë cÄ] Y ZÅÃ{Y{ ,Âf‡{ ¾ËY
|̨» Âf‡{ ¾ËY Y Ã{Z¨f‡Y ,|¿Y{ Z¯Á€‡ {Á|v» {¯ |Àq Y ZÆÀe į ÊeZ̸¼Ÿ {
.d‡Y

INSERT … SELECT -˻
INSERT INTO table_name (col 1ˬ col 2ˬ…)
SELECT col 1ˬ col 2ˬ…
FROM table_name
WHERE search_condition
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 60

Y Ã{Z¨f‡Y |¿{€³ ħZ“Y µÁ|m ®Ë Ä] dˆËZ]Ê» É{Zˁ Z̈] ÉZÅ{¯ į É{Y» {


cZŸÔ—Y ,Âf‡{ ¾ËY ɀ̳Z¯Ä] Z] |À¿YÂeÊ» ½ZˆË¿ĻZ¿€] .d‡Y €e[¸˜» Âf‡{ ¾ËY
.|ÀËZ¼¿ k{ ɀ´Ë{ µÁ|m { Á |ÀÀ¯ kY€zf‡Y µÁ|m |Àq ZË ®Ë Y Y

ORDER BY

ORDER BY <order_list>
\e€» ,Ã|‹ŽzŒ» (ÉZÆ¿Âf‡ ZË) ½Âf‡ \ˆu €] Y ÊfŒ³€] €Ë{Z¬» Âf‡{ ¾ËY
.|À¯Ê»

GRANT, REVOKE

GRANT role TO user


REVOKE role FROM user
GRANT USER Âf‡{ Z] į ɀ]Z¯ Ä] Y Š¬¿ ®Ë ZË ZÌfyY ®Ë GRANT Âf‡{
.{€Ì³Ê» †aZ] Y€¿M REVOKE Âf‡{ Á |À¯Ê» Z˜ŸY d‡Y Ã|‹ ÄfyZ‡
Ä] Ê]ZÌf‡{ ÉZÅÁZmY ½{Y{ ‚Ì¿ Á Zƌ¬¿ Á ʼfˆÌ‡ cYZÌfyY Z˜ŸY ÉY€] cYÂf‡{ ¾ËY Y
.{‹ʻ Ã{Z¨f‡Y ZÆ¿M ɀ̳†aZ] ZË Á ÊeZŸÔ—Y ®¿Z] ®Ë { ÉYÃ{Y{ ÉZÅZfyZ‡
.|À»Z¿Ê» (Data Control Language) DCL ¾Ì»Y€§ Y cYÂf‡{ ¾ËY

SELECT

SELECT [DISTINCT | ALL]


.|¿Â‹Ê» Z£M Âf‡{ ¾ËY Z] ZÅÃ{Y{ Ê]ZˁZ] cYÂf‡{ ļÅ
|¿Â‹ Ã|¿Y{€³Z] Zf°Ë €Ë{Z¬» ZÆÀe Ze {‹ʻ hŸZ] DISTINCT É|̸¯ ļ¸¯ ɀ̳Z¯Ä]
‘€§ŠÌa ½YÂÀŸÄ] ALL É|/̸¯ ļ¸/¯ .{‹ [ZÀfmY ÉY€°e €Ë{Z¬» ½|¿Y{€³Z] Y Á
.{Â] |ÀÅYÂy Zn» ‚Ì¿ ÉY€°e €Ë{Z¬» ,½M Y Ã{Z¨f‡Y c { Á {ÁÊ» Z¯Ä]

UPDATE

UPDATE table_name
SET column_name 1 = value 1 [ˬcolumn_name 2 = value 2 ˬ…]
WHERE search_condition
61 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

®¿Z] ¶yY{ { Y ZÅÃ{Y{ Á |Å{Ê» €Ì̤e Y {Âm» ÉZÅ{¯ €Ë{Z¬» Âf‡{ ¾ËY
.|À¯Ê» ÁÄ] ÊeZŸÔ—Y

WHERE

WHERE <search_condition>
.|À¯Ê» {Á|v» •€‹ –‡Âe Y ÊfŒ³€] ÉZŀ˜‡ Âf‡{ ¾ËY

1
ɁZ‡µZ»€¿ -4-5
Z] Z¼‹ €œ¿ Ä] ,ºËÁZÌ] µÁ|m ®Ë { Á ºÅ ZÀ¯ { Y µÁ|m Á{ cZŸÔ—Y |ÌÀ¯ ‘€§
ÊËZÅ|¸Ì§ Äq 0ӏY .{{€³ {ZnËY d‡Y ¾°¼» ÊeÓZ°‹Y Äq |Ë|m µÁ|m Ä] ÄmÂe
Ŀ´q Y µMÃ|ËY µÁ|m ®Ë Á |ÀÅ{ ¶Ì°Œe Y µÁ|m ®Ë ºÅ ZÀ¯ { dˆËZ]Ê»
.{€¯ ÊuY€— ½YÂeÊ»
ʸ¯ —Ä] .{‹ʻ Ã{Y{ x‡Za ɁZ‡µZ»€¿ ¹Âƨ» ʧ€ » Z] cÓY‡ ¾ËY Ê»Z¼e
®¿Z] ÊuY€— ĸu€» { į d‡Y ÊËZƋÁ Á ZÆ°ÌÀ°e Y ÉYğ¼n» ɁZ‡µZ»€¿
µZ»€¿ µÁY|m €³Y .|¿Â‹ ¦Ë€ e Âv¿ ¾Ë€fÆ] Ä] µÁY|m Ze ,{‹ʻ µZ¼ŸY cZŸÔ—Y
:|‹ ºÌÅYÂy Á€]Á Ã|¼Ÿ ¶°Œ» ć Z] |À‹Z^¿
ZÅÃ{Y{ Ê´¿Á‚§Y -1
•Z^eY { ZÆÀe Y€°e µMÃ|ËY cZŸÔ—Y ®¿Z] ®Ë { .d‡Y ZÅÃ{Y{ ÄËÁ Ê] Y€°e ÊÀ » Ä]
¹Z¿ Ê´¿Á‚§Y ¾ËY Y ŠÌ] Y€°e .{€Ì³Ê» c ,ÊmZy |̸¯ ªË€— Y Á µÁY|m ¾Ì]
.{{€³Ê» Ê¿YÁY€§ ÉZ”§ ¾f§ |Å \m» ZÅÃ{Y{ Ê´¿Á‚§Y .{Y{
ʼœ¿ Ê] -2
.d‡Y ZÅÃ{Y{ €Ì̤e { ʼœ¿Ê] {ZnËY µZ»€¿ €Ì£ µÁY|m cÔ°Œ» Y €´Ë{ Ê°Ë
ÊÆe €Ë{Z¬» -3
ŠËZ¼¿ ¶]Z« ÊÆe €Ë{Z¬» Y Ã{Z¨f‡Y ½Á|] ÊeZŸÔ—Y ÉZÅ|¸Ì§ Y ʔ ] µÁY|m ¹Z£{Y Z]
.{ÁÊ» |Å Ä] Ã{ÂÆÌ] É{Zˁ ÉZ”§ ž«YÁ { Á |ÀfˆÌ¿

.|ÌÀ¯ Ä mY€» ÊÅ°¿Y ÉZ«M ¦Ì·Ze ZÅÃ{Y{ ÃZ´ËZa É{ZÌÀ] ºÌÅZ¨» [Zf¯ ºÅ{ZÆq Zf¨³ Ä] €fŒÌ] Ä ·Z˜» ÉY€] .1
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 62

€´Ë{ ɇ Y Z»Y |À¯Ê» ɀ̳¸m ©Â§ cÔ°Œ» Á€] Y ɁZ‡µZ»€¿ Äq €³Y
Ã|ÌrÌa Á µÁY|m {|n» \̯€e dÆm ¹Ó ½Z» ¶Ì·{ Ä] ,ÊÅ{x‡Za ½|‹ |À¯ hŸZ]
.{{€³Ê» ZÅÂm Á …€a ½|‹
µZ»€¿ ¶»Z¯ ˜] µÁ|m ®Ë į |Å{ tÌm€e d‡Y ¾°¼» sY€— ZÆ¿Z» ʔ ]
.{‹ʻ Äf¨³ Denormalization ZË ½{€¯ kZy µZ»€¿ Y Ã|Ë|a ¾ËY Ä] {Œ¿
Ä] €nÀ» į µZ»€¿ ÉZ/Æ»€/§ ɀ‡ ®Ë Y ÉÁ€Ìa ÊÀ Ë ¶/¼Ÿ { ɁZ‡µZ»€¿
ÉZÀ^» €] ZÆ»€§ ¾ËY .{Y{ {ÂmÁ µZ»€¿ ¹€§ 6 ʸ¯ —Ä] ,|¿Â‹Ê» µÁY|m Ä˂ne
Á 4NF Á BCNF Á 3NF Á 2NF Á 1NF :Y |ÀeZ^Ÿ Á |¿YÃ|‹ ¦Ë€ e Ê ]Ze Ê´fˆ]YÁ
5NF Á 4NF Á º¯ Z̈] BCNF ¹€§ .|¿Y{ {€]Z¯ Z̈] µÁY ¹€§ ć ¶¼Ÿ { .5NF
.{‹ʻ Ã{Z¨f‡Y c|¿ Ä]
€Ë ¶°‹ cÄ] ,ºÌÅ{ ŠËZ¼¿ ÉYğ¼n» Y{¼¿ c Ä] Y ZÆ»€§ ¾Ì] Ę]Y €³Y
:{Â] |ÅYÂy
1NF

2NF

3NF

BCNF

4NF
5NF

cZ^Ÿ Ä] Á d‡Y 1NF ğ¼n» €Ë 2NF Ę]Y €Å į d‡Y ¾ËY €´¿ZÌ] ¶°‹ ¾ËY
.dˆÅ ‚Ì¿ 1NF Z¼fu |‹Z] 2NF Ę]Y ®Ë €³Y €´Ë{

:į d‡Y 1NF Ê·Á|m :(1NF) µÁY µZ»€¿ ¹€§ -1


.|À‹Z] Ã|‹ ¦Ë€ e ½M ÉZÅ|̸¯ ļŠ(1
63 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

.|À‹Z] Äf‹Y{ Ê ]Ze Ê´fˆ]YÁ ʸY |̸¯ Ä] ½M ÉZÆf¨ ¹Z¼e (2


.|À‹Z^¿ (Nested Domain) Âe { Âe ÄÀ»Y{ Y ½M ÉZÆf¨ (3
¹Z¿ Ä] Êf¨ 0Ôj» ÊÀ Ë .ºÌ‹Z] Äf‹Y|¿ Ê^̯€e cZ¨ į d‡Y ¾ËY ¹Â‡ •€‹ Y œÀ»
ÉZƌz] –¬§ ZË Á ºÌ‹Z] Äf‹Y{ (..., ½Z]ZÌy , €Æ‹) ½M ÉZƌz] Ä] ÄmÂe ½Á|] …{M
.ºÌ‹Z] Äf‹Y{ Y ½M
:į d‡Y 2NF Ê·Á|m :(2NF) ¹Á{ µZ»€¿ ¹€§ -2
.|‹Z] 1NF (1
.|À‹Z] Äf‹Y|¿ Ê´fˆ]YÁ ʸY |̸¯ ÉZŠğ¼n» €Ë Ä] ½M ÉZÆf¨ (2
:ºÌÀ¯Ê» Ã{Z¨f‡Y €Ë ºfË´·Y Y 2NF Ä] 1NF µÁ|m ®Ë ¶Ë|^e ÉY€]
.Y~´] ºÅ ZÀ¯ ÉZÆf¨ ½M Z] ,{Y{ Äfˆ]YÁ d¨ į Y ʸY |̸¯ Y Šz] €Å (¦·Y
.Y~´] ºÅ ZÀ¯ Ã|¿Z¼Ì«Z] ÉZÆf¨ Z] Y ʸY |̸¯ ¶¯ ([
.¾¯ Y€°e ([) { |ÀÅ{ Ê» Y ZÆÌ´fˆ]YÁ €ËZ‡ į ÊËZÆf¨ (k
Äf‹Y{ {ÂmÁ Âe { Âe c Ä] |̸¯ Y ʌz] Ä] Ê´fˆ]YÁ €³Y į d‡ZnÀËY ºÆ» Äf°¿
.{€Ì³ ¹Zn¿Y ɁZ‡µZ»€¿ ĸu€» |Àq { |ËZ] |‹Z]
:į d‡Y 3NF Ê·Á|m :(3NF) ¹Â‡ µZ»€¿ ¹€§ -3
.|‹Z] 2NF (1
Ê´fˆ]YÁ ºÅ Ä] É|̸¯ €Ì£ d¨ ğ¼n» Á{ ÊÀ Ë ,|‹Z] Äf‹Y|¿ Ê·Z¬f¿Y Ê´fˆ]YÁ (2
.|¿YÄfˆ]YÁ ʸY |̸¯ Ä] cZ¨ Ê»Z¼e Y€Ë ,|À‹Z] Äf‹Y|¿
:ºÌÀ¯Ê» Ã{Z¨f‡Y €Ë ºfË´·Y Y 3NF Ä] 2NF µÁ|m ®Ë ¶Ë|^e ÉY€]
.Y~´] ºÅ ZÀ¯ ZÆ¿M ÉZÅÄfˆ]YÁ Z] |¿YÃ{€¯ {ZnËY Ê·Z¬f¿Y Ê´fˆ]YÁ į ÊËZÆf¨ (¦·Y
.Y~´] ºÅ ZÀ¯ Ã|¿Z¼Ì«Z] ÉZÆf¨ Z] Y ʸY |̸¯ ([
.¾¯ Y€°e ([) { ÊmZy |̸¯ ½YÂÀŸ Ä] Y É|̸¯ ÉZÆf¨ (k
{ Á ÊW‚m ÉZÅÊ´fˆ]YÁ ¹Á{ µZ»€¿ ¹€§ { :(BCNF) Boyce-Codd µZ»€¿ ¹€§ -4
ZÆÌ´fˆ]YÁ ¾ËY Z»Y ,|¿Â‹Ê» ¥~u ʸY |̸¯ ÉÁ €] Ê·Z¬f¿Y Ê´fˆ]YÁ ¹Â‡ µZ»€¿ ¹€§
.{‹ʼ¿ ʇ€] |Ë|¿Z¯ |̸¯ ®Ë Y ŠÌ] {ÂmÁ c { |Ë|¿Z¯ ÉZÅ|̸¯ ÉÁ €]
.{Y{€aÊ» {» ¾ËY ʇ€] Ä] BCNF µZ»€¿ ¹€§ ž«YÁ {
:{‹ʻ ¦Ë€ e €Ë c Ä] BCNF
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 64

Äf‹Y{ Ê ]Ze Ê´fˆ]YÁ ‰|Ë|¿Z¯ ÉZÅ|̸¯ Ä] –¬§ ½M ÉZÆ¿Âf‡ į d‡Y BCNF Ê·Á|m
.|À‹Z]
:d‡Y ÉÁ€“ BCNF {» { €Ë cZ°¿ Ä] ÄmÂe
ɁZÌ¿ BCNF µZ»€¿ ¹€§ Ä] µÁ|m ®Ë ¶Ë|^e ÉY€] €´Ë{ µZ»€¿ ÉZÆ»€§ ¥Ôy €] -1
¦Ë€ e Y Ã{Z¨f‡Y Z] ÊÀ Ë ,|ÀËM{ 3NF ZË Á 2NF ,1NF ÉZÆ»€§ Ä] Y|f]Y µÁ|m dˆÌ¿
¦Ë€ e ¾Ë€ež»Zm BCNF ¾ËY€]ZÀ] ,{€¯ µZ»€¿ ½YÂeÊ» ĸu€» ®Ë { Y µÁY|m BCNF
.|Å{Ê» ÄWYY ¶¬fˆ» ˜] Y Ê ]Ze Ê´fˆ]YÁ ÉZÀ^» €] ɁZ‡µZ»€¿
µÁY|m ¶Ë|^e Y d‡Y €fÆ] Á dˆÌ¿ ¹Ó BCNF t˜‡ Ze ɁZ‡µZ»€¿ É{Y» { -2
.{€¯ ÉY{{Ây BCNF Ä] 3NF
½M ʸ¯ — Ä] |À‹Z^¿ BCNF d‡Y ¾°¼» c|¿ Ä] |À‹Z] 3NF į Ê·ÁY|m Ó¼ »
BCNF ¹€§ { d‡Y ¾°¼» |À‹Z] Äf‹Y{ Y €Ë •€‹ ć €Å į 3NF µÁY|m Y Äf‡{
:|À‹Z^¿
.|‹Z] |Ë|¿Z¯ |̸¯ Á{ ¶«Y|u ÉYY{ µÁ|m -1
.|À‹Z] Ê^̯€e |Ë|¿Z¯ ÉZÅ|̸¯ ¾ËY -2
.|À‹Z] Äf‹Y{ ­€fŒ» d¨ Ê^̯€e ÉZÅ|̸¯ ¾ËY -3
€³Y Á {Y{ ɁZ‡µZ»€¿ { ʼƻ Z̈] Š¬¿ ,ÄÀÌÆ] (Zfˆ]) ʌ‹Âa Ê´fˆ]YÁ ğ¼n»
µZ»€¿ ¶»Z¯ ˜] µÁY|m į {Y{ ½Z°»Y {Œ¿ Ã{Z¨f‡Y ɁZ‡µZ»€¿ ÉY€] ÄÀÌÆ] Zfˆ] Y
.|À‹Z] Ê´¿Á‚§Y ÉYY{ Á |¿ÂŒ¿
{ BCNF ¹€§ Ä] Ê·ÁY|m į |f§Y Ê» ©Z¨eY ÊÅZ³ :(4NF) ¹ZÆq µZ»€¿ ¹€§ -5
ÉY|¬» |Àq Ê´fˆ]YÁ Ê´¿Á‚§Y ¾ËY ¶¸Ÿ Y Ê°Ë .|¿Y{ Ê´¿Á‚§Y ºÅ ÂÀÅ Z»Y |¿YÃ|»M
(5NF) ºnÀa µZ»€¿ ¹€§ { į d‡Y É|¿ÂÌa Ê´fˆ]YÁ ,€´Ë{ d¸Ÿ) .d‡Y (MVD)
.({‹ʻ ʇ€]
.d‡Y ZÅd¨ Y ¶¬fˆ» ğ¼n» Á{ ¾Ì] Ê´fˆ]YÁ ʟ¿ ÉY|¬» |Àq Ê´fˆ]YÁ
:į {‹ʻ ¦Ë€ e c ¾ËY Ä] 4NF ¹ZÆq µZ»€¿ ¹€§
ÊÆË|] €Ì£ ÉY|¬»|Àq Ê´fˆ]YÁ pÌÅ Á |‹Z] BCNF ¹€§ Ä] į d‡Y 4NF Ê·Á|m
Ê´fˆ]YÁ cZ¨ 4NF ¹€§ Ä] BCNF µÁ|m ®Ë ¶Ë|^e ÉY€] .|‹Z] Äf‹Y|¿ (ÊW‚m€Ì£)
65 SQL Server 2000 ºÌÅZ¨» ¾Ë€f¼Æ»

®Ë { ½ZŒËZŽZÀÌ»€e{ Y Êb¯ ®Ë ÃY€¼Å Ä] Y ZÆ¿M Á Ã{€¯ ¥~u µÁ|m Y Y MVD


.ºÌÅ{Ê» Y€« µÁ|m
Á{ Ä] tÌv — Ä] Y Ê·Á|m ½YÂeʼ¿ É{Y» { :(5NF) ºnÀa µZ»€¿ ¹€§ -6
¾ÌÀq .d‡Y €Ë~a½Z°»Y €fŒÌ] ZË µÁ|m ć Ä] ½M Ä˂ne Ê·Á {¼¿ Ä˂ne µÁ|m
.|ÀfˆÅ É|¿ÂÌa ÉZÅÊ´fˆ]YÁ ÉYY{ Ê·ÁY|m
A Á B Á ...Á P ÉZŠĘ]Y Y ®Ë €Å ÉZÆ¿Âf‡ Á ĘËY ®Ë R €³Y ʸ¯ —Ä]
Á B Á ...Á P ÉÁ É|¿ÂÌa ÉZÆÌ´fˆ]YÁ ÉYY{ R ÃZ´¿M ,|À‹Z] R ÉZÆ¿Âf‡ ğ¼n»€Ë
:ºÌ‹Z] Äf‹Y{ €³Y ZÆÀe Á €³Y d‡Y A
R=A B … P
É|¿ÂÌa Ê´fˆ]YÁ ‰|Ë|¿Z¯ ÉZÅ|̸¯ Ä] €³Y ZÆÀe Á €³Y d‡Y 5NF ¹€§ { R µÁ|m
.|‹Z] Äf‹Y{
c ¾ËY { |À‹Z] Ã{Z‡ cZ¨ ½M |Ë|¿Z¯ ÉZÅ|̸¯ ¹Z¼e Á |‹Z] 3NF ÉYĘ]Y €³Y
.d‡Y 5NF Ę]Y
,|‹Z] Ã{Z‡ d¨ ½M |Ë|¿Z¯ ÉZÅ|̸¯ Y Ê°Ë ¶«Y|u Á |‹Z] BCNF ÉYĘ]Y €³Y
.dˆÌ¿ 5NF Z»Á‚· Z»Y d‡Y 4NF Ę]Y
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 66
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 67

ºŒ‹ ¶§

SQL Äf§€ŒÌa huZ^»

¥Y|ÅY -1-6
ZÅÃ{Y{ ÃZ´ËZa ®Ë ÉZÅÃ{Y{ Z] ½YÂeÊ» į Y ÊËZÅZ¯ Ê»Z¼e 0Z^ˀ¬e Äf‹~³ ÉZƸ§ {
Ê]ZˁZ] ÉY€] SELECT Âf‡{ Y Ã{Z¨f‡Y €— µZj» —Ä] ,|Ìf§€³ Y€§ {Y{ ¹Zn¿Y
cYÂf‡{ Y Ã{Z¨f‡Y ¾ÌÀr¼Å Á €œ¿ {» –ËY€‹ ÉZÀ^» €] µÁ|m |Àq ZË ®Ë ÉZÅÃ{Y{
Y ZÅÃ{Y{ ÃZ´ËZa ®Ë ÉZÅÃ{Y{ ½{Y{ €Ì̤e ÉY€] DELETE Á UPDATE ,INSERT
SQL Á ZÅÃ{Y{ ÃZ´ËZa ÊeZ/»|¬» ºÌÅZ/¨» Z] Z¼‹ €“Zu µZu { \Ìe€e ¾ËY Ä] ,|Ìfy»M
|ËZ] |ÌÀ¯ ÊuY€— |À¼e|« Á ÉYħ€u Ã{Y{ ÃZ´ËZa ®Ë |ÌÅYÂyÊ» €³Y Z»Y ,|ÌfˆÅ ZÀ‹M
.|ˁ»ZÌ] ‚Ì¿ Y ¶§ ¾ËY huZ^»
Z] ¶^« Y į Ê¿ZËÂnŒ¿Y{ Á ½ZˆË¿ĻZ¿€] ÉY€] Êfu d‡Y ¾°¼» ¶§ ¾ËY \·Z˜»
¾ÌÀr¼Å Á ZŁ€¯ Á Zƈ¯|ÀËY {» { ¶§ ¾ËY { .|‹Z] |Ë|m |¿YÃ{Â] ZÀ‹M SQL
.dyY{€a ºÌÅYÂy ZÆ¿M ɀ̳Z¯Ä] Á Ã{Z¨f‡Y ÃÂv¿ Á Zŀ´Ë€e Á ZƌÀ¯Y€e ¹Âƨ»
:|̋Z] Ã{€¯ \ˆ¯ Y €Ë ÉZÆeZÆ» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
CURSOR Á TRIGGER ˬTRANSACTION ˬ INDEX ¹Âƨ» ­{ x
ZÆ¿M ɀ̳Z¯Ä] Á ÊuY€— x
†¯|ÀËY Á |Ë{ ÉZÆeÁZ¨e x
ŠÀ¯Y€e ¤· ZË Á dÌ^je ÃÂv¿ x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 68

.dˆÌq †¯|ÀËY -2-6


:{€¯ Ã{Z¨f‡Y ‰Á Á{ Y ½YÂeÊ» ZÅÃ{Y{ ÃZ´ËZa ÉZÅÃ{Y{ Ê]ZˁZ] ÉY€]
Y µÁ|m ÉZÅ{¯ Ä̸¯ SQL {Y{ ¹Z¿ Ê·YÂf» Ê]ZÌf‡{ ‰Á į µÁY ‰Á {
‰Á ¾ËY dŸ€‡ ¾ËY€]ZÀ] .|À¯Ê» Ânfˆm €œ¿ {» {¯ µZ^¿{Ä] ɀ´Ë{ Y †a Ê°Ë
.d‡Y º¯ Z̈]
ŠËZÆ]Zf¯ į ÉYÄ¿Zz]Zf¯ { Y Ê]Zf¯ |ÌÅYÂyÊ» į |ÌÀ¯ ‘€§ µZj» ½YÂÀŸÄ]
€Ì³d«Á Z̈] ‰Á ¾ËY 0Z¼¸ˆ» ,|Ì]ZÌ] {Y{ Y€« ZÅŒ¯ { ʏZy \Ìe€e pÌÅ ½Á|]
¹Z¿ ZË Á Â“» ,½YÂÀŸ \ˆu €] Z^¨·Y ¥Á€u \Ìe€e Ä] ZÆ]Zf¯ €³Y Ê·Á ,{Â] |ÅYÂy
{Â] |ÌÅYÂy {Z« c ¾ËY { ,|‹Z] Ã|‹ \e€» ZÆÀËY Y Ê^̯€e ZË Á [Zf¯ ¦·Â»
.|ËÁM d‡{Ä] €f Ë€‡ Z̈] Á {Zˁ ɀË~a¥Z˜ ¿Y Z] ,Y {Ây ZÌ¿ {» cZŸÔ—Y
Y {Â] |ÅYÂy {Z« SQL ,ZÅÃ{Y{ ÃZ´ËZa Ä] Zƈ¯|ÀËY ½{Á‚§Y Z] Á ¹Á{ ‰Á {
Y Ã{Z¨f‡Y Z] [Zf¯ ®Ë ½{€¯ Y|Ìa Ä]ZŒ» ‰Á ¾ËY .|À¯ Ã{Z¨f‡Y ºÌ¬fˆ» Ê]ZÌf‡{ ‰Á
ZfyZ‡ ®Ë Y SQL c ¾ËY { .d‡Y Ã|‹ \e€» [Zf¯ ÉZÆeZ¯ ÉÁZu ÉZÅŒ¯
cZŸÔ—Y Ê]ZˁZ] Á ɁZ‡Ã€Ìy} ÉY€] (binary search tree) ÊËÁ{Á{ ÉÂnfˆm dy{
{ÂmÁ ZÅÃ{Y{ ÉZÅÄf‡{ Ä] ÊËZŀ³ÃZ‹Y dy{ ¾ËY ÉÓZ] { .|À¯Ê» Ã{Z¨f‡Y †¯|ÀËY
.{‹ʻ Äf¨³ (node) À³ ,ZÆÅÁ€³ ¾ËY Ä] .|¿Y{

Zƈ¯|ÀËY ɀ̳Z¯Ä] Á ÊuY€— -3-6


ÊeYÂf‡{ ÉYY{ SQL .|ˁZˆ] ½Ze{Ây Y Êfy{ ZfyZ‡ ¾ËY dˆÌ¿ ¹Ó Ä¿Zfz^‹Ây
:d‡Y €Ë ¶°‹ Ä] Âf‡{ ¾ËY ‰Z´¿ ÃÂv¿ .{Z‡Ê» Y †¯|ÀËY į d‡Y
CREATE INDEX index_name
ON table_name(column_name1ˬ…);
€Ì̤e ‚Ì¿ Y ZÅÃ{Y{ ÃZ´ËZa { {Âm» ÉZÅÃ{Y{ ŠËZ¼¿ \Ìe€e |À¿YÂeÊ» Zƈ¯|ÀËY
.|ÀfˆÌ¿ ÉZ¯ ¾ÌÀq ¹Zn¿Y Ä] {Z« ZÅ|Ë{ įʷZu{ ,|ÀÅ{
:{Y{ {ÂmÁ Ã|¼Ÿ ¶Ì·{ ć , SQL { Zƈ¯|ÀËY ɀ̳Z¯Ä] ÉY€]
UNIQUE É|̸¯ ļ¸¯ ɀ̳Z°] ªË€— Y ZmY Ê´qZb°Ë {ÂÌ« µZ¼ŸY ÉY€] x
L‚m |Àq ZË ®Ë \ˆu €] ZÅÃ{Y{ ɁZ‡ \e€» ¶Ìƈe ÉY€] x
Zƌ‡€a ÉY€mY dŸ€‡ ɁZ‡ÄÀÌÆ] ÉY€] x
ÓÖ SQL Äf§€ŒÌa huZ^»

Zƈ¯|ÀËY {» { ÊeZ°¿ -4-6


.|¿Â‹Ê» ¥~u ‚Ì¿ ½M Ä] •Â]€» ÉZƈ¯|ÀËY ,µÁ|m ®Ë ¥~u Z] x
.{‹ʼ¿ dŸ€‡ ŠËY‚§Y hŸZ] ,†¯|ÀËY Y Ã{Z¨f‡Y ,®q¯ ÉZÆ·Á|m {» { x
cÁZ¨f» †¯|ÀËY ½Âf‡ { {Âm» €Ë{Z¬» į Êe { Zƈ¯|ÀËY Y Ã{Z¨f‡Y €ÌiZe x
.d‡Y €fŒÌ] ,|À‹Z] null ZË Á
ZÅÃ{Y{ €Ì̤e dŸ€‡ ŠÅZ¯ Á Z/ÅÃ{Y{ Ê]ZˁZ] dŸ€/‡ ŠËY‚/§Y h/ŸZ] Zƈ¯|ÀËY x
.|¿Â‹Ê»
.|ˁZˆ] †¯|ÀËY ,|¿ÁÊ» Z¯Ä] µÁ|m Á{ ªÌ¨¸e ÉY€] į ÊËY‚mY ÉÁ ÃY¼Šx
.|‹ |ÅYÂy ªÌ¨¸e dŸ€‡ |Ë|‹ ŠËY‚§Y hŸZ] ¶¼Ÿ ¾ËY
Š‡€a į |¿Â‹ Zƌ‡€a ɁZ‡ÄÀÌÆ] hŸZ] |À¿YÂeÊ» Êe { Zƈ¯|ÀËY x
(ZÅÃ{Y{ ¶¯ %25 Y €f¼¯) .|¿Y{€³Z] Y ʼ¯ ÉZÅÃ{Y{

(Transaction) ŠÀ¯Y€e ¹Âƨ» -5-6


Á ʬ˜À» \Ìe€eÄ] |ËZ] ZË Ä¯ d‡Y (logical unit of work) ÉZ¯ |uYÁ ŠÀ¯Y€e
d‡Y ½M ÉZÀ » Ä] ÉZ¯ |uYÁ cZ^Ÿ .{Œ¿ ¹Zn¿Y 0ԏY ZË Á {‹ ¹Zn¿Y ¶»Z¯ cÄ]
,ŠÀ¯Y€e ®Ë ÉY€mY ½Zˀm { €³Y .d‡Y ½ZËZa ®Ë Á Á€‹ ®Ë ÉYY{ ŠÀ¯Y€e į
|‹Z] (dŒ³€] Á) ¤· ¶]Z« |ËZ] Ã|‹ ¹Zn¿Y Z¯ ¶¯ ,{‹ ÄmY» µZ°‹Y Z] Z¯ Y ʌz]
ÀÌy} ZÅÃ{Y{ ÃZ´ËZa { Y ½M ¹Z¼e ½YÂf] |ËZ] ,{‹ ¹Zn¿Y ÊvÌv ¶°‹ Ä] Z¯ €³Y Á
.{€¯
Ä] µÂa ½{€¯ ‚ËYÁ µZu { ʐz‹ ,®¿Z] ®Ë { į |ÌÀ¯ ‘€§ µZj» ½YÂÀŸÄ]
½Z¼Å Y ÄmÁ d‹Y{€] µZu { Ĝv· ½Z¼Å { ɀ´Ë{ Žz‹ Á d‡Y [Zˆu ®Ë
.|‹Z]Ê» [Zˆu
Y€Ë ,{Y{ |ÅYÂz¿ ŠËZ¼¿ Y ÊvÌv Y|¬» [Zˆu ¾ËY É{Âm» Y€e ¾ËY€]ZÀ]
Á |¿YÃ{€¯ Z¯ É|uYÁ ÉZÆ·Á|m ÉÁ €] ½Z»€¼Å c Ä] cÁZ¨f» ½Y€]Z¯
Ã{Z¨f‡Y c { Ê·Á .d‡Y Ã{€] ¾Ì] Y Y ɀ´Ë{ cZŸÔ—Y ,¹Y|¯€Å ÉZÆËÁMÁÄ]
{€´^¬Ÿ Y Ã|‹ ¹Zn¿Y cZ̸¼Ÿ ,ZÅÃ{Y{ ¾f§ZË €Ì̤e c { |Ìfˆ¿YÂeÊ» ZƌÀ¯Y€e Y
.|ÌÀ¯
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 70

|Àq€Å) |À¯ {ZnËY ZÅÃ{Y{ ÃZ´ËZa { ɀÌ̤e į ʸ¼Ÿ ÊÀ Ë Ã{Z‡ ½ZÌ] Ä] ŠÀ¯Y€e
Ä»Z¿€] ®Ë cÄ] 0Z ^— ¶¼Ÿ ¾ËY ,(|‹Z] ½|¿YÂy ¶¼Ÿ –¬§ |¿YÂeÊ» Zy d·Zu {
.{Œ¿ Y€mY 0ԏY ZË Á {‹ Y€mY Ê»Z¼e Ä] |ËZ] ZË Ä¯ d‡Y Ä»Z¿€] ®Ë Y ʌz] ZË
.{Y{ ɀË~aZ¿Ä˂ne d̏Zy ŠÀ¯Y€e d¨³ ½YÂeÊ» ¾ËY€]ZÀ]

ZƌÀ¯Y€e ɀ̳Z¯Ä] Á ÊuY€— -6-6


ʸ^« Ã|‹ ¹Zn¿Y cZ̸¼Ÿ Ä] ¹Y|¯€Å į Y cYÂf‡{ Y ÉYÄ·Z^¿{ ZÅTRANSACTION
€³Y ZË Á {Œ¿ Y€mY Êf‡{ Ä] cZ̸¼Ÿ ¾ËY Y Ê°Ë €³Y .|À¯Ê» Y€mY ,|ÀfˆÅ Äfˆ]YÁ
įÊe { .{‹ ¤· |ËZ] ŠÀ¯Y€e cZ̸¼Ÿ ļŠ,|À‹Z] Äf§ZË €Ì̤e ʸ̷{ Ä] ZÅÃ{Y{
Y ŠÀ¯Y€e ½{€¯ ¤· .{‹ ÀÌy} |ËZ] ŠÀ¯Y€e ,|¿Â‹ Y€mY Êf‡{ Ä] cYÂf‡{ ļÅ
¶ËÂve Y ŠÀ¯Y€e tÌv ¹Zn¿Y ÄnÌf¿ ½{€¯ ÀÌy} .|À»Z¿Ê» (ROLLBACK) {€´^¬Ÿ
.|À»Z¿Ê» (COMMIT) dÌ^je ZË
:Y |ÀeZ^Ÿ ZƌÀ¯Y€e ÉZÆf·Zu Y¿Y ʸ¯ —Ä]
{€— ZË Â¤· :Rollback ZË Abort x
ÀÌy} ZË dÌ^je ZË ½ZËZa :Commit x
Á€‹ :Begin ZË Start x
ŠÀ¯Y€e Z£M tˀ —Ä] |ËZ] |¿€Ì³Ê» €] { Y ZƌÀ¯Y€e į ÊËZƼfˆÌ‡ ļÅ
ÉZ¯ |uYÁ ®Ë ŠÀ¯Y€e ,|‹ €¯} į —½Z¼Å Y€Ë ,|ÀÀ¯ ŽzŒ» begin Âf‡{ Z] Y
.d‡Y ½ZËZa ®Ë Á Z£M ®Ë ÉYY{ į d‡Y
:d‡Y €Ë ¶°‹ Ä] SQL SERVER { Âf‡{ ¾ËY ‰Z´¿ ÃÂv¿
begin {transaction|tran} [transaction_name]
(Statements)
:|À¯Ê» ÀÌy} Y ŠÀ¯Y€e { Ã|‹ ¹Zn¿Y cY€Ì̤e ļŠcommit Âf‡{
Commit {transaction|tran|work} [transaction_name]
dÌ “Á Ä] Y ZÅÃ{Y{ ÃZ´ËZa Á |À¯Ê» ¤· ¶»Z¯ cÄ] Y ŠÀ¯Y€e rollback Âf‡{
¶yY|f» ÉZƌÀ¯Y€e ¶yY{ { Âf‡{ ¾ËY €³Y .|¿Y{€³ |ÅYÂy Z] ŠÀ¯Y€e Á€‹ Y ¶^«
ŠÀ¯Y€e ¾Ë€eÊ¿Á€Ì] Á€‹ ʬ¿ Ä] {€´^¬Ÿ Á |¿Â‹Ê» ¤· ZƌÀ¯Y€e ļŠ,{‹ Y€mY
:{‹ʻ ¹Zn¿Y
Rollback {transaction|tran|work} [transaction_name|savepoint_name]
ÔÎ SQL Äf§€ŒÌa huZ^»

ON d·Zu { default cÄ] į d‡Y AutoCommit ¹Z¿ Ä] Ê¿Z°»Y ÉYY{ SQL


ZË ¶ËÂve Z¯{Ây cÄ] Y Ã|‹ Y€mY cYÂf‡{ Ä̸¯ SQL d·Zu ¾ËY { Ä/¯ d‡Y
:|À¯Ê» (COMMIT) dÌ^je
SET AUTOCOMMIT [ON/OFF]

Zŀ´Ë€e ʧ€ » -7-6


į Ê»Z´ÀÅ ®ÌeZ»ÂeY —Ä] į |ÀfˆÅ ZÅ Store Procedure Y ʏZy Â¿ Zŀ´Ë€e
µÁ|m ÉÁ Delete ZË Update , Insert ,ÉZÅÃ{Y{ sԏY cYÂf‡{ Y {Y{ |« €]Z¯
.|¿Â‹Ê» Y€mY ,|À¯ Ã{Z¨f‡Y ÊÀÌ »
®Ë Á€] Y | ] ZË ¶^« į d‡Y (ÊËZÆfË{Á|v») É|ŸY« ZË Ã|ŸZ« Trigger
.{‹ µZ¼ŸY |ËZ] (ZÅÃ{Y{ Ã|ÀÅ{€Ì̤e ¶¼Ÿ ®Ë 0Ó¼ ») ZÅÃ{Y{ ÃZ´ËZa { (event) {Y|ËÁ
d‡Y Procedure ®Ë cÄ] ,ʈË¿ĻZ¿€] t˜‡ { dË{Á|v» ZË Ã|ŸZ« ¾ËY
—Ä] Z/ÅÃ{Y{ ÃZ´ËZa { ¶¼Ÿ ®Ë ¹Zn¿Y Y | ] ZË ¶^« ,ʗ€‹ €Ì£ ZË Ê—€‹ —Ä] į
(SQL Âf‡{ É{Y| e ¶»Z‹ d‡Y ÉYÄËÁ ,¶¼Ÿ) .{‹ʻ Y€/mY Z/¯{Ây
:Y |ÀeZ^Ÿ ZÅÃ{Y{ ÃZ´ËZa { ZÅ{Y|ËÁ Y¿Y

ZÅ{Y|ËÁ

Ê¿Á€Ì] Ê¿Á{

Ĝv· ®Ë :½Z» ½YÂyY€§ cY€Ì̤e Š‡€a ŠÀ¯Y€e

insert delete update select begin Abort commit


ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 72

Zŀ´Ë€e ɀ̳Z¯Ä] Á ÊuY€— -8-6


:d‡Y Ã|‹ ¶Ì°Œe d¼ˆ« ć Y Ó¼ » trigger ZfyZ‡
:(action)¶¼Ÿ Á (condition)–ËY€‹ ZË •€‹ ,(event){Y|ËÁ
When event if condition(s) then action
ʇ€] Ã|‹ Ã{Y{ –ËY€‹ ZË •€‹ (½M Y ¶^« ZË) |À¯Ê» Á€] {Y|ËÁ į Êf«Á ÊÀ Ë
.{‹ʻ ¹Zn¿Y Ã|‹ Äf‡YÂy ¶¼Ÿ ,•€‹ {ÂmÁ c { Á {‹ʻ
.d‡Y (Referential integrity) ʟZmY Ê´qZb°Ë µZ¼ŸY Zŀ´Ë€e {€]Z¯ ¾Ë€f¼Æ»
{ {Âm» ÉZÅÃ{Y{ ½{Â] €^f » Y Ze |À¯Ê» µZ¼ŸY Y É|ŸY« ʟZmY Ê´qZb°Ë
:d‡Y €Ë ¶°‹ Ä] Zŀ´Ë€e ‰Z´¿ ÃÂv¿ .{‹ ¶Zu ½ZÀ̼—Y ¦¸fz» ÉZÆ·Á|m
CREATE TRIGGER trigger_name
ON {table | view}
[WITH ENCRYPTION]
{
] [ UPDATE ] } ˬ {{FOR | AFTER | INSTEAD OF} {[ INSERT] [
[WITH APPEND]
[NOT FOR REPLICATION]
AS
[{IF UPDATE (column)
[{AND | OR} UPDATE (column)]
[...n ]
| IF (COLUMNS_UPDATED ( ) {bitwise_operator} updated_bitmask)
{comparison_operator} column_bitmask [...n ]
}]
sql_statement [...n ]
}
:{Y{ {ÂmÁ €Ë ÉZÆfË{Á|v»,Zŀ´Ë€e ɀ̳Z¯Ä] {
.dyZ‡ €´Ë€e ZÅ|Ë{ Á d«Â» ÉZÆ·Á|m ÉÁ €] ½YÂeʼ¿ x
.dyZ‡ €´Ë€e ½YÂeÊ» ÉZm ÉZÅÃ{Y{ ÃZ´ËZa { {Âm» ÉZÆ·Á|m ÉÁ €] ZÆÀe x
¥~u Z¯{Ây cÄ] ,½M Ä] Äfˆ]YÁ ÉZŀ´Ë€e Ä̸¯ µÁ|m ®Ë ½|‹ ¥~u Z] x
.|‹ |ÀÅYÂy

ZŁ€¯ ʧ€ » -9-6


½{ Z] €´ŒËY€ËÁ ®Ë { į —½Z¼Å .d‡Y €´ŒËY€ËÁ €¯ Ä] ÄÌ^‹ ½M {€¯Z¯
½M |Ì¿YÂeÊ» Á {€Ì³Ê» Y€« ¾f» ¦¸fz» •Â˜y ÉÁ €] €¯ ,¦¸fz» ÉZÅ|̸¯
ÔÐ SQL Äf§€ŒÌa huZ^»

ÉZÅ{¯ ¾Ì] { ½|‹ Zn]Zm ½Z°»Y ‚Ì¿ ZÅÃ{Y{ ÃZ´ËZa €¯ ,|ÌÀ¯ Ã|ÅZŒ» Y •Â˜y
Y ÉYÄf‡{ |Ì¿YÂeÊ» ZÅÃ{Y{ ÃZ´ËZa ÉZŁ€¯ Y Ã{Z¨f‡Y Z] .{ÁMÊ» ºÅY€§ Y µÁ|m
Y ZÅÃ{Y{ €˜‡ €Å ,|ÌÀ¯ d¯€u ZÅ{¯ Y ÉYğ¼n» { ,|ÌÀ¯ [Zzf¿Y Y ZÅÃ{Y{
.|ÌÅ{ ¹Zn¿Y ½M ÉZÅÃ{Y{ ÉÁ €] Y €œ¿ {» cZ̸¼Ÿ Á |ÌÅ{ Y€« ʇ€] {» 0Ô¬fˆ»
É| ] ÉZÅÃ{Z¨f‡Y ÉY€] Š‡€a ®Ë lËZf¿ ½{€¯ ÀÌy} ,ZŁ€¯ €´Ë{ lËY {€]Z¯
€³Y .|¿Â‹Ê» ÄfyZ‡ select Âf‡{ ®Ë lËZf¿ ÉÁ Y €¯ ÉZÅ{¯ ğ¼n» .d‡Y
ÉZmÄ] d‡Y €fÆ] ,|ËY{ ZÌ¿ ZÅ{¯ Y ğ¼n» ®Ë Ä] 0Y€°» {Ây µYÁ ZË Ä»Z¿€] {
ÉZÅ{¯ ÉÁZu Ɂ€¯ Z]®Ë ,|ÌÅ{ Y€« Š‡€a {» Y ZÅÃ{Y{ ÃZ´ËZa Z] €Å į½M
€] ÃÁԟ \Ìe€e ¾ËY Ä] .|ÌÀ¯ Ã{Z¨f‡Y €¯ ¾ËY Y É| ] cZ §{ { Á |ˁZˆ] Y Â]‚»
{ Šf¸£ Á d¯€u ½Z°»Y -|‹ |ÅYÂy Y€mY ɀfŒÌ] dŸ€‡ Z] Z¼‹ µYÁ ZË Ä»Z¿€] Ä°ÀËY
.d‹Y{ |ÌÅYÂy ‚Ì¿ Y ZÅ{¯ ğ¼n»
:|ÌÅ{ ¹Zn¿Y Y €Ë ¶uY€» |ËZ] ,ZŁ€¯ ¾fˆ] Á ɀ̳Z¯Ä] ,{ZnËY ÉY€]
:|ÌÀ¯ Ã{Z¨f‡Y €Ë ‰Z´¿ ÃÂv¿ Y |ËZ] €¯ ®Ë ¾fyZ‡ ÉY€] .|ˁZˆ] Y €¯ -1
CREATE cursor_name cursor
For select_statement

Ã{Z‡ Âf‡{ .|ÌÀ¯ Ã{Z¨f‡Y {Ây µYÁ ZË Ä»Z¿€] { ½M Y |Ì¿YÂf] Ze |ÌÀ¯ Z] Y €¯ -2
:|À¯Ê» Z] É| ] ÉZÅ{€]Z¯ ÉY€] Y €¯ €Ë
Open cursor_name

Šf¸£ ÉY€] .|ÌÀ¯ ʇYÁ {¯ ¾Ë€yM Ä] ½|̇ Ze Ê°Ë Ê°Ë Y €¯ ÉZÅ{¯ -3
: |ÌÀ¯ Ã{Z¨f‡Y €Ë ¶°‹ Ä] Fetch Âf‡{ Y |ËZ] €¯ ğ¼n» { d¯€u Á
Fetch cursor_name [into fetch_target_list]

:{|À]Ê» Y €¯ ®Ë €Ë Âf‡{ .|Ë|À^] Y €¯ Z¯ ½ZËZa Y †a -4


Close cursor_name

‰Z´¿ ÃÂv¿ .{Á€] ¾Ì] Y 0Ô»Z¯ €¯ Ze |ÌÀ¯ ZÅ Y €¯ Ä] Äf§ZË ZfyY ÉZ”§ -5
:|‹Z]Ê» €Ë ¶°‹ Ä] Âf‡{ ¾ËY
Deallocate cursor cursor_name
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 74
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 75

ºf¨Å ¶§

Database Z] •Z^eY ÉY€«€]

¥Y|ÅY -1-7
Á cYÂf‡{ ¾Ë€f¼Æ» Á |Ë|‹ ZÀ‹M SQL Server 2000 Z] Z¯ ÉÃÂv¿ Z] į µZu
ÉZÅÄ»Z¿€] ¶yY{ { ½M Y |Ì¿YÂf] |ËZ] ,|Ìf§€³ Y€§ ‚Ì¿ Y SQL { Äf§€ŒÌa huZ^»
ZËÂa ÉZÆfËZ‡ [Á ZË ZÅÄ»Z¿€] Á |ÌÀ¯ Ã{Z¨f‡Y {Ây [Á cZv¨ ZË Á É{€]Z¯
.|ÌÀ¯ |Ì·Âe (Dynamic)
.{€¯ Y€«€] •Z^eY ½M Z] ½YÂf] |ËZ] ,Ã{Y{ ÃZ´ËZa ®Ë ÉZÆÌËZ¿YÂe Y Ã{Z¨f‡Y ÉY€]
ÉY€] ¾ËY€]ZÀ] .{€Ì³Ê» ¹Zn¿Y ADO ¹ZÀ] ʘ‡YÁ ªË€— Y ÊeZŸÔ—Y ÉZÅ®¿Z] Z] •Z^eY
ºÅ Á SQL ºÅ |ËZ] [Á cZv¨ ZË ZÅÄ»Z¿€] ¶yY{ Y ÊeZŸÔ—Y ÉZÆ°¿Z] Z] •Z^eY
.{‹ʻ Ã{Z¨f‡Y ­€fŒ» — Ä] ZÆ¿M ÉÁ{ €Å Y Y€Ë |ˀ̴] Y€§ Y ADO
ADO Ã|¼Ÿ V̋ Á{ Á ºËY{€aÊ» ½M {€]Z¯ Á ADO ʧ€ » Ä] Šz] ¾ËY {
|À‹Z]Ê» É{Zˁ Z̈] {€]Z¯ Á d̼ÅY ÉYY{ į Y RecordSet Á Connection ÊÀ Ë
.ºÌÀ¯Ê» ʇ€] ZÆ¿M Ä] •Â]€» ÉZÅ|f» ÃY€¼Å Ä]
:|̋Z] Ã{€¯ \ˆ¯ Y €Ë ÉZÆeZÆ» |ËZ] Z¼‹ ¶§ ¾ËY ½ZËZa {
½M ÉZÅ|f» Á Z̋Y , ADO ¹Âƨ» ­{ x
ADO ĸ̇Â] ÊeZŸÔ—Y ÉZÅ ®¿Z] Z] •Z^eY ÉY€«€] x
ODBC Á DSN_LESS •Z^eY ÃÂv¿ x
ZÅÄ»Z¿€] ¶yY{ { ½M ɀ̳Z¯Ä] Á DataBase Z] µZeY ÉY€«€] ʸ¯ |¿Á ­{ x
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 76

½M {€]Z¯ Á ADO ʧ€ » -2-7


Y Ã{Z¨f‡Y Z] .{€Ì³Ê» ¹Zn¿Y ADO ¹Z¿Ä] ʘ‡YÁ ªË€— Y ÊeZŸÔ—Y ÉZÅ®¿Z] Z] •Z^eY
Ä] 0Z§€ Á ½Z» ¾Ë€f¼¯ { ,ʳ{Z‡Ä] Ã|‹Ã€Ìy} ÉZÅÃ{Y{ Y¿Y Ä] ½YÂeÊ» ©Â§ –]Y
¾Ë€eÃ{Z‡ ADO į {€¯ ZŸ{Y ½YÂeÊ» ¶Ì·{ ¾Ì¼Å Ä] .{€¯ Y|Ìa Ê]ZÌf‡{ €Ìˆ» ®Ë ®¼¯
.d‡Y Ã|»M {ÂmÁÄ] ZÅÃ{Y{ Ê]ZˁZ] Á ÀÌy} ÉY€] ½ÂÀ¯Ze į d‡Y ʋÁ
ÉY€] d§Z‡Á€°ËZ» –‡Âe į d‡Y ÉÁZÀ§ ®Ë Ä°¸] dˆÌ¿ ½Z] ®Ë ADO
į d‡Y Ã|‹ ÄfyZ‡ [Á cZv¨ ZË ZÅÄ»Z¿€] ¶yY{ Y ÊeZŸÔ—Y ÉZÆ°¿Z] Ä] ʇ€f‡{
Y ÊeZŸÔ—Y ®¿Z] Y Âm Á …€a ÉY€] ADO .{‹ʻ \¿ Á|ÀËÁ { IIS ÃY€¼Å Ä]
¶yY{ Y ÊeZŸÔ—Y ÉZÆ°¿Z] Z] •Z^eY ÉY€] ÊÀ Ë .|À¯Ê» Ã{Z¨f‡Y SQL {Y|¿Zf‡Y ½Z]
ZÆ¿M ÉÁ{ €Å Y Y€Ë |ˀ̴] Y€§ Y ADO ºÅ Á SQL ºÅ |ËZ] [Á cZv¨ ZË ZÅÄ»Z¿€]
ĸ̇ÁÄ] ÊeZŸÔ—Y ÉZÅ®¿Z] Z] •Z^eY ÉY€«€] ÉY€] .{‹ʻ Ã{Z¨f‡Y ­€fŒ» — Ä]
:{Y{ {ÂmÁ ÃY Á{ ADO

DSN_LESS •Z^eY -1
Á Connection V̋ ®Ë ¾fyZ‡ Y | ] į d‡Y c ¾ËY Ä] •Z^eY ÃÂv¿ ¾ËY
Á ºÌÀ¯Ê» ŽzŒ» Y ÊeZŸÔ—Y ®¿Z] ¶ËZ§ €Ìˆ» ,ÊeZŸÔ—Y ®¿Z] ÂËY{ ½{€¯ ŽzŒ»
µZj» { .ºÌÀ¯Ê» ʧ€ » [Á Äv¨ ZË Ä»Z¿€] ¶yY{ Y Y ÊeZŸÔ—Y ®¿Z] c ¾Ë|]
:ºËYÃ{€¯ Z] C ÂËY{ Y Y ÊeZŸÔ—Y ®¿Z] ®Ë ,€Ë
ADODB.Connection
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open" c:/webdata/northwind.mdb"

ODBC •Z^eY -2
.d‡Y Z] ÉZÅÃ{Y{ ÃZ´ËZa µZeY ZË (Open DataBase Connectivity) ¦¨z» ODBC
ÃZ´ËZa Ä] ÂËY{ ®Ë ªË€— Y |À¿YÂeÊ» Á|ÀËÁ ÉZÅÄ»Z¿€] ,ÉÁZÀ§ ¾ËY Y Ã{Z¨f‡Y Z]
{ €´aZq ÉZÅÂËY{ ¹Âƨ» Ä] É{Zˁ dÅZ^‹ ODBC ¹Âƨ» .|À]ZË d‡{ ZÅÃ{Y{
.{Y{ Á|ÀËÁ
77 Database Z] •Z^eY ÉY€«€]

SQL SERVER ÊeZŸÔ—Y ®¿Z] ®Ë Z] ODBC •Z^eY ÉY€«€] ÃÂv¿


Administrative Tools ċÂa Á Control Panel ÀnÀa ¶yY{ Y Y ODBC ½Â°ËM
¾fyZ‡ ÉY€] Y Add ļ¯{ Á ,|ÌÀ¯ ®Ì¸¯ System DSN d¼ˆ« ÉÁ Á |ÌÀ¯ [Zzf¿Y
Finish ÉÁ Á Ã{€¯ [Zzf¿Y Y SQL SERVER †b‡ .|ÌÅ{ ZŒ§ |Ë|m •Z^eY ®Ë
.|ÌÀ¯ ®Ì¸¯
{ Á |ÌËZ¼¿ {YÁ Y {Ây ÊeZŸÔ—Y ®¿Z] ¹Z¿ ,Name |¸Ì§ { | ] Äv¨ {
{ †b‡ -|ÌÀ¯ ŽzŒ» |ËY{ Y ½M Ä] µZeY |« į ÉÁ€‡ , SERVER |¸Ì§
Password Á Login ID Y SQL SERVER Ä] {ÁÁ ÉY€/] Ä/r¿ZÀq |/ ] Äv¨
.|ÌÅ{ ZŒ§ Y Next |̸¯ Á Ã{€¯ {YÁ Y€¿M |ÌÀ¯Ê» Ã{Z/¨f‡Y
{Y|¿ d¬]Z˜» ‘€§ŠÌa ÄÀ˂³ Z] Z¼‹ €œ¿ {» Database įÊe { †b‡
½Ze€œ¿ {» Database Á |ÌÀ¯ ®Ì¸¯ Change the default database to ÄÀ˂³ ÉÁ €]
.|ÌÅ{ ZŒ§ Y Finish †b‡ Á Next |̸¯ Y|f]Y µZu .|ÌÀ¯ [Zzf¿Y Y
.|ËYÄfyZ‡ ÊeZŸÔ—Y ®¿Z] ®Ë ÉY€] Y ODBC •Z^eY ®Ë Z¼‹ ĸu€» ¾ËY Ze
½M ¶yY{ Y €Ë |¯ ASP Äv¨ ®Ë ZË Ä»Z¿€] ¶yY{ Y ®¿Z] ¾ËY Ê¿YÂyY€§ ÉY€]
:|̈ËÂÀ]
ADODB.Connection
conn.Open" database_name"

Á ºËY|¿ ODBC { System DSN Ä] ZÌ¿ •Z^eY ÉY€«€] ÉY€] µÁY ‰Á {
‰Á ¾ËY Y~· .{‹ʻ ¹Zn¿Y [Á Äv¨ ZË Ä»Z¿€] ¶yY{ { •Z^eY Ä] •Â]€» µZ¼ŸY ¹Z¼e
½Z]‚Ì» Ä] Z¼‹ Ä°ÀËY ZË Á |‹Z] ÊmZy Á€‡ ®Ë Z¼‹ ½Z]‚Ì» į d‡Y |̨» Ê»Z´ÀÅ
{Ây dËZ‡ ½Z]‚Ì» Á€‡ Ä] €³Y Z»Y -|̋Z] Äf‹Y|¿ ʰ˂̧ ʇ€f‡{ {Ây dËZ‡
.|ÌÀ¯ Ã{Z¨f‡Y ¹Á{ ‰Á Y |Ì¿YÂeÊ» |ËY{ ʇ€f‡{
{ZÆÀŒÌa ‚Ì¿ Z» Á |ÌÀ¯ Ã{Z¨f‡Y |Ì¿YÂeÊ» ºÅ µÁY ‰Á Y d·Zu ¾ËY { Äf^·Y
{ Y€Ë .|ÌÀ¯ Ã{Z¨f‡Y DSN_LESS ÊÀ Ë µÁY ‰Á Y Z¼‹ d·Zu €Å { į ºÌÀ¯Ê»
.|»M |ÅYÂz¿ ŠÌa ʸ°Œ» Á |Å{Ê» [YÂm ZÅdÌ “Á Á cÓZu ¹Z¼e
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 78

ˬCommand , Connection :¹Z¿ Z] ʇZ‡Y V̋ lÀa ÉYY{ 2/5 Äzˆ¿ ADO
ʸ^« Äzˆ¿ { Stream Á Record V̋ Á{ .d‡Y Stream Á Record ,RecordSet
.|Àf‹Y|¿ {ÂmÁ ADO
ÉZÅ|f» Á RecordSet Á Connection ÊÀ Ë ADO Ã|¼Ÿ V̋ Á{ ʇ€] Ä] µZu
:ºËY{€aÊ» ZÆ¿M Ä] •Â]€»
Connection V̋
Á {ZnËY Z] dˆËZ]Ê» ÊeZŸÔ—Y ®¿Z] Y ZÅÃ{Y{ Ê]ZˁZ] Á ÀÌy} Ŀ³ €Å Y ¶^«
ÊeZŸÔ—Y ®¿Z] Z] •Z^eY ÉY€«€] dÆm ¹Ó ÄÀÌ» ,Connection ®Ë ÄÌ·ÁY ÊÅ{Y|¬»
.{ÁM {ÂmÁÄ] Y
Á {ZnËY ÊeZŸÔ—Y ®¿Z] Z] •Z^eY ®Ë Connection Lʋ Y Ã{Z¨f‡Y Z] ADO {
½M {ÂmÁ Ä] į Ê¿Z» { Á ÊeZŸÔ—Y ®¿Z] Z] Ę]Y { ÃYÂz·{ cZ̸¼Ÿ ¹Zn¿Y Y †a
.{€¯ ¥~u Y ½M ½YÂeÊ» ,|‹Z^¿ ZÌ¿ €´Ë{
¹Z¿ Z] |uYÁ ÉYÃÁ€a ,ÊeZŸÔ—Y ®¿Z] Ä] •Z^eY ®Ë ½{€¯ Open
ADO LZ̋Y Ê»Z¼e ¶»Z‹ {Ây į Ã{Â] Objects Database ADODB(ActiveX Data)
Server.CreateObject |f» Y LZ̋Y €ËZ‡ €Ìœ¿ Connection ®Ë {ZnËY ÉY€] .d‡Y
.{{€³Ê» Ã{Z¨f‡Y

Dim Conn
Set Conn = Server.CreateObject(“ADODB.Connection”)

|Ì¿YÂeÊ» Z¼‹ ,|À‹Z]Ê» Ê¿|¿YÂy –¬§ Connection ‘€§ ŠÌa cÄ]


©Â/§ V̋ Ä] •Â]€» cZ¨ ®¼¯ Ä] Á ZÌ¿ c { Á Ã{Y{ €Ì̤e Y ©Â§ dÌ “Á
®Ë {ZnËY Y †a .|ÌËZ¼¿ {ZnËY ÊÀf‹Â¿ –¬§ ZË Á ÊÀf‹Â¿ /Ê¿|¿YÂy Â¿ Y ÊeZ—Z^eY
Y Ã{Z¨f‡Y ®¼¯ Ä] Y •Z^eY (Mode) Â¿ ½YÂeÊ» ÊeZŸÔ—Y ®¿Z] Z] Connection
.{¼¿ ŽzŒ» Ã|‹ ¦Ë€ e d]YÂi
d]Zi Y ºÌ¿YÂz] Y ÊeZŸÔ—Y 0Z§€ ÊeZŸÔ—Y ®¿Z] Y ºÌÅYÂz] įÊe {
d]Zi Y ºÌˆËÂÀ] ÊeZŸÔ—Y ®¿Z] { Y ÊeZŸÔ—Y –¬§ ,adoModeRead
Y Y ÊeZŸÔ—Y ½Z»‚¼Å —Ä] ºËY{ |« įÊe { dËZÆ¿ { Á adoModeWrite
79 Database Z] •Z^eY ÉY€«€]

d]Zi Y ºÌˆËÂÀ] ‚Ì¿ Y É|Ë|m cZŸÔ—Y ½M { Á Ã|¿YÂy ÊeZŸÔ—Y ®¿Z]


.{{€³Ê» Ã{Z¨f‡Y adoModeReadWrite
Y½M d‹Y{ ºÌÅYÂy ÊeZŸÔ—Y ®¿Z] Z] į ÉZf§ Â¿ Ä] ÄmÂe Z] {{€³Ê» Ä̏Âe
Äf‹Y{ ÊeZŸÔ—Y ®¿Z] ®Ë { Y ¾f‹Â¿ ZË Á ½|¿YÂy |« 0Z§€ €³Y įY€q .ºÌËZ¼¿ Z]
cÄ] ÊeZŸÔ—Y ®¿Z] ½{€¯ Z] ,ºÌÅ{ ¹Zn¿Y ºÅ Z] Y cZ̸¼Ÿ Á{ ºÌÅYÂz¿ Á ºÌ‹Z]
ÊeZŸÔ—Y ®¿Z] Ä] Ê]ZÌf‡{ dŸ€‡ (adoModeReadWrite) ÊÀf‹Â¿ ºÅ Á Ê¿|¿YÂy ºÅ
.{Y{ |ÅYÂy ŠÅZ¯ Y

ConnectionString
V̋ Ä] •Â]€» ConnectionString d¨ dˆËZ]Ê» ,Mode ¾ÌÌ e Y †a
Ä/¯ Ã{Â/] Šz] ¾Ë|Àq ÉYY{ ©Â/§ d¨ .{Â/¼¿ \‡ZÀ» Ê/Å{ Y|¬» Y Connection
:|¿{€³ ŽzŒ» dˆËZ]Ê»
Ã{Z¨f‡Y |« į ÊeZŸÔ—Y ®¿Z] ¹Z¿ ,ÊeZŸÔ—Y ®¿Z] Ã|ÀÅ{†ËÁ€‡ ¹Z¿ , Provider ¹Z¿
Â^Ÿ ‚» Á (UID) ÊeZŸÔ—Y ®¿Z] Ä] µZeY dÆm ¹Ó ɀ]Z¯ ćZÀ‹ ,|ËY{ Y ½M Y
Y|m ºÅ Y ";" d»ÔŸ –‡Âe ©Â§ ÉZŊz] Y ®Ë€Å .(PWD) Zy€]Z¯ ÉY€]
.|¿Â‹Ê»
ÉY€] Ã{Y{ ÃZ´ËZa ®Ë Provider |ËZ‹ |ËYÃ{€°¿ Z¯ Ã{Y{ ÃZ´ËZa Z] µZuÄ] Ze €³Y
¶f» Ã{Y{ ÃZ´ËZa Ä] Ze {€¯ ʗ |ËZ] į Y ÊÅY ďÔy —Ä] .|/‹Z] ¹Âƨ»Z¿ Z¼‹
®Ë ĸ̇ÁÄ] ,{¼¿ Y€mY Y cYÂf‡{ Á Ã{€¯ ÉZ°f‡{ Y ZÅÃ{Y{ Á Ã{€¯ Z] Y½M ,Ã|‹
.{‹ʻ ŽzŒ» (provider) cZŸÔ—Y Ã|ÀÀ¯ÄÌÆe
:|ÌWZ»€§ ÄmÂe €Ë µZj» Ä]

Dim con
Set con = Server.CreateObject("ADODB.Connection")
path="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=rayan ;Data Source=NARMAFZAR"
con.Open Path

®¿Z] ¹Z¿ Á ÊeZŸÔ—Y ®¿Z] Ã|ÀÅ{†ËÁ€‡ ¹Z¿ , Provider ¹Z¿ ¶»Z‹ ConnectionString
Y ÊÅZ³M |À»ZÌ¿ ADODB.Connection V̋ į ºÌ‹Z] Äf‹Y{ ÄmÂe .d‡Y ÊeZŸÔ—Y
.d‡Y ÊeZŸÔ—Y ®¿Z] Ê «YÁ €Ìˆ»
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 80

ÉÁ €] ¹Ó cY€Ì̤e Ê»Z¼e , Connection ½{¼¿ Z] Y ¶^« į ºÌÀ°¿ ‰Â»Y€§
®¿Z] Z] •Z^eY {ZnËY Y †a ºÌÅYÂz] įÊe { .{{€³ µZ¼ŸY ėÂ]€» ÉZÅd¨
Z] Y {Ây •Z^eY Y|f]Y { dˆËZ]Ê» ,ºÌÅ{ €Ì̤e Y –^e€» d¨ |Àq ZË ®Ë ÊeZŸÔ—Y
ªË€— Y Y ¹Ó cY€Ì̤e Ä»Y{Y { Á ({{€³ Äfˆ] , Connection) ž˜« ÊeZŸÔ—Y ®¿Z]
.{¼¿ Z] Y Connection 0Y{|n» Á µZ¼ŸY ėÂ]€» cZ¨

Connection.Open |f»
Connection V̋ Ä] •Â]€» Open |f» Y Connection ®Ë ½{¼¿ Z] œÀ» Ä]
ÉZ¯ •Z^eY ®Ë ,{{€³ Y€mY Z˜y ½Á|] ©Â§ |f» įÊe { .{{€³Ê» Ã{Z¨f‡Y
.d‡Y Ã|‹ {ZnËY ÊeZŸÔ—Y ®¿Z] Z] (ÊeZ̸¼Ÿ)

Connection.Execute |f»
.{Y{ {ÂmÁ Ã|¼Ÿ ‰Á ć ADO –‡Âe ÊeZŸÔ—Y ®¿Z] ®Ë Y ZÅÃ{Y{ Ê]ZˁZ] ÉY€]
¾Ë€eÃ{Z‡ .d‹Y{ |ÀÅYÂy ÊeZŸÔ—Y ®¿Z] Z] •Z^eY Ä] ZÌ¿ µÁY ĸu€» { ZÆ¿M Ê»Z¼e
ć ÉYY{ ©Â§ |f» .d‡Y Connection V̋ Ä] •Â]€» Execute |f» Y Ã{Z¨f‡Y d·Zu
:d‡Y €f»YZa
į Stored Procedure ®Ë ¹Z¿ ZË View ˬ Table ˬ Query ZË , SQL Âf‡{ ®Ë •
.|‹ |ÅYÂy ŽzŒ» CommandText €f»YZa –‡Âe
Z] į {Â] |ÅYÂy ÊWZÅ{¯ {Y| e ¶»Z‹ į , RecordsAffected ¹Z¿ Z] €Ì¤f» ®Ë •
.{‹ʻ ŽzŒ» Execute |f» –‡Âe Ã|‹ Y€mY Query Ä] ÄmÂe
d¨³ |ÅYÂy ÊeZŸÔ—Y ®¿Z] Ä] į CommandTypeEnum ¹Z¿ Z] ÉZÌfyY d]Zi ®Ë •
Y Recordset V̋ ®Ë Ä°ÀËY Á |ÌWZ¼¿ Y€mY |ÌÅYÂyÊ» Y Query ZË Á cZ^Ÿ Â¿ Äq
.€Ìy ZË |¿Y{€³€]
{ Ã|‹Ã|¿Y{€³€] ÉZÅ{¯ ,(¾°¼» ‰Á €Å Ä]) Execute |f» ÉY€mY Y †a
Ã{Z¨f‡Y SELECT Âf‡{ Y įÊe { .|‹ |ÀÅYÂy Ã|¿Y{€³€] RecordSet V̋
Y įʿZ» Z»Y .d§€³ |ÀÅYÂy Y€« RecordSet ʋ { Ã|‹Ã|¿Y{€³€] ÉZÅ{¯ {‹
.|‹ |ÅYÂz¿ Ã|¿Y{€³Z] É{¯ {{€³ Ã{Z¨f‡Y UPDATE ZË Á INSERT cYÂf‡{
81 Database Z] •Z^eY ÉY€«€]

RecordSet V̋
¾ËY .{{€³Ê» Ã{Z¨f‡Y Êf§ZË{ µÁ|m ZË ZÅ{¯ ÉY|Æ´¿ dÆm RecordSet V̋ Y
d¬Ì¬u { .d‡Y ÊËZÅ ½Âf‡ Á Zŀ˜‡ ÉYY{ ÊeZŸÔ—Y ®¿Z] µÁ|m ®Ë €Ìœ¿ V̋
®Ë ʰ˂̧ cÄ] Ê·Á {Y{ |ÅYÂy µÁ|m ®Ë Y ɁZn» €Ëe ®Ë ©Â§ V̋
¾°¼» {€Ì³Ê» Y€« V̋ ¾ËY ÉZŽÂf‡ { į ɀœ¿ {» €Ë{Z¬» į Y€q .dˆÌ¿ µÁ|m
.|À‹Z] €´Ë{ µÁ|m ¾Ë|Àq (Join) \̯€e ¶Zu d‡Y

RecordSet.Open |f»
Ä] ɀ³ÃZ‹Y) Cursor Â¿ €Å Ä] RecordSet V̋ Y Ã{Z¨f‡Y ¹Z´ÀŠįÊe {
į Cursor ®Ë Ä¿ 0Z§€) |̋Z] Äf‹Y{ ZÌ¿ (µÁ|m { {Âm» ÉZŀ˜‡ Y ®Ë€Å
|f» Y Ã{Z¨f‡Y ÉZm Ä] dˆËZ]Ê» (|‹Z] Read-Only ZË Á Forward-Only cÄ]
.|ÌÀ¯ Z] Y ÊeZŸÔ—Y ®¿Z] 0Z¼Ì¬fˆ» , Connection ʋ Ä] •Â]€» Execute
:|À¯Ê» ~yY Y €f»YZa ¾Ë|Àq į d‡Y Open ¹Z¿ Z] É|f» ÉYY{ ‚Ì¿ RecordSet V̋

Recordset.Open CommandTextˬ Connection|ConnectionString ˬCursor-


Typeˬ LockTypeˬ Options

®Ë ¶»Z‹ Connection|ConnectionString ,Ã{Â] SQL query ¶»Z‹ CommandText


.d‡Y Connectionstring €^f » €f»YZa ®Ë ZË Á Ã|‹ Z] Connection V̋ Ä] Âm
|ÅYÂy ~yY adCursorTypeEnm ¹Z¿ Z] Êf]Zi Y Y {Ây Y|¬» CursorType €f»YZa
.{€¯

Move |f»
µÂ— { ½YÂeÊ» ,Move |f»Y Ã{Z¨f‡Y Z] ,RecordSet V̋ ®Ë ½{¼¿ Z] Y †a
V̋ .{€¯ d¯€u cursor Â¿ Ä] ÄmÂe Z] RecordSet V̋ { {Âm» ÉZŀ˜‡
{Âm» ÉZÅ{¯ {Y| e į Ã{Â] RecordCount ¹Z¿ Z] d¨ ®Ë ÉYY{ RecordSet
.|À¯Ê» ŽzŒ» Y RecordSet V̋ {
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 82

Y|f]Y { Ê·Zy €˜‡ ®Ë Z] d‡Y µÁ|m ®Ë €Ìœ¿ RecordSet V̋ į |ÌÀ¯ e
ÃZ‹Y {¯ ®Ë Ä] Ĝv· €Å { į ɀ³ÃZ‹Y Á ½M ÉZÆf¿Y { Ê·Zy €˜‡ ®Ë Á
{€¯ |ÅYÂy €Ì̤e ©Â§ €³ÃZ‹Y dÌ «Â» ,Move |f» Y Ã{Z¨f‡Y Z] ž«YÁ { .|À¯Ê»
Á EOF ¹Z¿ Z] €´Ë{ |f» Á{ ÉYY{ RecordSet V̋ .({€¯ |ÅYÂy d¯€u €³ÃZ‹Y)
|ÀÅYÂy ŽzŒ» Y ZÅ{¯ ÉZÆf¿Y ZË Á Y|f]Y { €³ÃZ‹Y ”u ½Z» į d‡Y BOF
.{€¯
:|ÀfˆÅ ( d‡{Z¿ / d‡{ ) Boolean Â¿ Y |f» Á{ ¾ËY

While NOT RecordSet.EOF


Do something
RecordSet.MoveNext
Wend

Database Z] µZeY ÉY€«€] ʸ¯ |¿Á -3-7


.|ÌÀ¯ ¦Ë€ e Y \‡ZÀ» (connection string) µZeY Äf‹ -1
.|ÌÀ¯ ( import ) {YÁ {Ây Ä»Z¿€] Ä] Y \‡ZÀ» …Ô¯ -2
.|ÌÀ¯ …Za ½M Ã|¿Z‡ Ä] Y µZeY Äf‹ Á |ÌÀ¯ ¦Ë€ e Connection V̋ ®Ë -3
.|ÌÀ¯ Z] Y Connection V̋ -4
* .|ÌÅ{ ¹Zn¿Y Database { Y €œ¿ {» cZ̸¼Ÿ -5
.|Ë|À^] Y Connection V̋ -6
ÊWZ̋Y |ËZ] Ânfˆm ZË ŠËY€ËÁ ZË ¥~u ZË Ä§Z“Y ĸ¼m Y ÊeZ̸¼Ÿ €Å ¹Zn¿Y ÉY€] *
½Z‹{» { É| ] ÉZÅd¼ˆ« { į |ˀ̴] ėÂ]€» …Ô¯ Y cZ̸¼Ÿ ½M ¹Zn¿Y ÉY€]
.|‹ |ÅYÂy Ã{Y{ t̓Âe

.ºÌÀ¯ Y€«€] •Z^eY Database ®Ë Z] Ŀ´q


.d‡Y ½M ¾fˆ] Á µZeY ½{€¯ Z] ,ÊeZŸÔ—Y ®¿Z] ®Ë Ä] µZeY {ZnËY ¥|Å
:ºËÁÊ» ŠÌa ¹Z³ Ä] ¹Z³ ÓZ] cZv̓Âe …Z‡Y €]
€Ë Äf‹ ¶j» Ê·ZeY Äf‹ Y †ˆ¯Y Z] •Z^eY ÉY€«€] ÉY€] :µZeY Äf‹ ¦Ë€ e -1
.ºÌÀ¯Ê» Ã{Z¨f‡Y
83 Database Z] •Z^eY ÉY€«€]

string connectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Ole DB


Services = -4; Data Source = C:\\database.mdb";

†ˆ¯Y ¶ËZ§ ¾f§€³ Y€« ¶v» …{M Data Source Y | ] ÓZ] µZeY Äf‹ {
Z¼‹ µZeY Äf‹ |ÌÀ¯ Ã{Z¨f‡Y SQL Server Y |ÌÅYÂyÊ» €³Y .|ÌÀ¯ ŽzŒ» Y {Ây
:{Â] |ÅYÂy €Ë ¾f» Ä] ÄÌ^‹ ɂÌq
string connectionString="server=127.0.0.1;
database=MY_DATABASE;UID=MY_USERNAME;PWD
=MY_PASSWORD"

.|ÌÀ¯Ê» {YÁ Y €œ¿ {» Á€‡ IP ZË Á ¹Z¿ Server Y | ] ÓZ] µZeY Äf‹ {
ÉY€] Y Â^Ÿ ļ¸¯ Á ɀ]Z¯ ¹Z¿ — ¾Ì¼Å Á Data base ¹Z¿ MY_DATABASE Ä]
.|ÌÀ¯ ŽzŒ» Á€‡ Ä] ʇ€f‡{
¾Ë€eÃ{Z‡ Z» Ê·Á |¿Y{ ºÅ ɀ´Ë{ ÉZŀf»YZa µZeY ÉZÅ Äf‹ į |ÌÀ¯ ÄmÂe
ÉZÅÄf‹ ¾f‹Â¿ ÃÂv¿ {» { €fŒÌ] cZŸÔ—Y \ˆ¯ ÉY€] .ºË{€¯ ʇ€] Y µ|»
http://www.connectionstrings.com :|ÌÀ¯ Ä mY€» €Ë dËZ‡ Ä] µZeY

System.Data.OleDb Y †ˆ¯Y ÉY€] :Äv¨ |¯ Ä] \‡ZÀ» …Ô¯ ½{€¯ ħZ“Y -2


ÂË{Âf‡Y µYÁ„ËÁ Y €³Y .System.Data.SqlClient Y SQL Server ÉY€] Á |ÌÀ¯ Ã{Z¨f‡Y
|¯ ÉY|f]Y Ä] Y ½M į d‡Y ʧZ¯ |ÌÀ¯Ê» Ã{Z¨f‡Y (Visual Studio.Net) d¿ cY{
|ÌÀ¯ ħZ“Y Äv¨
using System.Data.OleDb;
¹Z¿ Z”§ Äv¨ ÉY|f]Y { |̈Ë¿ʻ aspx Äv¨ {Ây { Y Êf¿cY{ ÉZÅ|¯ €³Y Á
.|ÌÀ¯ import Y •Â]€»
<%@ import Namespace="System.Data.OleDb" %>

Y Ã{Z¨f‡Y c { V̋ ¾ËY {ZnËY ÉY€] :Connection V̋ ¦Ë€ e -3


:d‹Y{ ºÌÅYÂy System.Data.OleDb
OleDbConnection myConnection = new OleDbConnection
(connectionString);
ZÅÃ{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 84

ÉZm Ä] €Ë µZj» ª]Z˜» |ËYÃ{€¯ Ã{Z¨f‡Y System.Data.SqlClient Y €³Y Á


:|ÌÀ¯Ê» Ã{Z¨f‡Y SqlConnection Y OleDbConnection
SqlConnection myConnection = new SqlConnection( connectionString );

Connection V̋ Open |f» ®¼¯ Ä] Y Z¯ ¾ËY :Connection V̋ ½{€¯ Z] -4
:ºÌÅ{Ê» ¹Zn¿Y Ã|‹ ¦Ë€ e
myConnection.Open ();

{ Y ʌËY€ËÁ ZË ¥~u ,ħZ“Y ¶j» :Database { €œ¿ {» cZ̸¼Ÿ ¹Zn¿Y -5


.Database
.{‹ʻ ¹Zn¿Y Close |f» ®¼¯ Ä] Z¯ ¾ËY :Connection V̋ ¾fˆ] - 6
myConnection.Close ();
85 d‡ÂÌa

d‡ÂÌa
¾ËY { ,Ã|‹ Äf¨³ ºÌÅZ¨» ­{ Á ɀ̳{ZË €»Y { ®¼¯ œÀ» Ä] Á [Zf¯ ¾ËY ½ZËZa {
{ZnËY ÉY€] ADO Á ASP •Z^eY ÃÂv¿ Y É{€]Z¯ ÉZŵZj» Êy€] ʇ€] Ä] d¼ˆ«
¹Zn¿Y Ê´¿Â´q Á dyY{€a ºÌÅYÂy ÊeZŸÔ—Y ÉZÅ®¿Z] €] Ê°f» ÉZÅdËZ‡ [Á
É{€]Z¯ ÉZÆ·Zj» \·Z« { Y ZÅ{¯ ɁZ‡ ¹Z´ÀÆ] Á ¥~u ,k{ ,Ê]ZˁZ] cZ̸¼Ÿ
.{€¯ ºÌÅYÂy ½ZÌ]
SQL Server ɀ̳Z°] ¹Z´ÀÅ { lËY cÔ°Œ» Á ZÅZ˜y Y¿Y Z] ¾ÌÀr¼Å
Á |Ë‹ʻ ZÀ‹M ,|¿Â‹Ê» ÄmY» ½M Z] –ÉYħ€u Ze É|f^» Y– ½Y€]Z¯ €j¯Y į ,2000
.dy»M |ÌÅYÂy Y ZÆ¿M ž§ Á ɀ̳¸m ÉZƋÁ
|¿Â‹Ê» Z˜y ¹Z¤Ìa d§ZË{ Ä] €nÀ» cZÅZ^f‹Y Y Êy€] į |̋Z] Äf‹Y{ {ZË Ä]
ÉZÅZ˜y Á€] ÄnÌf¿ { Á cYÂf‡{ ª˜À» { Ž¬¿ hŸZ] d‡Y ¾°¼» €´Ë{ Êy€] Ê·Á
¾ËY €j¯Y Y |Ì¿YÂeÊ» cZÌW‚m Ä] ªÌ¼Ÿ ÄmÂe Z] .|¿{€³ É| ] cÔ°Œ» Á |Ë|m
.{Â] |ÌÅYÂz¿ ½Â» ÊËZÅZ˜y ¾ÌÀq Y ÃZ³pÌÅ Äq €³Y ,|ÌÀ¯ [ZÀfmY cÔ°Œ»

µZj» |Àq Á žm€» ÊeZŸÔ—Y ®¿Z]


,Ŀ¼¿ ÊeZŸÔ—Y ®¿Z] ®Ë į d‡Y ¹Ó Y|f]Y { ,ėÂ]€» ÉZŵZj» Ä] ¾fyY{€a Y ¶^«
.ºÌÀ¯ ¦Ë€ e Y ,µÁ|m ®Ë ÃY€¼Å Ä]
į Student ¹Z¿ Z] µÁ|m ®Ë 0Z§€ ½M { Á {ZnËY Students ¹Z¿ Z] ÊeZŸÔ—Y ®¿Z] ®Ë
:ºÌÀ¯Ê» ¦Ë€ e ,d‡Y €Ë ÊeZŸÔ—Y ÉZÅ|¸Ì§ ¶»Z‹
Primary ©Â§ |¸Ì§ .|À¯Ê» ÉY|Æ´¿ {Ây { Y ÂnŒ¿Y{ ®Ë ÊWÂnŒ¿Y{ ÃZ¼‹ :ID
.{Â] |ÅYÂy Key
.{€¯ |ÅYÂy ÉY|Æ´¿ {Ây { Y ÂnŒ¿Y{ ¹Z¿ FirstName:
.{€¯ |ÅYÂy ÀÌy} {Ây { Y ÂnŒ¿Y{ ʳ{Y¿Zy ¹Z¿ LastName:
.|À¯Ê» ÉY|Æ´¿ {Ây { Y ÂnŒ¿Y{ ®Ë |·Âe xËZe DateOfBirth:
.{€¯ |ÅYÂy ÀÌy} {Ây { Y ÂnŒ¿Y{ Ê°Ì¿Á€f°·Y dˆa …{M Email:
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 86

½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] Y cZŸÔ—Y Ê]ZˁZ] -1 µZj»


ÉY€] .d‡Y Ã|Œ¿ Ã{Z¨f‡Y ODBC Y ÊeZŸÔ—Y ®¿Z] Z] •Z^eY dÆm µZj» ¾ËY {
¾f» .{‹ʻ Ã{Z¨f‡Y SQL SELECT Y ©Â§ ÊeZŸÔ—Y ®¿Z] Y cZŸÔ—Y Ê]ZˁZ]
:d‡Y €Ë cÄ] ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] Y cZŸÔ—Y Ê]ZˁZ] Ä»Z¿€]

<HTML>
<HEAD><TITLE>Student Records</TITLE></HEAD>
<BODY>
<%
Set Contents_DB=Server.CreateObject("ADODB.Connection")
path="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=Students;Data Source=computername"
Contents_DB.Open path
SQLQuery="SELECT * FROM Students"
Set Result=Contents_DB.Execute (SQLQuery)
If Result.EOF And Result.BOF Then
Response.Write "There are 0 records."
Else
Result.MoveFirst
While Not Result.EOF
Response.Write Result.Fields ("FirstName")
Response.Write Result.Fields ("LastName")
Response.Write Result.Fields ("Email")
Response.Write "<HR>"
Result.MoveNext
Wend
End If
Result.Close
Contents_DB.Close
%>
</BODY>
</HTML>
_Zq ÊmÁ€y { €˜‡ Ä] €˜‡ ÂnŒ¿Y{ €Å Email Á ʳ{Y¿Zy ¹Z¿ Á ¹Z¿ ,©Â§ µZj» {
.|‹ |ÅYÂy
87 d‡ÂÌa

:{Â] |ÅYÂy €Ë €Ëe Ä]ZŒ» Ä»Z¿€] ÊmÁ€y

|Ë|m {¯ ®Ë ½{Á‚§Y -2 µZj»


.{€¯ ºÌÅYÂy ÀÌy} ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] { Y |Ë|m ÉZÅ{¯ µZj» ¾ËY {
Ã{Z¨f‡Y INSERT INTO Y ½YÂeÊ» ÊeZŸÔ—Y ®¿Z] { |Ë|m ÉZÅ{¯ k{ ÉY€]
.{€¯
V̋ Y Ã{Z¨f‡Y ÊeZŸÔ—Y ®¿Z] { {¯ k{ ÉZʼnÁ Y €´Ë{ Ê°Ë
ÉY€] µZj» ¾ËY { .d‡Y Ã|‹ Äf¨³ ʸ^« {» Y €eÃ{Z‡ \eY€»Ä] į d‡Y RecordSet
k{ Ä»Z¿€] ¾f» .d‡Y Ã|‹ Ã{Z¨f‡Y ¹Á{ {» Y ÊeZŸÔ—Y ®¿Z] { ZÅ{¯ k{
:d‡Y €Ë cÄ] ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] { |Ë|m {¯
<HTML>
<HEAD>
<TITLE>Student Records</TITLE>
</HEAD>
<BODY>
<%
Set DB=Server.CreateObject("ADODB.Connection")
DB.Mode = adModeReadWrite
path="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=Students;Data Source=computername"
DB.Open path
Set Records=Server.CreateObject("ADODB.Recordset")
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 88

Records.Open " Students "ˬ DBˬ1ˬ3ˬ2


Records.AddNew
Records.Fields("FirstName ") = "name"
Records.Fields("LastName ") = "family"
Records.Fields("Email ") = "name @domain.com"
Records.Fields("DateOfBirth ") = CDate("25 Marˬ 2002")
Records.UpDate
Records.Close
DB.Close
%>
</BODY>
</HTML>
"family" ʳ{Y¿Zy ¹Z¿ Á "name" ¹Z¿ Z] ÊËÂnŒ¿Y{ {¯ ©Â§ µZj» {
ÊeZŸÔ—Y ®¿Z] { ½M |·Âe xËZe Á ėÂ]€» Ê°Ì¿Á€f°·Y dˆa …{M ÃY€¼ÅÄ]
.|‹ |ÅYÂy k{ ½ZËÂnŒ¿Y{
Y ¹€§ ®Ë ÊuY€— Z] ½YÂeÊ» Y |Ë|m {¯ ®Ë k{ Ä] •Â]€» ÊeZŸÔ—Y ¹Ô«Y
Y ®Ë €Å { €›ZÀf» €Ë{Z¬» ,ėÂ]€» ¹€§ µZ‡Y Á ¶Ì¼°e Y †a Á ~yY ½Y€]Z¯
.{‹ Ã{Y{ d^ˆ¿ ÊeZŸÔ—Y ®¿Z] { ėÂ]€» €Ë{Z¬» Ä] ¹€§ { {Âm» ÉZÅ|¸Ì§

½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] ÉZÅ{¯ ɁZ‡ ¹Z´ÀÆ] -3 µZj»


ZÀ‹M ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] { {Âm» ÉZÅ{¯ ɁZ‡¹Z´ÀÆ] ÃÂv¿ Z] µZj» ¾ËY {
½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] { ÊËÂnŒ¿Y{ {¯ ɁZ‡¹Z´ÀÆ] Ä»Z¿€] ¾f» .|‹ ºÌÅYÂy
:d‡Y €Ë cÄ]

<HTML>
<HEAD>
<TITLE>Student Records</TITLE>
</HEAD>
<BODY>
<%
Set DB=Server.CreateObject("ADODB.Connection")
path="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=Students;Data Source=computername"
DB.Open path
Set Records=Server.CreateObject("ADODB.Recordset")

SQLQuery="update Students Set Email ="name@domain.com" ˬ


DateOfBirth = CDate("26 Marˬ 2001") WHERE FirstName = ''name""
89 d‡ÂÌa

Set Records = DB.Execute (SQLQuery)


Records.UpDate
Records.Close
DB.Close
%>
</BODY>
</HTML>
dˆa …{M ÉZÅ|¸Ì§ Á [Zzf¿Y "name" ¹Z¿ Z] ÊWÂnŒ¿Y{ {¯ ©Â§ Ä»Z¿€] {
®¿Z] { 0Y{|n» ¶Zu Á €Ì̤e ½M (DateIfBirth) |·Âe xËZe Á (Email) Ê°Ì¿Á€f°·Y
.d‡Y Ã|‹ d^i ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y

{¯ ®Ë ¥~u -4 µZj»


.|‹ ºÌÅYÂy ZÀ‹M ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] { {¯ ®Ë ¥~u ÃÂv¿ Z] µZj» ¾ËY {
:d‡Y €Ë cÄ] ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] Y {¯ ®Ë ¥~u Ä»Z¿€] ¾f»
<HTML>
<HEAD>
<TITLE>Student Records</TITLE>
</HEAD>
<BODY>
<%
Set DB=Server.CreateObject("ADODB.Connection")
path="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=Students;Data Source=computername"
DB.Open path
Set Records=Server.CreateObject("ADODB.Recordset")
SQLQuery="DELETE * FROM Students WHERE FirstName = "name""
Set Records = DB.Execute (SQLQuery)
Records.UpDate
Records.Close
DB.Close
%>
</BODY>
</HTML>
¥~u ½ZËÂnŒ¿Y{ ÊeZŸÔ—Y ®¿Z] Y "name" ¹Z¿ Z] ÊWÂnŒ¿Y{ {¯ ©Â§ µZj» {
ÄmÂe dˆËZ]Ê» ºÆ» Äf°¿ Á{ Ä] ÊeZŸÔ—Y ®¿Z] Y {¯ ®Ë ¥~u ½Z» { .{‹ʻ
:{€¯
½Z°»Y ,{{€³Ê» ¥~u į É{¯ ¾ËY€]ZÀ] .{Y|¿ {ÂmÁ Undo ¥Á€ » ½Z°»Y 0ÓÁY
.{Y|¿ {ÂmÁ ½M ½|¿Y{€³€]
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 90

ÉZÅ{¯ Ê»Z¼e ,{{€³ ¥~u WHERE cZ^Ÿ , DELETE ÉY€mY ½Z» { €³Y 0ZÌ¿Zi
.|Ë{€³ |ÀÅYÂy ¥~u µÁ|m { {Âm»

SQL Server 2005 ¦¸fz» ÉZÅ ŠËY€ËÁ ĈËZ¬»


:Y |ÀeZ^Ÿ ¹Y|¯ €Å ÉZfyY ¥Á€u Á SQL Server 2005 cÁZ¨f» ÉZŊËY€ËÁ
•EE = SQL Server 2005 Enterprise Edition
•DE = SQL Server 2005 Developer Edition
•SE = SQL Server 2005 Standard Edition
•WG = SQL Server 2005 Workgroup Edition
•SSE = SQL Server 2005 Express Edition
•SSEA = SQL Server 2005 Express Edition with Advanced Services

¾ËY Y ¹Y|¯ €Å –‡Âe ÊËZÆf̸]Z« Á ZÆ̳„ËÁ Äq į |ÀÀ¯Ê» ŽzŒ» €Ë µÁY|m


.{‹ʻ Ê¿Z^ÌfŒa ZŊËY€ËÁ
91 d‡ÂÌa
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 92
93 d‡ÂÌa
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 94

10g ¶¯YÁY \¿


ÉY€] .d‡Y Ä¿ZËY ÉÁ €] ½M \¿ Á ZÅ CD ÄÌÆe ¶¯YÁY Y Ã{Z¨f‡Y { ĸu€» ¾Ì·ÁY
:|ÌÅ{ ¹Zn¿Y Y €Ë ¶uY€» ¶¯YÁY \¿
Ä»Z¿€] Ze |Ì¿Z¼] €œfÀ» ʼ¯ .|ÌÅ{ Y€« CD ÂËY{ ÉÁ €] Y ½M CD ¾Ì·ÁY
ÉÁ €] ,|Œ¿ Y€mY Autorun Ä»Z¿€] €³Y .{{€³ €ÅZ› €Ë ¶°‹ Á {‹ Y€mY Autorun
|ÌÀ¯ ®Ì¸¯ Z]Á{ ½M ÉÁ €] †b‡ ,{Y{ Y€« ½M ÉÁ €] ¶¯YÁY CD į |ËÁ€] ÉÂËY{
.{{€³ €ÅZ› €Ë ¶°‹ Ze
95 d‡ÂÌa

[Zzf¿Y Y I Accept ÄÀ˂³ License Agreement ÀnÀa {.|ÌÀ¯ ®Ì¸¯ Y Next ÄÀ˂³
.|ÌÀ¯ ®Ì¸¯ Y Next Y{|n» Á |ÌÀ¯
|Å{Ê» ½ZŒ¿ Y |¬» ÉZƸËZ§ ½Z°» į {‹ʻ €ÅZ› €Ë ¶°‹ ª]Z˜» ÉY Äv¨ ½ÂÀ¯Y
.|ÌÅ{ €Ì̤e Y ZÆ¿M |Ì¿YÂeÊ» ¹Á‚· c { Á

{Ây ÉZÅÃ{Y{ ÃZ´ËZa ÉY€] ÉÂ^Ÿ ‚» |Ì¿YÂf] É| ] ĸu€» { Ze |ÌÀ¯ ®Ì¸¯ Y Next
.|ÌÀ¯ ¾ÌÌ e
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 96

.|ÌÀ¯ ÊÀÌ]Z] Y \¿ cZ¼ÌœÀe Summary ÀnÀa {

.{‹ ¶»Z¯ \¿ Ze |Ì¿Z¼] €œfÀ» Á |ÌÀ¯ ®Ì¸¯ Install ÄÀ˂³ ÉÁ €]
97 d‡ÂÌa

¶uY€» ¹Z¼eY Á {‹ʻ €ÅZ› €Ë ¶°‹ ª]Z˜» ÉYÄv¨ ÊeZŸÔ—Y ®¿Z] \¿ Y †a
.|À¯Ê» ¹ÔŸY Y \¿

Y|Ìa Programs ÉÂÀ» Y Y½M ¶ËZ¼e c { Á |ÌÀ¯ ®Ì¸¯ Y Finish ļ¯{ µZu
.|ÌÀ¯ Y€mY Á Ã{€¯
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 98

ºÆ» Äf°¿ |Àq


SQL Server { Login Fails ¶°Œ» ¶u -1
½M Ä] ÊeZŸÔ—Y ®¿Z] Z] •Z^eY ÉY€«€] ¹Z´ÀÅ d‡Y ¾°¼» į ÊeÔ°Œ» Y Ê°Ë
Y ÊËZ˜y ¾ÌÀq €³Y .dˆÅ Login Fails ZË ¾Ì³Ó { dˆ°‹ ¶°Œ» |ÌÀ¯ {Ây€]
®¼¯ Z¼‹ Ä] |¿YÂeÊ» ½M ž§ { \¸˜» ¾ËY |ËYÃ{€¯ d§ZË{ {Ây Ä»Z¿€] Z] Z¯ ¹Z´ÀÅ
:|À¯

SQL Server ¦¸fz» ÉZÅ Database ÉY€] Z¼‹ į d‡Y ¾ËY ʸY Â“»
ɀ]Z¯ 0Ôj» .|ÌÅ|] ʏZy ʇ€f‡{ t˜‡ €]Z¯ €Å Ä] Á |ÌÀ¯ ¦Ë€ e €]Z¯ |Ì¿YÂeÊ»
ZÆÀe d‡Y Y€« į Ê¿Z» Y {Ây µZeY Äf‹ Á |ˀ̴] €œ¿ { Ê¿|¿YÂy t˜‡ Z] Y
,ħZ“Y ÊeZŸÔ—Y pÌÅ |ÌÅYÂyʼ¿ Á) |̋Z] Äf‹Y{ ÊeZŸÔ—Y ®¿Z] Y ɀ̳‰Y‚³
.|ÌÀ¯ ¦Ë€ e €]Z¯ ¾ËY Y Ã{Z¨f‡Y Z] (|ÌÀ¯ ŠËY€ËÁ ZË ¥~u
:0Ôj» ,|Å{Ê» Y€« Z¼‹ ZÌfyY { Y ʨ¸fz» (Roles) ÉZŊ¬¿ SQL Server
...Á db_datareader ZË db_owner
€]Z¯ ®Ë |ÌÀ¯Ê» \¿ Y (NET Framework) ­ÁºË€§ d¿cY{ į Ê»Z´ÀÅ
Ä] į |ËY{ ZÌ¿ Ã{Y{ ÃZ´ËZa Z] Z¯ ÉY€] .{‹ʻ ħZ“Y Z¼‹ Á|ÀËÁ Ä] |Ë|m (User)
99 d‡ÂÌa

Y €Ë ¶/uY€» Z¯ ¾ËY ÉY€] .|ÌÅ|] Y {Ây Data base Ä] ʇ€f‡{ ÁZmY User ¾ËY
:|ÌÀ¯ µZ^¿{
.|ËÁ€] Security Šz] Ä] Á |ÌÀ¯ Z] Y Enterprise Manager
É|Ë|m ÀnÀa .|ÌÀ¯ [Zzf¿Y Y New Login Á |ÌÀ¯ d‡Y ®Ì¸¯ Logins d¼ˆ« ÉÁ
:{‹ʻ Z]

d¼‡ { į ÉYļ¯{ ÉÁ €] ®Ì¸¯ Z] Name Šz] Y Á ÀnÀa ¾ËY General ij€] {
¹Z¼e dˆÌ· ÉÁZu į {‹ʻ Z] ÉYÀnÀa (½{€¯ browse ÉY€]) dˆÅ d‡Y
.d‡Y Á€‡ ÉÁ {Âm» ÉZÅUser
Ä] ÃZ]Á{ .|ÌÀ¯ Ok †b‡ .|ÌÀ¯ ®Ì¸¯ Add ļ¯{ ÉÁ Á |ÌÀ¯ Y|Ìa Y ½ZfÅYÂz·{ User
.|Ë{€³Ê»€] New Login ÀnÀa
ÉZłÌq .|ÌÀ¯ [Zzf¿Y Y Authentication Windows ÄÀ˂³ Authentication Šz] {
User ¾ËY ÉY€] ‘€§ŠÌa Data base Á ½Z] |̋Z] ½Z‹€Ì̤e Ä] ¶ËZ» |ËZ‹ į ɀ´Ë{
.d‡Y
ZÅ Ã{Y{ ÃZ´ËZa ÃZ´ŒËZ»M 100

ŽzŒ» Á€‡ { Y User ¾ËY Š¬¿ |Ì¿YÂe Ê» Server Roles ij€] ®¼¯ Ä]
|ÌÅYÂyÊ» į ÊËZÅ Database ˬ Database Access ij€] ®¼¯ Ä] dËZÆ¿ { Á .|ÌÀ¯
ÉZŊ¬¿ ÃY€¼ÅÄ]) .|ÌÀ¯Ê» ŽzŒ» Y |‹Z] Äf‹Y{ ʇ€f‡{ ZÆ¿M Ä] ½ZfÅYÂz·{ User
(€œ¿ {»
Á SQL Server ÉZÅUser ğ¼n» Ä] ½ZfÅYÂz·{ User ˬ Ok ÉÁ €] ®Ì¸¯ Z]
€Å ¶yY{ |Ì¿YÂe Ê» 0Y| ] .{‹ Ê» ħZ“Y |ËY Ã{€¯ ŽzŒ» į ÊËZÅ Database ‚Ì¿
.|ÌÀ¯ µ€fÀ¯ ‚Ì¿ Y µÁY|m Ä] ʇ€f‡{ ½Y‚Ì» Users Šz] ªË€— Y Database

Table or View Does Not Exist ÉZ˜y ¹Z¤Ìa -2


{Y» Êy€] { .d‡Y Ê]ZÌf‡{ {» |Ë{ ZË µÁ|m {ÂmÁ ¹|Ÿ Ã|ÀÀ¯½ZÌ] ¹Z¤Ìa ¾ËY
.|ÌÀ¯ d§ZË{ Y Ê»Z¤Ìa ¾ÌÀq ,€œ¿ {» µÁ|m {ÂmÁ Y ½ZÀ̼—Y º£€Ì¸Ÿ d‡Y ¾°¼»
.|‹Z] Äf‹Y{ {ÂmÁ ÊfÌÀ»Y ¶°Œ» ®Ë į |ËMÊ» ŠÌa Êf«Á ÊfÌ “Á ¾ÌÀq
ÉY€] ¹Ó cYZÌfyY ÉYY{ €]Z¯ Ê·Á ,|‹Z] Äf‹Y{ {ÂmÁ 0Z «YÁ µÁ|m €³Y 0Ôj»
ÉYY{ Â]‚» ¹Z¤Ìa d·Zu ¾ËY {.|‹ |ÅYÂy Ã{Y{ ŠËZ¼¿ ¹Z¤Ìa ¾ËY ,|‹Z^¿ ½M Ä] Ê]ZÌf‡{
.d‡Y "|ËY|¿ Y µÁ|m Y Ã{Z¨f‡Y ÁZmY" ÉZÀ »

Missing Expression ÉZ˜y ¹Z¤Ìa -3


d§ZË{ {Ây Ä»Z¿€] Z] Z¯ ¹Z´ÀÅ ½Y€]Z¯ į ÊËZ˜y ÉZŹZ¤Ìa ¾Ë€f·ÁY|f» Y Ê°Ë
.d‡Y cZ^Ÿ ½Y|¬§ ZË Missing Expression ÉZ˜y ¹Z¤Ìa ,|ÀÀ¯Ê»
€´Ë{ cZ^Ÿ ®Ë µZ^¿{Ä] Š‡€a €´‹Y{€a į |Å{Ê» w Ê»Z´ÀÅ Z˜y ¾ËY
{ Y €Ë SQL cYÂf‡{ µZj» ÉY€] .d‡Y Ã|Œ¿ {YÁ €œ¿ {» cZ^Ÿ Ê·Á {{€³Ê»
:|ˀ̴] €œ¿

Select Student ˬ
From Students where FirstName = "mahtab""
ORDER BY LastName ASC
Ã{Y{ Y€« Z»Z¯ ®Ë ,1 –y { Student Ä»Z¯ Y | ] į½M ¶Ì·{Ä] ©Â§ µZj» {
Y Ê·Á {{€³Ê» (€´Ë{ µÁ|m ®Ë) €´Ë{ cZ^Ÿ ®Ë µZ^¿{Ä] Š‡€a €´‹Y{€a Ã|‹
101 d‡ÂÌa

Y Missing Expression ÉZ˜y ¹Z¤Ìa ,{‹ʻ ÄmY» From É|̸¯ ļ¸¯ Z] į Zn¿M
.|Å{Ê» ŠËZ¼¿

Not Enough Values ÉZ˜y ¹Z¤Ìa -4


c¾ËY €Ì£ { ,|À‹Z] €]Y€] ºÅ Z] |ËZ] INSERT Âf‡{ { ZÆ¿Âf‡ Á €Ë{Z¬» {Y| e
:|ÌÀ¯ ÄmÂe €] µZj» Ä] .|‹ |ÅYÂy €ÅZ› ©Â§ ÉZ˜y ¹Z¤Ìa

Insert into Student Values


(‘8029150047’ˬ ’ali’ˬ ’akbariˬ ’1359/6/31’)

Email ½Âf‡ ÉY€]) d‡Y €f¼¯ €œ¿ {» µÁ|m ÉZÆ¿Âf‡ Y €Ë{Z¬» {Y| e ÓZ] Âf‡{ {
.{‹ʻ €ÅZ› ©Â§ ÉZ˜y ¹Z¤Ìa ¶Ì·{ ¾Ì¼Å Ä] Á (d‡Y Ã|Œ¿ Äf§€³ €œ¿ { ÉY|¬»

You might also like

  • 3
    3
    Document12 pages
    3
    gholypur
    No ratings yet
  • Soft 2
    Soft 2
    Document15 pages
    Soft 2
    gholypur
    100% (2)
  • 4
    4
    Document18 pages
    4
    gholypur
    No ratings yet
  • Soft 1
    Soft 1
    Document7 pages
    Soft 1
    gholypur
    No ratings yet
  • Test 28
    Test 28
    Document2 pages
    Test 28
    gholypur
    No ratings yet
  • Soalvb 86019
    Soalvb 86019
    Document3 pages
    Soalvb 86019
    gholypur
    No ratings yet