엔티티-관계(ER:Entity-Relationship) 데이터 모델과 객체 지향 데이터 모델계층 데이터 모델(hierachical data model), 네트워크 데이터 모델(network data model), 관계 데이터 모델(relational data model)Unifying, ISAM, VSAM
- 1960년대 후반에 최초의 계층 DBMS가 등장 (예: IBM 사의 IMS)
트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS- 계층 데이터 모델은 네트워크 데이터 모델의 특별한 사례
one-to-many관계는 잘 처리하나many-to-many관계는 그렇지 못 함.
Advantages
- 어떤 유형의 응용에 대해서는
빠른 속도와높은 효율성을 제공
Disadvantages
- 어떻게 데이터를 접근하는가를
미리 응용 프로그램에 정의해야 함.- DB가 생성될 때 각각의
관계를 명시적으로 정의해야 함.- 레코드들이 링크로 연결되어 있으므로
레코드 구조를 변경하기 어려움.
- 1960년대 초에 Charles Bachman이 하니웰(Honeywell) 사에서 최초의 네트워크 DBMS인 IDS를 개발
- 레코드들이
노드, 레코드들 사이의 관계가간선으로 표현되는그래프를 기반으로 하는 네트워크 데이터 모델 사용.- 네트워크 DBMS에서도 레코드들이 링크로 연결되어 있으므로
레코드 구조 변경하기 어려움.
- 1970년에 E.F. Codd가 IBM 연구소에서 관계 데이터 모델을 제안
- 미국 IBM 연구소에서 진행된 System R과 캘리포니아 버클리대에서 진행된 Ingres 프로젝트
- 예 :
오라클,MS SQL Server,Sybase,DB2,Informix등
Advantages
- 모델이 간단하여 이해하기 쉬움
- 사용자는 자신이 원하는 것(what)만 명시하고, 데이터가 어디에 있는지, 어떻게 접근해야 하는지는 DBMS가 결정
- 1980년대 후반 들어 새로운 데이터 모델인 객체 지향 데이터 모델이 등장
- 객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델
- 예 :
ONTOS,OpenODB,GemStone,ObjectStore,Versant,O2등
Advantages
- 데이터와 프로그램을
그룹화하고,복잡한 객체들을 이해하기 쉬우며,유지와 변경이 용이함.
- 1990년대 후반에 관계 DBMS에 객체 지향 개념을 통합한 객체 관계 데이터 모델이 제안됨.
- 예 :
오라클,Informix Universal Server등
데이터 정의어의 기본적인 기능
- 데이터 모델에서 지원하는 데이터 구조를 생성
예 : SQL에서CREATE TABLE- 데이터 구조의 변경
예 : SQL에서ALTER TABLE- 데이터 구조의 삭제
예 : SQL에서DROP TABLE- 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스를 정의
예 : SQL에서CREATE INDEX
검색하고 수정하고 삽입하고 삭제SUM, COUNT, AVG와 같은 내장 함수들을 갖고 있음.데이터 조작어의 기본적인 기능
- 데이터의 검색
예 : SQL에서SELECT- 데이터의 수정
예 : SQL에서UPDATE- 데이터의 삭제
예 : SQL에서DELETE- 데이터의 삽입
예 : SQL에서INSERT

데이터 베이스 관리자의 역할
- 데이터베이스 스키마의
생성과변경무결성 제약조건을 명시사용자의 권한을허용하거나취소하고, 사용자의 역할을 관리저장 구조와접근 방법(물리적 스키마)정의백업과회복표준화 시행
기작성 트랜잭션 (canned transaction) 이라고 부름.캐주얼 사용자와 기작성 트랜잭션을 주로 반복해서 수행하는 초보 사용자로 구분일관성을 유지하기 위해서 DB 정규화를 수행ANSI/SPARC 아키텍처ANSI/SPARC 아키텍처의 3단계는 물리적, 개념적, 외부 단계로 이루어짐.
- 외부 단계 (external level) : 각 사용자의 뷰
- 개념 단계 (conceptual level) : 사용자 공동체의 뷰
- 내부 단계 (internal level) : 물리적 또는 저장 뷰
- 데이터 베이스의 각 사용자가 갖는 뷰
- 여러 부류의 사용자를 위해 동일한 개념 단계로부터 다수의 서로 다른 뷰가 제공 될 수 있음.
- 일반적으로, 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가짐.
- 조직체의 정보 모델로서, 물리적인 구현은 고려하지 않으면서 조직체 전체에 관한 스키마를 포함.
- 데이터베이스에 어떤 데이터가 저장되어 있으며, 데이터 간에는 어떤 관계가 존재하고, 어떤 무결성 제약조건들이 명시되어 있는가를 기술함.
- 데이터베이스에 대한 사용자 공동체의 뷰를 나타냄.
- 데이터베이스마다 오직 한 개의 개념 스키마가 존재.
- 실제의 물리적인 데이터 구조에 관한 스키마
- 데이터베이스에 어떤 데이터가 어떻게 저장되어 있는가를 기술함.
- 인덱스, 해싱 등과 같은 접근 경로, 데이터 압축 등을 기술함.
- 데이터베이스의 개념 스키마에는 영향을 미치지 않으면서 성능을 향상시키기 위해 내부 스키마를 변경하는 것이 바람직
- 내부 단계 아래는 물리적 단계
- 물리적 단계는 DBMS의 지시에 따라 운영 체제가 관리함.
상위 단계의 스키마 정의에 영향을 주지 않으면서 어떤 단계의 스키마 정의를 변경할 수 있음을 의미
- 논리적인 데이터 독립성 ( logical data independence ) : 외부단계와 개념단계 사이
- 물리적인 데이터 독립성 ( physical data independence ) : 개념단계와 내부단계 사이
서버와 클라이언트에 분산됨.DB를 저장하고 DBMS를 운영하면서 여러 클라이언트에서 온 질의를 최적화하고, 권한 검사를 수행하고, 동시성 제어와 회복기능을 수행하고, DB의 무결성을 유지하고, DB 접근을 관리2층모델 ( 2-tier model )
- 클라이언트와 데이터베이스 서버가
직접 연결됨.3층모델 ( 3-tier model )
- 클라이언트와 데이터베이스 서버 사이에
응용서버가 추가됨.