여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합
효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다
데이터베이스의 특성
실시간 접근성(Real-time Accessability)
사용자의 요구를 즉시 처리할 수 있다.
계속적인 변화(Continuous Evolution)
정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다.
동시 공유성(Concurrent Sharing)
사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다.
내용 참조(Content Reference)
저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.
데이터 베이스 관리 시스템 ( Database Management System = DBMS )
데이터베이스를 관리하는 소프트웨어
여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 한다
필수 3기능
정의기능 : 데이터 베이스의 논리적, 물리적 구조를 정의
조작기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
제어기능 : 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능
Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있다.
파일 시스템과의 비교
데이터의 종속성 보완
중복성 제거
데이터 베이스 관리 시스템 장점
+ 데이터 중복이 최소화
+ 데이터의 일관성 및 무결성 유지
+ 데이터 보안 보장
데이터 베이스 관리 시스템 단점
+ 운영비가 비싸다
+ 백업 및 복구에 대한 관리가 복잡
+ 부분적 데이터베이스 손실이 전체 시스템을 정지
데이터 베이스의 종류
관계형 데이터베이스 ( Relational Database = RDB )
1970년 IBM E. F. Codd 에 의해 제안되어 수 십년동안 주류 데이터베이스로 성장 확대 키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 개념의 데이터베이스 일련의 정형화된 테이블로 구성된 데이터 항목들의 집합이며 각 테이블은 데이터의 성격에 따라 여러 개의 컬럼(키)이 포함된다. 사용자는 SQL이라는 표준 질의어를 통해 데이터를 조작 또는 조회 할 수 있다.
객체 지향 데이터베이스 ( Object Oriented DataBase = OODB )
정보를 객체의 형태로 표현하는 데이터베이스
객체 모델이 그대로 데이터베이스에도 적용되어 데이터 모델을 그대로 응용프로그램 에 적용, 데이터 변환과 질의 작업이 필요치 않은 장점
데이터 베이스의 종류
객체 관계형 데이터베이스 ( Object Relation DataBase = ORDB )
관계형 데이터베이스에서 사용하는 데이터를 확장
관계형 데이터베이스를 객체 지향 모델링과 데이터를 관리하는 기능을 갖도록 확장한 것
NoSQL
대용량 데이터의 웹 서비스와 SNS, 클라우드 컴퓨팅의 확대 보급과 대중화로 최근 주목 받는 데이터베이스 기술