데이터베이스 스키마란?
- 데이터베이스의 구조를 설명하는 것.
- 관계형 데이터베이스에서 사용되는 용어. 비관계형 데이터베이스에서는 스키마가 없다.
계층
- 물리적 스키마
- 물리적으로 스토리지에 저장되는 방식, 스토리지의 형태
- 논리적 스키마에 의해서 결정된다.
- 논리적 스키마
- 논리적인 데이터들 간의 구조.
- 테이블, 필드, 관계, 보기, 제약 조건 등...
종류
- 관계형 모델
- 행과 열의 테이블들의 관계 구조
- 평면 모델
- 단일 테이블(딱 1개) 구조
- 계층 모델
- 트리 구조
- 네트워크 모델
- 그래프 구조
- Star 모델 (?)
- Snowflake 모델 (?)
스키마 설계란?
- 엔티티 구성하기
- 엔티티 간의 관계 정하기
- 제약조건 정하기
스키마 설계를 왜 하는가?
- 데이터 중복 방지
- 데이터 무결성
- 신속한 데이터 접근
- 보안
스키마 설계 가이드
- 엔티티, 필드 등 명명규칙 정하기
- SQL 예약어 사용하지 않기
- 공백, 특수문자, 하이픈 사용하지 않기
- 테이블 명은 단수명사 사용하기
- 사용자별 적절한 권한 부여(보안)
- 설계한 내용을 문서화, 그림화 해두기
- 적절한 수준으로 정규화 하기
좋은 자료
https://frozenpond.tistory.com/151
[개발상식] 데이터 모델링(스키마설계 하는법, DB설계 하는법)
이번 게시글에서는 데이터 모델링 과정에 대해 정리합니다. dba가 아니더라도 RDB를 사용하는 사람이라면 최소한 알고 있어야되는 약식 스키마설계(데이터모델링) 방법은 rdb를 사용하는 사람이
frozenpond.tistory.com
https://www.integrate.io/ko/blog/complete-guide-to-database-schema-design-ko/
'DB' 카테고리의 다른 글
SQL vs NOSQL (0) | 2023.05.06 |
---|---|
제약조건(Constraint) (0) | 2023.05.04 |
(필기)Index , B tree, B+ tree (0) | 2023.04.16 |
Oracle vs MySQL vs MSSQL (0) | 2023.03.10 |
DataSource, Connection Pool, HikariCP (0) | 2023.03.01 |