-
[관계형 데이터 모델링] 개념적 데이터 모델링컴퓨터/SQL, 데이터모델링 2020. 1. 11. 20:20
업무라는 현실
데이터베이스라는 현실
현실에서 개념을 추출하는 일종의 필터
개념에 대해 다른 사람들과 의사소통할 수 있는 일종의 언어
Entity Relationship Diagram(ERD)
출처 : 생활코딩 - Attribute (정보) 정보를 발견하고 다른 사람들에게 표현할 수 있다
-> title, 본문, 이름 등등 표의 column이 된다
- Entity : 정보 그룹: 서로 연관된 정보를 인식하고 다른 사람들한테 표현할 수 있다
-> 댓글, 저자, 글(table name이 될 수 있는 것들?)
주제에 따라서 데이터를 저장할 수 있다.
개념 : entity -> table로 전환된다
entity를 directory, attribute를 파일이라고 생각하고 entity는 다른 directory를 품을 수 없다고 생각하면 된다.
- Relation, 정보 그룹 관계 : 그룹 사이의 관계를 인식하고 다른 사람들한테 표현할 수 있다.
ex.속한다, user가 글을 작성했다, user가 댓글을 작성했다
PK, FK가 된다
행을 tuple(row)이라고 한다.
* identifier : 식별자를 unique해야한다
후보키 : candidate key
기본키 : primary key
대체키 : alternate key, 기본키가 아닌 후보키
중복키 : composite key => 두 가지 칼럼을 합쳐서 식별자로 사용
cf ) auto increment, sequence
외래키 : foreign key (외부 테이블과의 연결에 사용)
* cardinality
1:1 관계
1:N (한쪽만 삼발이 있는 다이어그램)
N:M ( 양쪽 다 삼발이 있는 다이어그램)
* optionality (있을 수도 있고 없을 수도 있다)
저자는 댓글을 작성하지 않을수도 있다. ( 저자에게 댓글은 optional, 다이어그램에서 댓글 쪽에 o)
각 댓글은 반드시 저자가 있다.(댓글에게 저자는 Mandatory, 다이어그램 기호로는 세로 막대기)
-> (1) 1: 1 / (2) 1:N / (3) N:M / (4) 1:N (왼쪽은 오른쪽에게 필수, 오른쪽은 왼쪽에게 optional)
출처 : 생활코딩
'컴퓨터 > SQL, 데이터모델링' 카테고리의 다른 글
순번, 순위 매기기 (0) 2020.01.19 MySQL - 설치 및 기본 정보, 기본 CRUD 명령어 (0) 2020.01.12 [데이터 모델링] 논리적 데이터 모델링 (0) 2020.01.11