물리적 데이터 모델링

 

find slow query

 

SQL 질의 요청을 했는데 응답이 오래걸릴 경우 이 부분에 대해 log를 남기는 것

 

denormalization 역정규화

 

index 행의 대한 읽기 성능을 비약적으로 상승 대신 쓰기 성능을 비약적으로 희생시킴

 

application 캐시는 저장, 입력했을때 저장해둔걸 사용해서(캐시) 데이터베이스 부하를 막음

 

역정규화(denormalization)

 

정규화는 쓰기의 편리함을 위해서 읽기의 성능을 희생하는 것

 

정규화를 한 다음 역정규화를 하는 것이지 처음부터 역정규화를 하진 않음

 

역정규화 대상

 

1. 하나의 표 안에서 컬럼을 바꾸는 것

 

2. 하나의 표를 여러개의 표로 쪼개는 것

 

3. 테이블과 테이블 사이의 관계성을 조작해서 일종의 지름길을 만드는 것, 관계의 역정규화

 

조인을 안하면 시간이 훨씬 단축된다

 

역정규화는 성능을 위해서이다

'DATABASE > Database' 카테고리의 다른 글

공부(7)  (0) 2021.08.31
공부(6)  (0) 2021.08.31
공부(5)  (0) 2021.08.30
공부(4)  (0) 2021.08.30
공부(3)  (0) 2021.08.30

논리적 데이터 모델링 - 정규화

 

제 1 정규화 도메인 원자값(Atomic)

2개 이상의 값을 가지면 안된다

반복되는 부분을 확인하고 반복되는 부분 아닌 부분을 분리 후 반복되는 부분을 삭제해준다

 

제 2 정규화 부분적 함수 종속 제거

 

제 3 정규화 이행적 함수 종속 제거

 

'DATABASE > Database' 카테고리의 다른 글

공부(8)  (0) 2021.08.31
공부(6)  (0) 2021.08.31
공부(5)  (0) 2021.08.30
공부(4)  (0) 2021.08.30
공부(3)  (0) 2021.08.30

논리적 데이터 모델링

 

Entity -> Table

Attribute -> Column

Relation -> PK, FK

 

author

id int (NN) // NN -> Not Null

name varchar(15) (NN)

profile varchar(100) (NN)

created datetime (NN)

 

comment

id int (NN)

description text (NN)

created datetime(NN)

 

title

id int (NN)

title varchar(30) (NN)

description text (NN)

created datetime (NN)

 

dormant

author_id int (NN)

created datetime (NN)

 

혼자서도 잘 지내는 테이블은 부모 테이블

 

의존하는 테이블은 자식 테이블

 

 

'DATABASE > Database' 카테고리의 다른 글

공부(8)  (0) 2021.08.31
공부(7)  (0) 2021.08.31
공부(5)  (0) 2021.08.30
공부(4)  (0) 2021.08.30
공부(3)  (0) 2021.08.30

속성 정의

 

ER다이어그램에서 속성은 원을 사용

 

글 - 제목, 작성일, 본문

 

저자 - 이름, 자기소개, 가입일

 

댓글 - 본문, 작성일

 

식별자 지정

 

식별자가 될 수 있는 후보들은 후보키(candidate key) 이 중 선택한 식별자는 기본키(primary key)

 

기본키가 아닌 다른 키들은 대체키(alternate key)

 

두가지를 합쳐서 식별할 수 있는 키는 중복키(composite key)

 

기본키(primary key)는 밑줄을 쳐준다

 

엔티티간의 연결

 

외래키 = 포링키

 

ER다이어그램에서 relationship은 마름모 사용

 

작성, 소속

 

Cardinality

 

각 선생님은 한 반만 담임한다 / 각 반의 담임은 한명이다 이것은 1대1관계

 

각 저자는 여러 글을 작성한다 / 각 댓글은 하나의 저자만 존재한다 1대 다 관계 혹은 1 대 N

 

각 저자는 여러 글을 작성한다 / 각 글은 여러 저자가 존재한다 N 대 M 관계 혹은 다대다 관계

 

Optionality

 

저자는 댓글을 작성하지 않을수도 있다 저자에게 댓글은 옵션이 될 수 있다 Optional(달아도 되고 안달아도 되기 때문)

 

각 댓글은 반드시 저자가 있다 댓글에게 저자는 필수다 Mandatory

 

저자와 댓글은 1 대 N 관계이기도 하다

 

'DATABASE > Database' 카테고리의 다른 글

공부(7)  (0) 2021.08.31
공부(6)  (0) 2021.08.31
공부(4)  (0) 2021.08.30
공부(3)  (0) 2021.08.30
공부(2)  (0) 2021.08.29

+ Recent posts