글

라벨이 뷰인 게시물 표시

데이터베이스 - 뷰 객체

이미지
뷰 뷰는 실제 데이터가 저장되는 곳은 아니고, 바라보는 창이다. 뷰는 내부에 데이터를 저장하고 있지 않지만 기존 테이블에 기초한 논리적 테이블이다. 복잡한 쿼리를 단순하게 만들기 위해 select문을 이름 있게 저장하는 것이라고 생각하면 보다 쉽게 뷰를 다룰 수 있을 것이다. 뷰를 사용하는 목적은 보여주고 싶은 데이터만을 추출하여 보여줌으로써 데이터 접근 제한을 둘 수 있다. 게다가 복잡한 쿼리문이나 조인문의 경우 뷰를 통해 단순하게 바꾸고 사용할 수 있다. 뷰에는 두 종류가 있는데, 단순 뷰와 복합 뷰이다. 이는 select문이 얼마나 포함되었는가를 기준으로 나눈 것뿐이다. 뷰 생성하기 이제 뷰를 생성해보겠다. 뷰의 생성 문법은 다음과 같다. create문을 사용하여 서브 쿼리에 들어간 select문에 이름을 정해준다고 생각하면 된다. 실제로 데이터베이스 서버에서 뷰를 생성해보자. 뷰 생성 권한 주기 그런데 생성에 앞서 한 가지 문제가 있다. 실제로 뷰 생성 create문을 실행하면 다음과 같이 권한이 불충분하다는 메시지가 나타난다. 이는 scott이라는 사용자가 sys로부터 view 생성 권한을 받지 않았기 때문이다. 이제 system으로 접속하여 scott에게 view 생성 권한을 주도록하자. 우리가 처음에 오라클 데이터베이스를 설치할 때 system의 비밀번호를 123456으로 설정하였다. connect(conn)로 접속하여 권한을 주도록 하자. grant 명령어는 아직 배우지 않았지만 뒤에서 다루도록 할 것이다. 일단 넘어가도록 하자. 이제 scott에게 view 생성 권한이 생겼다. 이제 scott에 다시 연결하여 view를 생성해보자. 이제 뷰가 제대로 생성되고 있는 것을 확인할 수 있다. 그리고 뷰는 물리 데이터는 아니지만 select문이나 desc문을 사용할 수 있다. 이를 select문을 통해 출력하면 테이블의 형태로 출력된다. 즉 실제로 저장...