Ch02. 데이터베이스 개념
1. 데이터베이스 정의
1.1.데이터베이스 개념
◎ 용어의 등장
컴퓨터 중심의 데이터베이스 개발과 관리(Development and Management of a computer-centered Data Base)
컴퓨터 중심 데이터베이스 시스템(Computer-centered Data Base System)
- 미국 SDC, 2차 심포지엄(1965.9)
◎ 현대적 의미의 데이터베이스 개념 확립
IDS(Integrated Data Store) <1963. 바크만(Charles W. Bachman)>
◎ 데이터 베이스의 정의
조직의 응용 시스템들이 공용할 수 있도록 통합, 저장 된 운영데이타의 집합
통합데이타 Integrated data |
효율성을 위한 최소한의 의도된 데이타 중복(redundancy) - 최소의 중복(Minimal redundancy) - 통제된 중복(Controlled redundancy) |
저장데이타 Stored data |
컴퓨터가 접근가능한 형태의 데이타 |
운영데이타 opeational data |
조직 교유 기능 유지를 위해 반드시 유지할 데이타 |
공용데이타 shared data |
여러 사용자가 서로다른 목적으로 데이타를 공동으로 이용 |
2. 데이터베이스 특성
실시간 접근성 real-time accessibility |
수시적이고 비정형적인 query에 대하여 실시간 처리로 응답 처리결과를 보고 다음 의사 결정에 바로 반영 가능하도록 |
계속적인 변화 continuous evolution |
데이터베이스는 삽입(Insertion), 삭제(Deletion), 갱신(Update)에 의해 항상 변화하며, 변화속에서 정확한 데이터를 유지 |
동시공용 concurrent sharing |
서로 다른 여러 사용자가 서로 다른 방법으로 동시(Concurrent)에 데이터를 공용할 수 있도록 지원 |
내용에 의한 참조 contents reference |
데이타가 가지고 있는 값(value)에 의해 참조 |
3. 데이터베이스의 구성요소
물리적 구성요소 |
파일시스템(비트 bit, 바이트 byte, 블록 block, 실린더 cylinder 등) | ||
논리적 구성요소 |
| ||
개체 entity |
화일구조: 레코드(record) - 데이타베이스에 표현하려고 하는 유무형의 객체(object), 서로 구별 - 단독 존재 가능 - 하나 이상의 속성(attribute)로 구성 | ||
속성 attribute |
화일구조: 데이터 항목(data item), 필드(field) - 개체의 특성, 상태 기술 - 이름을 가진 가장 작은 논리적 단위 - 단독 존재 불가(정보 측면에서 의미 표현 불가) | ||
개체 인스턴스(entity instance), 개체 어커런스(entity occurrence) |
화일구조: 레코드 인스턴스(record instance), 레코드 어커런스(record occurrence) - 개체를 구성하고 있는 속성들이 구체적인 값을 가지면서 실체화 - 저장되는 구체화 된 객체 | ||
개체 집합(entity set) | - 개체 인스턴스의 집합 | ||
개체 타입(entity type) |
- 속성 이름들로만 기술된 개체의 정의 - 논리적 개념 | ||
관계 relationship |
- 개체집합과 개체 집한 간에 여러가지 유형의 관계 존재 - 개체들을 서로 연관시커 의미를 나타내기 때문에 별개의 요소로 취급 | ||
속성 관계 attribute relationship |
특정 개체를 기술하는 속성들 간의 관계. 묵시적, 암시적 취급 개체 내 관계(intra-entity relationship) | ||
개체 관계 entity relationship |
개체 집합간의 관계, 명시적 취급 개체 간 관계(inter-entity relationship) |
4. 데이터베이스의 구조
실제로 취급하는 데이터베이스는 어커런스(해당 값)으로 구성, 물리적 저장 장치 위에 저장 필요
저장 구조를 누구 중심으로 하느냐에 따라 데이터베이스 구조 구분
사용자 입장: 논리적 구조(Logical structure)
시스템 입장: 물리적 구조(Physical structure)
ch03. 데이터베이스 관리 시스템
3.1. 데이타베이스 관리 시스템의 발전 배경
파일시스템 문제점 |
|||
데이타 종속성 data dependency |
- 데이타 파일이 저장되는 방법, 접근하는 방법이 응용에 맞게 작성 - 데이타 구성방법, 접근 방법 변경시 응용의 변경 필요 | ||
데이타 중복성 data redundancy |
응용프로그램에서 사용하는 구조가 다르면 별도의 화일 사용 필요 - 같은 데이타, 같은 양식, 같은 구조 - 같은 데이터, 다른 양식, 구조 - 부분적으로 같은 데이터 사용시 | ||
데이타 일관성 data consistency |
동일성 유지의 어려움으로 데이타 불일치(모순성 inconsistency) 발생, | ||
|
|
보안성 data security |
동일 내용의 여러 곳에서 동일 수준의 보안성 유지 필요, but 어렵다 |
|
|
경제성 economics |
중복 데이타에 대한 저장공간의 추가 비용 발생 |
무결성 data integrity |
데이타의 정확성 유지의 어려움 |
3.2. 데이타베이스 관리 시스템의 정의
응용프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게 관리해주는 시스템
데이터베이스의 구성, 접근방법, 관리 유지에 대한 모든 책임
3.3. 데이타베이스 관리 시스템의 필수 기능
필수기능 | |||
데이타 정의 data definition |
App - DB 간 인터페이스 제공 | ||
데이터 모델 data model |
DB의 논리적 구조, 특성이 DBMS가 지원하는 데이터 모델에 맞는 기술 필요 | ||
물리적 구조 명세 |
DB를 물리적 저장장치에 저장 | ||
사상 mapping |
데이터의 논리적 - 물리적 구조 사이의 상호변환이 가능하도록 | ||
데이타 조작 data manipulation |
사용자 - DB간 인터페이스 제공 데이터 언어(data language)를 통한 DB연산(검색, 삽입, 삭제, 갱신등) 지원 | ||
데이터 언어 요건 | 사용하기 쉽고 자연스러운 | ||
명확하고 완전한 | |||
효율적인 | |||
데이타 제어 data ocontrol |
DB 내용에 대한 정확성, 안정성 유지 | ||
|
|
무결성(integrity) 유지 |
DB 연산이 정확하게 수행되어 무결성이 유지되도록 제어 |
|
|
보안(security) 유지 |
권한(authority) 검사를 통한 정당한 허가된 사용자만 데이터 접근 보장 |
|
|
병행제어(concurrency control) |
동시접근 처리 ▶ 정확성 유지 |
3.4. 데이타베이스 관리 시스템의 장단점
장단점 |
|||
장점 | |||
데이타 중복의 최소화 |
성능 향상을 위해 중복은 불가피, 최소화 | ||
데이타의 공용 |
|||
데이타 일관성 유지 |
|||
데이타 무경성 유지 |
|||
데이타 보안 보장 | 정당한 사용자, 허용된 데이터와 연산 등 | ||
표준화 | |||
전체 데이타 요구의 조정 | |||
단점 |
|||
운영비 증대 |
|||
특정 응용프로그램 복잡화 | |||
복잡한 백업과 회복 | |||
시스템 취약성 |
3.5. 데이타 독립성(Data Independency)
- 데이타의 논리적, 물리적 구조가 변경되더라도 응용프로그램이 영향 받지 않는 성질
- 데이터 베이스 구조간의 사상(mapping) 능력이 필요
- 논리적 데이타 독립성, 물리적 데이타 독립성
3.6. 데이타베이스 관리 시스템의 역사
1세대 DBMS |
IDS |
Integrated Data Store, Charles Bachman(GE) 네트워크 데이터 모델(network data model)의 기초 | ||
IMS |
Information Management System, IBM 계층 데이타 모델(hierarchical data model) | |||
2세대 DBMS |
데이터베이스 이론 완성 |
새로운 데이터 표현방법인 관계데이터모델(relational data model) 제안 | ||
관계 DBMS가 주류 |
하드웨어 독립적 운영 PC기반 DBMS 출현 | |||
SQL |
Structured Query Language, 세계 표준 데이터베이스 언어 | |||
3세대 DBMS |
객체 데이터베이스 객체 관계 데이터베이스 |
강력한 질의, 고기능 데이터 모델 연구 새로운 데이터 타입(그래픽 등), 복잡한 질의 처리 |
ch04. 데이터베이스 시스템
4.1. 3단계 데이타베이스
- 데이터 독립성을 구현을 위한 기초 제공
- 현실적으로 엄격히 구분해서 지원하는 시스템은 드물다
스키마 schema | 데이타베이스의 논리적 정의, 데이타 구조와 제약조건에 대한 명세(specification) | |||
포함 |
||||
정의 | 개체 entity |
데이타 구조를 표현하는 데이타 객체(data object) | ||
속성 attribute |
개체의 특성을 표현 | |||
관계 relationship |
개체, 속상간에 존재 | |||
제약조건 constraints | 정의된 데이터 구조가 지켜야 할 제약조건 | |||
구별 |
ANSI/SPARC 구조 | |||
|
외부 스키마 external schema |
사용자 view / 외부단계 external level 특정 응용프로그램이나 사용자에 관련된 개체와 관계만이 포함 sub schema : 전체 데이타베이스의 한 논리적 부분이 되기 때문 | ||
|
개념 스키마 conceptual schema |
기관전체 view / 개념단계 conceptual level (전체적이고 종합적 의미) schema : 하나의 데이타베이스 시스템에는 한개만 존재 - 모든 데이타 객체(개체, 관계, 제약조건) - 효율적 관리를 위한 필수정보(접근권한, 보안정책, 무결성 규칙) | ||
|
내부 스키마 internal schema |
물리적 저장장치 view / 내부단계 internal level 개념 스키마에 대한 저장구조 정의 - 저장될 내부 레코드의 형식 - 인덱스의 유무 - 저장 데이타 항목의 표현방법 - 내부 레코드의 물리적 순서 |
3단계 데이터베이스의 예제
prefix 필드 : 레코드 저장에 따른 제어정보(포인터, 플래그 등)
내부필드: 개념스키마의 속성 attribute과 대응관계
사상(mapping)
사상(mapping) |
내부스키마-개념스키마, 개념스키마-내부스키마 간 대응관계에 대한 정의, DBMS가 관리 | |
|
외부/개념 사상 (external/conceptual mapping) |
응용 인터페이스(application interface) 논리적 데이터 독립성 제공 |
|
개념/내부 사상 (conceptual/internal mapping) |
저장 인터페이스(storage interface) 물리적 데이터 독립성 제공 |
데이타 사전(data dictionary)
시스템 카달로그(system catalog)
시스템 데이터베이스(system database)
- 데이터베이스에
4.2. 데이타 언어
4.3. 사용자
4.4. DBMS
4.5. 데이타베이스 관리자
4.6. 하드웨어
- *SDC: System Development Corporation) [본문으로]
'Computer' 카테고리의 다른 글
2019년 첫 자격증 도전. 정보보안 기사 (0) | 2019.03.05 |
---|---|
침입탐지 시스템(IDS: Intrusion Detection System) (0) | 2019.02.25 |
데이터베이스 학습 시작 (0) | 2018.08.08 |
첫번째 필기.. 실패.. (0) | 2017.09.29 |
slack space (0) | 2017.09.01 |