Schema:
데이터베이스의 구조와 제약 조건에 대한 명세를 기술한 메타데이터의 집합
스키마란 한마디로 정의하면 ‘데이터의 구조’ 또는 ‘데이터베이스의 설계’ 를 의미합니다.
스키마는 데이터베이스를 구성하는 데이터 개체(entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의 합니다.
즉 사용자들이 여러가지 검색을 하게 되었을 때 제일 안에 저장되어 있는 데이터베이스까지 가 닿아 정보를 얻기까지의 구조, 그 일련의 데이터 처리 프로세스, 자료들간의 전반적인 협력관계 등을 ‘형식 언어’로 나타낸 데이터베이스의 구조를 뜻 합니다
출처
: 스키마란? 스키마에 대한 모든것
ERD(Entity Relationship Diagram):
개체-관계 모델. 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB의 구조를 한눈에 파악할 수 있다.
출처
: ERD란?
ERD는 위의 사진처럼 API를 효율적으로 뽑아내기 위한 모델 구조도입니다.
직사각형, 다이아몬드, 타원형 및 연결선과 같은 정의된 기호 집합을 사용하여 identifying relationship 의 유무와 해당 속성의 상호 연결성을 나타냅니다.
개체를 명사로, 관계를 동사로 사용하여 문법 구조를 반영합니다.
데이터 베이스 모델링
소프트웨어 엔지니어링
ERD의 기호들만 숙지하여도 Entity과의 관계를 충분히 표현이 가능합니다.
출처
: 스키마란? 스키마에 대한 모든것
Many
M:N 관계이며, 중계 테이블을 통하여 여러개의 데이터를 바라보고 있을 때 사용합니다.
One (and only one)
위의 조건과 동일하게 일대일 관계이지만, 하나의 row 끼리만 연결된 데이터입니다.
Zero or one
1:1 혹은 1:N 관계를 가지고 있으나, 필수 조건이 아님을 의미합니다.
One or many
1:1 혹은 1:N 관계를 가지고 있음을 의미합니다.
관계를 가지고 있으나, 참조되는 row 값들이 불명확함을 의미합니다.
Zero or many
참조하는 테이블과의 관계가 불명확한 경우입니다.
장바구니처럼 row 생성값이 없을수도, 하나일수도, 여러개일 수도 있는 경우입니다.
1. 모든 엔티티들을 정의
모든 엔티티에 대해 사각형을 만들고 이름을 적절하게 지정하며, 엔티티는 특정 다이어그램에서 중복 없이 한 번만 나타나야 합니다.
2. 엔티티 간 관계들을 정의
선을 사용하여 연결하고 관계를 설명하는 중간에 다이아몬드 모양을 추가합니다.
3. 속성들을 추가
쉽게 이해할 수 있도록 의미있는 속성이름을 지정해줍니다.