-
데이터 베이스 배움터 -홍의경을 보고 공부한 내용
데이터 베이스란
-어떤 조직체에 관련된 사실들을 수집한 데이터
-조직체의 응용시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임이며 구조는 사용되는 데이터 모델에 의해 결정
-데이터 베이스 스키마(자주변하지않음)는 내포 데이터베이스 상태(자주 변함)는 외연이라고 부름
시스템 카탈로그(데이터 사전)
-저장된 데이터 베이스의 스키마 정보를 유지
DBMS
-사용자가 데이터를 효율적으로 질의,수정할 수 있도록 함
-권한이 없는 사용자,시스템고장으로부터 데이터 보호
-데이터베이스 동시 접속 제어
-소프트웨어 패키지
-데이터베이스 언어라고 부르는 특별한 프로그래밍 언어를 한 개 이상 제공
-한 DBMS에서 여러 데이터 베이스를 관리
DBMS장점
-중복성과 불일치 감소
-보다 나은 서비스 제공
-프로그램-데이터 독립성 향상
-개발,유지 비용 감소
-표준화 시행 용이
-보안 향상
-무결정 향상
-조직체의 요구사항을 식별
-다양한 유형의 고장으로부터 데이터 베이스를 회복할 수 있음
-다양한 도구 활용
-데이터 베이스의 공유와 동시 접근이 가능
DBMS단점
-DBMS의 자체 구입 비용이 상당히 비쌈
-DBMS가 자동적으로 DB의 일관성을 유지하기 위해 컴퓨터 자원을 많이 필요로 하여 응답시간이 오래걸림
-백업과 회복의 복잡도도 높고 역설적으로 중앙 집중과 관련된 문제가 발생
-다수 사용자의 접근으로 인해 프라이버시 노출
-데이터 갱신 사용자들을 제어해야 함
그러므로!
- 초기의 투자비용이 너무 큼
- 오버헤드가 너무 큼
- 응용이 단순하고 잘 정의 되었으며 변경되지 않음
- 엄격한 실시간 처리 요구사항 존재
- 데이터에 대한 다수 사용자 접근 불필요
할땐 DBMS를 사용하지 않는 것이 바람직할 수 도 있음!
데이터 모델
-고수준(개념적) 데이터 모델 : 사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적인 구조를 명시 (Ex. entity-Relationship)
-표현(구현) 데이터 모델 : 최종 사용자가 이해하는 개념이면서 컴퓨터 내에서 데이터가 조직되는 방식과 멀리 떨어지지 않음
1)계층 데이터 모델 :
ㄱ.데이터 접근을 미리 응용프로그램에 정의해야함
ㄴ.생성시 관계정의도 미리해야함
ㄷ.레코드 구조 변경도 어렵고 응용프로그램 수정도 어려워 데이터 독립성이 매우 제한적
ㄹ.질의어가 절차적이라서 한개의 레코드를 검색 할 수 있음
2)네트워크 데이터 모델
ㄱ.레코드 구조 변경도 어렵고 응용프로그램 수정도 어려워 데이터 독립성이 매우 제한적
ㄴ.질의어가 절차적이라서 한개의 레코드를 검색 할 수 있음
3)관계형 데이터 모델
ㄱ.모델이 간단하여 이해하기 쉬움
ㄴ.데이터의 위치와 접근방법을 dbms가 결정
-저수준(물리적) 데이터 모델 : 시스템이 인식하는것과 같은데,db에 data가 어떻게 저장되는가를 기술 (Ex. ISAM,VSAM)
DBMS 언어
-DDL(데이터 정의어) : CREATE,ALTER,DROP,CREATE INDEX
-DML(데이터 조작어) : SELECT,UPDATE,DELETE,INSERT
-DCL(데이터 제어어) : 트랜잭션 명시, 권한 부여 또는 취소
ANSI/SPARC 3단계 아키텍처
-외부 단계 : 각 사용자의 뷰
-개념 단계: 사용자 공동체의 뷰 - 조직체의 정보 모델 조직체 전체에 관한 스키마
-내부 단계: 물리적 또는 저장 뷰
**각 하위단계는 상위단계에 영향을 미쳐서는 안됨-외부/개념 사상 : 외부 단계의 뷰를 사용해 질의를 개념단계의 스키마를 사용한 질의로 변환
-개념/내부 사상 : 변환된 질의를 내부 단계의 스키마로 변환하여 디스크의 DB에 접근
-논리적 데이터 독립성 : 개념스키마의 변화로 외부스키마가 영향을 받지 않음
-물리적 데이터 독립성 : 내부 스키마의 변화가 개념적 스키마,외부스키마에 영향을 미치지 않음
출처 url
https://zetawiki.com/wiki/%EA%B4%80%EA%B3%84%EB%AA%A8%EB%8D%B8,_%EA%B4%80%EA%B3%84%ED%98%95DB
'2017년 > Database' 카테고리의 다른 글
DB Browser for SQLite (0) 2017.07.05 sas university edition을 사용해보자 (0) 2017.06.29 sqlite란 2부 (0) 2017.06.29 데이터 베이스 설계 1부 (0) 2017.06.26 sqlite란 1부 (0) 2017.06.25