Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

SQL에서 테이블, 뷰 및 동의어의 차이점 설명

<시간/>

구조화된 쿼리 언어(SQL)에서 테이블, 뷰 및 동의어가 무엇인지 이해합시다.

표, 보기 및 동의어

테이블은 데이터의 리포지토리이며 테이블에서 물리적 엔터티입니다. 테이블은 데이터베이스에 물리적으로 상주합니다.

보기는 데이터베이스의 물리적 표현의 일부가 아닙니다. 데이터 검색이 더 빠르게 작동하고 보안 접근성 메커니즘도 제공하도록 사전 컴파일됩니다.

동의어는 테이블, 보기, 시퀀스 또는 프로그램 단위에 할당된 대체 이름입니다.

예시

테이블 직원 생성(empID 정수 기본 키, 이름 varchar2(30), 기술 varchar2(30), 급여 번호(20), DOB 날짜/시간).

급여가 사용자 그룹에게 표시되지 않는 시나리오가 있다고 가정해 보겠습니다. 허용 가능한 정보를 표시하기 위해 보기가 생성될 수 있습니다.

emp_some_details 보기 생성(직원에서 empID, 이름, 기술, DOB 선택);

프로그램

아래는 위에서 언급한 예제에 대한 SQL에서 테이블, 뷰 및 동의어를 생성하는 프로그램입니다 -

create table employee (empID integer primary key, name varchar2(30), skill varchar2(30), salary number(20), DOB datetime);
insert into employee values(100,'AAA','JAVA',30000,2020-08-20);
insert into employee values(101,'BBB','PHP',35000,2020-07-02);
select * from employee;

create view [salary_hide] as select empID,name,skill,DOB from employee ;
select * from salary_hide;

출력

다음과 같은 결과를 얻을 수 있습니다 -

100|AAA|JAVA|30000|1992
101|BBB|PHP|35000|2011
100|AAA|JAVA|1992
101|BBB|PHP|2011

보기의 장점

보기를 사용하면 다음과 같은 이점이 있습니다 -

  • 테이블, 여러 테이블, 보기, 여러 보기 또는 이들의 조합에서 데이터에 액세스할 수 있습니다.

  • 보기는 기본 테이블의 데이터에 연결됩니다.

  • 안전한 데이터 액세스 메커니즘을 제공합니다.

보기는 CREATE OR REPLACE VIEW 문으로 업데이트할 수 있습니다.

구문은 다음과 같습니다 -

sql create or replace view view-name As
SELECT column1, column2, ...
FROM table_name
WHERE condition;

보기를 삭제하려면 보기 명령 −

를 사용할 수 있습니다.
DROP view view-name;

동의어는 테이블이나 뷰에 할당된 대체 이름으로 사용됩니다. 실제 엔티티의 원래 이름과 소유자를 숨기는 데 사용할 수 있습니다. 동의어에 대한 공개 액세스를 허용하여 테이블의 범위를 확장합니다.