일학습 병행 SW개발_L3 훈련과정

[NCS 모듈]응용SW 기초 기술 활용 - 데이터베이스 기초 활용하기(3)

faring 2024. 12. 4. 16:55
반응형
SMALL

 

데이터베이스

 

1. 데이터(Data)의 개념

데이터는 관찰이나 측정으로 수집한 사실(Fact)을 수치 또는 문자 형태로 표현한 최소 단위의 값.

데이터->정보-> 지식 -> 지혜 (DIKW 피라미드)

 

2. 데이터베이스의 개념

데이터베이스는 공용으로 활용하기 위해 통합하여 저장한 운영 데이터의 집합이다.

 

<데이터베이스 특성>

특성 설명
실시간 접근성 - 요청받은 데이터 처리는 실시간으로 처리되고 결과를 반환해야 함
계속적 변화 - 저장된 데이터는 입력, 수정, 삭제에 의해 지속적으로 변화함
동시 공용 - 서로 다른 목적의 응용 SW 및 사용자에 의해 동시 공용 가능
내용에 의한 참조 - 데이터의 참조는 데이터의 주소가 아닌 저장된 값에 의해 처리됨

 

3. 데이터베이스 관리시스템(DBMS: Database Management System)의 개념

다수의 응용소프트웨어 및 사용자가 데이터베이스에 접근하여 원활하게 사용할 수 있도록 중가나에서 관리해주는 시스템

 

<데이터베이스 관리시스템 기능>

기능 설명
동시성 제어 - 다수 트랜잭션의 동시 처리로부터 데이터 무결성 확보를 위한 제어 수행
회복 관리 - 시스템 오류 및 장애로 인한 데이터 손실 및 결함의 대응
성능 관리 - 데이터 처리 속도 확보를 위한 실행 계획의 최적화
보안 관리 - 비인가 사용자의 접근 제어 및 중요 정보의 암호화

 

4. 데이터베이스 종류

데이터베이스는 데이터를 관리하는 형태에 따라 계층형, 네트워크형, 관계형, 객체지향형, 객체관계형 데이터베이스가 존재

종류 설명 특징
계층형 데이터베이스 - HDB: Hierarchical DB
- 데이터(Record)를 상하 종속적 관 계로 계층화하여 관리하는 데이터 베이스
- 한 레코드는 필드로 구성되며 다 른 레코드들의 포인터로 구성
- 빠른 접근 속도
- 데이터 변화에 대한 유연성 낮음
망형 데이터베이스 - NDB: Network DB
- 망형의 네트워크 구조로 데이터를 관리하는 데이터베이스
- 레코드에 부모 레코드의 포인터도 관리 가능
- 데이터 변화에 대한 유연성 좋음
- 데이터 모델링 복잡
관계형 데이터베이스 - RDB: Relational Database
- 데이터 간의 관계 구조를 관리하 는 데이터베이스
- 레코드의 집합을 테이블로 구성
- 반복 그룹, 자료형 한계
- 동적 변화로 유연성 높음
객체지향형 데이터베이스 - OODB: Object Oriented DB
- 데이터를 객체화하여 관리하는 데 이터베이스
- 객체 재사용, 캡슐화, 상속 가능
- 멀티미디어 지원 가능
- 데이터 모델링 복잡
객체관계형 데이터베이스 - ORDB: Object Relational DB
- 기존의 RDB에 객체의 개념을 적 용한 데이터베이스
- 개발자가 데이터형 정의 가능
- 반복 그룹, 자료형 한계 극복
- 데이터 모델링 용이

 

트랜잭션(Transaction)

 

1. 트랜잭션의 개념

트랜잭션은 데이터베이스의 상태를 변화시키기 위한 최소 작업 단위로 한 번에 처리 되어야 하는 질의어(SQL)의 묶음

 

2. 트랜잭션의 특징

트랜잭션이 원활하게 처리되기 위해서는 ACID가 준수되어야 한다.

 

<트랜잭션의 ACID 특징>

특징 설명
Atomicity(원자성) - 데이터베이스에 트랜잭션은 모두 반영되거나 전혀 반영되지 않아야 함
Consistency(일관성) - 트랜잭션 시작 시점에 참조한 데이터는 종료까지 일관성을 유지해야 함
Isolation(고립성) - 동시에 다수 트랜잭션이 처리되는 경우 서로의 연산에 개입하면 안 됨
Durability(지속성) - 트랜잭션이 성공적으로 완료되면 처리 결과는 영속적으로 반영되어야 함

 

3. 트랜잭션의 고립화 수준(Transaction Isolation Level)

