Programing_Java

[SQLD] Relation Database 본문

SQL_

[SQLD] Relation Database

Joyfullyever 2025. 3. 4. 23:20

✴︎ 관계형 데이터베이스

: Relation과 Relation의 조인 연산을 통해서 합집합, 교집합, 차집합 등을 만들 수 있음

: Relation = Table / 엔티티, 개체 개념과 유사한 것

 

✴︎ 데이터베이스와 데이터베이스 관리시스템의 차이

• 데이터베이스 : 데이터를 어떠한 형태의 자료구조(Data Structure)로 사용하느냐에 따라 나누어짐

• 데이터베이스의 종류 : 계층형 & 네트워크형 & 관계형

• 계층형 데이터베이스

: Tree 형태의 자료구조에 데이터를 저장하고 관리

: 1:N 관계를 표현 → 부모와 자신 관계를 표현하기 쉬운 데이터베이스

• 네트워크형 데이터베이스

: Owner와 Member 형태로 데이터를 저장 == 망형 데이터베이스

: 1:N, M:N 표현 가능

• 관계형 데이터베이스

: 가장 많이 사용

: Relation에 데이터를 저장하고 관리 → Relation을 사용해서 집합 연산과 관계 연산을 할 수 있음

: 집합 연산과 관계 연산

집합 연산
합집합 (Union) 두개의 릴레이션을 하나로 합하는 것
중복된 행은 한번만 조회
차집합 (Difference) 본래 릴레이션에는 존재하고 다른 릴레이션에는 존재하지 않는 것을 조회
교집합 (Intersection) 두 개의 릴레이션 간에 공통된 것을 조회
곱집합 (Cartesian Product) 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산
관계 연산
선택 연산 (Selection) 릴레이션에서 조건에 맞는 행(튜플)만을 조회
투영 연산 (Projection) 릴레이션에서 조건에 맞는 속성만을 조회
결합 연산 (Join) 여러 릴레이션의 공통된 속성을 사용해서 새로운 릴레이션을 만들어 냄
나누기 연산 (Division) 기준 릴레이션에서 나누는 릴레이션이 가지고 있는 속성과 동일한 값을 가지는 행(튜플)을 추출하고 나누는 릴레이션의 속성을 삭제한 후 중복된 행을 제거하는 연산

 

✴︎ 관계형 데이터베이스

: 릴레이션에 데이터를 저장하고 릴레이션을 사용해서 집합 연산 및 관계 연산을 지원하여 다양한 형태로 데이터를 조회할 수 있음

: 릴레이션은 최종적으로 데이터베이스 관리 시스템에서 테이블로 만들어짐

 

• PK : 하나의 테이블에서 유일성과 최소성, Not Null을 만족하면서 해당 테이블을 대표하는 것

• Table : 행과 칼럼으로 구성

• Row : 하나의 테이블에 저장되는 값 == Tuple

• Column : 어떤 데이터를 저장하기 위한 필드, 속성, Attribute

• FK : 다른 테이블의 기본키를 JOIN 하는 칼럼

• FK는 관계 연산 중에서 결합연산(JOIN을 하기 위해서 사용

'SQL_' 카테고리의 다른 글

[SQLD] SQL - Table  (0) 2025.03.05
[SQLD] SQL - Structured Query Language  (0) 2025.03.05
[SQLD] 오답노트#3  (0) 2025.03.03
[SQLD] 오답노트#2  (0) 2025.03.02
[SQLD] 분산 데이터베이스  (0) 2025.02.23