Programing_Java
[SQLD] Relation Database 본문
✴︎ 관계형 데이터베이스
: 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 |