◆ 데이터 모델과 SQL이 가장 중요하다 ***
●데이터 모델(data model) ***
▷논리적(인간의 관점)으로 볼 때 데이터베이스 시스템은 데이터를 저장 장치에 어떠한 모습(형태, 구조)로 조직(표현)하고 관리할까?
▷사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상(mapping, a->b)을 제공한다.
▶데이터 모델은 사람의 눈으로 머리로 데이터베이스가 어떻게 저장장치에 표현되고 관리되는가를 보여주는 도구
▷데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합인 구조(데이터 타입과 관계), 이 구조 위에서 동작하는 연산자들, 무결성 제약조건들로 이루어짐.
▷ DM := <S, O, C> (Structure, Operration, Constrants)
▷이론적 데이터 모델을 SW로 구현한 것이 바로 DBMS
▷
●데이터 모델의 분류 방법
▶1. 개념적 데이터 모델(conceptual data model)
▷사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적인 구조를 명시한다. 이는 반대로 논리적인 구조를 명시한다.
▷예시로는 엔티티-관계(ER : Entity-Realationship) 데이터 모델과 객체 지향 데이터 모델이 있다
▶2. 논리적 데이터 모델(표현 데이터 모델, representation data model)
▷최종 사용자가 이해하는 개념이면서 컴퓨터 내에서 데이터가 조직되는 방식과 멀리 떨어져 있지는 않다.
▷계층 데이터 모델(hierarchical data model), 네트워크 데이터 모델(network data model), 관계 데이터 모델(relational data model)이 있다
▶3. 저수준 또는 물리적 데이터 모델(physical data model)
▷시스템이 인식하는 것과 가깝고, 데이터베이스에 데이터가 어떻게 저장되는가를 기술한다.
▷예시로 Unifying, ISAM, VSAM이 있다.
●DBMS의 발전과정
*DBMS의 발전과정 = 데이터 모델의 발전과정
▶계층 DBMS
▷트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS이다.
▶네트워크 DBMS
▷그래프를 기반으로 하는 네트워크 데이터 모델을 사용한다.
▶관계 DBMS(Relational Data Model, 열과 행으로 이루어진 2차원 표, Table DM)(1970)
▷테이블을 기반으로 하는 데이터 모델이다.
▷간단하며 이해하기 쉬워 최강자이다.
▶객체 지향 DBMS
▶객체 관계 DBMS
●관계 데이터 모델(Relational Data Model)
▷2차원 테이블 구조인 ‘릴레이션’으로 데이터를 조직하고 관리하는 이론적 기법
◆ANSI/SPARC 아키텍처
▷DBMS의 주요 목적은 사용자에게 데이터에 대한 추상적인 뷰를 제공하는 것이다.
▷주요 목표는 실제로 표현되는 방식과 사용자를 분리하는 것이다.
▷일반적으로 ANSI/SPARC 아키텍처가 DBMS의 구현에 사용 된다.(1978)
●ANSI/SPARC 아키텍처의 3단계
▷(외부적) 외부 단계(extermal level) : 각 사용자의 뷰
▷(개념적) 개념 단계(conceptual level) : 사용자 공동체의 뷰
▷(물리적) 내부 단계(internal level) : 무릴적 또는 저장 뷰
●ANSI/SPARC 아키텍처의 특징
▷프로그램-데이터 독립성
▷데이터에 대한 다수의 뷰를 제공하는 DBMS의 특성
●외부 단계
▷데이터베이스의 각 사용자가 갖는 뷰이다.
▷다수의 서로 다른 뷰가 제공될 수 있다.
▷일부분에만 관심을 갖는다.
●개념 단계
▷조직체의 정보 모델로서, 물리적인 구현은 고려하지 않으면서 조직체 전체에 관한 스키마를 포함한다.
▷오직 한 개이며, 전체 데이터베이스의 논리적인 구조를 기술한다.
●내부 단계
▷실제의 물리적인 데이터 구조에 관한 스키마이다.
▷한 개이며, 내부 단계 아래는 물리적 단계이다.
●스키마간의 사상(mapping) : 외부, 개념, 내부를 연관시킨다
●데이터 독립성
▷상위 단계의 스키마 정의에 영향을 주지 않으면서 어떤 단계의 스키마 정의를 변경할 수 있음을 의미한다.
▶논리적 데이터 독립성
▷개념 스키마의 변화로부터 외부 스키마가 영향을 받지 않음을 의미한다.
▶물리적 데이터 독립성
▷내부 스키마의 변화가 개념 스키마에 영향을 미치지 않으며, 외부 스키마에도 영항을 미치지 않음을 의미한다.
◆데이터베이스 시스템 아키텍처
▷데이터베이스 API(Application Program)도 DBMS에 포함한다.
▷API표준은 ODBC(Open Database Connectivity) JDBC(Java Database Connectivity) )
▷
●중앙 집중식 데이터베이스 시스템(centralized database system)
▷데이터베이스 시스템이 하나의 컴퓨터 시스템에서 운영된다.
●분산 데이터베이스 시스템(distributed database system)
▷네트워크로 연뎔된 여러 사이트에 데이터베이스 자체가 분산되어 있으며, 데이터베이스 시스템도 여러 컴퓨터 시스템에서 운영된다.
▷사용자에게 데이터 베이스가 분산되지 않은 것처럼 느끼게 만드는 것이 필요하다. (투명성)
●클라이언트-서버 데이터베이스 시스템(client-sever database system)
▶2층 모델(2-tier model)
▷클라이언트와 데이터베이스 서버가 직접 연결
▶3층 모델(3-tier model)
▷클라이언트와 데이터베이스 서버 사이에 응용 서버(application server)가 추가됨
'학교수업 > 데이터베이스' 카테고리의 다른 글
데이터베이스 7주차 요약 (0) | 2023.01.31 |
---|---|
데이터베이스 6주차 요약 (0) | 2023.01.31 |
데이터베이스 5주차 요약 (0) | 2023.01.31 |
데이터베이스 2주차 요약 (0) | 2023.01.31 |
데이터베이스 1주차 요약 (0) | 2023.01.31 |