* 데이터 베이스란?
- 통합, 저장된 운영 데이터의 집합
* 데이터 베이스의 특성
1. 계속적인 변화 (Continuous Evolution)
2. 동시공유 (Concurrent Sharing)
3. 실시간 접근성 (Real-Time Accessibility)
4. 내용에 의한 참조 (Contents Reference)
* 개체(Entity)란?
현실 세계의 대상체, 하나 이상의 속성(컬럼)으로 구성.
* 속성(Attribute)란?
개체의 특성이나 상태기술, 속성만으로 Entity 구분 불가.
* 관계(Relation)란?
두 개 이상의 개체, 속성간 연관성
* DBMS란?
사용자와 데이터 베이스간 중계 역할.
중복성, 종속성 문제 최소화
* 무결성(정합성)이란?
데이터 값들이 항상 일관성을 갖고 데이터의 유효성, 정확성, 안정성을 유지하기 위한 제약조건 및 성질
* 스키마란?
데이터 베이스 구조와 관련된 전반적인 정의.
(개체, 속성, 관계, 제약조건 정의 총칭)
* 스키마의 종류
1. 외부스키마 : 서브스키마. 사용자가 사용하는 부분에서 본 논리적 구조.
2. 개념스키마 : 사용자 관점에서 본 전체적인 데이터 구조.
3. 내부스키마 : 기계관점에서 본 데이터 베이스의 물리적 구조.
* DBA(Database Administrator)란?
데이터 베이스 시스템의 관리 운영에 책임을 지는 사람 또는 집단.
* 데이터 베이스 설계
1. 요구조건 분석 : 사용자의 요구조건에 따라 명세서 작성.
2. 개념적 설계 : 컬럼 도출하는 단계.
3. 논리적 설계 : 사용자가 이해할 수 있도록 테이블로 표현. (스키마 정의)
4. 물리적 설계 : 정규화. 실재기계
* ERD(E-R Diagram)
P.Chen 이 구현.
* 관계데이터 모델이란?
개념적설계 단계에서 만들어진 ERD를 논리적설계 단계의 데이터 모델로 변환하는것.
이중 테이블 구조(2차원 구조로 만들어진 표)로 표현하는 것.
* 용어 정리
릴레이션 = 테이블 = 표
속성 = 열 = 항목 = 컬럼 (차수)
튜플 = 행 = 레코드 = 데이터 (카디널리티)
- 속성(Attribute) : 원자값으로 구성.
- 차수(Dgree) : 속성의 수.
- 카디널리티(Cardinality) : 튜플의 수. (데이터의 수)
- 릴레이션 스키마 : 릴레이션의 이름과 속성, 이름의 집합. (릴레이션 구조, 릴레이션 틀)
- 릴레이션 인스턴스 : 릴레이션 또는 튜플들의 집합. (외연)
*키(Key)의 종류 (키의 조건 : 유일성, 최소성)
- 후보키 : 릴레이션에서 튜플을 유일하게 식별할 수 있는 속성/ 속성집합.
- 기본키 : 여러 후보키들 중에서 튜플을 식별하기 위해 특별히 선택된 키.
- 대체키 : 기본키를 제외한 후보키.
- 외래키 : 다른 테이블을 참조하기 위해 사용되는 속성.
외래키가 기본키인 경우 : 식별관계
외래키가 기본키가 아닌 경우 : 비식별관계
- 슈퍼키 : 튜플을 구분할 수 있는 후보키와 다른 속성들과의 모든 조합.
유일성만 만족하며, 최소성은 만족하지 못한다.
*무결성(INTEGRITY) : 정확성, 안정성 유지를 위한 제약조건
1. 개체 무결성 : 기본키는 Null 값이 올 수 없으며 중복될 수 없다.
2. 참조 무결성 : 외래키는 Null 값이 올 수 없으며 참조릴레이션의 기본키와 같다.
3. 도메인 무결성 : 속성값의 범위가 정해진 경우, 그 범위를 벗어날 수 없다.
4. 키 무결성 : 한 릴레이션에는 반드시 최소 한 개의 키가 존재해야 한다.
* 관계데이터 연산 (관계대수, 관계해석)
1. 관계대수 (절차적언어) : 관계(대)수는 (절)차적 언어이므로 '대절버스' 라고 암기하면 좋다.
- select( σ ) 수평, 튜플, σ(시그마) 사용
표기형식 : σ (선택조건) 테이블명
예 : σ (점수 ≥ 280) 학생
- project( π ) 수직, 한 속성(Attribute)의 값, π(파이) 사용
표기형식 : π (추출할 속성 리스트) 테이블명
예 : π (학번, 이름) 학생
- JOIN ( ▷◁ )
표기형식 : 테이블 1 ▷◁ (조인조건) 테이블 2
① 동일조인(Equip join) : 중복을 포함하는 조인
② 자연조인(Natural join) : 동일조인의 결과에서 중복을 제거한 상태
③ 외부조인(Outer join) : 조인값이 없다면 null로 표시, 일반적인 Left join
④ 세타조인(Theta join) : = 을 제외한 나머지 연산자 조인
⑤ 나누기(Division) : 모두 가진 것을 추출
- A Division B : B 테이블 조건을 만족하는 튜플을 테이블 A 에서 추출
- 테이블 A ( 테이블 속성1 ÷ 테이블 속성2) 테이블 B
⑥ 카티션 프로덕트 연산(X x Y) 전체의 곱
- X : A, B, C
- Y : D, E
- X x Y : AD, AE, BD, BE, CD, CE
2. 관계해석(비절차적언어)
튜플 관계해석
도메인 관계해석
표기형식 : {결과값 ㅣ 조건}
개념적 모델링 결과를 관계 데이터 베이스 구조로 변환하는 과정을 맵핑 룰(Mapping Rule) 이라 함.
맵핑 룰 과정 후, 변화
① Entity → Table
② Attribute → Column
③ 식별자 → PK
④ 관계 → FK
조작어 (DML) - DELETE, UPDATE, SELECT, INSERT
- D.U.S.I (사건 시간을 2시라고 조작했다라고 외우면 편리하다)
SELECT 속성
FROM 테이블명
WHERE 속성조건
GROUP BY 그룹할 속성 ~ HAVING 그룹에서의 조건
ORDER BY 속성 ~ DESC(내림차순), ASC(오름차순)
INSERT INTO 테이블명(속성들)
VALUE (삽입할 값들)
UPDATE 테이블명
SET 속성 = 넣을 값;
제어어 (DCL) - COMMIT, ROLLBACK, GRANT, REVOKE
COMMIT/ ROLLBACK = 변경사항 저장/ 변경사항 취소
GRANT/ REVOKE = 권한부여/ 부여된 권한을 취소
GRANT SELECT ON 학생 JOHNSON WITH GRANT OPTION
→ JOHNSON 에게 학생테이블을 조회할 수 있는 권한을 부여하고
→ WITH GRANT OPTION : 다른 사람에게 권한을 줄 수 있는 권한도 부여한다.
VIEW
CREAT VIEW 뷰 이름(속성들)
AS SELECT 보여줄 속성들
FROM 가져올 테이블
WHERE 조건
WITH CHECK OPTION 조건이외의 값은 삽입 불가
뷰가 정의된 테이블이 제거되면 뷰도 제거된다.
뷰는 변경이 불가하며, 삭제 후 다시 생성해야 한다.
시스템 카탈로그(SYSTEM CATALOG) : 데이터 사전
시스템 카탈로그에 저장된 데이터 : 메타 데이터(META DATA)
일반 사용자도 검색 가능하며, CRUD 는 불가능하다.
CRUD = CREAT, READ, UPDATE, DELETE
INDEX
CREAT UNIQUE INDEX 인덱스명
ON 테이블 (속성정렬값 (DESC or ASC)) CLUSTER
CLUSTER : 인접된 튜플들을 물리적인 그룹으로 묶어서 지정할때 사용.
이상현상(ANOMALY)
논리적 설계시 데이터의 중복과 종속으로 인해 발생되는 문제.
이상현상의 종류 : 삭제이상, 삽입이상, 갱신이상
1. 삭제이상 : 튜플 전체의 삭제로 지우면 안될 정보까지 삭제되는 문제.
2. 삽입이상 : 키 값등이 삽입되지 않는 문제.
3. 갱신이상 : 갱신과정에서 잘못된 작업으로 정보의 일관성이 없어져서 내용 파악이 불가한 문제.
해결 방법 : 정규화(NOMALIZATION) 작업으로 해결한다.
정규화는 진행 결과에 따라서 1NF, 2NF, 3NF, BCNF, 4NF, 5NF 로 불리운다.
※ 외울때 친구들에게 딱지를 다 잃은 동생이 형에게 '전부이겨(서) 따조'라고 했다는 정도의 짧은 스토리를 이용하거나 더 좋은 스토리가 있다면 각자 만들어서 이용하면 된다.
(전)원자값
(부)부분함수적 종속
(이)이행함수적 종속
(겨)결정자가 후보키
(따)다치종속
(조)조인종속
정규화 작업 후, 오히려 효율이 떨어지는 경우, 역정규화를 진행하기도 한다.
역정규화 = 비정규화 = 반정규화
함수적 종속
B는 ADP 함수적으로 종속되었다. A(경정자) → B(종속자)
1. 완전함수종속 : 오직 기본키에만 종속
2. 부분함수종속 : 기본키가 아니거나 합성키중 일부에 종속
3. 이행함수종속 : A → B, B → C, A → C 순으로 종속
'각종 학습자료 > 정보처리기사' 카테고리의 다른 글
정보처리기사(실기) 문답형 시험 (0) | 2015.08.26 |
---|