트랜잭션 동시에 처리되는 과정에서 트랜잭션 간에 Read, Write에 대해 허용하는 수준을 SQL 표준에서 4가지로 정의한다.

Isolation Level 설명
Read Uncommitted - Commit되지 않은 데이터의 Read 허용
Read committed - 질의 시작 전 Commit된 데이터의 Read만 허용
Repeatable Read - 트랜잭션 시작 전 Commit 된 데이터의 Read만 허용
Serializable - 병행 처리되지 않고 순차적으로 처리되는 것과 동일한 ⯿준

 

데이터 모델링

 

1. 데이터 모델링 개념

시스템으로 구성하기 위한 데이터의 집합을 도출한 후 각 집합을 구성하는 세부 속성과 식별자를 정의하고 각 데이터 집합 간의 관계를 정해진 표기법으로 시각화하는 과정

 

2. 데이터 모델링 프로세스

데이터 모델링은 요구사항 수집 및 분석을 통해 도출된 데이터집합을 이용해 개념, 논리, 물리 모델링 과정을 통해 데이터베이스 구현.

 

<데이터 모델링 유형>

프로세스 설명
1. 요구사항 수집/분석 - 사용자 및 데이터베이스 용도를 식별하고 사용자 요구사항을 ⯿집 및 분석하여 요구사항 정의서를 작성하는 과정
2. 설계 개념 모델링 - 현실세계의 정보를 추상화하여 주제 영역을 정의하고 식별자/관계/속성 을 도출해 개념 ERD(Entity-Relationship Diagram) 작성
논리 모델링 - 개념 데이터 모델을 특정 데이터베이스(계층형, 망형, 관계형)에 적합하 도록 구조화하여 논리 ERD를 작성하는 과정
물리 모델링 - 특정 DBMS(Database Management System)에서 활용 가능하도록 물리 ERD 및 테이블 정의서 작성 과정
3. 데이터베이스 구현 - 물리 ERD 및 테이블 정의서를 이용해 특정 DBMS에 데이터베이스를 구축하는 과정

 

E-R(Entity-Relationship) 데이터 모델

 

1. E-R 데이터 모델의 개념

현실세계의 구성요소들을 데이터베이스로 관리하기 위해 유형화(Classification), 집 단화(Aggregation), 일반화(Generalization) 과정을 통해 추상화(Abstraction)하여 개체(Entity)와 관계(Relationship)로 구조화한 데이터 모델 .

 

2. E-R(Entity-Relationship) 데이터 모델의 구성요소

구성요소 설명
개체(Entity) - 사람, 사물, 사건, 개념 등의 유무형의 특성을 공유하는 독립적인 실체 로 인스턴스(Instance, 값)의 집합
- 유일한 식별자에 의해 식별 가능해야 하며 반드시 하나 이상의 속성 (Attribute), 하나 이상의 관계(Relation)로 구성되어야 함
속성(Attribute) - 개체(Entity)를 구성하는 특성
관계(Relationship) - 개체 간의 상호 연관성을 표현하는 페어링(Paring)의 집합

 

3. E-R(Entity-Relationship) 데이터 모델 표기법

    (1) E-R 데이터 모델 표기법 유형

유형 설명
Chen 표기법 - 1976년 Peter Chen에 의해 만들어진 최초의 표기법
- 교육용으로 주로 사용되며 실무적으로는 사용하지 않음
정보공학(IE) 표기법 - 1981년 Clive Finkelstein과 James Martin에 의해 발표되고 1980년 중반 James Martin에 의해 체계가 정리된 표기법
바커(barker) 표기법 - 1986년 Richard Barker, Ian Palmer, Harry Ellis 등에 의해 개 발되고 이후 Richard Barker에 의해 지속적으로 개선된 표기법

   (2) E-R 데이터 모델 표기법

        (가) 개체(Entity) 표기법

               개체는 다른 개체에 의존하지 않고 독립적으로 존재 가능한 독립 개체와 독립 개체에 종속되는 종속 개체가 존재

구분 정보공학(IE) 바커(Barker)
독립 개체 두 개의 칸으로 나눠진 모서리가 직각 인 사각형으로 표현 모서리가 둥근 소프트 박스(Soft Box) 로 표현
종속 개체 두 개의 칸으로 나눠진 모서리가 둥근 사각형으로 표현

 

          (나) 속성(Attribute) 표기법

                속성은 반드시 값이 존재해야 하는 필⯿(Mandatory) 속성과 선택(Optional) 속성이 존재하며, 개체에서 하나의 인스턴                    스를 식별할 ⯿ 있는 하나 이상의 속성을 유일식별자(Unique Identifier) 또는 주키(PK, Primary key)라고 한 다.

                또한, 다른 개체에서 상속받은 하나 이상의 속성은 외래식별자(Foreign Identifier) 또는 외래키(FK, Foreign Key)라고

               한다.

