01. Database System-Summary
01. Database System-Summary
Database system
summary
데이터베이스 정의
- 조직에 필요한 정보를 얻기 위하여 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
- 즉, 통합된 데이터(integrated data), 저장된 데이터(stored data), 운영 데이터(operational data), 공용 데이터(shared data)를 말함
데이터베이스의 특징
- 실시간 접근이 가능(real-time accessibility)
- 지속적인 변화(continuous evolution)
- 동시 공유 가능(concurrent sharing)
- 내용으로 참조 가능(content reference)
데이터베이스 시스템 구성
- 데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델
정보 시스템의 발전
1. 파일 시스템
- DBMS가 없는 시스템으로, 데이터는 파일 단위로 저장되며 파일을 다루는 파일 서버가 존재
2. 데이터베이스 시스템
- DBMS를 도입하여 데이터를 통합 관리하는 시스템
3. 웹 데이터베이스 시스템
- 데이터베이스를 웹 브라우저에서 사용하도록 제공하는 시스템
- 웹 서버와 JSP, PHP, 웹 데이터베이스 연동 언어들을 사용
4. 분산 데이터베이스 시스템
- 여러 곳에 분산된 DBMS 서버를 연결하여 운영하는 시스템으로 대규모 응용 시스템에 사용
DBMS 장점
- DBMS를 이용하여 데이터를 공유하므로 중복 가능성 낮음(데이터 중복 최소화)
- 중복 제거로 데이터의 일관성이 유지(데이터 일관성 유지)
- 데이터 정의와 프로그램 간의 독립성을 유지(데이터 독립성 유지)
- 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등 수행(관리 기능 제공)
- 짧은 시간에 큰 프로그램 개발 용이(프로그램 개발 생산성 향상)
- 데이터 무결성 유지, 데이터 표준 준수가 용이
DBMS 기능
1. 데이터 정의
- 데이터 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행
2. 데이터 조작
- 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 검색, 삽입, 수정, 삭제 작업을 지원
3. 데이터 추출
- 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출
4. 데이터 제어
- 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어
- 백업과 회복, 동시성 제어 등의 기능을 지원
SQL
- 데이터베이스 시스템에 사용하는 전용 언어로 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구성
1. 데이터 정의어(DDL)
- DBMS에 저장된 테이블의 구조를 정의
- CREATE, ALTER, DROP 문 등
2. 데이터 조작어(DML)
- 데이터를 검색, 삽입, 삭제, 수정하는 데 사용
- SELECT, INSERT, DELETE, UPDATE 문 등
3. 데이터 제어어(DCL)
- 데이터의 사용 권한을 관리
- GRANT, REVOKE 문 등
데이터 모델
- 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정
1. 포인터 사용
- 계층 데이터 모델, 네트워크 데이터 모델
2. 속성값 사용
- 관계 데이터 모델(현재 대중적인 사용)
3. 객체 식별자 사용
- 객체 데이터 모델
3단계 데이터베이스 구조
- 외부 단계, 개념 단계, 내부 단계로 나뉘며 각 단계는 외부 스키마, 개념 스키마, 내부 스키마로 구성
스키마(schema): 그리스어에서 유래된 단어로 데이터베이스의 조직이나 구조를 의미
1. 외부 스키마
- 서브 스키마(subschema)라고도 부르며, 뷰(vieww)의 개념
- 개념 스키마 중 사용자에게 필요한 부분 스키마를 의미
2. 개념 스키마
- 전체 데이터베이스의 정의를 말하는 것으로 통합 조직별로 하나만 존재
- 저장 장치에 독립적으로 기술되며, 데이터와의 관계(relationship), 제약사항, 무결성에 대한 내용이 포함
3. 내부 스키마
- 물리적 저장 장치에서 데이터베이스가 실제로 저장되는 방법을 표현한 것
- 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함
외부/개념 매핑
- 사용자의 외부 스키마와 개념 스키마 간의 매핑으로 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킴
개념/내부 매핑
- 개념 스키마의 데이터가 내부 스키마의 물리적 장치 중 어디에 어떤 방법으로 저장되는지 대응시킴
매핑(Mapping): 각 단계 간 대응 관계를 정의
데이터 독립성
- 3단계 데이터베이스 구조에서 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김으로써 한 단계 내의 변경에 대해 다른 단계와 상호 간섭이 없도록 하는 것
1. 논리적 데이터 독립성
- 외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
2. 물리적 데이터 독립성
- 개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.