반응형
1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#49. 스키마
흔히들 스키마 = Table 정도로 이해하고 있을텐데, 아니다. 시험문제도 좀만 꼬아서 나오면 바로 틀리는 이 스키마란 녀석에 대해서 알아보자.
스키마 (Schema)
스키마는 DB의 구조와 제약 조건을 정의하는 개념으로, "DB의 틀"이라고 할 수 있다. 스키마는 DB의 전체적인 구조와 규칙, 관계 등을 정의한다.
ex) 어떤 테이블이 있는지, 각 열의 형식이나 테이블간 관계 등을 설명
테이블은 DB에서 실제 데이터를 저장하는 단위이다. 각 테이블은 특정 스키마에 따라 만들어진다.
ex) 고객정보, 주문내역 등을 실제로 저장
스키마 존재 이유
그냥 테이블에 규칙을 표기하면 될 것 같은데, 왜 스키마라는 개념을 굳이 따로 두었을까 ?? 여러 이유가 있겠지만, 보통 주된 이유는 DB를 관리할 때 일관성 유지, 확장시 효율성을 이야기한다.
1. 데이터의 일관성 유지
- 스키마는 각 테이블의 구조(필드 이름, 타입, 제약 조건 등)를 명확히 정의함으로써, 데이터의 일관성을 보장한다. 예를 들면 고객 테이블에서 전화번호는 숫자 형식이어야 하고, 주문 테이블에서 주문일은 미래일 수 없다는 규칙을 스키마로 정의할 수 있다. 이렇게 정의하면 잘못된 데이터가 입력되는 것을 방지할 수 있다.
2. 데이터 무결성 보장
- 스키마는 참조 무결성(외래키), 고유성(유니크키), 널값 허용 여부(NOT NULL) 등의 제약조건으로 데이터를 올바르게 유지할 수 있다. 이를 통해 존재하지 않는 고객 ID로 주문이 생성되거나, 중복된 데이터가 저장되는 등의 문제를 방지할 수 있다.
3. 효율적인 데이터 관리
- 각 테이블과 그 관계를 명확히 정의해 쿼리 성능을 최적화하고, DB설계를 체계적으로 유지할 수 있다. 이로써 DB관리자도 관리를 효율적으로 할 수 있다.
- 또한 스키마를 이용해 인덱스를 설정하면 데이터를 더 빠르게 검색할 수 있다.
4. 확장 및 유지보수 용이
- 스키마는 DB구조를 명확히 정의하므로 나중에 시스템을 확장하거나 수정할 때 용이하다. 전체적인 구조를 파악하기도 용이해서 DB 변경/관리가 쉽다.
5. 보안 및 접근 제어
- 스키마를 이용해 사용자별로 권한을 설정할 수 있다. 특정 사용자는 고객 정보를 보고, 다른 사용자는 못보고 이런 권한을 명확히 할 수 있다.
반응형
'1일 1개념정리 (24년 8월~) > 데이터베이스' 카테고리의 다른 글
1일1개 (66) - 아니 충돌 안난다고요 vs 아니 충돌 잘난다고요 (1) | 2024.10.21 |
---|---|
1일1개 (58) - DB의 내용에 의한 참조 (0) | 2024.10.12 |
1일1개 (43) - DB key (0) | 2024.09.27 |
1일1개 (41) - SQL 레퍼런스 (0) | 2024.09.23 |
1일1개 (32) - 아니 데이터베이스에 왜 수학기호가 나오냐고 (2) | 2024.09.11 |