강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: Transact-SQL 이란 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:11
2,892

1. Transact-SQL이란?

보통은 줄여서 T-SQL 이라고 표기합니다. SQL Server의 SQL 구문은 ANSI와 ISO에서 정한 ANSI SQL 표준의 최신 버젼인 ANSI SQL-92 의 기준을 따르고 있습니다. 하지만 새로운 기능 수행을 위해 MS사는 새로운 SQL 구문을 추가 하였는데 이를 Transact-SQL 이라고 부릅니다. 이런 이유로 Transact-SQL 구문은 다른 데이터베이스 환경에서 작동되지 않을 확률이 높습니다. 그래서 되도록 ANSI SQL 구문으로 작성이 가능한것을 Transact-SQL 구문으로 작성하는 것은 바람직하지 않다고 생각합니다.

※ ANSI : American National Standards Institute / ISO : International Standards Organization

2. SQL 구문의 종류

SQL 구문은 그 기능에 따라 다음과 같이 세가지로 크게 분류 할 수 있습니다.

o DCL(Data Control Language)
o DDL(Data Definition Language)
o DML(Data Manipulation Language)

이 세가지 분류를 필히 기억할 필요는 없지만 종종 언급이 되는 교재들이 있으므로 알고있으면 도움이 될 것같습니다. Transact-SQL문에 대한 자세한 사용 방법은 앞으로 많은 시간을 할애하여 설명할 예정입니다.

1) DCL(Data Control Language)

데이터베이스 사용자와 Role에 대하여 권한을 지정하거나 제거할 사용하는 SQL 구문을 가리킵니다.

※ Role : SQL Server 7.0에서 새로 등장했으며, 그룹의 의미와 권한들의 집합의 의미를 가지고 있습니다. Windows NT나 Windows 2000에서 그룹을 정하여 권한을 할당하고 이 그룹에 사용자 계정을 포함하여 관리함으로써 관리의 용이성을 기한 것처럼 SQL Server에서는 Role을 사용 할 수 있습니다.

권한을 설정하는 SQL 구문에는 다음과 같이 GRANT, DENY, REVOKE 세가지가 있습니다.

GRANT

사용자 계정이나 Role에 대하여 데이터에 대한 접근 권한이나 Transact-SQL 사용 권한을 부여 할 때 사용합니다.
DENY GRANT와 반대로 데이터에 접근하지 못하게 하거나 Transact-SQL을 수행 하지 못하도록 거부할 때 사용합니다.
REVOKE 이미 GRANT 또는 DENY로 설정된 권한을 제거(Remove) 할 때 사용합니다.

다음의 예에서는 Jangrae라는 사용자 계정에 Pubs 데이터베이스의 Titles 테이블을 SELECT 할 수 있는 권한을 부여하고 있습니다.

USE Pubs
GRANT SELECT ON Titles TO Jangrae

SQL Server에서는 관리의 편의를 위하여 많은 도구들이 제공되고 있습니다. 이러한 도구들을 이용하여 굳이 SQL 문을 사용하지 않더라고 대부분의 작업을 할 수 있습니다. 예를 들어 위 예의 경우 권한을 설정하는 것은 EM(Enterprise Manager)를 이용하여 쉽게 작업을 할 수 있습니다. 하지만 배우는 과정에서는 되도록 SQL문을 직접 작성해서 수행해 보는 것이 많은 도움이 될거라 생각합니다. SQL을 통하여 작업하는 것이 숙달이 되면 시간 절약을 위해서 EM을 사용하는 것이 현명하다고 생각합니다. 처음부터 EM을 사용하여 작업을 하게 되면 수행되는 작업에 대한 내부적인 처리 내용을 정확하게 이해 할 수 없게 되며, 만일 EM에 문제가 발생하면 SQL 구분을 모르면 아무 작업도 할 수 없게 될 수도 있기 때문입니다.

2) DDL(Data Definition Language)

