DataBase/이론

[DB] 데이터베이스(DataBase), DBMS

노트북 산 김에 공부 2023. 3. 15. 21:34

데이터베이스란?

특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임

 

  • 통합된 데이터 : 검색의 효율성을 위해 중복이 최소화된 데이터
  • 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
  • 운영 데이터 : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터
  • 공용 데이터 : 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터

데이터베이스 설계

데이터베이스 설계는 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.

(DBMS : 데이터베이스를 관리해 주는 소프트웨어)

 

요구 조건 분석 요구 조건 명세서 작성
개념적 설계 개념 스키마, 트랜잭션 모델링, E-R 모델
논리적 설계  논리 스키마, 트랜잭션 인터페이스 설계
물리적 설계 물리적 구조의 데이터로 변환
구현 DDL로 데이터베이스 생성, 트랜잭션 작성

요-개-논-물-구 순서로 설계 한다.


스키마 (Schema)

데이터베이스를 구성하는 개체, 속성, 관계 등 구조에 대한 정의와 이에 대한 제약 조건

 

외부 스키마 (External Schema) = 사용자 뷰(View)

 

  • 각 개인의 입장에서 데이터 베이스의 논리적 구조를 정의한 것이다.
  • 동일한 데이터에 대해, 서로 다른 관점을 정의할 수 있도록 허용한다.
  • 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재 가능하며, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
  • 서브 스키마(Sub Schema)라고도 한다.

 

개념 스키마 (Conceptual Schema) = 전체적인 뷰(View)

 

  • 데이터베이스의 전체적인 논리적 구조다.
  • 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
  • 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.

 

내부 스키마 (Internal Schema) = 저장 스키마(Storage Schema)

 

  • 데이터베이스의 물리적 구조다.
  • 실제로 데이터베이스에 저장저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
  • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

DBMS (데이터베이스 관리 시스템)

사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어이다.

 

기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다.

 

  • 정의 기능(DDL) : 데이터의 형(Type)과 구조에 대한 정의, 이용, 방식, 제약 조건 등을 명시
  • 조작 기능(DML) : 사용자와 데이터베이스 사이의 인터페이스 수단을 제공
  • 제어 기능(DCL) : 데이터의 무결성이 유지되도록 제어

 

계층형  트리 구조를 이용
부모(Owner)와 자식(Member) 관계, 일 대 다(1:N) 대응 관계만 존재
IMS, System2000 등
망형 그래프를 이용
상위(Owner)와 하위(Member) 레코드 사이에서 [1:1, 1:N, N:M] 대응 관계 모두 지원
IDS, TOTAL, IDMS 등
관계형 가장 널리 사용되는 DBMS, 계층형과 망형 DBMS를 단순화
2차원적인 표(Table)를 설정하거나 테이블 간의 관계를 설정하여 이용
Oracle, SQL Server, MySQL 등

 


데이터 모델

데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형

 

개체 (Entity)

 

  • 데이터베이스에 표현하려는 것으로, 현실 세계의 대상체.
  • 개체는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성.

 

속성 (Attribute)

 

  • 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다
  • 릴레이션에서는 열(Column)에, 파일 시스템에서는 필드(Field)에 해당한다.
  • 개체를 구성하는 항목이다.

 

관계 (Relationship)

 

  • 두 개 이상의 개체 간의 연관성을 결정짓는 의미 있는 연결로, 개체 간의 관계 또는 속성 간의 관계를 나타낸다.