Monday 10 October 2016

டேட்டா பேஸ்(தகவல் தளம்) என்பது என்ன? Sql-server-ல் எவ்வாறு டேட்டா பேஸ் மற்றும் டேபிள் உருவாக்குவது எப்படி?




டேட்டா என்பது தமிழில் தகவல் எனப்படுகின்றது.தகவல் தளம் என்பது நமக்குதேவையான தகவல்களை சேமிப்பதும் தேவையான வகையில் திரும்பப் பெறுதலும் ஆகும்.
தகவல்களை டெக்ஸ்ட் ஃபைலாக பின் வருமாறு உருவாக்கலாம்






இவ்வாறு நாம் பதியும் தகவல்களை SEQUENTIAL முறையில் தான் அணுக முடியும்.
இதற்கு மாற்றாக MS-EXCEL-ல் பதியலாம்.ஆனால் MS-ACCESS போன்ற டேட்டாவுக்கென்றே உருவாக்கபட்ட சாஃப்ட்வேர் மூலம் டேட்டாவை கையாளுவது எளிது. அதை உபயோகித்து பார்த்தால் வித்தியாசம் புரியும்.







இவற்றில் முக்கியமான DATABASE –கள்
MS-ACCESS
MS-SQLSERVER
MY-SQL
ORACLE





மேலே உள்ளவற்றில் சிறிய அலுவலங்கள் என்றால் MS-ACCESS என்பதை தேர்ந்தெடுக்காலாம். பெரிய வெப் பயன்பாடுகள் எனில் MS-SQLSERVER,MY-SQL,ORACLE போன்றவற்றை தேர்ந்தெடுக்கலாம்.

 தகவல்கள்ஆனது முதலில் headings ஆக உருவாக்கப்படுகின்றது.

உதாரணமாக மார்க் என்றால் id,name,mark போன்ற தலைப்புகள் முதலில் உருவாக்கப்ப்படிகின்றது.

பிறகு தகவல்கள்  row ஆக சேமிக்கப்படுகின்றது
Id     name  mark
11    mm    75-----------------------------row1
12    nn    89----------------------------row2
13    rr     67------------------------------row3

உதாரணமாக மேலே மூன்று ரோக்கள் உருவாக்கப்பட்டிருக்கின்றது.ஒன்று அதற்கு மேலே உள்ள ரோக்களின் தொகுப்பே டேபிள்(TABLE) எனப்படுகின்றது.டேபிள்களின் தொகுப்பே டேட்டாபேஸ் எனப்படுகின்றது.

இது RELATIONAL DATABASE MANAGEMENT SYSTEM எனப்படுகின்றது. அதாவது ஒரு டேட்டா பேஸிற்குள் இருக்கும்.டேபிள்களுக்கிடையே RELATIONS ஏற்படுத்தப்பட்டிருக்கும். என்வே தன் இது RELATIONAL DATABASE MANAGEMENT SYSTEM எனப்படுகின்றது.

PRIMARY KEY:

ஏதாவது ஒரு COLUMN –ன் மதிப்பானது UNIQUE ஆக இருக்க வேண்டும்.உதாரணத்திற்கு இங்கு NAME ஆனதை ப்ரைமரியாக ஏற்க முடியாது . ஏனேன்றால் ஒன்றிற்கும் மேற்பட்ட பெயர்கள் ஒரே மாதிரியாக இருக்க  வாய்ப்பு இருக்கின்றது..ஆனால் id property ஆனது unique ஆக இருக்கும்.எனவே இதை ப்ரைமரி கீ ஆக வைத்துக் கொள்ளலாம்..

Identity key.

இது auto increment ஆகும். அதாவது ஒவ்வொரு தடவை ஒரு ரோ இன்செர்ட் செய்யும் பொழுது இந்த  column மதிப்பு தானாகவே GENERATE ஆகும்..
CREATE TABLE student
(
ID int IDENTITY(1,1) PRIMARY KEY,
SName varchar(255),
Address varchar(255),
City varchar(255)
}
மேலே உள்ள student key ஆனது IDENTITY(1,1)ஆக குறிப்பிட்டிருக்கின்றது. அதாவது முத்ல் வரும் ரோவில் id மதிப்பு 1 ஆக இருக்கும்.அடுத்து வரும் ரோக்களில் இந்த மதிப்பு ஒன்று ஒன்றாக அதிகரிக்கும்.
Foreign key
இந்த கீ ஆனது இந்த டேபிளில் இருக்கும் ரோவானது மற்றொரு டேபிளில் உள்ள கீயை unique ஆக identify பண்ணுகின்றது. பார்க்க படம்-1
படம்- 1

     


                            
                                                                                   மேலே உள்ள டேபிள் contact table(PARENT TABLE) –ல் id ஆனது primary key ஆக பயன்படுகின்றது.mark table(child table) –ல் உள்ள –id  contact tableல் உள்ள id –யை foreign key ஆக ஏற்கின்றது.அதாவது primary table-ல் 11 என்கின்ற id value இல்லா விட்டால் child table-ல் 11 என்கின்ற id value ,இன்செர்ட் செய்ய இயலாது.அதே நேரத்தில்(child  table-ஒரு id மதிப்பை டெலீட் செய்யாமல் அந்த id மதிப்பை parent table)-ல் டெலீட் செய்ய இயலாது.
