MySQL 테이블의 생성

 

CREATE TABLE topic(

id INT(11) NOT NULL AUTO_INCREMENT,

title VARCHAR(100) NOT NULl,

description TEXT NULL,

created DATETIME NOT NULL,

author VARCHAR(30) NULL,

profile VARCHAR(100) NULL,

PRIMARY KEY(id))

 

이렇게 테이블을 생성해준다

 

INT는 데이터형이고 NOT NULL은 NULL값 이 되면 안된다 즉 값이 없으면 안된다는 뜻

AUTO_INCREMENT는 생성할때마다 자동으로 1, 2, 3 순으로 증가한다

VARCHAR은 가변길이 문자열로 문자 입력이 가능해지고

TEXT는 본문을 쓰기 알맞은 유형이다

PRIMARY KEY(id)는 id를 기본키값으로 하겠다는 뜻이다

 

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

공부(6)  (0) 2021.09.02
공부(5)  (0) 2021.09.02
공부(4)  (0) 2021.09.02
공부(3)  (0) 2021.09.01
공부(1)  (0) 2021.09.01

MySQL의 구조

 

데이터베이스보단 스키마라는 표현을 자주 사용할 것임

 

스키마는 표들을 서로 그룹핑 할 때 사용하는 일종의 폴더

 

스키마들이 많아지면 데이터베이스 서버라고 부른다

 

생성

CREATE DATABASE 이름;

 

삭제

DROP DATABASE 이름;

 

데이터베이스 목록 보기

SHOW DATABASES;

 

사용

USE 이름;

 

Structured

Query

Language

 

table. 표

row, record, 행

column, 열

 

 

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

공부(6)  (0) 2021.09.02
공부(5)  (0) 2021.09.02
공부(4)  (0) 2021.09.02
공부(3)  (0) 2021.09.01
공부(2)  (0) 2021.09.01

물리적 데이터 모델링

 

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

+ Recent posts