-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: [DB] View 정리 #7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뷰를 공부만 했지 실제로 사용해본 경험은 없는데, 실제로는 어떻게 사용되나요? 스프링 부트 같은 프레임워크에 기능이 존재하는지 궁금해요!
|
||
<br> | ||
|
||
뷰를 읽기 전용으로 만들고 싶은 경우 쿼리 마지막에 `with read only`를 추가하면 된다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뷰도 read only가 있군요! 혹시 모든 데이터베이스에서 제공하는 기능일까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아뇨! 지원하지 않는 DBMS도 있습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
너무 아름 다운다운다운다운 View....
데베 수업 들을때 과제에서 썼던 기억이 새록새록 나네요..! 잘 읽었습니다 🫶
|
||
- 뷰에 인덱스를 구성할 수 없다. | ||
- 뷰를 포함하여 뷰를 만든 경우 연관 뷰를 삭제하면 생성된 뷰도 삭제된다. | ||
- 한번 정의된 뷰는 수정이 불가하다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수정이 불가하다는게 조회만 가능하다는걸까요? (데이터의 추가수정삭제가 불가한지?)
아니면 컬럼이 고정되어서 뷰의 구성 요소 변경이 어렵다는걸가요!?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뷰의 구성 요소 변경이 안 된다는 뜻입니다!
해당 방법은 따로 없고 create or replace view
로 덮어써서 수정할 수는 있습니다.
그리고 view 자체에서 DML(추가,수정,삭제)을 사용할 수는 있습니다! 다만, 여러 제약사항들이 있다고 하네요(집계함수나 DISTINCT가 있으면 변경이 안된다
등.. 과 같은)
오! 저도 이번 기회에 찾아보게 되었는데요
일반적인 테이블과 같이 |
|
||
뷰의 단점 | ||
|
||
- 뷰에 인덱스를 구성할 수 없다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
왜 인덱스를 구성할 수 없을까요?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뷰는 물리적인 테이블이 아니라 select 쿼리 결과를 의미하는 가상 테이블이기 때문이에요. 논리적으로만 존재하기 때문에 인덱스를 걸 수 없습니다!
개요
체크리스트