관리 메뉴

프로그래밍 삽질 중

데이터베이스 기본 개념 (2) 관계형 데이터베이스(스키마, 인스턴스 등) 본문

과거 프로그래밍 자료들/SQL(Oracle)

데이터베이스 기본 개념 (2) 관계형 데이터베이스(스키마, 인스턴스 등)

평부 2021. 3. 16. 16:41

※ 관계형 데이터베이스 

- 데이터를 2차원 테이블 형태로 저장하고 관리

- 키와 관례라는 연결하여 데이터를 조회하고 가공하는 방식

 

 

※ 테이블(릴레이션)

- 하나의 계체에 관한 데이터를 2차원 테이블 구조로 저장 (EX) 엑셀 행렬구조

- 행과 열로 구성

- 속성 : 단일 값을 가짐(한 릴레이션에서 서로 다른 이름을 가짐), 순서는 상관X, 한 속성 값은 모두 같은 도메인 값 가짐

- 중복된 튜플 허용 X, 튜플 순서는 상관 없음

 

 

※ 릴레이션 스키마

- 속성 : 릴레이션 스키마의 열

- 도메인 : 속성이 가질 수 있는 모든 값의 집합

- 차수 : 속성의 전체 개수

 

 

※ 스키마의 표현 

- 릴레이션 이름(속성 1 : 도메인 1, 속성2 : 도메인 2, 속성3: 도메인 3....)

ex) 자동차(지역번호 : integer, 이름 : char(20), 색상 : char(40), 번호 : char(90)...)

 

 

※ 릴레이션 인스턴스 

- 튜플 : 릴레이션의 행

- 카디날리티 : 튜플의 수

 

 

※ 관계

- 릴레이션 내에서 생성되는 관계 : 릴레이션 내 데이터들의 관계

- 릴레이션 간에 생성되는 관계 : 릴레이션 간의 관계

 

 

[예시]

ID PHONE YEAR PRICE USER
001 SAMSUNG 20 30000 HAN
002 APPLE 15 40000 KIM
003 XIAOMI 10 10000 PARK

- 행과 열로 되어있는 네모박스 : (가칭)Phone 테이블

- ID ~ USER : 속성(열)

- ID 항목, YEAR 항목, PRICE 항목 : 릴레이션 스키마(각각)

- 001 ~ 003 부터 HAN ~ PARK : 인스턴스

- 001 ~ HAN : TUPLE(행)

- 차수(degree) : 5 (ID~USER) / 카디널리티(cardinality) : 3 (001 ~ 003) 

 

 

※ 키(KEY)

- 수 많은 데이터를 구별 할 수 있는 유일한 값

- 하나의 테이블을 구성하는 여러 열 중 특별한 의미를 지닌 하나 또는 여러 열의 조합

- 유일성, 최소성 특징을 가짐

 

 

※ 키의 종류

1) 기본키 : 테이블에 저장된 행을 식별할 유일한 값(중복X, NULL값 X)

2) 후보키 : 유일성과 최소성을 만족하는 소석 또는 속성 집합

3) 대체키 : 기본키가 되지 못한 후보키 

4) 외래키 : 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키 

- 같은 릴레이션의 기본키를 참조하는 외래키도 정의 가능

- 외래키 속성은 null값을 가질 수 있음

 

 

※ 무결성 제약조건

- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙

 

1) 개체 무결정 제약 조건 : 기본키를 구성하는 모든 속성은 null값을 가질 수 없는 규칙

- 기본키가 같으면 삽입 금지

- 기본키 값이 같거나 null로도 수정 금지

- 특별한 확인이 필요하지 않으며 즉시 수행함

 

2) 참조 무결성 제약 조건 : 외래키는 참조할 수 없는 값을 가질 수 없는 규칙

  부모 릴레이션 자식 릴레이션
삽입 튜플 삽입 후 수행하면 정상적으로 진행 참조 받은 테이블에 외래키 값이 없으므로 삽입 금지
삭제 참조하는 테이블을 같이 삭제할 수 있으므로 삭제 금지 OR 추가 작업 필요 바로 삭제 가능

- 명령어 존재

1) RESTRICTED : 자식 릴레이션에서 참조하는 경우 부모 릴레이션에서 삭제 작업 거부

2) CASCADE : 자식 릴레이션의 관랸 튜플을 같이 삭제 처리

3) DEFAULT : 자식 릴레이션의 관련 튜플릉 ㄹ미리 설정한 값으로 변경

4) NULL : 자식 릴레이션의 관련 튜플을 NULL값으로 설정(NULL값을 허가한 경우)