Study/DB

[SQL 첫걸음] 8장.데이터베이스 설계 - 34.데이터베이스 설계

momo02 2018. 9. 30. 17:05
반응형

저자 : 아사이 아츠시

출판 : 한빛미디어 

발매 : 2015.11.01



1. 데이터베이스 설계

- 데이터베이스를 설계한다는 것 : 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 것. 

스키마 내에 정의한다는 뜻에서 '스키마 설계'라 불리기도 함.

- 테이블 설계의 주된 내용은 테이블 이름이나 열, 자료형을 결정하는 것. 테이블 간의 관계를 생각하며 여러 테이블을 정의하고 작성. 

- 논리명과 물리명 : 물리명은 CREATE TABLE에 지정하는 테이블 이름이나 열 이름.  논리명은 설계상의 이름.

- 자료형 : 

금액이나 개수처럼 수치 데이터만 다룰 수 있는 열은 수치 자료형으로, 

제조번호처럼 알파벳도 다루어야 한다면 문자열형으로 지정 (수치형을 문자열형으로 변환하는것은 문제가 되지 않지만 문자열형을 수치형으로 변환하는 경우엔 에러가 발생하기도 하므로)

- VARCHAR형으로 지정할 수 있는 최대 크기는 기껏해야 수천 바이트. 조금 큰 파일을 그대로 VARCHAR형의 열에 저장하면 쉽게 용량을 넘김. 이러한 경우엔 LOB(Large Objetct)형을 사용. LOB형은 큰 데이터를 다루는 자료형이지만 인덱스를 지정할 수 없다는 제약이 있음.

- 기본키로 지정할 열이 생각나지 않는 경우 자동증가 열을 사용해 기본키를 지정할 수 있음. 자동증가 열은 INSERT할 경우 번호를 자동으로 증가시켜주는 열. MySQL의 경우는 열을 정의할 때 AUTO_INCREMENT를 지정함. AUTO_INCREMENT로 지정한 열은 PRIMARY KEY 또는 UNIQUE로 유일성을 지정해야 함.   




2. ER다이어그램

- ER다이어그램은 테이블 간의 연계를 나타낼 때 사용하는 도식.

- ER의 E는 개체를 뜻하는 'Entity'의 약자이며 R은 'Relationship'의 약자. 즉, ER다이어그램은 개체 간의 관계를 표현한 것. 


출처 : SQL 첫걸음


- 엔티티 즉 개체는 테이블 또는 뷰를 의미. 사각형으로 표기

사각형 상단에는 개체이름을 적고 사각형 안에는 개체의 속성을 표기. 여기서 속성은 테이블의 열을 의미.

기본키가 되는 열부터 차례로 기술하며, 열 이름은 주로 논리명으로 표기.

- 개체와 개체가 서로 연계되는 경우에는 선으로 이어서 표현. 연계를 표기할 때는 서로 몇 개의 데이터 행과 연관되는지, 즉 몇 대 몇의 관계를 가지는지 숫자나 기호로 표시. (카디널리티 또는 다중도라 함)  

=> 가장 기본적 3가지 : 일대일(1:1) / 일대다(1:多) / 다대다(多:多)  

- ER 다이어그램의 연계는 데이터베이스에서 외부참조제약(외부키 제약)으로 지정하는 경우가 있음. 

반응형