안녕하십니까 다제입니다.
오늘은 SQL에서 data Modeling이라는 개념에 대해서 알아보고자 합니다.
먼저 데이터 ①모델 & 모델링이이 무엇인지, ②모델 스펙트럼이 무엇인지 순차적으로 알아보겠습니다.
1. 데이터 모델 & 모델링
1) 데이터 모델
-. 정의 : 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형
-. 목적 : 저장하고자 하는 데이터에서 개체의 속성과 관계를 명확하게 파악하기 위해
2) 데이터 모델링
-. 아래 네 가지 요소들을 파악한 후, 이 내용들을 발전시켜 데이터 모델들을 만드는 과정
* Entity(개체) : 1개의 record(row)을 의미함
* Attribute(속성) : 1개의 feature(column)을 의미함
* Constraint(제약사항) :여러 데이터 요소들에 있는 규칙
* Relationship(관계) : 테이블들 사이 맺어지는 관계
2. 데이터 모델 스펙트럼
데이터 모델은 얼마나 자세하게 표현됐는지에 따라 세 가지로 분류됩니다.
1) 개념모델 : 가장 추상적인 내용을 담고 있는 모델로 대략적으로 Entity들과 Entity들 사이에 있는 관계 정의
2) 논리모델 : 개념 모델보다는 조금 더 자세한 내용을 담고 있는 모델(foreign key 등 포함)
3) 물리모델 : 실제로 데이터베이스를 구축할 때 필요한 내용에 최대한 가까운 내용을 담고 있는 모델
※ 좋은 데이터베이스
좋은 데이터베이스 | 나쁜 데이베이스 |
1. 중복, 틀린 데이터가 없이 구성 2. NULL값이 생기지 않도록 구성 3. 빠르고 정확하게 데이터를 다룰 수 있도록 구성 4. 데이터가 늘어날 때 테이블 구조가 변하지 않도록 구성 |
1. 데이터 중복 저장, NULL이 많음 2. 연산 실행이 너무 오래 걸림 3. 원하는 정보를 찾을 수 없음 4. 틀린 데이터를 저장하고 있음 |
위와 같이 ①모델 & 모델링이이 무엇인지, ②모델 스펙트럼이 무엇인지 순차적으로 알아보았습니다.
혹시 이와 관련하여 추가적인 질문이 있으시면 댓글 부탁드립니다.
오늘도 공감 버튼 부탁드립니다. ^^
'Code > SQL' 카테고리의 다른 글
[MySQL 11] 정규화 & 정규형{1NF, 2NF, 3NF}(feat.Codestates _AI_BootCamp, 부트캠프) (0) | 2021.03.11 |
---|---|
[MySQL 10] 논리적인 모델링(feat. Codestates _AI_BootCamp, 코드스테이츠) (0) | 2021.03.11 |
[MySQL 8] Foreign Key 삭제 & 업데이트 정책(feat. Codestates _AI_BootCamp, 코드스테이츠) (0) | 2021.03.11 |
MySQL 기초부터 훑어보기7(ALTER, TABLE) (2) | 2021.03.08 |
MySQL 기초부터 훑어보기6(Table) (0) | 2021.03.08 |