데이터 베이스
중복 데이터 or 불필요한 데이터 제거 -> 체계적으로 최적화시킨 데이터들의 집합
데이터 베이스의 정의
-
공유데이터(Shared Data) : 데이터들을 공동으로 공유
-
운영 데이터(Operational Data) : 필요한 모든 데이터 and 데이터들의 관계 집합
-
통합 데이터(Integrated Data, 종합데이터) : 중복이 최소화된 데이터들의 집합(불필요한거 제거)
-
저장 데이터(Stored Data) : 저장 매체에 저장
데이터 베이스의 특징
-
계속적인 변화(Continuous Evolution) : 새로운 데이터 삽입 삭제등 데이터 유지하면서 갱신됨
-
실시간 접근(Real Time Accessibility) : 실시간 처리로 응답 가능
-
동시 공유(Concurrent Sharing) : 다수 이용자 이용 가능
-
내용에 의한 참조(Content Reference) : 데이터의 내용 참조하며 접근
-
뛰어난 데이터 간의 연계성(Superb Data Combination) : 데이터와 데이터 사이의 관련된 정보들로 연결됨
스키마(테이블 구조)
외부 스키마(개별 사용자 접근)
|
응용인터페이스
|
개념 스키마(DB 전체)
|
저장인터페이스
|
내부 스키마(실제 레코드 형식)
<데이터베이스 관리 시스템(DBMS)>
-
데이터 저장하고 분석하기 위한 컴퓨터 응용프로그램
-
주요 기능 : DB관리
-
데이터 관리의 복잡성 해결
-
운영 데이터를 통합 저장 -> 공동으로 사용 가능하도록
질의어
-
DDL (Data Definition Language, 데이터 정의어)
-
테이블 생성, 변경, 제어
-
응용프로그램 <-> DBMS 간의 인터페이스 제공
-
Table, row, column, 기본키, 외래키
-
-
DML (Data Manipulation Language, 데이터 조작어)
-
SELECT, UPDATE, INSERT, DELETE
-
사용자 <-> DBMS 간의 인터페이스 제공
-
-
DCL (Data Control Language, 데이터 제어어)
-
데이터 관리자가 사용
-
데이터 베이스 관리 시스템의 필수 기능
-
데이터 정의 기능 (Definition Facility) : 논리적, 물리적 구조 정의
-
데이터 조작 기능(Manipulation Facility) : 데이터 접근 방법 효율, 명확 / 누구나 쉽게 데이터 검색 변경 삭제 조작 가능해야함
-
데이터 제어 기능 (Control Facility) :
-
동시성 제어 (Concurrency Control) : 동시에 데이터 사용 -> 감시 감독
-
보안과 권한 (Security + Authority) : 외부로부터 데이터 보호, 데이터 사용 권한 구분
-
-
무결성 (Integrity)및 제약조건 유지 기능 : 변경돼도 데이터 일관성 유지되어야함
특징
-
무결성
-
일관성
-
회복성 : 복구 가능
-
보안성
-
효율성 : 최적화
DBMS 장단점
-
장점
-
중복 최소화
-
많은 사용자 공유
-
보안, 무결성 유지, 일관성 유지
-
-
단점
-
구축 자체 어렵, 규모 큼
-
파괴되면 회복 어렵
-
독립적이지 않음 : 일부 문제 -> 전체 시스템 영향
-
구축 비용 많이 듦
-
상용 DBMS 선정 시 고려사항
-
협업 : 협업 용이한 툴 선정
-
지원 깊이 : 지원 커퍼리지 파악
-
시각화 : 그래필 요소 지원 여부 파악
-
이 기종 DB 지원 : 하나의 툴로 여러 DB 지원
-
비용 : 총비용 고려
-
편의 기능
<데이터 베이스의 종류>
- 파일 시스템
- HDBMS
-
트리 형태의 구조
-
구현 용이
-
-
접근 속도 빠름
-
종속적인 구조 -> 데이터 변화 유연하게 대응 어렵
-
적응성 ↓
-
-
한 레코드 -> 여러 개의 레코드 포함
-
삽입 삭제 어렵
-
-
1 : N
-
M : N 관계 표현 X
-
-
- NDBMS (Network DBMS)
-
그래프 형태
-
계층형 DB보단 유연
-
레코드로 연결
-
-
설계 복잡
-
데이터 간의 연계성 뛰어남
-
비용 많이 듦
-
-
1:1, 1:N, N:1, N:M
-
데이터 종속성 문제 해결 X
-
- RDBMS (Relational DBMS)
-
테이블 구조
-
단순한 데이터 구조
-
2차원 형태인 테이블로 관계 맺는 개념
-
-
가장 보편화 됨
-
데이터 상호 간의 관계 표현
-
유연성 좋음
-
유지 관리 용이
-
-
시스템 부하가 커서 수행 속도 느림
-
Oracle, SQL Server, MySQL, Maria DB
-
범용 DBMS
-
관계형 DBMS
-
테이블 구조(스키마)정의, 테이블 간의 관계 정의 -> 데이터 관리
-
-
문서 저장 DBMS
-
스키마 구조 필요 X
-
컬럼의 하나 이상의 값 가질 O
-
Client 단에서 후 처리 필요
-
ex) Mongo DB, Amazon Dynamo DB ...
-
-
그래프 DBMS
-
정점과 간선으로 특화
-
노드 간 관계를 구조화 -> 저장
-
ex) Neo4j
-
-
키 값 DBMS
-
가장 간단한 형태
-
임베디드 시스템에 적합
-
ex) Redis, Amazon Dynamo DB
-
RDBMS 모델링
1. 기본용어
- 속성 (Attribute) - 애트리뷰트
-
변수명, 레코드의 필드
-
유일한 값을 가져야 함
-
순서 X
-
- 도메인(Domain)
-
실제 원자 값들의 범위
-
- 튜플 (Tuple)
-
실제 입력된 값들의 집합
-
레코드
-
-
릴레이션
-
표 자체
-
한개 이상의 속성들 집합
-
릴레이션 스키마 + 릴레이션 어커런스
-
- 릴레이션 스키마
-
하나 이상의 속성
-
- 릴레이션 어커런스
-
실제 입력된 튜플들의 집합 -> 실시간 변화
-
- 차수(Degree)
-
릴레이션에서 정의된 속성의 개수
-
레코드 필드 수
-
- 카디날리티 (Cardinality, 기수)
-
튜플의 개수 or 기수
-
레코드의 수
-
- 널 (NULL)
-
속성 값 비어 있는 거
-
2. 릴레이션 특징
-
튜플의 유일성
-
중복 X
-
-
튜플의 무순서
-
속성의 원자성
-
속성의 무순서
-
속성 이름의 유일성
3. RDMS의 키
- 후보키(Candidate Key)
-
유일성, 최소성
-
- 기본키(Primary Key)
-
NULL값 불가
-
- 대체키(Alternate Key, 보조키)
-
후보키 중 기본키 제외한 모든 키
-
- 외래키 (Foreign Key)
- 슈퍼키
-
튜플을 식별하기 위한 두 개 이상의 속성들의 집합
-
유일성 O, 최소성 X
-
-
무결성(integrity) 제약사항
- 도메인 무결성
-
정확성 유지
-
숫자면 숫자로만, 한글은 한글로만
-
- 개체 무결성
-
기본키는 NULL값 X
-
튜플 중복 X
-
- 참조 무결성
-
릴레이션은 참조할 수 없는 외래키 가질 X
-
외래키가 NULL이거나 참조 릴레이션의 기본키값과 동일해야함
-
ex) [학과] 테이블의 '학번'은 [학생]테이블의 '학번'에 있는 값만 넣을 수 있다.
-
- 도메인 무결성
'자격증 > 정보처리기사' 카테고리의 다른 글
[2021 정보처리기사 실기] 정리 (0) | 2021.04.23 |
---|---|
[2-3] 제품 소프트웨어 패키징 (0) | 2021.03.06 |
[3-2] 논리 데이터베이스 설계 (0) | 2021.03.04 |
2021 정보 처리기사 필기 정리 (0) | 2021.03.01 |