PROGRAMMING/DataBase

database_기초_03

seulda 2021. 4. 8. 01:19
728x90

키의 종류

기본키, Primary Key
: 릴레이션을 구성하는 속성들중에서 튜플을 유일하게 식별하기 위해 사용되는 속성
-유일성과 최소성을 만족하며, 중복된 값과 NULL값을 가질 수 없음
후보키, Cardidate Key
: 기본키와 같은 특성을 가지며 후보키 중에 기본키로 발탁됨
대체키, Alternate Key
: 후보키중에서 선정된 기본키를 제외한 나머지 후보키
-( 후보키 - 기본키 ) = 대체키
슈퍼키, Super Key
: 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만 최소성은 만족하지 못하는 키
(최소성 : 키를 구성하는 속성 하나를 제거했을 때 유일한 식별을 할 수 없도록 최소의 속성으로 구성되어야 하는 특성)
외래키, Foreign Key
: 다른 릴레이션의 기본키를 참조하는 속성
-릴레이션 간의 관계를 표현할 때 사용
복합키, Composite Key
: 2개 이상의 필드(속성)을 조합하여 만들어진 키


무결성

: 데이터베이스에 저장된 데이터값과 그것이 표현하는 현실세계의 실제값이 일치하는 정확성. 즉, 잘못된 데이터가 없어야 한다 라는 특성

무결성 제약조건, Constraint

: 데이터의 정확성을 보장하기 위해, 정확하지 않은 데이터가 DB 내에 저장되는 것을 방지하기 위한 제약조건

 

종류

-NULL 무결성
: 속성 값이 NULL이 될 수 없음
-고유(Unique) 무결성
: 각 튜플이 갖는 속성값들이 서로 달라야 함 = 기본키
-도메인(Domain) 무결성
: 속성 값이 그 속성에 정의된 도메인에 속한 값이어야함
-키(Key) 무결성
: 릴레이션에는 적어도 하나의 키가 존재해야함
-관계(Relationship) 무결성
: 튜플 및 릴레이션의 삽입 시 기존 릴레이션의 속성과의 관계 적절성
-참조(Reference) 무결성
: 외래키의 값은 NULL 또는 참조 릴레이션의 기본키값과 동일해야함
-개체(Entity) 무결성
: 기본키를 구성하는 어떤 속성도 NULL일 수 없음


관계대수, Relational Algebra

: 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어
: 릴레이션을 입력으로 받아들여 결과로서 새로운 릴레이션을 생성해내는 연산들의 집합

 

SELECT(σ, 시그마)
: 조건을 만족하는 튜플들의 부분 집합을 구하여 새로운 릴레이션 생성
-수평연산
-=, ≠, <, ≤, >, ≥, AND(∧), OR(∨), NOT(¬) 등
PROJECT(π, 파이)
: 릴레이션에서 속성리스트에 제시된 속성값만을 추출하여 새로운 릴레이션 생성
-수평연산
-중복은 제거됨
JOIN(▷◁)
: 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션 생성
-JOIN조건이 '='일 때 동일한 속성이 2번 나오는 것을 자연조인으로 1번만 나오게 할 수 있음
-=, ≠, <, > 등 비교연산자를 θ로 일반화하여 표현할 수 있는 조인 = 세타조인
DIVISION(÷)
: 릴레이션2의 모든 튜플에 연관되어있는, 릴레이션1의 릴레이션2를 제외한 튜플을 선택하는 것
-(릴레이션1 = 릴레이션2 + 릴레이션3)일 때 릴레이션3이 추출됨

집합연산

합집합(UNION, ∪)
: 튜플의 합집합을 구하며, 중복은 제거
교집합(INTERSECGION, ∩)
: 튜플의 교집합을 구함
차집합(DIFFERENCE, -)
: 튜플의 차집합을 구함
교차곱(ARTESIAN PRODUCT, ×)
: 튜플의 결합된 정보를 구함

 

관계해석, Relational Calculus

: 관계데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산수식 사용
-원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며 질의어로 표현
-튜플해석과 도메인해석이 있음
-관계대수로 표현한 식은 관계해석으로 표현할 수 있지만, 관계해석으로 표현한 식을 관계대수로 표현은 안됨

728x90

'PROGRAMMING > DataBase' 카테고리의 다른 글

DATABASE_02_관계 데이터 모델  (0) 2021.04.08
DATABASE_01_데이터베이스 시스템  (0) 2021.04.08
database_기초_04  (0) 2021.04.08
database_기초_02  (0) 2021.04.08
database_기초_01  (0) 2021.04.07