전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합
전자적으로 저장되고 사용 : 컴퓨터에 의해
관련있는 데이터 : 하나의 서비스와 관련된 데이터, 같은 목적, 같은 서비스에서 사용되는 데이터
조직화된 집합: 데이터가 체계적으로 정리, 불필요한 데이터 중복 생성X, 데이터 불일치 X
Database management systems
:사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템
DB를 정의하다 보면 부가적인 데이터가 발생한다.
data about data : 데이터를 설명하기위한 데이터
metadata 또한 DBMS를 통해 저장/관리된다.
database + DMBS + 연관된 applications
기술문서에 DB system을 database라고 정의하기도 한다.
DB의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집합
-> DB 구조를 추상화해서 표현할 수 있는 수단을 제공한다.
ERD(Entity Relationship Model)
구체적이지만, 어느정도 추상화되어있다.
백엔드 개발자 대부분이 사용하는 모델
테이블 형태로 저장하고(relation), 컬럼(속성,attribute)을 나눈다.
컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지를 기술할 수 있는 수단을 제공
데이터가 실제로 저장장치에 저장되는 구조로 표현
database에 있는 실제 데이터는 자주 바뀔 수 있다. 특정시점에 database에 있는 데이터를 database 혹은 snapshot이라고 한다.
user appplication으로 부터 물리적인 database를 분리시키는 목적
물리적인 저장장치에 가장 근접한 schema
실제 사용자가 바라보는 schema. view라는 단어를 사용한다.
특정 유저들이 필요로 하는 데이터만 표현. 유저마다 각각 필요한 데이터만 표현.
그 외 알려줄 필요가 없는 데이터는 숨긴다.
logical data model을 통해 표현
각각의 유저마다 필요한 데이터가 다르다 보니 internal schema에 중복되는 데이터가 증가하고, 데이터 불일치가 증가했다.
전체 database에 대한 구조를 기술
internal schema를 추상화하여 표현한 schema
물리적인 저장 구조에 관한 내용은 숨김
conceptual schema를 정의하기 위해 사용되는 언어
internal schema를 정의하는 용도로 사용되는 언어, 최근에 사용X -> 파라미터 등의 설정으로 대체된다.
external schema를 정의하기 위해 사용되는언어
--> DDL이 SDL, VDL대부분 대체할 수 있다.
database에 있는 data를 활용하기 위한 언어