SQL 도전기 - 34

김치전사·2022년 7월 28일
0

SQL 도전기

목록 보기
34/36

오늘은 데이터베이스 설계에 대해 공부한다

데이터베이스를 설계한다는 것은 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 것을 의미한다.
스키마 내에 정의한다는 뜻에서 '스키마 설계'라 불리기도 한다.
데이터베이스 설계의 주된 내용은 테이블의 이름이나 열, 자료형을 결정하는 것이다.

물리명은 CREATE TABLE에 지정하는 테이블 이름이나 열 이름이다!
논리명은 설계상의 이름이다!

자료형

테이블의 열에는 자료형을 지정해야 한다
수치 데이터만 저장하는 열에는 설계 시 수치형으로 지정한다
한편 알파벳도 다루어야 한다면 문자열형으로 지정하는 편이 낫다

고정길이와 가변길이

문자열의 자료형에는 고정길이와 가변길이가 있다
제조번호처럼 자리수가 이미 정해져 잇는 경우에는 고정길이 문자열로 지정하는 편이 좋다
데이터의 최대길이 역시 제조번호의 자릿수에 맞춰 정하면 된다
한편, 자주 입력되지도 않지만 입력되는 문자열의 길이의 변동폭이 클 경우에는 가변길이 문자열이 적합하다
데이터의 크기가 큰 경우에는 LOB(Large Object)형을 사용한다
LOB형은 큰 데이터를 다루는 자료형이지만 인덱스를 지정할 수 없다는 제약이 있다

기본키

자동증가 열을 사용해서 기본키로 지정하면 간단하게 가능하다
자동증가 열은 INSERT 할 경우 번호를 자동으로 증가시켜 지정해주는 편리한 열이다
MySQL에서는 열을 정의할 때 AUTO_INCREMENT를 지정하는 것으로 자동증가 열이 된다

ER다이어그램

ER다이어그램은 테이블을 설계할 때 테이블 간의 관계를 명확히 하기 위해 설계도를 작성하는 경우를 뜻한다
ER의 E는 개체를 뜻하는 'Entity'의 약자이며 R은 'Relationship'의 약자이다
엔티티, 즉 개체는 테이블 또는 뷰를 의미한다.
ER다이어그램에서 개체는 사각형으로 표기한다.
사각형의 상단에는 개체 이름을 적고 사각형 안에는 개체의 속성을 표기한다
속성은 테이블의 열을 의미한다
기본키가 되는 열부터 차례로 기술하며, 열 이름은 주로 논리명으로 표기한다

'설계상 이렇게 연관되어 있다'를 나타내는 것이 ER다이어그램의 역할이다

profile
개인공부 블로그입니다. 상업적 용도 X

0개의 댓글