CREATE DATABASE 와 같이 데이터베이스, 테이블 또는 기타 오브젝트를 생성할 때 사용되는 SQL 구문으로 다음을 포함합니다.

o CREATE
o ALTER
o DROP

다음의 예에서는 MyDB 데이터베이스에 Friend 테이블을 생성하고 있습니다.

USE MyDB
CREATE TABLE Friend
(Name varchar(20), Tel char(12),Address varchar(50))

CREATE를 통해서 만들어진 것은 ALTER를 통해서 변경이 가능하며, DROP을 통해서 삭제 할 수 있습니다. 그래서 CREATE관련된 내용을 배울 때ALTER와 DROP 구문을 항상 같이 배우게 됩니다.

3) DML(Data Manipulation Language)

데이터를 검색하거나 수정 및 삭제 할 수 있는 SQL 구문으로 앞으로 가장 많이 사용하게 될 SQL 문이라 할 수 있으며 다음을 포함합니다.

o SELECT
o INSERT
o UPDATE
o DELETE

다음의 예에서는 Pubs 데이터베이스의 Titles 테이블의 모든 내용을 검색하고 있습니다.

USE Pubs
SELECT * FROM Titles

----------------------------------------------------------------------------------------

출처 : http://www.sqlworld.pe.kr

 

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2685 답변형 게시판 만들때 참조할 쿼리들 M 최고의하루 12.04 2912
2684 PHP 환경변수 13 김영철 01.13 2912
2683 태그를 제외하고 문자열 자르기 함수 - 1 13 김영철 01.13 2912
2682 select BOX 동적으로 선택하기 13 김영철 01.15 2911
2681 SQL에서 COUNT와 COUNT_BIG 의 차이점은 무엇인가요 13 김영철 01.23 2911
2680 PHP로 날짜 기간 구하는 프로그램 13 김영철 01.13 2909
2679 header("Pragma:no-cache") 13 김영철 01.13 2909
2678 도스에서 고스트 백업파일 분할 13 김영철 01.29 2909
2677 항상 새로 고침 13 김영철 01.14 2909
2676 1-32.[음악] 음악주소 직접만들기 - ⑧ 음악소스 wma 파일로 변환 99 단국강토 02.19 2908
2675 [명령어] 아파치 벤치마킹 툴 -ab 13 김영철 01.29 2905
2674 FLV파일로 스트리밍을 해 봅시다. 99 단국강토 12.30 2902
2673 TOMCAT Context 추가하기 13 김영철 01.29 2902
2672 안전한 코드만 이용하기 13 김영철 01.13 2901
2671 요일, 연중/월중 몇째주 구하기 13 김영철 01.23 2901
2670 SUBSTRING(str,pos) , SUBSTRING(str FROM pos) , SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len) 99 단국강토 01.08 2901
2669 onUnLoad 이벤트 제어하기 99 단국강토 02.19 2898
2668 스마택 Ver 0.2 ( 소스 자동 정렬 프로그램 ) 99 단국강토 01.05 2898
2667 set xact_abort on 사용시 주의점.(2) 99 단국강토 01.12 2897
2666 [SQL] 페이징 처리 13 김영철 01.23 2897
2665 [함수] 초를 시간 분 초로 바꿈.. 13 김영철 01.14 2897
2664 PHP를 Eclipse로 개발하기 - 2. 설정편 13 김영철 01.13 2895
2663 [펌] 제15강 - 방명록 만들기 IV M 최고의하루 12.19 2895
열람중 :: Transact-SQL 이란 :: 13 김영철 01.24 2893
2661 php전역변수 13 김영철 01.14 2893
2660 Framework Comparison Chart 13 김영철 01.14 2892
2659 다중업로드소스 - 검증완료 13 김영철 01.14 2892
2658 동적테이블 속성도 복사 13 김영철 01.29 2890
2657 [강좌] 이미지레디를 이용한 Gif만들기 10 액션쟁이 12.29 2889
2656 CSS를 활용한 INPUT FORM의 커스트마이징 기법 99 단국강토 02.09 2889
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취