구분 정보공학(IE) 바커(Barker)
필tn 구별하지 않음 속성 앞에 * 기호 표기
선택 속성 앞에 o 기호 표기
PK 개체 상단 박스에 표기 속성 앞에 # 기호 표기
FK 속성 뒤에 (FK) 표기 속성 뒤에 (FK) 표기

 

           (다) 관계(Relationship) 표기법 

                  관계는 엔티티 간의 상호 연관 규칙을 표현하는 방법으로 하나의 인스턴스가 몇 개의 인스턴스와 연관이 되는지를

                  관계 기수성(Cardinality, Degree)으로 표현하고, 관계의 필⯿/선택 여부를 관계 선택성으로 표현하며,

                  관계로 인스턴 스를 식별할 수 있는지 여부를 관계 식별성으로 표현한다.

구분   정보공학(IE) 바커(Barker)
기수성 1 라인 (-) 표기 라인 (-) 표기
N 까마귀발(Crow’s Foot) 표기 까마귀발(Crow’s Foot) 표기
선택성 필수 동그라미 생략 실선 표기
선택 동그라미 표기 점선 표기
식별성 식별 실선 표기 UID Bar (|) 표기
비식별 점선 표기 UID Bar (|) 생략

 

관계형 데이터베이스 테이블

 

1. 관계형 데이터베이스 테이블 개념

데이터 모델링을 통해 도출된 개체와 관계를 데이터베이스에서 관리하기 위한 2차원 표 형태의 저장공간

 

2. 관계형 데이터베이스 테이블 구성

구성 설명
필드 열과 행이 교차하는 지점 하나의 값
개체를 구성하는 속성(Attribute)
하나의 인스턴스(Instance)를 구성하는 속성 값의 집합으로 튜플(Tuple), 레코드(Record)라 고도 함

 

SQL(Structured Query Language) 개요

 

1. SQL 개념

SQL은 데이터베이스를 조작하기 위한 구조화된 질의어로 사용자가 처리 과정을 직접적으로 고려할 필요 없는 비절차적 언어이다.

 

2. SQL 표준

SQL은 ANSI(American National Standard Institute)와 ISO/IEC(International Standard Organization/International Electrotechnical Commission)에서 공동 으로 표준화하여 대부분의 데이터베이스 관리시스템은 표준 SQL을 지원한다.

 

SQL 구문

1. DDL(Data Definition Language, 데이터 정의어)

데이터를 정의하는 언어로 데이터베이스 스키마 구조를 변경하는 목적으로 데이터베이스 관리자나 설계자가 주로 사용.

종류 설명
CREATE Database, Table, View, Index 등 생성
ALTER Table의 속성(Attribute), 도메인(Domain), 제약조건(Constraint) 등 변경
DROP Database, Table, View, Index 등 삭제
TRUNCATE Table의 모든 행 삭제

 

2. DML(Data Manipulation Language, 데이터 조작어)

데이터를 조작하는 언어로 데이터를 조회하거나 입력, ⯿정, 삭제하기 위한 목적으로 데이터베이스 관리자나 응용소프트웨어 개발자가 주로 사용. 

종류 설명
SELECT Table, View의 특정 조건 데이터 조회
INSERT Table에 특정 조건의 데이터 입력
UPDATE Table의 특정 조건 데이터 수정
MERGE Table에 특정 조건에 따라 데이터를 입력(INSERT)하거나 수정(UPDATE)
DELETE Table의 특정 조건의 데이터 삭제

 

3. DCL(Data Control Language, 데이터 제어어)

데이터를 제어하는 언어로 데이터베이스 접근을 위한 권한을 부여하거나 회수하는 목적으로 데이터베이스 관리자가 주로 사용

종류 설명
GRANT 특정 사용자에게 특정 객체에 대한 특정 작업 ⯿행 권한 부여
REVOKE 특정 사용자에게 부여된 권한 회⯿

 

2024.12.04 - [일학습 병행 SW개발_L3 훈련과정] - [NCS 모듈] 응용SW 기초 기술 활용 - 미들웨어 기초 활용하기(2)

 

[NCS 모듈] 응용SW 기초 기술 활용 - 미들웨어 기초 활용하기(2)

미들웨어(Middleware) 1. 미들웨어 개념하나의 시스템에서 다양한 목적의 응용소프트웨어가 동시에 수행되거나 복수 시스템의 응용소프트웨어가 사로 연계되어수행되는 경우에도 안정적으로 실

faring.tistory.com

 

*NCS 모듈 참조

반응형
LIST