데이터 독립성을 통한 프로그래머의 생산성 향상 가능
외부 단계 : 사용자가 요구하는 데이터베이스의 관점
사용자가 관심을 갖는 데이터만 추출한 데이터베이스의 부분집합
개념 단계 : 모든 사용자 관점을 통합한 전체 데이터베이스의 관점
내부 단계 : 하드웨어에 저장되는 데이터베이스의 물리적인 구조를 기술한 것
관계의 특성
1) 각 열은 동일한 속성에 관한 값을 갖는다.
2) 테이블의 각 셀 값은 반드시 단일값이어야 한다.
3) 각 열은 고유한 이름을 갖는다.
4) 각 열의 순서는 중요하지 않다.
5) 식별자 속성 열은 동일한 값을 가질 수 없으며, 이 열의 값에 의해 각 행은 구별될 수 있다.
6) 각 행의 순서는 중요하지 않다.
대안적 용어
관계(relation) - 튜플(tuple) - 속성(attribute)
테이블(table) - 행(row) - 열(column)
파일(file) - 레코드(record) - 항목(field)
주키
튜플의 중복을 방지하기 위하여 주키를 사용한다.
두가지 특성을 갖춰야한다.
1) 유일성 : 각 튜플을 유일하게 구별지을 수 있는 성질
2) 최소성 : 유일성을 파괴하지 않고는 주키에 속한 속성의 일부를 제거할 수 없는 성질
두개 이상의 항목이 결합해 주키의 역할을 할 때 합성키라고 한다.
외부키
1) 데이터 갱신에서 발생하는 3가지 이상
2) 1차 정규형
테이블의 각 셀은 단일값을 갖는다.
3) 2차 정규형
1차 정규형을 만족하고 완전 함수적 종속(full functional dependency)을 만족한다.
주키가 아닌 속성이 주키에 완전히 함수적으로 종속되어 있다는 것은 주키의 일부만으로는 주키가 아닌 키의 속성의 값을 결정지을 수 없다는 것을 의미한다.
4) 3차 정규형
2차 정규형을 만족하고 이전 종속이 존재하지 않는 관계이다.
5) 보이스-코드 정규형 (BCNF)
어느 관계의 모든 결정자가 후보키의 역할을 수행할 수 있다면, 그 관계는 보이스-코드 정규형의 관계이다.
6) 4차 정규형
7) 5차 정규형
1) CREATE
2) SELECT
3) 집단함수
4) GROUP BY - 레코드를 집단으로 분류하는 조건식
5) HAVING - GROUP BY 절로 분류한 집단에 적용되고 WHERE 절과 비슷한 역할
6) ALL/ANY/SOME - 생성되는 모든 값이 조건을 만족 / 생성되는 값 중 하나라도 만족 / ANY대신 SOME으로 사용 가능
7) EXISTS - 검색 결과가 미확인(null)값인지 확인
8) 집합 연산자
9) 참조 무결성 제약 명령어
10) ALTER
11) DROP TABLE - 테이블을 삭제
12) INSERT INTO (TABLE)- 테이블에 레코드를 추가
13) DELETE FROM (TABLE) - 필요 없는 레코드를 삭제
14) UPDATE (TABLE) SET (항목명)- 저장되어 있는 데이터 값을 변경
15) CREATE VIEW (TABLE) AS (SELECT 내포문)- 가상 테이블 생성
데이터베이스 관리 (4TH EDITION) - 서길수 저
참고해서 작성했습니다.