학교 커리큘럼

[데이터베이스] <1장>

kjhmhb 2025. 5. 27. 14:33

<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