1. PK / index -> 제약조건
(1) PK : Primary Key -> 자동으로 unique index가 부여된다.
중복될 수 없는 유일한 unique값
not null
최소성
-> object 속성은 constraint로써 제약조건으로 생성된다.
(2) Unique Index
: index가 걸려있는 컬럼에 중복될 수 없는 유일한 값만을 보장
인덱스가 걸려있는 컬럼에 null 값은 입력 가능
(3) PK 생성
- 테이블 생성 시 컬럼 레벨에서 생성하기
- 테이블 생성 시 케이블 레벨에서 생성하기
- 테이블 생성 후 alter table 명령어로 추가하기
(4) 이미 index가 생성되어 있을 때 PK 생성하
https://velog.io/@golmori/index-constraint
인덱스
인덱스가 효율적인 경우
-- WHERE 절이나 조인 조건절에서 자주 사용되는 칼럼의 경우
-- 전체 데이터 중에서 10~15% 이내의 데이터를 검색하는 경우
-- 두 개 이상의 칼럼이 WHERE 절이나 조인 조건에서 자주 사용되는 경우
-- 테이블에 저장된 데이터의 변경이 드문 경우
색인은 부가적인 자료 구조임
데이터 삽입 시 비효율적임
인덱스의 종류
1. 고유 인덱스 vs 비고유 인덱스
고유 인덱스
create unique index 인덱스명 on 테이블명 (속성) ;
-- 유일 값을 가지는 속성에 대하여 생성하는 색인
-- 각 키 값은 테이블의 하나의 튜플과 연관됨
비고유 인덱스
create index 인덱스명 on 테이블명 (속성) ;
-- 중복된 값을 가지는 속성에 생성하는 인덱스
-- 키 값은 여러 개의 튜플들과 연관됨
기본키
-- 테이블이 기본키에 대해서는 자동으로 고유색인이 생성됨
-> Primary Index
-- 기본키는 중복을 허용하지 않음
-- 새로운 튜플을 삽입 할 때마다 키값이 고유값인지 검사해야 함 -> 고유 색인을 이용함
-- 테이블에 속한 튜플들이 많다면 매우 느림
2. FK 외래키
- FK가 정의된 테이블이 자식 테이블이다.
- 참조되는 모든 테이블을 부모테이블이라고 한다.
- 부모 테이블은 미리 생성되어 있어야 한다.
- 부모 테이블의 참조되는 컬럼에 존재하는 값만을 입력할 수 있다.
- 참조되는 컬럼(부모 TBL)은 PK이거나 UK만 가능하다.
- 외부키, 참조키, 외부식별자 등으로 불린다.
- 부모 테이블 삭제
(1) restrict
(2) set null
(3) cascade
3. 조인
- INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
- OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
- CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
- SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.
JOIN | ||||
(1) inner join
(2) outer join
- LEFT OUTER JOIN: 왼쪽 테이블의 모든 값이 출력되는 조인
- RIGHT OUTER JOIN: 오른쪽 테이블의 모든 값이 출력되는 조인
- FULL OUTER JOIN: 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인
(3) cross join
한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능입니다. 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 됩니다.
카티션 곱(CARTESIAN PRODUCT)라고도 합니다.
(4) self join
자체 조인은 자기 자신과 조인하므로 1개의 테이블을 사용합니다. 별도의 문법이 있는 것은 아니고 1개로 조인하면 자체 조인이 됩니다.
https://m.blog.naver.com/regenesis90/222190715006
4. subquery : 다른 테이블 값을 기준으로 한 테이블에서 데이터를 검색할 수 있도록 다른 쿼리 내부에 중첩된 커리
즉, 다른 쿼리 내부에 포함되어 있는 SELECT 문을 의미
- 특징: SELECT FROM WHERE HAVING 및 JOIN 절에서 사용
'스터디' 카테고리의 다른 글
241022 취업특강 (0) | 2024.10.22 |
---|---|
24.08.14.수 Spring Framework (0) | 2024.08.14 |