데이터베이스(DB)
- 전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합
-> 데이터를 조직화된 집합으로 만들어 불일치를 막고 효율적으로 관리한다
DBMS
- 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템
- ex) PostgreSQL, MYSQL, oracle
DB를 정의하다 보면 부가적인 데이터(metadata)가 발생한다
※ metadata: data를 설명하기 위한 data
- db를 정의하거나 기술하는 data
- ex) 데이터 유형, 구조, 제약 조건, 보안, 인덱스
data models
- db의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집합
- db 구조를 추상화해서 표현할 수 있는 수단을 제공
1. conceptual data models
- 일반 사용자들이 쉽게 이해할 수 있는 개념들로 이뤄진 모델
- 추상화 수준이 가장 높음
- 비즈니스 요구사항 추상화할때 사용
- entity-relationshil model
데이터베이스 구조를 누가봐도 이해하기 쉽게 표현하는 것
2. logical data models
- 이해하기 어렵지 않으면서도 디테일하게 db를 구조화할 수 있는 개념들을 제공
- 데이터가 컴퓨터에 저장될 때의 구조와 크게 다르지 않게 db 구조화를 가능하게 함
- relational data model
low: 데이터들, columns: 데이터 속성
- object data model
- object-relational data model
3. physical data models
- 컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지를 기술할 수 있는 수단을 제공
- access path: ex) index
schema
- data model을 바탕으로 db의 구조를 기술한 것
- db 설계할 때 정해지며 잘 안 바뀜
db state
- db에 있는 실제 데이터는 꽤 자주 바뀔 수 있다
- 특정 시점에 db에 있는 데이터
internal schema
- 물리적으로 데이터가 어떻게 저장되는지
- data storage, data structure 등 실체가 있는 내용 기술
external schema
- 특정 유저들이 필요로 하는 데이터만 표현
- 알려줄 필요가 없는 데이터는 숨김
conceptual schema
- 전체 db에 대한 구조를 기술
- 물리적 저장 구조에 관한 내용은 숨김
three schema architecture
- 각 레벨을 독립시켜서 어느 레벨에서의 변화가 상위 레벨에 영향을 주지 않기 위함
자료출처
유튜브, 쉬운코드 데이터베이스
'CS(Computer Science) > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 역정규화란 무엇인가? (0) | 2023.05.25 |
---|---|
[데이터베이스] MySQL(관계형 데이터베이스) (0) | 2023.05.10 |
[데이터베이스] 정보관리도구의 발전 (0) | 2023.05.09 |
데이터베이스(relational database)개념과 relation, primary key(기본키), foreign key(외래키), constraints (1) | 2023.04.04 |
[데이터베이스] 데이터베이스 정규화 (0) | 2023.02.09 |
댓글