SYNONYM(동의어)
SYNONYM(이하 시노님) 은 "동의어" 라는 뜻을 가진 영단어이다.
단어의 뜻에 맞춰 SQL에서의 시노님은 테이블의 별칭을 만드는 용도로 사용된다.
C 언어에서 #define 을 생각해 보면 쉽게 이해될 것이다.
1. 시노님의 장점
1) 정식적인 테이블의 본 이름을 숨겨 보안을 강화한다.
2) 복잡한 테이블의 이름을 단순화 하여 사용할 수 있다.
3) 추후 테이블의 이름이 변경되어도 시노님을 변경하면 코드를 변경하지 않고 동일하게 사용할 수 있다.
즉, 별칭을 지어 줌으로 본래의 테이블을 감출 수 있으며 테이블의 이름이 매우 길면 짧은 별칭으로 시노님을 정해
일일이 타이핑하는 불편을 없앨 수 있고 테이블의 이름이 변경되어도 코드 전체를 변경할 필요가 없어진다.
2. 시노님 생성
시노님을 생성하는 방법은 다음과 같다.
CREATE SYNONYM [SynonymName] FOR [TableName];
테이블 생성과 유사하게 CREATE SYNONYM 예약어를 사용한다.
첫번째 [ ] 에는 새로 만들 별칭을 넣어준다.
두번째 [ ] 에는 별칭을 만들 테이블(본 테이블)의 이름을 넣어준다.
<예시>
CREATE SYNONYM M FOR MEMBER;
여기서 M 은 새로 생성된 시노님 이며, MEMBER 는 본 테이블의 이름이다.
여기서 시노님의 접근 권한에 따라 PUBLIC 과 PRIVATE 두 가지의 접근 방법이 생긴다.
1) PUBLIC
: 해당 DB 에 접근 권한을 가진 누구나 생성이 가능하다.
: 가장 일반적으로 사용되므로 PUBLIC 은 생략이 가능하다.
CREATE PUBLIC SYNONYM M FOR MEMBER;
2) PRIVATE
: 해당 DB 의 관리자만 접근이 가능하다.
CREATE PRIVATE SYNONYM M FOR MEMBER;
3. 시노님 출력 / 삽입 / 삭제하기
시노님은 앞서 말했 듯 테이블의 별칭을 정해 준 것이다. 따라서 시노님을 통해서도 테이블 출력이 가능하다.
SELECT * FROM M;
위의 쿼리에서 보듯 MEMBER 테이블 대신 M 을 사용한 것을 볼 수 있다.
INSERT INTO M
VALUES ('PARK', '1234', '이름1', '20191122', '좋은동네', '010-0000-0001', 20);
데이터 삽입 또한 일반 테이블의 쿼리에 값을 입력하는 것과 동일한 것을 볼 수 있다.
아래는 시노님을 삭제하는 방법이다.
DROP SYNONYM M;
역시나 테이블 삭제와 비슷한 것을 볼 수 있다.