티스토리 뷰

퀴즐렛에 정리한거 보기 편하게~ 

 

[1,2 점 출제 가능]
I = P(D)


- 데이터: 사실이나 값
- 정보: 의미있는 값들
정보 = 데이터를 목적에 맞게 처리한 것

[1chap]
1. 통합된 데이터
2. 저장 데이터
3. 운영 데이터
4. 공용 데이터

1. 각 사용자들의 데이터를 한곳에 모아 통합한 데이터(자료의 중복을 배제)

2. 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료

3. 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료

4. 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

[1chap]
1. 실시간 접근성
2. 계속적인 변화
3. 동시 공용
4. 내용에 의한 참조

1. 정형화 되어있지 않고 수시로 오는 질의(select 구문)에 대하여 실시간 처리에 의한 응답이 가능해야 한다.

2. 데이터베이스는 새로운 데이터의 삽입(Insert),삭제(Delete),갱신(Update)로 항상 최신의 데이터를 유지한다.

3. 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.

4. 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

[1chap]
- 개체 타입과 인스턴스
1. 개체
2. 속성
3. 개체 타입
4. 개체 인스턴스


- 개체(entity) = 튜플 : 실제 세계에서 서로 구분되는 객체, 사람이 생각하는 한 개념이나 정보 단위(학생, 교과목 등) 

- 속성 = 도메인 : 학생이 개체면 이를 구성하는 학번, 이름, 학과가 다~ 속성!
 - 예) 생일 : 19931203-> 단일 값 1993|12|03->다중 값
 - 파생(유도: derived) attribute와 저장(stored) attribute
 - 예) 친구 : 친구의 이름->저장 attribute, 친구의 수->파생 attribute
 - Null value : <해당 없음>, <모름>

- 개체 타입: 학생 개체에서 (학번, 이름, 학과) 이렇게 3 속성 묶은 것! = 속성 이름들로만 구성된 것

- 개체 인스턴스 = 개체 오쿼런스: 개체를 구성하는 속성에 실제 값을 넣은 것

[기출_1chap]
1. 파일 처리 시스템 예시 들면서 설명하기
2. 파일 시스템의 문제점 4가지
3. 파일처리 시스템 VS 데이터베이스관리시스템(=DBMS 등장배경)
 - 데이터 중복성, 종속성 설명

1. 예시) 파일 시스템에서 A직원은 학생 정보(학번, 이름, 수강 과목, 학점) 저장하고, B직원은 수업 정보(과번, 과목이름, 교수번호, 수강학생학번) 이렇게 저장한다 하면 학생의 학번이 중복 저장! => 업데이트 할 때도 2배로 수정해줘야 함(여러 제약 조건 적용이 힘듬) 즉, 원자성 보장 X
+ 논리적 파일 구조 = 물리적 파일 구조여야 하므로 1:1대응 필요-> 물리적 데이터 구조 접근방법 개발자가 응용프로그램에 구현해야 함

2. 문제점 4가지
- 내부적인 일관성 깨짐
- 중복 데이터들 모~두 보안 동일하게 유지하기 힘듬(보안성)
- 내용 같아도 다른 파일에 있으면 다른 데이터니까 그만큼 추가적인 저장 공간에 대한 비용, 데이터 갱신 비용 많이 듬(경제성)
- 여러 중복 데이터에 대해 정확성을 유지하기 힘듬(무결성)
- 데이터 형식 표준화(예2) EMAIL 주소, EMAIL -> 'EMAIL 주소'로 통일)

3. DBMS와 비교
- 데이터 중복성, 종속성 해결
- 중복성: 데이터 내용이 같아도 파일 구조가 다르면 다른 데이터로 취급 = 데이터가 중복 저장됨
- 종속성: 데이터 구조나 접근 방법 변경 시, 응용 프로그램의 데이터 접근 코드도 바꿔야 함

[기출_1chap]
2009 년 기출문제




[1chap]
파일 시스템과 DBMS 차이 그림으로




[1chap]
DBMS의 필수 기능 3가지


1) 정의 기능
: 응용 프로그램과 데이터베이스 상호 작용 수단 제공, 데이터의 물리적인 구조를 명세(테이블 생성, 삭제 등 생각)

2) 조작 기능
: 사용자와 데이터베이스 상호작용 수단 제공, 사용자의 요구에 따라 데이터베이스 처리 및 조작

3) 제어 기능
: 무결성, 보안 관련된 기능, 트랜잭션 관련된 기능
* 트랜잭션이란? = 데이터베이스 변화시키기 위한 최소 작업 단위(더이상 쪼갤 수 없음)

+위의 이미지 참고

[1chap]
데이터베이스 3단계 스키마(이유 설명) 종류, 논리적/물리적 데이터 독립성 설명

* 스키마: 개체,관계, 속성,제약조건등을 포함한 데이터베이스의 '틀', 데이터의 구조, 유형을 정의, DDL 관련


왜 3단계로 스키마 분리하는 거임?
: 사용자의 응용프로그램과 물리적 데이터베이스를 분리하기 위함

- 외부 스키마: 사용자에게 보여지는 단계, 사용자 관점, 사용자 뷰(view)들을 포함하여 특정 사용자 그룹이 관심을 갖는 부분만 나타냄, 예시) 제주도 맛집 어디어디냐?: A는 네이버 검색, B는 지인에게 물어보기, C는 카카오맵 하트 수로 찾기

