<1장> 데이터베이스 시스템
데이터: 디스크와 같은 매체에 저장된 사실
정보: 데이터를 처리해서 사람이 이해하기에 적합한 형태로 만든 것
데이터베이스 시스템의 목적은 데이터와 정보의 갭을 줄이는 것
데이터베이스: 어떤 조직체의 업무 관련 사실을 수집한 데이터
ex) 대학교에서 학생들의 신상 정보, 수강 과목, 성적 등의 기록을 데이터베이스에 저장한다.
DB 특징
-조직체의 모든 구성원이 공유하는 자원
-모든 데이터가 중복을 최소화하며 통합
-DB는 운영 데이터와 그 데이터의 설명도 포함(=메타데이터: 데이터에 관한 데이터)
-프로그램과 데이터 간의 독립성 제공
-효율적 접근과 질의 가능
데이터베이스 관리 시스템(DBMS: DataBase Management System)
-데이터베이스 정의, 질의어 지원, 리포트 생성 등을 수행하는 소프트웨어
-모든 DB 상태가 유효한 상태를 유지하도록 보장
데이터베이스 스키마(database shema)
-내포(intension)라고 함
-전체적인 DB구조, 자주 변경X
-DB의 모든 가능한 상태 미리 정의
데이터베이스 상태(database state)
-외연(extension)이라고 함
-DB 내용
-계속 변경O
데이터베이스 시스템(DBS: DataBase System) 구성요소
-데이터베이스
-DMBS
-사용자(응용 프로그램): 직접X, DBMS를 통해
-하드웨어
<데이터베이스>
-시스템 카탈로그와 데이터베이스로 구분
-시스템 카탈로그: 저장된 데이터베이스의 스키마 정보 유지
ex) 시스템 카탈로그=가구 스펙 설명 / 저장된 DB=실제 가구
<DBMS>
-DB 관리( 저장, 검색, 보호, 여러 사용자의 동시 접근 제어)
-SQL(DBMS가 제공하는 표준 DB언어)이라는 특별한 질의어 제공
*데이터를 저장하는 모든 sw도구들이 DBMS는 아니다
*ex) 엑셀, 윈도우의 파일 시스템
<하드웨어>
-보조 기억 장치 > DB 저장
-주기억 장치 > DBMS에서 검색 or 실행
-CPU > 계산, 비교 연산
DBS 요구사항
-데이터 독립성
-대규모 데이터 저장
-효율적인 데이터 접근
-데이터 동시 접근
-백업, 회복
-중복 제어, 일관성 유지
-데이터 무결성 > 데이터 삽입, 삭제, 수정 자동 검사
-데이터 보안 > 권한 확인
-쉬운 질의어
DB 관리할 때 (파일시스템 vs DBMS)
<파일시스템>
-os가 제공
-DBMS 등장 전부터 사용
-파일의 기본적인 구성 요소: 바이트 스트림/레코드
-각각의 파일들이 독립적으로 존재
-데이터에 대한 응용 프로그램 의존도 높음
장점
-별도의 구입 비용X
-속도 빠름
단점
-데이터가 중복해서 저장됨>일관성 유지 어려움, 기억 장소 낭비
-다수 사용자를 위한 동시성 제어 제공X>데이터 일관성 깨질 수 있음
-질의어 제공X
-보안 조치 미흡
-회복 기능X
-프로그램-데이터 독립성X>유지보수 비용이 큼>파일 구조 변경 시 모든 응용 프로그램 수정
-무결성 유지 어려움
<DBMS>
-여러 사용자/응용 프로그램들이 DB 공유
-사용자의 인덱스 접근 경로를 자동 수행
-권한이 없는 사용자로부터 보호
-무결성 제약조건 자동 유지
-시스템 고장 시 그 전의 일관된 상태로 회복
-프로그램-데이터 독립성O>프로그램에 영향을 주지 않으며 DB구조 변경 가능
-사용자에게 적합한 인터페이스 제공
-DB에 대한 접근은 모두 DBMS를 통해
장점
-중복성과 불일치 감소
-시스템 개발/유지 비용 감소
-표준화 시행 용이
-보안 향상
-무결성 향상
-DB 회복O
-DB 공유/동시 접근 가능
단점
-일관성 유지로 인한 응답 시간 증가
-추가적인 하드웨어/DBMS 구입 비용
-직원들의 교육 비용
-비밀과 프라이버시 노출 위험>다수의 사용자가 동시 접근하기 때문
*(1)초기 투자 비용이 클 때, (2)응용이 단순하고 변경되지 않을 것으로 예상될 때, (3)엄격한 실시간 처리 요구사항이 있을 때, (4)다수 사용자의 접근이 불필요할 때 > DBMS를 사용하지 않는 것이 바람직함
파일 시스템 | DBMS |
동시 접근X | 동시 접근O |
데이터 비구조적 유지보수 비용 큼 |
데이터 구조적 유지보수 비용 적음 |
응용 프로그램을 통한 데이터 접근 | 응용 프로그램,질의어를 통한 접근 |
데이터 통합X | 중복 배제, 데이터 통합O |
*'데이터베이스의 테이블'과 '파일 시스템의 파일' 차이점
-테이블에 입력되는 데이터를 최종적으로 파일에 저장
-하나의 테이블에 속한 데이터가 여러 개의 파일에 걸쳐 있거나
여러 개의 테이블에 속한 데이터가 하나의 파일에 저장될 수 있다.
DBMS 발전 과정 패스. 사유: 재미없음
DBMS 언어
-데이터 정의어
-데이터 조작어
<데이터 정의어>(DDL: Data Definition Language)
-데이터베이스 스키마 정의
-데이터 정의어 입력 > DBMS는 사용자가 정의한 스키마에 대한 명세를 시스템 카탈로그에 저장
-기본적인 기능
1) 데이터 구조 생성
ex) SQL - CREATE TABLE
2) 데이터 구조 변경
ex) SQL - ALTER TABLE
3) 데이터 구조 삭제
ex) SQL - DROP TABLE
4) 데이터 접근을 위한 특정 컬럼 위에 인덱스 정의
ex) SQL - CREATE INDEX
<데이터 조작어>(DML: Data Manipulation Language)
-데이터 검색, 수정, 삽입, 삭제
-SQL은 비절차적 언어
-대부분은 SUM, COUNT, AVG 같은 함수가 있음
-단말기에서 대화식으로 입력 > 수행 / C, 자바 등의 고급 프로그래밍 언어로 작성된 프로그램에 내포
-기본적인 기능
1) 데이터 검색
ex) SQL - SELECT
2) 데이터 수정
ex) SQL - UPDATE
3) 데이터 삭제
ex) SQL - DELETE
4) 데이터 삽입
ex) SQL - INSERT
DBMS 사용자
-데이터베이스 관리자(DBA: DataBase Administrator)
-응용 프로그래머
-최종 사용자
-데이터베이스 설계자
-오퍼레이터
'학교 커리큘럼' 카테고리의 다른 글
[소프트웨어보안] <1장> (2) | 2025.04.30 |
---|