일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 로또 등수 코드
- 로또 등수 알고리즘
- 로또 앱 만들기
- 중간 테이블 엔티티 최적화
- sops age
- 스프링 오어스
- sops
- jpa bulk insert
- android studio
- multiview
- jpa dto 매핑
- 쿠버네티스 #fabric8
- 안드로이드 스튜디오
- 시크릿 깃에 올리기
- 채팅방 구현
- oauth 로그인
- sops 암호화
- 스프링 환경변수 설정
- java
- springboot
- hibe
- 시크릿 암호화
- jpa 최적화
- spring 채팅방
- Androoid Studio
- 스프링 시큐리티 없이
- 리사이클러뷰 멀티뷰
- 스프링 소셜 로그인
- 스프링 환경변수
- mysql multi-row insert
- Today
- Total
야미의 개발
DB 데이터베이스 - 스키마(Schema)의 개념과 구조 본문
스키마란?
스키마는 DB에 저장되는 데이터 구조와 제약 조건을 정의한 것입니다.
개체의 특성을 나타내는 속성(attribute)과
속성들의 집합으로 이루어진 개체(Entity),
개체 사이에 존재하는 관계(Relation)에 대한 정의와 이들이 유지해야 할 제약 조건을 기술한 것입니다.
위의 그림은 스키마를 간략하게 표현한 것입니다.
고객과 관련된 데이터인 고객번호, 이름, 나이, 주소를 저장한다고 가정하고 각각의 값에 Type을 지정해 주었습니다.
3단계 데이터베이스 구조의 개념
데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것
개별 사용자 관점에서 바라보는 외부 단계(external level)
조직 전체의 관점에서 바라보는 개념 단계(conceptual level)
물리적인 저장 장치의 관점에서 바라보는 내부 단계(internal level)
1. 외부 단계 - 사용자 관점
- 외부 스키마 / 외부단계에서 사용자에게 필요한 데이터 베이스를 정의한 것
- 하나의 데이터베이스를 조직 내의 사용자들이 함께 사용 -> 그러나 각 사용자가 데이터 베이스 전체에 관심 있는 것은 아님
- 고객 관리 직원은 고객 관련 데이터를, 상품 관리 직원은 상품 관리 데이터에 관심
- 여러 개 존재 가능, 하나의 외부 스키마를 사용 목적이 같은 사용자들이 공유
2. 개념 단계 - 조직 관점
- 개념 스키마 / 모든 사용자가 생각하는 데이터베이스의 모습을 하나로 합친 모습
- 데이터베이스 관리 시스템이나 관리자의 관점에서 모든 사용자에게 필요한 데이터를 통합한 전체 데이터베이스의 논리적 구조를 정의하는 단계
- 저장되는 데이터, 데이터들 간의 관계와 제약 조건 정의를 포함하여 보안, 접근 권한도 정의
- 데이터 베이스에는 개념 스키마 단 하나만 존재 (일반적인 스키마)
3. 내부 단계 - 물리적인 저장장치 관점
- 내부 스키마 / 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의
- 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것
- 저장될 데이터 항목의 내부 레코드 형식, 물리적 순서를 나타냄
- 개념 스키마와 마찬가지로 한개만 존재
아래는 쇼핑몰의 데이터베이스를 3단계 데이터 베이스 구조로 표현한 예입니다
데이터 독립성
데이터베이스 내의 데이터, 데이터를 사용하는 사용자 및 응용 프로그램, 데이터베이스의 저장 구조가 서로 영향을 받지 않는 성질을 의미합니다.
논리적 독립성 -> 응용 인터페이스 독립성 유지
개념스키마가 변경되어도, 외부 스키마에 영향을 주지 않습니다
물리적 독립성 -> 저장 인터페이스 독립성 유지
내부 스키마가 변경되어도, 개념 스키마와 외부 스키마에 영향을 주지 않습니다
참조
https://iingang.github.io/posts/DB-schema/
[DB 데이터베이스] 스키마(Schema)의 개념 및 특징
Contents
iingang.github.io
https://terms.naver.com/entry.naver?docId=3431096&cid=58430&categoryId=58430&expCategoryId=58430
내부 단계
내부 단계(internal level)에서는 데이터베이스를 디스크나 테이프 같은 저장 장치의 관점에서 이해하고 표현한다. 내부 단계는 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의하며
terms.naver.com
'데이터베이스' 카테고리의 다른 글
SQL 인덱스 (0) | 2024.01.25 |
---|---|
[DB] 관계형 데이터베이스 키 이해하기 (0) | 2024.01.11 |
데이터베이스 - 관계 데이터베이스(릴레이션, 속성, 튜플) (0) | 2024.01.11 |
DBMS 자세히 알아보기 - 파일시스템, 기능 및 장단점 (1) | 2024.01.09 |
데이터 베이스란? - DBSM, Sql 간단 개요 (1) | 2024.01.09 |