과목4. 데이터베이스 구축, 1강. SQL 활용-기본 SQL작성(1)
[ 목차 ]
1. 정보시스템
2. 데이터베이스
3. 데이터베이스 특징
4. 데이터베이스 시스템
5. 데이터베이스 시스템의 구성요소
6. 시스템 카탈로그(데이터사전)
7. 데이터베이스 사용자
8. 데이터베이스 관리 시스템 DBMS
9. DBMS 필수 기능(DDL, DML, DCL)
10. BDMS 장점
11. DBMS 단점
12. 스키마 3계층
13. 데이터 독립성
14. 외부/개념 사상(응용 인터페이스)
15. 개념/내부 사상(저장 인터페이스)
16. 스키마
17. 인스턴스
18. 관계형 데이터베이스 주요 용어
19. 관계형 데이터 모델
20. 관계형 데이터 모델의 표현
1. 정보시스템
1) 조직에서 필요한 데이터를 수집, 가공, 저장하여 업무 운영 및 의사결정에 필요한 정보를 제공하는 시설과 장비
2) 데이터(자료)는 현실세계에서 관찰, 측정을 통해 수집한 가공되지 않은 단순한 사실이나 결과값을 의미
3) 정보는 의사결정에 활용하기 위해 데이터를 유용한 형태로 가공, 처리해서 얻은 결과
4) 정보시스템의 데이터 처리 형태는 일괄처리, 온라인 실시간처리, 분산처리로 구분
일괄처리
1) 일정시간 또는 일정량의 데이터를 모아서 한번에 처리하는 방식
2) 시스템 중심의 처리 방식
3) 순차적 처리 업무에 적합하며, 처리 시간이 오래 걸림
4) 급여계산, 회계 마감, 통신요금결산 등의 업무
온라인 실시간 처리
1) 사용자가 데이터 처리를 요구할 경우 즉시 처리하여 결과를 산출하는 방식
2) 사용자 중심의 처리 방식
3) 처리 시간이 짧음
4) 은행 계좌이체, 온라인 쇼핑몰 등 시간 제약적 업무에 적합
분산처리
1) 지리적으로 분산된 여러 컴퓨터를 네트워크로 연결하여 논리적으로 하나의 시스템을 사용하는 것처럼 운영
2) 시스템 구축과 운영이 복잡
3) 시스템 확장성 용이
4) 동영상 서비스, SNS 서비스 등 대용량 실시간처리 업무에 적합
2. 데이터베이스
1) 조직에서 업무운영과 의사결정에 필요한 데이터들을 여러 사용자, 응용시스템들이 공동으로 사용할 수 있도록 구조적으로 통합하여 컴퓨터에 저장한 데이터들의 모음
2) 업무 처리에 필요한 데이터를 활용하기 유용한 구조로 저장한 데이터의 집합
3) 학사관리, 도서관리 등 관련 데이터를 검색, 수정, 삭제가 쉽도록 구조화하여 저장한 데이터의 모음
4) 저장된 데이터와 저장된 데이터의 구조와 제약사항 등에 대한 메타데이터(데이터사전, 시스템카탈로그)를 포함
통합된 데이터 Integrated data : 동일 데이터에 대한 중복 최소화
저장된 데이터 stored data : 컴퓨터가 접근할 수 있는 기억장치에 저장된 데이터
운영 데이터 operational data : 존재 목적이 명확하고 유용성을 지닌 데이터
공용 데이터 shared data : 여러 사용자가 서로 다른 목적으로 사용하는 공유 가능한 데이터
3. 데이터베이스 특징
1) 실시간 접근성 real-time accessibility : 사용자 또는 시스템의 질의에 대해 실시간처리, 응답
2) 계속적인 변화 continuous evolution : 데이터의 삽입, 삭제, 갱신 작업으로 인해 동적으로 계속 변화하며 항상 최신의 데이터를 유지
3) 동시 공용 concurrent sharing : 다수의 사용자 또는 시스템이 동시에 같은 내용의 데이터를 이용 가능
4) 내용에 의한 참조 content reference : db에 저장된 데이터를 참조할 대 저장된 레코드의 주소나 위치가 아니라 사용자가 요구하는 데이터의 내용을 기반으로 참조
4. 데이터베이스 시스템
1) 데이터베이스를 이용해 데이터를 저장, 관리해서 필요한 정보를 생성하는 컴퓨터 시스템
2) 기존 파일시스템의 문제점인 데이터의 종속성, 중복성을 개선하기 위해 개발
3) 파일시스템은 응용프로그램과 데이터 간의 상호의존 관계가 긴밀하여 파일에 저장된 데이터의 구조가 변경되면 응용프로그램을 수정해야 하는 데이터 종속성이 존재
4) 파일시스템에서는 같은 내용의 데이터가 여러 파일에 중복 저장되어 데이터의 일관성, 무결성 유지, 보안이 어려움
5. 데이터베이스 시스템의 구성요소
1) 질의어 처리기 : 사용자의 데이터 처리요구를 해석하여 처리하는 역할
2) DML 컴파일러
1] DML로 작성된 데이터의 처리(삽입,삭제,수정,검색)요구를 분석하여 런타임 데이터베이스 처리기가 이해할 수 있도록 해석하는 요소
2] DML 명령어를 컴파일하여 목적 코드를 생성하는 요소
3) DDL 컴파일러 : DDL로 명세된 정의를 데이터사전에 저장
4) 트랜잭션 관리자
1] DB에 접근하는 과정에서 사용자의 접근 권한이 유효한지를 검사
2] 데이터베이스 무결성을 유지하기 위한 제약조건 위반 여부를 확인
3] 회복이나 병행 수행과 관련된 작업 담당
5) 런타임 데이터베이스 처리기 : 저장 데이터 관리자를 통해 DB에 접근하여 DML 컴파일러부터 전달받은 데이터 처리 요구를 DB에서 실제로 실행하는 요소
6) 저장 데이터 관리자 : 디스크에 저장되어 있던 데이터사전과 사용자 데이터베이스를 관리하고 실제로 접근하는 역할
6. 시스템 카탈로그(데이터사전)
1) 데이터베이스의 객체와 구조들에 관한 모든 데이터를 포함하는 시스템 테이블
2) 사용자 릴레이션처럼 SELECT문을 사용하여 내용을 검색할 수 있지만 어떤 사용자도 직접 갱신할 수 없음
3) DBMS는 시스템 카탈로그에 릴레이션, 애트리뷰트, 인덱스, 사용자, 권한 등 각 스키마 객체 유형별로 별도의 정보 테이블을 유지
7. 데이터베이스 사용자
1) 데이터베이스 관리자 DBA
1] 데이터베이스를 정의하고 제어하는 사람 또는 그룹
2] 데이터베이스 관리 시스템과 컴퓨터 시스템에 대한 지식을 보유
3] 데이터베이스를 설계, 관리, 운용, 통제하는 역할을 담당
4] 데이터베이스 시스템을 감시하고 성능을 분석
2) 데이터 설계자 DA
1] 조직, 기업의 전사 데이터 구조를 체계적으로 정의하는 사람 또는 그룹
2] 데이터 설계 원칙과 데이터 표준 정의, 데이터 관리체계 수립 등 데이터 모델링과 데이터 구조관리를 수행
3) 응용프로그래머 Application Programmer
1] 프로그래밍 언어를 이용해 데이터베이스에 접근하여 데이터를 검색, 조작하는 사람
2] 프로그래밍 언어와 데이터베이스 언어, 데이터베이스 관리 시스템에 대한 지식 보유
4) 일반 사용자 End User
1] 데이터를 검색, 조작하기 위해 데이터베이스 질의어를 이용하여 데이터베이스 관리 시스템에 접근하는 사람
8. 데이터베이스 관리 시스템 DBMS
1) 데이터베이스를 통합 관리하는 소프트웨어 패키지를 의미
2) 사용자가 새로운 데이터베이스를 생성, 구조를 명시, 데이터를 효율적으로 질의, 수정, 시스템의 고장이나 권한 없는 사용자로부터 데이터를 보호, 여러 사용자가 데이터베이스에 접근하는 것을 제어하는 소프트웨어 패키지
3) 데이터베이스를 정의하고 질의어를 지원하고 리포트를 생성하는 등의 작업을 수행하는 소프트웨어
4) 데이터베이스에 대한 효율적 접근과 질의 기능 제공, 프로그램과 데이터 간의 독립성을 보장(종속성 X)
9. DBMS 필수 기능(DDL, DML, DCL)
1) 정의 기능 Definition Facility : DB에 저장된 데이터의 타입, 구조, 제약조건 등을 명시하는 기능 제공
2) 조작 기능 Manipulation Facility : 데이터를 검색, 삽입, 삭제, 갱신 등 데이터 처리 기능 제공
3) 제어 기능 Control Facilty : 데이터의 안전성, 정확성의 유지를 위해 무결성 관리와 병행제어, 접근제어 등의 기능 제공
4) DB에 접근하여 데이터 검색, 삽입, 삭제, 갱신 등의 연산작업을 위한 사용자와 DB 사이의 인터페이스 수단을 제공
10. BDMS 장점
1) 데이터 중복 최소화 : 데이터 통합 구성, 제어된 중복
2) 데이터 공용 : 데이터 공유로 데이터 유지 부담 면제
3) 무결성 : DB에 저장된 값과 현실 세계 실제 값의 정확성
4) 일관성 : 중복 데이터간 불일치성 제어
5) 표준화 : 데이터 처리/접근 제어 기능 표준화
6) 보안 : DB 관리/접근 제어, 의도적, 불법적, 우연한 데이터의 손상 보호
11. DBMS 단점
1) 운영비 증대 : DBMS 도입 비용, 시스템 운영비, 특정 운영 프로그램
2) 복잡함 : 특수목적 Application 구조 복잡, 성능 저하
3) 복잡한 백업과 회복 : 장애를 대비한 백업/회복 수립 필요
4) 시스템 취약성 : db 장애가 전체 시스템 정지 초래
12. 스키마 3계층
1) 외부 스키마
1] = 서브 스키마, 사용자 뷰
2] 사용자가 보는 관점
3] 사용자에 따라 다르며 여러 개 존재
2) 개념 스키마
1] = 스키마, 전체적인 뷰
2] db 전체적인 논리적 구조
3] 범기관적, 총괄적
3) 내부 스키마
1] db 전체적인 물리적 구조
2] 실제 데이터를 저장
3] DBA가 관리
스키마
- 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 설계도
- 데이터베이스를 구성하는 데이터 개체
- 엔터티, 속성, 이들간의 관계, 데이터 조작 또는 이들 데이터 값들이 갖는 제약조건에 관한 정의를 총칭
외부스키마 <-> 개념스키마 <-> 내부스키마 <-> DB
13. 데이터 독립성
1) 데이터베이스의 논리적/물리적 구조를 변경하더라도 응용프로그램이 영향을 받지 않는 특성
2) 논리적 독립성 : DB의 논리적 구조(개념 스키마)를 변경시키더라도 기존 외부 스키마와 응용프로그램에 영향을 주지 않는 특성
3) 물리적 독립성 : 응용프로그램이나 DB의 논리적 구조에 영향을 주지 않고 DBMS가 데이터의 물리적 구조를 변경할 수 있는 특성
14. 외부/개념 사상(응용 인터페이스)
1) 외부 스키마와 개념 스키마 간 대응 관계 정의
2) 개념 스키마 변경 시 사상만 변경시켜 주면 응용 프로그램에 영향을 미치지 않음
15. 개념/내부 사상(저장 인터페이스)
1) 개념 스키마와 내부 스키마 간 대응 관계 정의
2) 개체의 속성이 내부 필드와 어떻게 대응하는지 정의
16. 스키마
1) 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 의미하며 메타데이터, 내포라고도 함
2) 실세계의 특정 부분을 표현하며 특정 데이터 모델을 사용하여 만들어짐
3) 하나의 조직에서 관심 있는 데이터의 구조를 기술한 언어적이고 그래픽적인 표현으로 시간 독립적인 고정된 집합체
4) 데이터 모델은 DB의 구조를 기술하는데 사용되는 개념들의 집합과 연산자, 제약조건들을 포함한 것으로 다양한 데이터 모델이 존재
5) 스키마는 데이터의 구조를 나타내는 데이터사전 DBMS의 시스템 카탈로그에 저장
도메인 : 한 속성에 나타날 수 있는 값들의 범위(집합)
차수 : 속성들의 수
카디날리티 : 튜플(행)들의 수
널 : 해당없음 등의 이유로 정보 부재를 나타내기 위해 사용하는 특수한 데이터 값으로, 공백이나 0과 다름
17. 인스턴스
1) 스키마에 의해 정의된 특정 시점의 데이터들의 모임이며 시간에 따라 동적으로 변화
2) 인스턴스는 특정 시점의 데이터베이스 상태를 나타내며 외연이라고도 표현
3) 데이타 모델과 스키마, 인스턴의 관계
18. 관계형 데이터베이스 주요 용어
1) 릴레이션 : 2차원의 테이블
2) 레코드 : 릴레이션의 각 행
3) 튜플 : 레코드를 좀 더 공식적으로 부르는 용어
4) 어트리뷰트 : 속성. 릴레이션에서 이름을 가진 하나의 열
5) 도메인 : 한 애트리뷰트에 나타날 수 있는 값들의 집합. 프로그래밍 언어의 데이터 타입과 유사하며 같은 도메인이 여러 애트리뷰트에서 사용될 수 있음
6) 차수 : 한 릴레이션에 들어있는 애트리뷰트들의 수. 유효한 릴레이션의 최소 차수는 1이며 릴레이션의 차수는 자주 바뀌지 않음
7) 카디날리티 : 릴레이션의 튜플 수. 유효한 릴레이션은 카디날리티 0을 가질 수 있으며 릴레이션의 카디날리티는 시간이 지남에 따라 계속 변화
8) 릴레이션 스키마 : 릴레이션의 이름과 릴레이션의 애트리뷰트 들의 집합을 의미하며 릴레이션을 위한 틀
9) 릴레이션 인스턴스 : 특정 시점에 릴레이션에 들어있는 튜플들의 집합으로, 시간에 따라 계속 변화
19. 관계형 데이터 모델
1) 2차원 테이블을 구성하여 테이블 내에 있는 속성 간의 관계를 설정하거나 테이블 간의 관계를 정의하는 DB구조
2) 데이터 간의 관계를 기본키와 이를 참조하는 외래키로 표현
3) 테이블 간의 관계를 1:1, 1:N, N:M관계로 자유롭게 표현
4) 과거 계층형, 네트워크형 모델이 있었지만 관계형 데이터 모델의 구조가 더 유연하여 실세계를 현실감 있게 반영
관계의 종류
1) 1:1 : E1에 있는 한 개의 데이터는 E2에 잇는 한 개의 데이터와 일치하는 관계
2) 1:N : E1에 있는 각각의 데이터는 E2에 잇는 하나 이상의 데이터와 일치하나 E2에 있는 데이터는 E1에 있는 데이터와 단지 하나 만이 일치하는 관계
3) N:M : E1에 있는 각각의 데이터는 E2에 있는 하나 이상의 데이터와 일치하고 E2에 있는 데이터도 E1에 있는 하나 이상의 데이터와 일치하는 관계
20. 관계형 데이터 모델의 표현
1) 고객 테이블, 예약 테이블, 예약서 테이블을 관계 데이터 모델로 표현
2) 고객 테이블 기본 키는 번호이고 예약서 테이블의 기본 키는 예약번호, 예약 테이블의 기본 키는 번호
3) 예약 테이블의 번호와 예약 번호는 외래 키
4) 고객 테이블과 예약 테이블은 1:N 관계에 있고 예약 테이블과 예약서 테이블은 1:1 관계
'자격증 > 정보처리기사 4과목' 카테고리의 다른 글
4-6강 SQL 활용-고급 SQL 작성(2) (0) | 2020.04.27 |
---|---|
4-5강 SQL 활용-고급 SQL 작성(1) (0) | 2020.04.27 |
4-4강 SQL 활용-기본 SQL 작성(4) (0) | 2020.04.13 |
4-3강. SQL 활용-기본 SQL 작성(3) (0) | 2020.04.13 |
4-2강. SQL 활용-기본 SQL 작성(2) (0) | 2020.04.13 |