자격증/SQLD & SQLP 자격증
# 모델링
- 일정한 표기법에 의해서 규칙을 갖고 표기하는 것을 의미한다.
- 커뮤니케이션의 효율성을 극대화한 고급화된 표현 방법이다.
## 모델링의 특징
1. 추상화
- 모형화 라고도 하며, 현실세계 일정한 형식에 맞추어 표현한 일정한 양식의 표기법
2. 단순화
- 복잡한 현실세계를 약속된 규약에 따라 제한된 표기법/언어로 표현 쉽게 이해할 수 있도록 하는 것.
3. 명확화
- 누구나 이해하기 쉽도록 애매모호함을 제거하여 정확하게 현상을 기술하는 것이다.
## 모델링의 관점
1. 데이터 관점 (What)
2. 프로세스 관점 (How)
- 업무가 실제 하는 일 또는 무엇을 해야 하는지
3. 상관 관점 (Interaction)
- 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향
# 뷰
- 뷰는 단지 뷰의 정의만 가지고 있고, 실제 데이터를 갖고 있지 않다.
- 질의에서 뷰가 사용되면 뷰의 정의를 참조하여 데이터베이스 내부적으로 질의를 재작성하여 수행한다.
- 위에서 언급했듯이 뷰는 실제 데이터를 갖고 있지는 않지만, 테이블이 수행하는 역할을 수행하기 때문에 '가상 테이블' 이라고도 한다.
## 뷰의 장점
1. 독립성
- 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경되지 않는다.
2. 편리성
- 복잡한 질의를 뷰로 생성하면 관련 질의를 단순하게 작성 할수 있다.
3. 보안성
- 숨기고 싶은 민감 정보 등이 존재하면 뷰 생성 시 해당 컬럼을 빼고 생성하여 사용자에게 정보를 감출 수 있다.
# 제약조건
- 데이터의 무결성을 유지하기 위한 데이터베이스의 보편적인 방법이 제약조건 설정이다.
1. 기본키 (PRIMARY KEY)
- 기본키는 하나의 테이블에 한 개만 지정 가능하다.
- 자동으로 UNIQUE 인덱스를 생성하며, NULL 값의 입력은 불가능하다.
- 기본키 제약조건 = 고유키 & NOT NULL 제약조건
2. UNIQUE KEY
- 행을 고유하게 식별하기 위한 고유키로 NULL 값이 가능하다.
3. NOT NULL
4. CHECK
- 입력할 수 잇는 값의 범위 등을 제한하는 제약조건으로 TRUE 또는 FALSE의 논리식을 지정한다.
5. 외래키 (FOREIGN KEY)
# NULL의 의미
- 공집합, 0, 공백과는 다른, 정의되지 않은 미지의 값 또는 데이터 입력을 못하는 경우를 의미한다.
# 데이터 모델링의 세 가지 요소
- 업무가 관여하는 어떤 것 (Things) : 사물이나 사건 등을 바라 볼 때, 전체를 지칭하는 용어
- 어떤 것이 가지는 성격 (Attributes) : 어떤 것이 가는 세부적인 사항
- 업무가 관여하는 어떤 것 간의 관계 (Relationships) :다른 어떤것과 연관성을 가질 수 있음을 나타내는 것.
- 위 세 가지는 데이터 모델링을 완성해 가는 핵심 개념으로, 엔터티, 속성, 관계 로 인식된다.