DB/DBI

Database System Concepts

별다방체리콕 2024. 1. 4. 10:33

 

 

 

Data

모든 조직은 어떤 정보를 필요로 함

이러한 정보의 조각들을 데이터라고 부름

데이터는 다양한 형식으로 다양한 형태의 매체에 저장될 수 있음

 

 

 

 

 

 

 

 

 

Database

데이터베이스는 정보의 조직화된 집합체

데이터베이스에는 조직의 운영을 위해 필요한 데이터들이 통합되어 디스크와 같은 저장 매체에 저장되어 있음

조직의 여러 사용자들이 다양한 목적으로 데이터베이스의 데이터를 공유하여 사용할 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터베이스의 기능

정의 : 데이터 유형, 구조 및 데이터에 대한 제약조건을 명시하는 기능

구축 : 어떤 저장 매체에 데이터 자체를 쌓는 기능

조작 : 데이터를 검색, 삽입, 갱신, 삭제하는 기능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터베이스의 기능 구현방법

 

File Processing System

파일 처리 시스템은 데이터에 관한 조작을 모두 응용 프로그램에 처리

데이터베이스를 구성하는 요소가 모든 응용 프로그램에 종속되어 있음

 

 

Database Processing System

데이터베이스 처리 시스템은 데이터의 관리 작업을 독립적으로 담당하여 줌

데이터의 응용 프로그램에 대한 종속성과 응용 프로그램 자체의 부하를 줄일 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

파일 처리 시스템은 데이터의 집합을 몇몇 그룹으로 나누어 독립된 별개의 파일에 저장

각각의 응용 프로그램이 자기 자신의 데이터 파일을 접근하고 관리하기 위해 검색, 삽입, 삭제 및 갱신 간으한 루틴 포함

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DBMS

데이터베이스 관리 시스템은 필요에 따라 데이터를 저장, 조직화, 추출해내는 기능을 가지고 있음

데이터베이스 관리 시스템이 access 하는 데이터베이스의 내용과 형식은 관리 시스템의 형식에 따름

 

Meta Data

데이터베이스는 사용자의 source data와 더불어 그 데이터의 구조에 관한 정보인 meta data를 가지고 있음

 

 

 

 

 

 

 

 

 

 

 

 

Database Management System

데이터베이스 관리 시스템은 데이터의 종속성과 중복성 등의 문제를 해결하기 위해 제안된 시스템

응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 관리해 주는 소프트웨어 시스템

응용 프로그램들은 데이터베이스 관리 시스템을 통해서 데이터베이스를 사용할 수 있음

데이터베이스 관리 시스템은 이를 위하여 데이터베이스의 구성, 접근 방법, 관리 유지 등을 위한 기능을 제공

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터베이스 관리 시스템 장점

  • 데이터의 구조와 접근 방법이 개별적인 응용 프로그램이 아닌 데이터베이스 관리 시스템에 의해 관리되므로 데이터는 응용 프로그램에 대한 독립성을 가질 수 있음
  • 모든 데이터는 데이터베이스라는 단일 매체에 통합되어 저장, 관리됨
  • 데이터의 중복성을 줄일 수 있으므로 데이터 수정 시 효율적이며 데이터 간의 일관성을 유지하기 쉬움
  • 기존 응용 프로그램 뿐만 아니라 새로운 응용 프로그램도 동일한 데이터베이스 상에서 개발할 수 있음
  • 데이터베이스 관리 시스템을 통해 데이터를 중앙 집중식으로 총괄하여 관리하므로 모든 데이터에 대하여 접근을 효율적으로, 철저히 통제할 수 있음
    일반적으로 같은 내용의 데이터가 여러 파일에 분산 관리되는 경우에는 모든 데이터에 대하여 같은 수준의 보안을 보장하기는 상당히 어려움
  • 데이터베이스 관리 시스템의 중앙 통제 기능을 통해 데이터의 기술 양식, 내용, 처리 방식, 문서화 양식 등에 관한 표준화를 시행할 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터베이스 시스템의 구성요소

Database integrated, shared data Software

  • Database Management System
  • Application Programs Users
  • End users
  • Application Programmers
  • Database Administrators (DBA) Hardware Storage, Processor

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터베이스 시스템 개발 과정은 데이터에 관한 부분과 응용 프로그램에 관한 부분으로 크게 나누어 볼 수 있다.

그러나 이 두 부분은 매우 밀접하게 연관되어 있기 때문에 완전히 분리하여 생각하기는 어려우며 개발 과정 각 단계에서 데이터와 응용 프로그램의 기능이 부합하는지를 상호 검사(cross-checking)해 보아야 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

개념적 데이터 모델링 (Conceptual Data Modeling)

개체-관계 모델링(Entity-Relationship Modeling) 기법을 이용하여 업무요구사항의 개념적 모델을 생성하는 단계
업무상 알 필요가 있거나 보관한 필요가 있는 중요한 데이터와 각 데이터 간의 관계를 정의하고 모델링함

 

논리적 데이터베이스 설계 (Logical Database Design)

정규화된 개체-관계 모델(Entity-Relationship Model)을 논리적 데이터 모델(Logical Data Model)을 적용하여 변환하는 단계
관계형 모델(Relational Data Model)을 기반으로 한 관계형 데이터베이스(Relational Database)로의 구현을 전제로 하여 관계형 테이블 설계를 수행하는 경우를 살펴볼 것

 

물리적 데이터베이스 구축 (Physical Database Build)

논리적 데이터베이스 설계를 테이블, 인덱스, 뷰 등 물리적인 데이터베이스 객체 설계로 변환하고 이들을 생성하기 위하여 SQL 문장을 작성 및 실행하는 단계
또한 데이터베이스에 초기 데이터를 로드(load)하고 사용자에게 접근 권한을 허가하는 작업까지 포함할 수도 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

업무에서의 요구사항을 시스템 단계

  • 현업무에 종사하는 사람들과 interview를 통해 업무요구사항을 추출해 냄
  • 개념적 데이터 모델링을 통해 그 내용을 도식화 시킴
  • 논리적 데이터 모델링과 데이터베이스 설계를 통해 실제 시스템에 어떻게 반영할지를 결정함
  • 실제 데이터베이스 명령어를 사용하여 데이터베이스를 물리적으로 구축해 냄

 

 

 

 

 

 

 

'DB > DBI' 카테고리의 다른 글

SQL  (1) 2024.01.08
Database Design and Build  (1) 2024.01.08
Normalization  (1) 2024.01.04
Logical Data Model and Relational Database  (2) 2024.01.04
Conceptual Data Modeling Basics  (1) 2024.01.04