데이터베이스는 여러 사람이 공유하고, 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로, 내용을 구조화한다.
정의
1. 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임이다.
2. 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장매체에 저장된 데이터이다.
3. 운영데이터 : 조직의 고유한 업무를 수행하는데 존재가치가 확실하고, 없어서는 안될 반드시 필요한 자료이다.
4. 공용데이터 : 여러 응용 시스템들이 공용으로 소유하고 유지하는 자료이다.
데이터 베이스의 특징
1. 계속적인 변화
데이터베이스는 동적인 상태로, 새로운 데이터의 삽입(insert), 삭제(delete), 갱신(update)로 항상 최신의 데이터를 유지한다.
웹을 통해 누군가가 새로 회원가입을 했다면, 로그인 정보를 추가해야 할 것이다.
2. 동시 공유
여러 사용자들이 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.
어떤 내용이 업데이트 되었다면 모든 사람이 동시에 접속할 수 있어야 한다. 이 블로그에 글 역시 동시공유를 하고 있다.
3. 실시간 접근성
실시간 처리를 통한 응답이 가능하다.
실시간으로 댓글을 단다면 그 내용을 바로 업데이트 할 수 있다.
4. 내용에 의한 참조
주소로 접근하는 것이 아니라 내용을 통해 접근한다.
데이터베이스의 구성요소
1. 속성
개체의 특성이나 상태를 나타낸 것
2. 개체
서로 구별이 되는 하나의 대상
3. 관계
두 개체나 속성 사이의 상호 연관성
데이터베이스의 기본 구조
스키마(Schema)
데이터 베이스의 전체적인 구조나 제약조건에 대한 명세를 기술, 정의한 것을 말하며, 내부 스키마, 외부 스키마, 개념 스키마로 구성되어 있다.
내부스키마(Internal Schema)
내부스키마에서 내부는 물리적 저장장치의 내부를 말한다. 즉 DB의 물리적인 구조를 말한다. DB가 저장되는 방식을 기술한 것이다.
개념스키마
개념스키마(Conceptual Schema)의 개념은 논리적인 관점에서 본 전체적인 데이터 구조이다. 즉, 전체적인 논리적인 구조를 말하며, 그렇기에 하나밖에 존재할 수 없다.
외부스키마(External Schema)
외부스키마는 외부에서 사용자가 보는 뷰를 가르킨다. 어떤 명령어를 주냐에 따라 외부스키마는 달라지기에 외부스키마는 하나의 DB시스템에 여러개가 존재할 수 있다. 그래서 서브스키마라고도 한다.
아래 그림은MYSQL 기준으로 SELECT * FROM box_office LIMIT 10; 명령어를 통해 본 외부 스키마라고 할 수 있다.
아래 그림은 SELECT movie_name, years FROM box_office WHERE ranks=1; 명령어를 통해 본 외부스키마이다.
데이터베이스 관리자(DBA)
데이터베이스 시스템과 관련된 모든 자원에 대해 기획, 통제를 하며 데이터베이스 언어를 이용해 DBMS를 거쳐 전체적인 관리 운영에 책임을 지는 사람이나 집단
역할
1. DB의 구성 요소 결정
2. 저장 구조와 접근 방법 선정
3. 보안, 권한 정의, 유효성 검사
4. 스키마 정의
5. 예방 회복 절차 수립
6. 무결성 유지