일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- python
- 자원부족
- VARCHAR (1)
- 달인막창
- vfr video
- 코루틴 빌더
- k8s #kubernetes #쿠버네티스
- kotlin
- 코루틴 컨텍스트
- JanusWebRTCServer
- mp4fpsmod
- JanusWebRTC
- pytest
- PytestPluginManager
- 오블완
- table not found
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 개성국밥
- taint
- Spring Batch
- Value too long for column
- tolerated
- JanusGateway
- 깡돼후
- PersistenceContext
- JanusWebRTCGateway
- 티스토리챌린지
- preemption #
- terminal
- 겨울 부산
너와 나의 스토리
week1 DB - Introduction 본문
● Database
: 데이터에 접근하는 프로그램들의 집합
: 데이터들의 집합
● 데이터를 저장하기 위해 파일 시스템을 사용하는 것의 단점
- Data inconsistency
- Difficulty in accessing data
- Data isolation
- Atomicity
ㄴ 입력이 "All" 또는 "None" 둘 중 하나만 가능 (부분 입력 불가)
-> 불안정하게 입력되는 것을 막기 위해서
- 다수의 사용자가 동시에 접근 -> 관리 해야 함
● Levels of Abstraction
- Physical level : record가 어떻게 저장되는지 설명
- Logical level : DB에 저장된 데이터와 데이터 사이의 관계를 설명
- View level : view는보안 목적으로 정보를 숨길 수 있다.
● Schema
: the logical structure of the database (table header)
- Physical schema : physical level의 database 설계
- Logical schema : logical level의 database 설계
- 개발자는 Logical schema만 보면 됨(?)
● Instance
: the content of the database (table의 value)
● Physical Data Independence
: 에플리케이션은 logical schema에 의존한다
● Data Models
- ER model (Entity-Relationship data model) 은 database를 디자인한다.
● Data Definition Language (DDL)
ex)
create table instructor{
ID char(5); // "ID를 5 미만으로 하라" <- 이런거 정의
name varchar(20);
.
.
}
● SQL
: non-procedural language
ex)
select name
from instruction
where instructor.ID='2222'
* keyword 익히기
● Database Design
- Logical Design: database의 스키마 결정
- Physical Design: database의 physical layout 결정
● The Entity-Relationship Model
- mapping 시킴
● Query Processing
query -> parser and translator -> relational-algebra expression -> optimizer -> execution plan -> evaluation engine -> query output ↑ __|__ statistics about data data |
- query : (what) 무엇을 가져오라고 명령
- parser and translator : 옳은 요청인지 확인
- relational-algebra expression : (절차적) 하나의 query에 여러개의 expression이 있을 수 있는데 그 중에서 적절한 것을 고름
(cost 등을 비교해서)
- optimizer
- execution plan : low level
- evaluation engine : 실제 실행 -> 데이터에 읽고 쓰고 가능
- query output
● Transaction이 갖춰야 할 속성 -> 기본 상식
- Atomicity : 모든 transaction은 완전히 실행되거나(all), 실행되지 않아야 한다(nothing)
- Consistency : 같은 DB로 transaction을 실행한 결과는 언제나 같아야 한다.
- Isolation : 모든 transaction은 다른 transaction에 의해 영향을 받아서는 안된다.
- Durability : 성공한 transaction의 결과는 안정적으로 보존되어야 한다.
'Data Analysis > Database' 카테고리의 다른 글
DB - hashing (0) | 2019.06.01 |
---|---|
DB - indexing (0) | 2019.06.01 |
DB - mySQL 공부 (0) | 2019.04.11 |
DB실습 - JDBC를 이용한 mySQL (0) | 2019.04.06 |
Week2 DB - Relational Model (0) | 2019.03.13 |