SlideShare a Scribd company logo
Database: Relational Data Model
2019-02-18 유동호
Database System
Database
• 현실의 관점으로 모델링한 상호 연관된 데이터의 집합

• 애플리케이션 구성의 핵심적인 부분 중 하나

Database Management System (DBMS)
• DB 정보를 저장하고 가공 및 분석을 가능하게 하는 SW

• 일반적으로 상용 DBMS 는 정의, 생성, 탐색, 수정, DB 관리

• Purpose of DBMSs

• DB를 사용하는 앱은 유지보수가 어려움

• 논리적계층과 물리적 계층간 긴밀한 결합이 필요함

• DB 배포전 앱이 어떤 쿼리를 실행하는지 이해가 필요

• Data Model

• DB상에서 데이터를 기술하기 위한 컨셉의 집합

• Schema

• 각각의 데이터 집합에 대한 기술, Data Model 을 활용
File Processing System
• Comma-Separated Value (CSV) 파일 기반

• 각 개체(Entity) 당 파일을 분리시킴

• 프로그램은 각각의 레코드를 읽을 때마다 파싱

문제점
• 데이터 무결성(Data Integrity)

• 같은 이름을 가진 Artist 가 있다면 어떻게 구별하는가?

• 각 앨범마다 존재하는 Artist 가 같다고 확신할 수 있는가?

• 누군가 Invalid 한 값을 삽입하면?

• 구현(Implementation)

• 어떻게 각각의 레코드를 찾아야 하는가?

• 같은 데이터베이스를 사용하는 새로운 앱을 만들려면?

• 두 쓰레드가 동시에 같은 레코드에 Write 를 시도하면?

• 지속성(Durability)

• 만약 프로그램이 레코드를 쓰는 도중 기계가 고장나면?

• 고가용성을 위해 여러 장치에 DB를 복제하려면?
Relational Model
다음과 같은 요소들을 추구하는 데이터베이스 추상화 개념
• 간단한 데이터 구조의 데이터베이스를 저장

• 고급 언어들을 통한 일관된 데이터베이스 접근

• 물리적 저장공간으로부터 논리적 계층이 관여하지 않음

Relational Model 의 특성
• Structure: 각각의 내용들에 대한 관계가 정의됨

• Integrity: DB의 내용이 제약(constraints)을 충족시킴을 확신

• Manipulation: 각각의 내용들에 대한 Relation 에 따라 DB의 Tuple 접근 및 수정 가능

필요 개념
• Relation
• Entities 를 표현하는 속성의 연관성을 포함하는 순서 없는 집합

• Tuple
• Relation 이 가지는 속성값들의 집합

• Primary Key
• Relation 에서 PK 는 단일 Tuple 을 고유하게 식별

• Foreign Key
• 한 Relation 의 속성값으로 다른 Relation 의 Tuple 을 Mapping
Relational Algebra
Relation 에서 Tuple 을 탐색하고 조작하기 위한 기본적인 Operation
관계 대수학(Set Algebra) 에 기초함

각각의 Operator 는 하나 이상의 Relation 을 받아 새로운 Relation 을 내보냄
더욱 복잡한 Operation 을 만들기 위해 Operator 들을 체이닝
Relational Algebra: Observation
VS
더 나은 접근법은 더욱 고수준(High-level)의 쿼리를 기술하는 것

More Related Content

PPTX
[스프링 스터디 3일차] 데이터엑세스기술
PPTX
Spring portfolio2
PPTX
[스프링 스터디 2일차] IoC 컨테이너와 DI
PPT
3장
PPTX
[스프링 스터디 1일차] 오브젝트와 의존관계
PDF
2016년 인문정보학 Sql세미나 2/3
PPT
데이터베이스의 이해
PDF
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 1
[스프링 스터디 3일차] 데이터엑세스기술
Spring portfolio2
[스프링 스터디 2일차] IoC 컨테이너와 DI
3장
[스프링 스터디 1일차] 오브젝트와 의존관계
2016년 인문정보학 Sql세미나 2/3
데이터베이스의 이해
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 1

Similar to 2019 lightning talk_1 (20)

PDF
2016년 인문정보학 Sql세미나 1/3
PPTX
20151024 database
PDF
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
PPTX
DDD Start Ch#3
PDF
NoSQL distilled 왜 NoSQL인가
PDF
No sql survey report
PDF
Introduction to mongo db
PDF
Database Management Essentials: Module 2 Introduction
PDF
MariaDB 마이그레이션 - 네오클로바
PPTX
CouchDB - Introduction - Korean
PDF
De text a deep text ranking framework with bert
PDF
Jpa 쿼리 포함 자료
PDF
Jpa 쿼리 포함 자료
PDF
오픈소스 성능 최적화 보고서 ch07. Infinispan
PDF
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
PPTX
3. 마이크로 서비스 아키텍쳐
PPTX
몽고디비교육1일차
PPT
Uml 세미나
PPTX
Cloud migration pattern using microservices
PDF
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
2016년 인문정보학 Sql세미나 1/3
20151024 database
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
DDD Start Ch#3
NoSQL distilled 왜 NoSQL인가
No sql survey report
Introduction to mongo db
Database Management Essentials: Module 2 Introduction
MariaDB 마이그레이션 - 네오클로바
CouchDB - Introduction - Korean
De text a deep text ranking framework with bert
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
오픈소스 성능 최적화 보고서 ch07. Infinispan
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
3. 마이크로 서비스 아키텍쳐
몽고디비교육1일차
Uml 세미나
Cloud migration pattern using microservices
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
Ad