- 개념 스키마: 논리적인 데이터베이스 전체의 구조, 외부 스키마의 통합, 전체 사용자를 위한 디비 구조, 데이터 다 들어있는 곳

- 내부(저장) 스키마: 물리적인 데이터 저장 형식, 데이터 저장구조의 세부사항과 데이터베이스에 대한 접근 경로를 기술함

- 논리적 데이터 독립성(추상화와 유사): 하나의 개념 스키마에서 여러 관점으로 외부 스키마를 만들 수 있는 것, 예)비밀번호를 6자리에서 8자리로 제약조건을 바꾼다 하더라도, 외부스키마는 바뀌지 않음, 맵핑만 잘해주면 됨, 개념 스키마가 변경되면 관련된 외부/개념 사상만 정확하게 수정해주면 됨

- 물리적 데이터 독립성: 개념 스키마 저장되어 있는 실제 물리적 구조/위치 변경해도 논리적인 개념 스키마에는 영향을 안주는 것, 내부 스키마가 변경되면 관련된 개념/내부 사상만 정확하게 수정해주면 됨

[1chap]
데이터베이스 3단계 스키마에서 사상 종류?


하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성을 "데이터 독립성"

응용 인터페이스 = 외부/개념 사상, 논리적 데이터 독립성

저장 인터페이스 = 개념/내부 사상, 물리적 데이터 독립성

장치 인터페이스 = 내부/저장 디비 사상

[1chap]
스키마도 정의하고 매핑도 했으면 그 정보들을 기록할 필요가 있는데, 어디다 기록하는지?

데이터 사전

[1chap]
데이터사전 특징(5가지)

-스키마, 사상 정보, 다양한 제약조건 등을 저장
-시스템 카탈로그 라고도 함
-메타데이터
-데이터베이스 관리 시스템이 스스로 생성하고 유지함
-일반 사용자도 접근이 가능하지만 저장 내용을 검색만 할 수 있음

[1chap]
최종적인 데이터베이스 관리 시스템의 구성(그림)




[1chap]
시스템 카탈로그란?

데이터 사전에 수록된 데이타를 참조하는데 필요한 정보 수록(데이터 사전 인덱스 느낌?)

[1, 3chap]
- 데이터 정의어란?
- 데이터 조작어란?
- 데이터 제어어란?

1) DDL
:DB, 스키마를 정의하거나, 수정 또는 삭제하기 위해 사용한다.

2) DML
:데이터의 삽입, 삭제, 수정, 검색 등의 처리를 요구하기 위해 사용한다.
절차적 데이터 조작어
-사용자가 어떤 데이터를 원하고 그 데이터를 얻기 위해 어떻게 처리해야 하는지도 설명
비절차적 데이터 조작어(선언적 언어)
-사용자가 어떤 데이터를 원하는지만 설명

3) DCL
: 데이터 관리 기능
<사용목적>
- 무결성 : 정확하고 유효한 데이터만 유지
- 보안 : 허가받지 않은 사용자의 데이터 접근 차단, 허가된 사용자에 권한 부여(grant, revoke등)
- 회복 : 장애가 발생해도 데이터 일관성 유지(장애 발생 시 재실행, 취소 연산등을 이용) 
- 병행 수행 = 동시성 제어: DB 동시 접근 가능하게 하는 제어

[1, 3chap]
사용자 구분지어 설명
1) 일반 사용자
2) 응용 프로그래머
3) 데이터베이스 관리자

1) 데이터베이스에 접근하여 데이터를 조작(삽입, 삭제, 수정, 검색)하는 사람이다.주로 데이터 조작어를 사용한다. 직접 쿼리문을 사용하는 것이 아니라 GUI를 이용해 데이터를 조작한다.

2) 프로그램 작성 시 DML 즉 데이터 부속어(DSL)를 삽입해 데이터베이스에 접근하는 사람(예: 자바 jsp 코드에 DB 접근 코드 삽입해서 DB 접근)

3) DDL과 DCL을 이용해 데이터베이스 시스템을 운영 및 관리하는 사람
뭐 디비 만들고 제약조건이나 권한 같은거 수정하는 사람

[1,3 chap]
데이터베이스 관리 시스템의 주요 구성 요소(그림 설명할 줄 알기)


● 질의어 처리기
일반 사용자가 입력한 질의문을 컴파일 해서 DB에 접근하기 위한 Object Code를 생성
● 트랜잭션 관리자
데이터를 일관되게 변경하는 하나 이상을 DML 문장으로 구성된 Transaction 단위의 작업을 수행, DB 접근 과정에서의 무결성 제약 조건 검사, 데이터에 대한 접근 권한 검사, 여러 사용자의 요구를 동시에 처리하기 위한 병행 제어, 장애 발생시 복구 작업등을 수행

트랜잭션
데이터를 일관되게 변경하는 하나 이상의 DML 문장

● DDL 컴파일러
DDL 로 정의된 스키마를 내부 형태로 변환해서 시스템 카탈로그에 저장
● DML 예비 컴파일러
호스트 언어로 작성된 응용 프로그램에 삽입된 DML을 추출한 다음, 그 자리에 함수 호출문을 삽입한다.
● DML 컴파일러
DML 명령어를 컴파일해서 오브젝트 코드로 변환
● Runtime Database Processor (런타임 DB 처리기)
실행 시간에 DB 접근 관리
● 저장 데이터 관리자
디스크에 저장되어 있는 사용자 DB나 시스템 카탈로그에 대한 접근 제어

 

댓글