국비지원교육 DB구현 인터넷강의 1강
> > 데이터베이스의 정의
조직에서 여러 업무에 사용할 목적으로 컴퓨터 기억 장치 내에 체계적으로 분류, 정리하여 모아 놓은 데이터의 집합
-최근 우리가 사용하고 있는 또는 구축 예정인 정보 처리 시스템에는 반드시 데이터베이스가 존재
-현대의 정보 처리 시스템에서 데이터베이스의 역할은 필수적
통합된 데이터의 집합 : 데이터의 중복을 최소화하여 효율성 증진
저장된 데이터의 집합 : 컴퓨터에 의해 접근가능한 매체에 저장
운영 데이터의 집합 : 고유 기능 수행을 위해 필요한 데이터의 집합
공용 데이터의 집합 : 사용자, 시스템이 공동으로 사용하는 데이터의 집합
> 파일 처리 시스템
-데이터베이스 사용 이전의 데이터 처리 및 관리 기법
-데이터 처리를 위한 애플리케이션 프로그램이 파일에 직접 접근하여 데이터를 저장하고 앍는 방식
-파일 처리 시스템을 사용하는 경우 조직에서의 개별적 업무에 별도의 개별적인 파일을 유지
-업무에 따라 생성되는 다양한 파일에는 업무의 유사성으로 인해, 부분적으로 동일한 데이터가 저장될 수도 있어 다양한 문제가 발생
파일 처리 시스템의 문제점
-논리적 데이터의 종속 : 다른 애플리케이션에서 작성된 파일을 사용할 수 없음 => 데이터 중복 야기
-물리적 데이터 종속 : 물리적인 시스템 구조가 변경 되는 경우, 접근 경로나 파일을 읽는 방법이 달라져 데이터의 접근이 불가능해 짐
-데이터 중복 문제
일관성 : 하나의 사실에 대해 하나의 데이터 값만을 유지하는 상태
보안성 : 같은 데이터에 같은 수준의 보안 유지하는 상태
경제성 : 동일한 정보량에 대해 최소한의 데이터만으로 구성
-데이터의 무결성(관리되는 데이터의 정확성을 보장하는 것) 훼손
하나의 사실에 대한 두 개 이상의 데이터가 서로 일치하지 않는 경우
업무 규칙 상 생성되는 다양한 형식의 제약조건을 만족하지 않을 경우
-파일 처리 시스템은 데이터에 대한 무결성을 애플리케이션 수준에서 관리
업무 처리에 대한 작업 이외에 데이터 무결성에
대한 작업이 추가되어 애플리케이션의 규모가 방대해지고 개발에 많은 비용 소요됨
새로운 제약조건이 추가되거나수정될 경우, 관련 애플리케이션프로그램을 일일이 변경하기가 번거롭고 복잡함
-데이터 동시 접근 문제
-시스템의 전체적인 성능을 향상시키고, 사용자에게 빠른 응답을 주기 위해서 여러 사용자의 요청 작업이 동시에 처리
데이터베이스 관리 시스템의 역할
파일 처리 시스템의 문제
데이터를 사용하는 사용자 또는 프로그램이 데이터 파일에 직접적으로 접근하기 때문에 발생
종속성, 중복성, 무결성, 동시 접근
-사용자나 프로그램은 필요한 데이터만 요청
-DBMS는 데이터의 사용 영역과 관리 영역을 분리하는 역할
데이터베이스 용어
1.데이터 : 사실을 나타내는 수치
양적 데이터와 질적 데이터로 구성
사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명인 메타데이터로 구성
2.데이터베이스 : 사용 목적에 따라 구성된 데이터의 집합
특정 조직의 업무 처리를 위해 애플리케이션 시스템에서 사용되는 데이터의 집합
3.데이터베이스 관리 시스템 : 데이터 문제가 발생하지 않도록 여러 가지 관리 기능을 수행하는 소프트웨어 패키지
사용자가 DBMS에 접근하기 위해 사용하는 별도의 애플리케이션 프로그램
정보를 데이터베이스에 저장·관리하여 사용자에게 제공하는 컴퓨터 기반 시스템
DBMS의 구조와 특징
DBMS의 속성
1.자기 기술성
-데이터 자체 뿐만 아니라 메타데이터에 속하는 데이터의 정의, 의미 및
설명에 대한 정보를 관리 시스템 카탈로그 또는 데이터 사전에서 관리
-시스템 카탈로그 또는 데이터 사전에서 관리
2.프로그램과 데이터의 독립성 및 추상화
-데이터 파일의 구조가 시스템 카탈로그에 저장되어 데이터 종속이 발생하지 않음
-데이터에 대한 개념적인 표현을 제공하여 간편하게
데이터베이스에 접근
3.다중 뷰
-사용자의 필요에 따라 서로 다른 관점으로 데이터를 제공
4.다수 사용자 요청 정리
-동시성 제어 기능을 통해 여러 사용자가 데이터를 갱신시에도 데이터 일관성 유지데이터베이스 언어
1.SQL 역할
가장 대표적인 데이터베이스 언어
2.DBMS의 역할
-데이터의 사용과 관리의 분리
-사용자나 프로그램이 요청하는 데이터에 대한 명령을 처리하기 위한 명령어 체계 제공
=> 데이터베이스를 쉽게 다룰 수 있는 언어 형태의 인터페이스 제공
3.데이터베이스 언어의 세 가지 영역
-데이터 정의 언어 : 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리·물리적 구성 및 조건을 정의
-데이터 조작 언어 : 구조화된 데이터에 사용자가 정확하고 완전하게 접근 및 조작 할수 있도록 지원
-데이터 제어 언어 : DBMS 내부에 규칙이나 기능을 기술하고 사용자 접근 제어, 백업 및 복원 설정 등의 전체적인 DBMS를 관리하는 방법을 지원
DBMS의 분류와 종류
데이터 모델에 따른 DBMS의 분류
데이터 모델 : 데이터베이스 내에 존재하는 데이터와 데이터간의 관계를 정의하고, 데이터의 의미와 데이터에 존재하는 조건을 나타내는 방식
1.관계형 모델
-관계형 DBMS(Relational DBMS)에서 사용
-모든 데이터와 데이터 간의 관계를 2차원의 릴레이션(Relation)이라 불리는 표의 형태로 기술하는 모델
2.객체지향형 모델
-객체지향형 DBMS(Object Oriented DBMS)에서 사용
-데이터를 객체로 표현하고 객체지향 패러다임의 특징을 적용한 모델
3.객체관계형 모델
-객체관계형 DBMS(Object Relational DBMS)에서 사용
-관계형 모델과 객체지향형 모델을 결합하여 각 모델의 장점을 취합한 모델
4.계층형 모델
-계층형 DBMS(Hierarchical DBMS)에서 사용
-데이터베이스의 논리적 구조가 트리 형태의 반복적인 부모-자식 관계로 표현되는 모델관계형 DBMS의 종류
1.ORACLE 사
-MySQL : 오픈소스인 GPL을 사용함
개인·기업용으로 WEB DB에서 많이 사용
다양한 스토리지 엔진 제공
-오라클 : 많은 사용자 확보, 우수성 입증, 많은 3rd파티의 지원, 다양한 플랫폼 지원,
복잡한 관리, 높은 가격
2.Microsoft 사
-MSSQL Server : 편리한 인터페이스, Microsoft 개발툴과 호환, Windows 계열
운영체제에서만 사용가능
3.IBM 사
-DB2 : 높은 안정성, IBM 제품과 호환, 저렴한 가격과 원격관리 우수, 저장 프로시저 기능 미흡
, 3rd 파티 지원 부족
-INFORMIX : 안정된 성능, 사용자 만족도 높음, 유닉스 운영체제에서 운영 우수, PC급 지원기능 한계, 3rd 파티 지원 부족
4.알티베이스 사
-알티베이스 : 국내 개발 DBMS, 인메모리 기술 기반의 고속의 입출력 기능 지원
5.티맥스데이터 사
-티베로 : 국내 개발 DBMS, 쓰레드 단위로 자원을 공유하여 자원 손실을 최소화, 오라클 및 MS SQL, DB2 등과 호환, SQL 트랜슬레이션 프레임워크 지원