저자 : 아사이 아츠시
출판 : 한빛미디어
발매 : 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 다이어그램의 연계는 데이터베이스에서 외부참조제약(외부키 제약)으로 지정하는 경우가 있음.
'Study > DB' 카테고리의 다른 글
[SQL 첫걸음] 8장.데이터베이스 설계 - 36.트랜잭션 (0) | 2018.09.30 |
---|---|
[SQL 첫걸음] 8장.데이터베이스 설계 - 35.정규화 (0) | 2018.09.30 |
[SQL 첫걸음] 7장.복수의 테이블 다루기 - 32.테이블 결합 (0) | 2018.09.27 |
[SQL 첫걸음] 7장.복수의 테이블 다루기 - 31.집합 연산 (0) | 2018.09.27 |
[SQL 첫걸음] 6장.데이터베이스 객체 작성과 삭제 - 30.뷰 작성과 삭제 (0) | 2018.09.27 |