More from Dongho Yu (19)

PDF
2019 lightning talk_12
PDF
2019 lightning talk_11
PDF
2019 lightning talk_10
PDF
2019 lightning talk_9
PDF
2019 lightning talk_8
PDF
2019 ligntning talk_7
PDF
2019 lightning talk_6
PDF
2019 lightning talk_5
PDF
2019 lightning talk_4
PDF
2019 lightning talk_3
PDF
2019 lightning talk_2
PDF
Cache
PDF
Main memory
PPTX
Control unit
PPTX
Instruction cycle
PPTX
Cpu basic
PPTX
Computer system
PPTX
Breadth first search
PPTX
Intro to algorithms
2019 lightning talk_12
2019 lightning talk_11
2019 lightning talk_10
2019 lightning talk_9
2019 lightning talk_8
2019 ligntning talk_7
2019 lightning talk_6
2019 lightning talk_5
2019 lightning talk_4
2019 lightning talk_3
2019 lightning talk_2
Cache
Main memory
Control unit
Instruction cycle
Cpu basic
Computer system
Breadth first search
Intro to algorithms
Ad

2019 lightning talk_1

  • 1. Database: Relational Data Model 2019-02-18 유동호
  • 2. Database System Database • 현실의 관점으로 모델링한 상호 연관된 데이터의 집합 • 애플리케이션 구성의 핵심적인 부분 중 하나 Database Management System (DBMS) • DB 정보를 저장하고 가공 및 분석을 가능하게 하는 SW • 일반적으로 상용 DBMS 는 정의, 생성, 탐색, 수정, DB 관리 • Purpose of DBMSs • DB를 사용하는 앱은 유지보수가 어려움 • 논리적계층과 물리적 계층간 긴밀한 결합이 필요함 • DB 배포전 앱이 어떤 쿼리를 실행하는지 이해가 필요 • Data Model • DB상에서 데이터를 기술하기 위한 컨셉의 집합 • Schema • 각각의 데이터 집합에 대한 기술, Data Model 을 활용 File Processing System • Comma-Separated Value (CSV) 파일 기반 • 각 개체(Entity) 당 파일을 분리시킴 • 프로그램은 각각의 레코드를 읽을 때마다 파싱 문제점 • 데이터 무결성(Data Integrity) • 같은 이름을 가진 Artist 가 있다면 어떻게 구별하는가? • 각 앨범마다 존재하는 Artist 가 같다고 확신할 수 있는가? • 누군가 Invalid 한 값을 삽입하면? • 구현(Implementation) • 어떻게 각각의 레코드를 찾아야 하는가? • 같은 데이터베이스를 사용하는 새로운 앱을 만들려면? • 두 쓰레드가 동시에 같은 레코드에 Write 를 시도하면? • 지속성(Durability) • 만약 프로그램이 레코드를 쓰는 도중 기계가 고장나면? • 고가용성을 위해 여러 장치에 DB를 복제하려면?
  • 3. Relational Model 다음과 같은 요소들을 추구하는 데이터베이스 추상화 개념 • 간단한 데이터 구조의 데이터베이스를 저장 • 고급 언어들을 통한 일관된 데이터베이스 접근 • 물리적 저장공간으로부터 논리적 계층이 관여하지 않음 Relational Model 의 특성 • Structure: 각각의 내용들에 대한 관계가 정의됨 • Integrity: DB의 내용이 제약(constraints)을 충족시킴을 확신 • Manipulation: 각각의 내용들에 대한 Relation 에 따라 DB의 Tuple 접근 및 수정 가능 필요 개념 • Relation • Entities 를 표현하는 속성의 연관성을 포함하는 순서 없는 집합 • Tuple • Relation 이 가지는 속성값들의 집합 • Primary Key • Relation 에서 PK 는 단일 Tuple 을 고유하게 식별 • Foreign Key • 한 Relation 의 속성값으로 다른 Relation 의 Tuple 을 Mapping
  • 4. Relational Algebra Relation 에서 Tuple 을 탐색하고 조작하기 위한 기본적인 Operation 관계 대수학(Set Algebra) 에 기초함 각각의 Operator 는 하나 이상의 Relation 을 받아 새로운 Relation 을 내보냄 더욱 복잡한 Operation 을 만들기 위해 Operator 들을 체이닝
  • 5. Relational Algebra: Observation VS 더 나은 접근법은 더욱 고수준(High-level)의 쿼리를 기술하는 것