'CS(Computer Science)' 카테고리의 글 목록 — SH's Devlog

CS(Computer Science)

CS(Computer Science)/Database

[Database] 10. 트랜잭션, 장애와 회복, 병행 제어

이번 포스트에서는 데이터베이스의 트랜잭션, 장애와 회복, 병행 제어에 대해 알아보겠습니다.트랜잭션(Transaction)[ 트랜잭션의 개념 ]트랜잭션(Transaction)은 하나의 작업을 수행하기 위해 필요한 데이터베이스 연산들을 모아놓은 것으로, 논리적인 작업의 단위.트랜잭션은 데이터베이스에 장애가 발생했을 때 데이터를 복구하는 작업의 단위도 된다.데이터베이스의 연산은 SQL 문으로 표현되므로 트랜잭션을 작업 수행에 필요한 SQL 문들의 모임으로 이해해도 좋다.트랜잭션을 통해 데이터베이스가 항상 정확하고 일관된 상태를 유지할 수 있도록 다양한 기능을 제공할 수 있다.[ 트랜잭션의 특성 ]트랜잭션이 성공적으로 처리되어 데이터베이스의 무결성과 일관성이 보장되려면 트랜잭션의 네 가지 특성인 원자성, 일관성..

CS(Computer Science)/Database

[Database] 9. 이상현상(Anomaly), 정규화(Normalization)

이번 포스트에서는 이상현상(Anomaly), 정규화(Normalization)에 대해 알아보겠습니다.이상 현상(Anomaly)이상현상(Anomaly)은 불필요한 데이터의 중복으로 인해 발생하는 부작용들.함수 종속 관계 여러 개를 하나의 릴레이션으로 표현하는 경우에 주로 발생한다.이상 현상에는 삽입 이상(insertion anomaly), 갱신 이상(update anomaly), 삭제 이상(deletion anomaly)이 있다.  위 그림의 이벤트참여 릴레이션은 고객들이 이벤트에 참여한 결과를 저장하고 있는 릴레이션이다. 고객에 대한 정보인 고객아이디, 고객이름, 등급과 고객이 참여한 이벤트에 대한 정보인 이벤트번호, 당첨여부를 포함하고 있다. 한 고객이 여러 이벤트에 참여할 수 있으므로 고객아이디만으로..

CS(Computer Science)/Database

[Database] 8. 데이터베이스 설계

이번 포스트에서는 데이터베이스 설계에 대해 정리하겠습니다.데이터베이스 설계 단계데이터베이스 설계 단계는 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정.[ E-R 모델과 릴레이션 변환 규칙을 이용한 설계 ]관계 데이터 모델을 기반으로 두고 데이터베이스를 설계할 때는 두 가지 방법을 주로 사용한다. 1. E-R 모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계2. 정규화를 이용한 데이터베이스 설계 (이상 현상을 제거하면서 올바르게 설계해나가는 방법으로 다음 포스트에서 정리 예정) 아래와 같이 5단계로 진행된다.[ 1단계: 요구사항 분석 ]요구사항 분석 단계는 데이터베이스의 용도를 파악하고 요구사항을 수집한다.결과물: 요구 사항 명세서[ 2단계: 개념적 설계 ]개념적 설계 단계는 1단..

CS(Computer Science)/Database

[Database] 6. 관계 데이터 연산

이번 포스트에서는 관계 데이터 연산에 대해 정리하겠습니다.관계 데이터 연산의 개념[ 관계 데이터 모델 ]관계 데이터 모델 = 연산 + 데이터 구조 + 제약조건 으로 이루어진다.[ 관계 데이터 연산 ]연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것. 데이터베이스 시스템의 구성 요소 중 데이터 언어의 역할을 한다.대표적인 관계 데이터 연산은 관계 대수와 관계 해석이 있다.관계 대수는 원하는 데이터를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어(procedural language)관계 해석은 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어(nonprocedural language)관계 대수와 관계 해석은 능력이 동일함. -> 즉, 관..

CS(Computer Science)/Database

[Database] 5. 관계 데이터 모델