இப்போது sql server-ல் டேட்டா பேஸ் உருவாக்குவது என்று பார்ப்போம்.
லில் All programs செல்லவும்.பின் microft sqlserver 2008 என்பதை விரித்தால்
SQL SERVER MANAGEMENT STUDIO(இது SSMS என்று சுருக்கி கூறப்படுகின்றது.இதுSQL SERVER DATA BASE ஆனதை அணுக உதவும் ஒரு CLIENT TOOL என்பது தவிர டேட்டா பேஸ் ஆப்ஜெக்ட்கள் ஆன DATA BASE,TABLE,VIEW,TRIGGER போன்றவை சேமிக்கப் பட்டிருக்கும்இடம் அல்ல.)என்பதை க்ளிக் செய்யவும்.பார்க்க  படம்-2
படம்- 2

இப்போது பின் வரும் திரை வரும்.
படம்- 3






இதில் AUTHENTICATION என்பதில் WINDOWS AUTHENTICATION அல்லது SQL SERVER AUTHENTICATION என்பதை தேர்ந்தெடுக்கவும்.பின் CONNECT என்கின்ற பட்டனை க்ளிக் செய்யவும்.இப்போது பின் வரும் விண்டோ வரும்.பார்க்க படம்-4






டேட்டா பேஸை (databases) வலது க்ளிக் செய்யவும்.







படம்- 5
இதில் New Database என்பதை க்ளிக் செய்யவும்.
பின் வரும் விண்டோவில் database name என்பதில் நாம் விரும்பும் பெயர் கொடுக்கலாம்.பின் ஒகே கொடுக்கவும்


படம்- 6
பின்பு இடது பக்க பேனலில் உள்ள database என்பதை வலது க்ளிக் செய்து refresh செய்யவும். இப்போது databases என்பதை விரித்தால் பின் வரும் படி வரும்
திரை வரும்.



படம்- 7
இதில் school என்பதை விரித்து வரும் மெனுவில் tables என்பதை வலது  க்ளிக் செய்து new table என்பதை செலக்ட் செய்யவும்.









படம்- 8
பின் வரும் விண்டோவில் column name,data type,allow nulls என்பதில் input கொடுக்கவும்.அதாவது இதன் மூலம் நாம் டேபிளின் structure உருவாக்குகின்றோம்.








படம்- 9
பின் save All கொடுத்து டேபிளின் பெயர்கொடுக்கலாம்.உதாரணத்துக்கு contact எனப் பெயர் கொடுப்போம்.
பின்பு இதே போல் mark என்கின்ற டேபிள் உருவாக்குவோம்


க்வெரி மூலமும் DATABASE உருவாக்கலாம். உதாரணத்திற்கு NEW QUERY என்பதை க்ளிக் செய்யவும். இப்போது வரும் விண்டோவில் பின் வருமாரு டைப் செய்யவும்.
CREATE DATABASE SCHOOL1
மேலே வரும் ஸ்டேட்மெண்ட்டை டைப் செய்து பின்பு அதை செலெக்ட் செய்து EXECUTE என்பதை  க்ளிக் செய்யவும்.அல்லது F5 கீயை அழுத்தவும்.
இப்போது DATABASE என்பதில் வலது க்ளிக் செய்து REFRESH என்கின்ற விவரத்தை க்ளிக் செய்யவும்.இப்போது SCHOOL1 என்கின்ற DATABASE-ம் உருவாயிருக்கும்.
DATABASE ஆனதை நாம் GRAPHICAL முறையில் உருவாக்கியிருந்தாலும் அல்லது க்வெரி மூலம் உருவாக்கியிருந்தாலும் MDF எக்ஸ்டென்சனிலும் LDF எக்ஸ்டென்சனிலும் இரு ஃபைல்கள் உருவாகியிருக்கும்..MDF ஃபைல் என்பது டேட்டாவை சேமிப்பதற்கும், .LDF ஃபைல் என்பது DATABASE ஆனதை மீட்டெடுக்கவும்.
டேட்டா பேஸ் பெயரில் மாற்றம் செய்ய பின் வரும் SYNTAX பயன்படுகின்றது.

