데이터베이스에서 Index라는 개체는 테이블의 검색 능력을 향상시키는 데에 중요한 역할을 합니다.
index를 사용하면 검색 능력이 향상된다.
unique index
유니크 인덱스는 특정 열이나 열 조합이 중복되지 않도록 보장하는 인덱스이다.
- 원자성 : 트랜잭션이 모두 데이터베이스에 반영되던가 전혀 반영되지 않아야 한다.
- 일관성 : 작업 결과과 항상 일관성이 있어야한다.
- 독립성 : 어떤 하나의 트랜잭션이라도 다른 트랜잭선의 연산에 끼어들 수 없다는 점
- 영구성 : 결과는 영구적으로 반영되어야 한다.
select,insert,update,delete 가 있으며
각각
create,alter,drop,rename,truncate가 있으며
각각
grant, revoke가 있으며
각각
commit, rollback, savepoint가 있으며
각각
정규화란 데이터 베이스를 설계할 때 중복을 최소화하는 것을 말하며, 크고 제대로 조직화되어 있지 않은 테이블과 관계들을 조직화된 테이블과 관계들로 나누는 것이다.
정규화가 필요한 경우
데이터를 갱신,삽입,삭제하는 등 테이블을 수정할 때 원하지 않는 데이터가 삭제되거나 가공되는 경우가 있다. 이를 이상 현상이라고 한다.
갱신 이상
정확하지 않은 정보가 업데이트되거나, 일부의 정보만 업데이트 되어 정보에 혼란이 생기고 모호해질 수 있다.
삽입 이상
삽입 이상은 데이터가 일부만 작성될 경우 NULL 값이 발생하여 데이터가 추가되는 경우를 말한다.
삭제 이상
삭제를 하면서 그에 대한 모든 정보가 삭제되어 남아있지 않게 되는 경우이다.
1) 1NF (제 1 정규화)
테이블 안의 모든 값들은 단일 값이어야 한다. > 칸 하나에 값 하나
2) 2NF (제 2 정규화)
1NF를 만족하면서, 완전 함수 종속성을 가진 관계들로만 테이블을 만드는 것을 말한다. >
현재 테이블과 주제가 맞이 않는 컬럼을 다른 테이블로 이동
여기서 함수 종속성이란 x값에 따라서 y값이 결정되는 경우를 말한다.
3) 3NF (제 3 정규화)
2NF를 만족하면서, 기본키(primary key)에 대해 이행적 함수 종속이 되지 않는 것을 의미한다.
=================================================
(문제 연습) https://velog.io/@kangdh/%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-0908