studying...
  • 노트의목적
  • 웹전반
    • HTTP
      • 1. HTTP
      • 2. HTTP_Client
      • 3. HTTP_Server
      • 4. JAVA_HTTP_Server
      • 5. Spring_Web_MVC
    • REST_API
      • 1. REST_API
      • 2. URI&MIME_type
      • 3. COLLECTION_Pattern
      • 4. COLLECTION_Pattern_adjustment
      • 5. Spring_Web_MVC
    • DTO_JSON_CORS
      • 1. DTO
      • 2. 직렬화
      • 3. Jackson
      • 4. CORS
    • Layered_Architecture
      • 1. Layered_Architecure
      • 2. Data_Access
      • 3. Domain_Model
    • DI&Spring_Test
      • 1. Dependency_Injection
      • 2. Unit_Test
      • 3. Spring_Test
      • 4. TDD
    • Database
      • 1. Database
      • 2. Relational_Model
      • 3. JDBC
    • JPA
      • 1. ORM
      • 2. Hibernate
      • 3. Embeddable
      • 4. Relationship Mapping
      • 5. Spring Data JPA
    • 도메인_주도_설계
      • 1. DDD
      • 2. Strategic Design
      • 3. Entity, Value Object
      • 4. Aggregate
      • 5. Repository
    • Hexagonal_Architecture
      • 1. SOLID
      • 2. Hexagonal_Architecture
      • 3. 도메인 주도 설계 핵심
    • Spring_Security
      • 1. 애플리케이션 보안
      • 2. 인증
      • 3. 로그인 & 로그아웃
      • 4. 회원가입
      • 5. JWT&Authority
    • File_Upload
      • 1. Multipart_FormData
      • 2. Separation_of_Concerns
      • 3. Cloudinary
    • CQRS
      • 1. CQRS
      • 2. Redis
  • 면접대비
  • book
    • RealMySQL8.0
      • 4장
      • 5장
      • 8장
      • 9장
    • Object
      • 1장
      • 2장
      • 3장
      • 4장
      • 5장
      • 6장
      • 7장
      • 8장
      • 9장
    • ModernJava
      • ch1
      • ch2
    • 클라우드네이티브를위한 쿠버네티스 실전 프로젝트
      • 1장
      • 2장
      • 3장
      • 4장
    • 테라폼 쿡북
      • 2장
      • 3장
      • 4장
      • 5장
      • 6장
  • lecture
    • 외워서끝내는네트워크기초
    • 외워서끝내는네트워크심화
    • aws
      • Architecting_on_AWS
      • Architecrting-advanced
      • Developing_on_AWS
      • migration_essentials
      • Resilience
      • Running_Containers_on_EKS
    • Ansible
    • k8s
      • section2
      • section3
    • Terraform
  • experiences
    • workshops
      • EKS
Powered by GitBook
On this page
  • 관계 데이터 모델 용어 정리
  • 속성
  • 튜플
  • 관계
  • 관계대수
  • Projection
  • Selection
  • Cartesian Product
  • Entity Relationship Model
  • ERD(Entity-Relationship Model)이란
  • Entity
  • 데이터베이스 정규화
  1. 웹전반
  2. Database

2. Relational_Model

Previous1. DatabaseNext3. JDBC

Last updated 1 year ago

관계 데이터 모델 용어 정리

속성

이름과 타입으로 구성되며 집합 안에서 유일해야 한다. Column이다.

튜플

속성, 값 쌍의 집합으로 하나의 집합에서 속성 이름은 유일하기 때문에 속성 이름은 겹치지 않는다. Row, Record이다.

관계

속성의 집합, 튜플의 집합 쌍으로 속성의 집합을 heading, 튜플의 집합을 body라고 구분한다.

(
	// Heading
	{ 이름/문자열, 나이/정수, 성별/문자 },

	// Body
	{
		{ (이름/문자열, 견우), (나이/정수, 13), (성별/문자, 남) },
		{ (이름/문자열,직녀), (나이/정수, 12), (성별/문자, 여) }
	}
)

다음과 같다.

관계대수

하나 이상의 Relation으로 새로운 Relation을 만드는 것

Projection

원하는 Attribute를 포함하는 Pair로 Tuple을 구성하는 것으로 select 절 뒤의 속성을 나열하므로써 표현 가능하다.

SELECT name, age, gender
FROM people

Selection

주어진 조건을 만족하는 Tuple만 선택, where절로 표현 가능

SELECT name, age, gender
FROM people
WHERE age < 13;

Cartesian Product

곱집합으로 원래는 각 요소의 쌍을 요소로 취하는데 관계대수에서는 Tuple을 합친다 SQL에서는 FROM 뒤의 테이블 이름 나열로 표현 가능하다.

SELECT *
FROM r1, r2;

대부분이 Join을 이용한다.

SELECT people.name, age, gender, items.name AS item_name, usage
FROM people, items
WHERE people.name = items.person_name;

Entity Relationship Model

가장 인기 있는 개념적 데이터 모델로 Entity는 개별적으로 다룰 수 있는 데이터를 의미하며 Entity Type은 같은 Attribute를 가진 Entity의 집합이다.

Entity Relationship Model에서의 Entity와 OOP에서의 Entity는 의미가 다르다. OOP에서는 연속성과 식별성이 있는 객체로, 여기서는 개별적으로 다룰 수 있는 데이터다.

ERD(Entity-Relationship Model)이란

ER 모델을 시각화하는 방법으로 논리적 설계에 들어가기 전에 그려보면 도움이 된다.

Entity

데이터베이스 정규화

관계 데이터 모델 용어 정리
속성
튜플
관계
관계대수
Projection
Selection
Cartesian Product
Entity Relationship Model
ERD(Entity-Relationship Model)이란
Entity
데이터베이스 정규화