SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
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)의 쿼리를 기술하는 것

Mais conteúdo relacionado

Semelhante a 2019 lightning talk_1

2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3in2acous
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가Choonghyun Yang
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey reportGichan Lee
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo dbMinho Kim
 
Database Management Essentials: Module 2 Introduction
Database Management Essentials: Module 2 IntroductionDatabase Management Essentials: Module 2 Introduction
Database Management Essentials: Module 2 IntroductionDonggun Kim
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
De text a deep text ranking framework with bert
De text  a deep text ranking framework with bertDe text  a deep text ranking framework with bert
De text a deep text ranking framework with berttaeseon ryu
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Hyosang Hong
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Hyosang Hong
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. InfinispanHyeonSeok Choi
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)InBum Kim
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차seung-hyun Park
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03Devgear
 

Semelhante a 2019 lightning talk_1 (20)

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

Mais de Dongho Yu

2019 lightning talk_12
2019 lightning talk_122019 lightning talk_12
2019 lightning talk_12Dongho Yu
 
2019 lightning talk_11
2019 lightning talk_112019 lightning talk_11
2019 lightning talk_11Dongho Yu
 
2019 lightning talk_10
2019 lightning talk_102019 lightning talk_10
2019 lightning talk_10Dongho Yu
 
2019 lightning talk_9
2019 lightning talk_92019 lightning talk_9
2019 lightning talk_9Dongho Yu
 
2019 lightning talk_8
2019 lightning talk_82019 lightning talk_8
2019 lightning talk_8Dongho Yu
 
2019 ligntning talk_7
2019 ligntning talk_72019 ligntning talk_7
2019 ligntning talk_7Dongho Yu
 
2019 lightning talk_6
2019 lightning talk_62019 lightning talk_6
2019 lightning talk_6Dongho Yu
 
2019 lightning talk_5
2019 lightning talk_52019 lightning talk_5
2019 lightning talk_5Dongho Yu
 
2019 lightning talk_4
2019 lightning talk_42019 lightning talk_4
2019 lightning talk_4Dongho Yu
 
2019 lightning talk_3
2019 lightning talk_32019 lightning talk_3
2019 lightning talk_3Dongho Yu
 
2019 lightning talk_2
2019 lightning talk_22019 lightning talk_2
2019 lightning talk_2Dongho Yu
 
Control unit
Control unitControl unit
Control unitDongho Yu
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycleDongho Yu
 
Computer system
Computer systemComputer system
Computer systemDongho Yu
 
Breadth first search
Breadth first searchBreadth first search
Breadth first searchDongho Yu
 
Intro to algorithms
Intro to algorithmsIntro to algorithms
Intro to algorithmsDongho Yu
 

Mais de Dongho Yu (19)

2019 lightning talk_12
2019 lightning talk_122019 lightning talk_12
2019 lightning talk_12
 
2019 lightning talk_11
2019 lightning talk_112019 lightning talk_11
2019 lightning talk_11
 
2019 lightning talk_10
2019 lightning talk_102019 lightning talk_10
2019 lightning talk_10
 
2019 lightning talk_9
2019 lightning talk_92019 lightning talk_9
2019 lightning talk_9
 
2019 lightning talk_8
2019 lightning talk_82019 lightning talk_8
2019 lightning talk_8
 
2019 ligntning talk_7
2019 ligntning talk_72019 ligntning talk_7
2019 ligntning talk_7
 
2019 lightning talk_6
2019 lightning talk_62019 lightning talk_6
2019 lightning talk_6
 
2019 lightning talk_5
2019 lightning talk_52019 lightning talk_5
2019 lightning talk_5
 
2019 lightning talk_4
2019 lightning talk_42019 lightning talk_4
2019 lightning talk_4
 
2019 lightning talk_3
2019 lightning talk_32019 lightning talk_3
2019 lightning talk_3
 
2019 lightning talk_2
2019 lightning talk_22019 lightning talk_2
2019 lightning talk_2
 
Cache
CacheCache
Cache
 
Main memory
Main memoryMain memory
Main memory
 
Control unit
Control unitControl unit
Control unit
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
Cpu basic
Cpu basicCpu basic
Cpu basic
 
Computer system
Computer systemComputer system
Computer system
 
Breadth first search
Breadth first searchBreadth first search
Breadth first search
 
Intro to algorithms
Intro to algorithmsIntro to algorithms
Intro to algorithms
 

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)의 쿼리를 기술하는 것