반응형
■ 웹마스터 SQL서버의 모든것 ■

◆ SQL의 역사 및 정의 ◆

SQL의 역사는 California의 San Jose에 있는 IBM 실험실에서 시작된다. 그곳은 지난 1970년경에 SQL이 개발된 곳이다. SQL은 Structured Query Language의 약어이며 'SEQUEL'로써 참조되었다. 이것은 원래 IBM의 DB2(관계형 데이터베이스 관리 시스템 또는 RDBMS, 이것은 여전히 다양한 환경과 플랫폼에서 사용된다.)를 위해 개발되었다. 사실 SQL이 RDBMS를 가능하게 만들었다. SQL은 COBOL이나 C와 같은 절차적인 3세대 언어와는 상반적으로 비절차적인 언어이다.
'비절차적(nonprocedural)'이란 '어떻게'보다는 '무엇'을 말하는 것이다. 예를 들어, SQL은 어떻게 작업을 수행할 것인가 보다는 무슨 데이터를 구하고 삭제하고 삽입할 것인가를 서술한다.
DBMS와 RDBMS의 차이점을 나타내 주는 특징은 RDBMS가 세트 지향의(set-oriented) 데이터베이스 언어를 제공한다는 점이다. 이러한 세트 지향의 데이터베이스 언어가 바로 SQL이다. 세트 지향(set-oriented)이란 말은 SQL이 그룹에서 데이터셋을 처리한다는 뜻이다.


SQL(Structured Query Language) 이란?
구조화 질의어라고 한다. 데이터 정의어(DDL)와 데이터 조작어(DML)를 포함한 데이터베이스용 질의언어(query language)의 일종이다.
특정한 데이터베이스 시스템에 한정되지 않아 널리 사용된다.
초기에는 IBM의 관계형 데이터베이스인 시스템에서만 사용되었으나 지금은 다른 데이터베이스에서도 널리 사용한다.
SQL은 관계사상(relational mapping)을 기초로 한 대표적인 언어로서 입력 릴레이션(테이블)으로부터 원하는 출력 릴레이션을 사상(mapping)시키는 언어이다.
이 같은 언어로는 1973년 SQUARE(structured queries as relational expressions)가 발표되었는데 수학적인 표현이 많아 초보자가 사용하기는 어려웠다.
이것을 기초로 1974년 SEQUEL(structured english as query language)이 IBM의 새너제이(San Jose) 연구소에서 만들어졌으며 다시 이것을 개선하여 1976년 SEQUEL 2가 발표되었다.
이 SEQUEL 2를 기초로 한 시스템인 시스템 R, 오라클(Oracle) 등이 나오면서 SQL로 알려지게 되었다.
SQL은 단순한 질의 기능뿐만 아니라 완전한 데이터 정의 기능과 조작 기능을 갖추고 있다.
또 온라인 단말기를 통해 대화식으로 사용할 수도 있고 코볼이나 PL/I, C 등의 호스트 언어로 된 프로그램에 삽입되어서 사용되기도 한다.
SQL은 장치 독립적이고 액세스 경로에 대해서는 어떠한 참조도 하지 않으며,
개개의 레코드보다는 레코드의 집합인 테이블을 단위로 연산을 수행한다.
또한 SQL은 영어 문장과 비슷한 구문을 갖고 있으므로 초보자들도 비교적 쉽게 사용할 수 있다.

◆ SQL 명령어 ◆
Data 조회 명령어 : SELECT
Data 조작 명령어 : INSERT, UPDATE, DELETE
Data 정의 제어 : CREATE, ALTER, DROP
Transaction 제어 : COMMIT, ROLLBACK
보안(Security) : GRANT, REVOKE 등

◆ SQL 정의어 ◆

SQL(Structured Query Language) 데이터 언어의 특징
ㅇ 1974년에 IBM 연구소에서 개발 발표한 SEQUEL(Structured English Query Language)에서
연유한다.
ㅇ 이 SQL은 관계대수나 관계 해석을 기초로 한 고급 데이터 언어라고 볼 수 있다.
ㅇ IBM의 DB2와 SQL/DS에서는 물론 ORACLE, INFORMIX, SYBASE, INGRES와 같은
다른 회사에서도 채택되었다.

특히 이 SQL은 ANSI와 ISO에서 관계 데이터베이스의 표준 언어로 채택되어 거의 모든
상용관계 DMBS에서 지원되고 있다. SQL 표준안은 SQL-86과 SQL-89를 SQLI,
SQL-92를 SQL2라고 한다.
ㅇ SQL-86 : DB2의 SQL을 중심으로 제정된 최초의 표준안
ㅇ SQL-89 : 참조 무결성의 표현을 추가한 표준안
ㅇ SQL-92 : 삽입 SQL의 표현 기능과 새로운 표현 기능을 추가한 표준안
① SQL의 데이터 정의문은 스키마(schema), 도메인(domain), 테이블(table), 뷰(view),
인덱스(index)를 정의하거나 제거하는 문장으로 구성된다.


