IT/DB

DB 정리 2

_KH_ 2025. 2. 17. 00:25

1. 관계형 데이터베이스

 

① 튜플(tuple) : 릴레이션을 구성하는 각 행(레코드), 속성의 모임

- 튜플의 수 : 카디널리티 또는 기수라고도 함

② 속성(Attribute) : DB를 구성하는 가장 작은 논리적 단위(필드), 개체의 특성

- 속성의 수 : 디그리(Degree) 또는 차수라고도 함

③ 도메인(Domain) : 하나의 속성이 취할 수 있는 모든 원자 값들의 집합 ( 목록화 할 수 있는 값 )


 

2. 관계형 DB 제약 조건

-1) 키(Key) : DB에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성을 말함. (중복되지 않는 값이어야 함)

① 후보키 : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합,  유일성과 최소성을 만족해야 한다.

 기본키(Primary Key) : 후보키 중에서 선택한 주키(Main key), null값을 가질 수 없다.  동일한 값을 중복 저장 할 수 없다. 후보키 중에 더 적합한 것을 찾아서 PK로 지정.

대체키(Alternate Key) : 기본키를 제외한 나머지 후보키

슈퍼키(Super Key) : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 (자주 사용 X)

⑤ 외래키(Foreign Key) : 관계를 맺고 있는 릴레이션에서 학생 릴레이션이 참조하고 있는 수강 릴레이션의 기본키와 같은 학생 릴레이션의 속성을 외래키라고 함.

 

-2) 개체 무결성 : 릴레이션에서 기본키를 구성하는 속성은  NULL 값이나 중복값을 가질 수 없다.

 

-3) 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 참조 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.

 

* 공백과 NULL은 다름. NOT NULL로 설정했을 때 공백은 들어가므로 주의하자.


3. SQL(Structured Query Language)

① 정의어(DDL) 

□ 물리적인 구조를 정의하고 관리

□ CREATE(생성), DROP(삭제), ALTER(변경)

 

② 제어어(DCL) 

□ 사용권한 및 무결성, 병행제어 기능, 트랜잭션

GRANT(권한부여), REVOKE(권한제거), COMMIT(반영), ROLLBACK(취소)

 

③ 조작어(DML)

□ 데이터를 처리

□ SELECT(선택), DELETE(삭제), INSERT(삽입), UPDATE(갱신)


4. DDL - VIEW : 사용자에게 접근이 허용된 자료만 보여주기 위해 하나 이상의 테이블에서 유도된 가상 테이블

: 저장장치에 물리적으로 존재하지 않고 논리적으로만 존재한다. 보여주고 싶은 정보만 보여주는 가상테이블!

□ 장점

  1. 논리적 데이터 독립성 제공
  2. 동일 데이터에 대해 동시에 여러 사용자의 상이한 요구 지원

□ 단점

  1. 독립적인 인덱스를 가질 수 없다.
  2. 뷰의 정의를 변경할 수 없다.
  3. 삽입, 삭제, 갱신 연산에 제약이 따른다. (수정 불가. 삭제만 가능)

5. ALTER - ADD(추가), MODIFY(수정), CHANGE(수정)

① ADD(추가) : 제약조건도 함께 작성

② MODIFY(수정) : 수정하고자 하는 형식으로 바꿔준다.(덮어쓰기) 기존에 있는 컬럼의 값의 제약조건만 수정하는 것. 제약조건을 같이 작성하며 테이블 변경 이름은 불가능하다.

③ CHANGE(수정) : 테이블 이름 변경 가능. 


6. SELECT - DISTINCT 

: 중복된 정보가 있다면 하나만 출력하는 기능


7. SQL문 구조(순서)


8. 정규화와 반정규화

-1) 정규화 : 중복성을 제거하기 위해 테이블을 쪼개는 과정

-2) 반정규화(역정규화) : 필요에 의해 다시 합치는 과정