이번 포스트에서는 관계 데이터 모델에 대해 정리하겠습니다.관계 데이터 모델의 개념[ 관계 데이터 모델의 개념과 기본 용어 ]관계 데이터 모델 -> 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 중 하나다. 하나의 개체에 대한 데이터를 릴레이션 하나에 담아 데이터베이스에 저장한다.   릴레이션 -> 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것.속성(Attribute) -> 릴레이션의 열. ex) 고객아이디, 고객이름, 나이, 등급, 직업, 적립금이라는 속성튜플(Tuple) -> 릴레이션의 행. ex) 위의 표에서 고객 개체의 4개에 대한 인스턴스도메인 -> 하나의 속성이 가질 수 있는 값들의 집합. ex) 등급 속성의 값으로 vip, gold, silver, bronze 중 하..

CS(Computer Science)/Database

[Database] 4. 데이터 모델링

이번 포스트에서는 데이터 모델링에 대해 정리하겠습니다.데이터 모델링과 데이터 모델의 개념데이터베이스는 현실 세계에 존재하는 수많은 데이터 중에서 조직을 운영하는데 꼭 필요한 데이터만 선별하여 컴퓨터에 저장한 것이다. 아래 그림은 현실 세계의 병원을 컴퓨터 세계의 병원 데이터베이스로 변환한 모습이다. 데이터 모델링(Data modeling) -> 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정. 추상화(abstraction) -> 데이터베이스로 변환하는 과정을 생각하는 과정. 예를 들면 코끼리를 데이터베이스를 변환하는 과정에서 데이터베이스로 뽑아낼만한 가치가 있는 중요 데이터만 뽑아내는 작업. 개념적 모델링(conceptual modeling) -> 현실 세계에서 코끼리에 대한..

CS(Computer Science)/Database

[Database] 3. 데이터베이스 시스템

이번 포스트에서는 데이터베이스 시스템에 대해 정리하겠습니다.데이터베이스 시스템 정의데이터베이스 시스템 -> 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템이다. 따라서 다양한 목적의 정보 처리 시스템을 구축하는 데 필요한 핵심 요소가 된다. 흔히, 데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템을 같은 의미로 사용하지만 각 용어의 개념을 관계를 명확히 이해할 필요가 있다. 각 개념에 대해 알아보면 아래와 같다. 데이터베이스 -> 데이터를 저장해두는 곳. 즉, 저장된 데이터의 집합. (1번째 포스트)데이터베이스 관리 시스템 -> 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 역할. (2번째 포스트)데이터베이스 시스템 ..

CS(Computer Science)/Database

[Database] 2. 데이터베이스 관리 시스템

이번 포스트에서는 데이터베이스 관리 시스템에 대해 정리하겠습니다.데이터베이스 관리 시스템의 등장 배경[ 파일 시스템 ]오래 전부터 데이터를 관리하기 위해 사용하던 소프트웨어. 데이터를 파일로 관리할 수 있도록 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하며, 운영체제와 함께 설치됨. [ 파일 시스템의 문제점]1. 같은 내용의 데이터가 여러 파일에 중복 저장된다. 데이터 중복성 문제 때문에 데이터 일관성을 유지하기 어렵다.-> 예를 들면, 한 고객의 연락처가 변경되어 고객 데이터 파일만 수정하고 실수로 주문 데이터 파일을 수정하지 않는 경우. 2. 응용 프로그램이 데이터 파일에 종속적이다. 데이터 중복성 문제 때문에 데이터 무결성을 유지하기 어렵다. -> 같이 사용하는 파일의 구조를 변경하면 응용 프..

CS(Computer Science)/Database

[Database] 1. 데이터베이스 기본 개념

이번 포스트에서는 데이터베이스 기본 개념에 대해 정리하겠습니다.데이터 베이스의 필요성[ 데이터와 정보의 차이점 ]데이터와 정보를 같은 의미로 사용하는 경우가 많지만, 이 둘은 명확히 구별해야 한다. 데이터 -> 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실(fact)나 값(value)로, 자료라고도 한다.정보 -> 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조작한 결과물.   쉽게 비유하자면, 목장에서 방금 짠 원유가 데이터이고 고객을 위해 공장에서 가공하여 팩에 담는 우유가 정보다.    정보 처리 -> 데이터에서 정보를 추출하는 과정 또는 방법. 즉, 정보처리는 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미 관계를 파악하는 것. 위 그림은 쇼핑몰은 주문 내..

반응형
seunghwaan
'CS(Computer Science)' 카테고리의 글 목록