◆ SQL Server의 Service ◆
SQL Server 2000을 설치하면 system tray에 SQL서비스관리자 아이콘이 생겨있는 것을 볼 수 있다.
이 서비스관리자는 SQL Server가 제공하는 서비스를 시작, 일시 중지, 중지할 수 있다. 또한 이러한 서비스들이 운영체제가 시작할 때 자동적으로 시작할 것인가를 설정할 수도 있다.
SQL Server가 제공하는 서비스에는 다음과 같은 목록이 있다.

SQL Server (서비스명)
SQL Server가 작동하기 위해서는 반드시 실행되고 있어야 하는 서비스이다. SQL문으로 Data의 조회, 입력, 수정, 삭제의 작업을 처리하고 Database 전반적인 서비스의 바탕이 되는 서비스이다.

SQL Server Agent (설명)
관리자가 Server 앞에 없을 시에 발생하는 상황 등을 관리자에게 알려주는 역할을 하는 서비스이다. 이 서비스를 이용하여 일정 시점이 되면 자동적으로 백업을 수행하는 작업을 생성하기도 한다.


◆오라클의 SQL*Plus의 예약어를 정리◆

이 정리는 오라클의 SQL*Plus의 예약어를 정리한 것 입니다.
ACCESS : 데이터 베이스 오브젝트를 사용자가 사용할 수 있게 만든다.
ADD : SQL문에서 열이나 Integrity constraint를 추가하는데 사용된다.
ALL : 연산자를 지정하거나 함수그룹이 지정된 선택세트에서 모든 값들을 참작하도록 한다.
ALTER : 많은 문장에서 그 문장을 위한 현재값을 재정의 하는데 사용된다.
AND : 논리 연산자.
ANY : 논리 연산자.
AS : 서브쿼리에 의하여 리턴된 행을 테이블 제작시에 테이블에 삽입하기 위하여 Create 명령과 함께 사용되는 절.

ASC : 오름차순 리스트를 만드는데 예를 들면, 인텍스와 함께 사용된다.
AUDIT : 지정된 명령문이나 오브젝트를 회계할 수 있게 해준다.
BETWEEN : 비교 연산자.
CHAR : 고정된 길이의 CHARACTER 데이터 타입.
CHECK : 명시적으로 조건을 정의하는 제약.
CLUSTER : 그 행에 있는 데이터가 전형적으로 동시에 엑세스되는 일반적인 정보를 포함하고 있을 때 복수의
테이블로부터 함께 데이터베이스 데이터를 저장하는 수단.
COLUMN : 이름과 특정 데이터 타입을 포함하는 테이블의 세부구분.
COMMENT : 테이블이나 열에 대하여 데이터 디렉토리안에 코멘트절을 삽입하는 명령어.
CONNECT : 현재의 변경을 행하고, 사용자를 오라클로 부터 log off 하고 특정 사용자로서 오라클에 log on 한다.
CREATE : 특정 데이터ㅔ이스 오브젝트를 만드는데 사용된다.
CURRENT : 최근 불러들인 행을 지정하는데 커서와 함께 사용된다.
DATE : 고정된 길이의 데이터와 시간 데이터인 DATA 형의 데이터 타입.
DECIMAL : 고정된 소수점 수만 지정하는 DECIMAL 데이터 타입.
DEFAULT : 다른 대안이 지정되지 않은 경우 사용되는 절이나 옵션값.
DELETE : 테이블로부터, 또는 뷰의 베이스 테이블로부터 행을 제거하는 명령.
DESC : 내림차순 리스트를 만든다. 이 예약어의 전형적인 애플리케이션은 인덱스와 함께 한다.
DISTINCT : 명령문의 일부로서 독특함을 나타낸다.
DROP : 데이터베이스로부터 오브젝트를 완전히 제거 또는 삭제한다.
ELSE : TRUE로 평가될 수도 있는 2개의 명령문을 평가하는 명령.
EXCLUSIVE : 데이터 베이스를 독점 모드로 마운트하는데 사용된다. 말하자면, 그 데이터베이스가 한 번에 하나씩의 예가 마운트됨을 의미한다.
EXITS : WHERE 절에서 그 다음에 나오는 서브쿼리가 적어도 한 행을 리턴할 경우 TRUE를
리턴하는 연산자.
FILE : 모든 데이터베이스 데이터를 저장하는데 사용되는 저장 구역.
FLOAT : FLOAT 데이터 타입.
FOR : 반복 논리에서 명령문이 실행되는 회수를 제한하는데 사용된다.
GRANT : 사용자와 역할에 허가를 적용하는데 사용된다.
HAVING : 지정된 조건이 TRUE인 그룹에 리턴되는 행의 그룹을 제한한다.
IMMEDIATE : 테이블 공간 파일을 이용할 수 있음을 보장하지 않으며 체크포인트를 수행하지
않는 alter tablespace에서 사용된다.
IN : WHERE..


http://www.3dcad.co.kr
반응형

+ Recent posts