Alter database databasename modify name=newname

உதாரணத்துக்கு பின் வரும் க்வெரி :

ALTER DATABASE SCHOOL1 MODIFY NAME=SCHOOL2

மேலே உள்ள க்வெரியை execute செய்தால் SCHOOL1 என்பது SCHOOL2 என மாறியிருக்கும்.
இதை DATABASES என்பதை REFRESH செய்வதன் மூலம்அறியலாம்
GRAPHICAL முறையில் மாற்றம் செய்ய டேட்டா பேஸ் பெயரை வலது க்ளிக் செய்து RENAME என்பதை க்ளிக் செய்யலாம்.இப்போது பெயரை மாற்றிக் கொள்ளலாம்.
பின் வரும் STORED PROCEDURE ஆனதை EXECUTE செய்வதன் மூலமும் செய்யலாம்.

Execute sp_renameDB ‘OLDDATABASENAME’,’NEWDATABASENAME’

:உதாரணம்:
EXECUTE sp_renamedb 'SCHOOL2','SCHOOL3'

மேலே உள்ள கட்டளையை இயக்குவதன் மூலம் SCHOOL2 ஆனது SCHOOL3 என்று மாறியிருக்கும்.

டேட்டாபேஸை அழிக்க GRAPHICAL முறையில் அதனை வலது க்ளிக் செய்து DELETE கொடுக்கவும்.

க்வெரி முறையில் மாற்ற SYNTAX:
DROP DATABASE DATABAENAME

உதாரணம்:
DROP DATABASE SCHOOL3
மேலே உள்ள வரியை இயக்குவதன் மூலம் SCHOOL3 என்கின்ற DATABASE அழிந்து விடும்.

டேட்டாபேஸை அழிக்கும் போதும் சில நடை முறை சிக்கல்கள் உள்ளன.
அதாவது முதல் பயனாளர் குறிப்பிட்ட டேட்டாபேஸில் க்வெரி எழுதி உபயோக்கிறார்கள்.
அதே நேரத்தில் இரண்டாவது பயனாள்ர் அந்த டேட்டாபேசை அழிக்கிறார்.

இப்போது பிழை சுட்டிக்காட்டப் படும்.பிழையை சரி செய்ய DATABASE ஆனதை SINGLE_USER மோடிற்கு மாற்றி அழிக்க வேண்டும்.

ALTER DATABASE DATABASENAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE
பயனாளர் உருவாக்கும் டேட்டா பேஸை மட்டும் அழிக்க முடியுமே தவிர SYSTEM DATABASE
(உதாரணம் MASTER) போன்றவற்றை அழிக்க முடியாது.

Foreign key உருவாக்குதல்
:
Syntax:
Alter table foreignkeytable add constriant foreignkeytable_foreigntablecolumn_fk foreignkey (foreignkeycolumn)
References primarykeytable (primarykeycolumn)

மேலே உள்ளsyntax-ல் போல்ட் எழுத்தில் இருப்பவை user defined ஆகும்.

Contact table








Mark table.
இதில் contact table, primary table ஆகும். Mark table ஆனது foreign table ஆகும்.
மேலே உள்ள மெனுவில் TableDesigner என்பதை க்ளிக் செய்து relationships என்பதை க்ளிக் செய்யவும்.


இதில் இடது மக்கம் உள்ள பேனில் ADD என்பதை க்ளிக் செய்யவும்TableAndColumn Specification என்பதை கிளிக் செய்ய்வும்.



Primary key டேபிளில் contact டேபிளையும் foreignkey டேபிளில் mark டேபிளையும் செல்க்ட் செய்யவும். அதற்கு கீழ் அந்தந்த column name  செலெக்ட் செய்து ok கொடுக்கவும்.

இவ்வாறு sql server-ல் டேட்டாபேஸ் மற்றும் டேபிள்கள் உருவாக்கப்படுகின்றது.
                                                      -முத்து கார்த்திகேயன்,மதுரை







                                                 



4 comments:

  1. "Sql-server" என்பது தனி அப்ளிகேசனா இல்லை? கட்டணம் செலுத்தி பெற வேண்டுமா?

    ReplyDelete
  2. sqlserver express edition can be freely downloaded by Microsoft website. after that we need a client tool like sqlserver management studio .it also can be freely downloaded from Microsoft websites

    ReplyDelete
  3. This intro is very good and simple. Pls introduce similar tech matters. Thnaks.- SIVA

    ReplyDelete