-db: data의 모음
dbms: db management system, db를 관리하는 시스템
dbs: DB시스템, DB+DBMS를 통칭
하지만 3가지를 혼용해 쓰기도 한다.
운영체제에는 파일 시스템이 존재한다.
DBMS은 운영체제의 파일 시스템을 활용하여 구현된다.
이 경우 DBMS는 운영체제의 파일 프로세스 중 하나가 된다.
스키마: 데이터베이스의 논리적or물리적 구조. 데이터의 구조체
인스턴스: 스키마의 형태로 실제로 저장,관리되는 실제 데이터의 값
추상화: 사물에 대한 인스턴스들에서 중요한 개념을 분리하는 프로세스.
추상화의 레벨을 고려해야 한다.
데이터의 추상화: 데이터는 disk에 한번 존재한다.
데이터의 존재를 기술하는 3가지 추상화된 레벨
-view level
-logical level
-physical level
뷰 레벨에서는 논리적 레벨의 내용들을 사용자의 관심사에 따라 부분적으로노출한다.
상위 레벨의 스키마는 하위 레벨의 변경으로부터 자유롭다.
EX) 논리적 레벨에서의 변경 없이 물리적 레벨의 변경이 발생할 수 있다. 이로인해 사용자는 하위 레벨의 변화와 관계없이 일정한 서비스를 제공 받는다.
DBMS는 이 레벨 간의 분리와 매핑도 지원한다.
데이터 모델은 데이터의 특징을 기술하는 명세,개념적 도구이다.
데이터를 기술하는 일정형식이다.
일반적으로 인식하는 테이블 형식
관계형 모델에 객체지향적 요소를 도입.
원래 문서 마크업 언어로 개발되었으나 현재는 문서교환을 의한 표준기술로 널리 사용된다.
DB의 구조를 설계 하는 것. DB의 성능에 큰 영향을 미친다.
-ER모델
-정규화
QUEL,SQL,algebra 등이 있었자만 요새는 거의 sql
-sql 예
select name
from professor
where pID='22222'
보통 프로그램이 DB에 접속함
방법 3가지
dbms는 굉장히 크고 복잡한 소프트웨어지만 개념적으로 크게 2 파트 있음.
-간략화된 DB시스템 구조

메타 데이터를 관리함
메타 데이터: 데이터에 대한 데이터
-db 스키마 -통계데이터
-통합 제약들 -허가
트랜잭션: db 기능들의 순서들.
주요 이슈: 동시성 관리, 회복(트랜잭션 중간에 끊기면 이전 상태로 돌리기)
Naive users(db의 구조를 모르고 쓰기만 함, 일반 사용자들)
프로그램 프로그래머, db 디자이너(schema만듦), db 분석가, db 관리자(DBA)
db가 어디에 위치하냐에 따라 달라질 수 있음
중앙화
distributed
client-server
parallel(multi- processor)