본문 바로가기

DATABASE20

데이터베이스(DB) 장애와 회복 데이터베이스는 조직의 중요한 데이터를 보관하고 있는 만큼 장애가 발생했을 때 회복(복구) 하는 기능도 매우 중요하다. 회복은 장애가 발생하기 전의 상태로 되돌리는 것을 의미한다. 장애의 유형으로는 트랜잭션 장애, 시스템 장애, 미디어 장애로 나눈다. 트랜잭션 장애는 트랜잭션의 논리적 오류, 잘못된 데이터 입력, 시스템 자원 과다 사용 등 이유로 인해 발생한다. 시스템 장애는 하드웨어 이상으로 발생한 장애이다. 미디어 장애는 디스크 장치의 결함으로 발생한 장애이다. 데이터 베이스는 기본적으로 저장 장치에 저장되는데 저장 장치의 종류는 아래와 같다. 휘발성 저장장치 : 소멸성으로 장애가 발생하면 저장된 데이터가 손실된다. 비휘발성 저장장치 : 장애가 발생해도 저장된 데이터가 손실되지 않는다. 안정 저장 장치.. 2022. 10. 29.
데이터베이스(DB) 기본 정규형과 정규화 과정 정규화가 왜 필요한지에 대해서는 아래 포스팅에서 확인할 수 있다. https://josteady.tistory.com/747 데이터베이스(DB) 정규화는 왜 필요할까? 정규화를 이용해 데이터베이스르 설계하는 방법을 알아보자. 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생해서 테이블에 대한 데이터의 CRUD 연산을 수행할 때 부작용이 발생할 josteady.tistory.com 기본 정규형은 제1,제2,제3 정규형과 보이스/코드 정규형이 있으며 (순서대로) 고급 정규형은 제4,제5 가 있다. 기본적으로는 기본정규형만 만족하더라도 충분히 사용가능한 테이블을 만들 수 있다. 물론 숫자가 높을 수록 바람직한 정규화가 될 가능성이 있지만, 상황에 따라 적절히 선택할 수 있어야하며, 오히려 제 5정규형을.. 2022. 10. 26.
데이터베이스(DB) 정규화는 왜 필요할까? 정규화를 이용해 데이터베이스르 설계하는 방법을 알아보자. 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생해서 테이블에 대한 데이터의 CRUD 연산을 수행할 때 부작용이 발생할 수 있는데 이것을 이상현상 이라고 한다. 이상현상을 제거해가면서 올바르게 데이터베이스를 설계하는 것을 정규화라고 한다. 아래의 예를 보면 정규화의 필요성에 대해 확인할 수 있다. 아래와 같은 현상이 일어나는 이유는 관련 없는 속성들이 하나의 테이블에 전부 들어가 있기 때문이다. 이를 발생하지 않게 하기위해 관련있는 속성들끼리만 테이블을 만들어 관리하는 것이 필요하다 이러한 과정이 정규화 이다. 이상현상의 종류로는 삽입 이상, 갱신 이상, 삭제 이상이 있다. 하나하나 알아보자 고객아이디(PK) 이벤트번호(PK) 당첨여부 고객.. 2022. 10. 26.
데이터베이스(DB) 설계 데이터베이스의 설계는 5단계로 나눈다 1. 요구 사항 분석 2. 개념적 설계 3. 논리적 설계 4. 물리석 설계 5. 구현 요구사항 분석은 구성원들이 데이터베이스를 사용하는 용도를 파악한다. 즉, 실제 업무를 처리하는 사용자에게 필요한 데이터의 종류와 다양한 요구사항을 수집한다. 분석의 결과물로는 요구 사항 명세서가 나온다. 개념적 설계 단계는 이전 요구사항 분석의 명세서를 기준으로 시작된다. 일반적인 데이터모델은 E-R 다이어그램을 사용한다. 논리적 설계 단계에서는 개념적 설계 단계에서 생성한 개념적 구조를 기반으로 설계한다. 생성된 E-R 다이어그램을 스키마로 변환해서 DBMS가 처리할 수 있도록 한다. 논리적 설계에서는 스키마로 변환하는 과정이다. 모든 개체는 릴레이션으로 변환한다 E-R 다이어그램.. 2022. 10. 26.
데이터베이스(DB) 관계 데이터 모델 개념 용어정리 ( 책에서 사용하는 용어 ) 릴레이션 = 테이블 투플 = 행 속성 = 열 일반적으로 관계 데이터 모델에서는 하나의 개체에 관한 데이터를 데이터베이스에 저장한다. 고객아이디 고객이름 나이 등급 직업 VARCHAR(20) VARCHAR(20) INT VARCHAR(20) VARCHAR(20) 1 가길동 20 bronze 학생 2 나길동 21 silver 학생 3 다길동 22 gold 학생 고객아이디, 고객이름 과 같은 열을 속성 이라고 부른다. 고객아이디의 1,2,3 고객이름의 가길동 나길동 다길동과 같은 행을 투플 이라고 부른다. 속성 하나가 가질 수 있는 모든 값의 집합을 도메인 이라고 한다. 예로, 등급에서 bronze , silver , gold 를 모아둔 것이 등급 속성의 도메인이 된다. .. 2022. 10. 24.
데이터베이스(DB) 데이터 모델 현실 시계에 존재하는 데이터를 컴퓨터의 데이터베이스로 옮기는 변환 과정을 데이터 모델링이라고 한다. 모델링은 추상화 하는과정과 데이터베이스에 어떻게 저장할지 구조를 정하는 것이다. 예로, 뱀이라고 했을 때, 다리가 0개이며, 꼬리가 있고, 혀를 낼름거린다. 라고 하는것을 추상화 과정이라고 한다. 이러한 특징을 데이터베이스로 옮기는 것 까지를 모델링 과정이라고 한다. 모델링 과정은 현실세계의 사물의 중요한 데이터를 추출해서 개념세계로 옮기는 것을 개념적 모델링과정이라고 하며, 개념적 모델링 과정 이후, 데이터베이스에 저장할 구조를 결정하는 과정을 논리적 모델링이라고 하는데, 보통 합쳐서 데이터 모델링이라고 부른다. ( 데이터 모델링 = 개념적 모델링 + 논리적 모델링 ) 데이터 모델링은 현실 세계의 데이터.. 2022. 10. 22.
데이터베이스(DB) 데이터 언어 데이터 언어는 사용자가 데이터베이스를 구축하고 이에 접근하기 위해 데이터베이스 관리 시스템과 통신하는 수단이다. 1. 데이터 정의어 (DDL / Data Definition Language) : 스키마를 정의하거나, 수정 또는 삭제하기 위해 사용 2. 데이터 조작어 (DML / Data Manipulation Language) : 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 요구하기 위해 사용 3. 데이터 제어어 (DCL / Data Control Language) : 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용 데이터 정의어 (DDL / Data Definition Language) 새로운 데이터베이스를 구축하기 위해 스키마를 정의하거나 , 기존 스키마를 삭제 또는 수정하기 위해 사용하는 .. 2022. 10. 20.
데이터베이스(DB) 스키마 스키마란? 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것을 의미한다. 스키마 예시 (=개념스키마) 고객번호 이름 나이 주소 INT CHAR(10) INT CHAR(20) 데이터를 데이터베이스에 저장하기 쉽기때문에, 많은 사용자가 이용한다. 하지만, 내부 구조와 동작 방식은 매우 복잡하기 때문에 이것을 모두 이해 하기 어렵다. 따라서 미국 표준화 기관에서는 내부 구조를 몰라도 일반 사용자가 쉽게 이해하고 이용할 수 있도록 제안했다. 외부단계로 갈수록 구체적이게 된다. 1. 외부단계 : 집주인 관점 2. 개념단계 : 관리인 관점 3. 내부단계 : 건설업체 관점 집주인은 자기의 집만 잘알면 되지만, 관리인은 하나의 집이아닌 , 한 동의 아파트에 대해 알아야하고, 건설업체는 한개의 아파트가 아닌, .. 2022. 10. 19.
데이터베이스(DB) 는 왜 등장했을까? 데이터베이스는 왜 등장했을까? 과거에는 데이터를 보관하기 위해 파일을 사용했다. ( 파일 시스템 ) 예로, 쇼핑몰을 운영하기 위해서 고객의 정보를 파일에 담아두고, 주문관리에 필요한 정보를 다른 파일에 담아 저장해 사용했다. 해당 쇼핑몰의 고객정보 담당자는 고객의정보와 고객이 무엇을 주문했는지 알아야 하기 때문에, 파일의 구조를 전부 알아야했으며, 주문담당자 또한 고객의정보도 같이 알아야 하는 번거로움이 발생했다. 파일 시스템으로 정리하면 장점은 별도의 구매비용이 들지 않는다는 것이지만, 치명적인 단점이 있다. 같은 내용의 데이터가 여러 파일에 중복 저장된다 (중복성) 고객명, 연락처, 주소 등 고객정보 파일과 고객주문 파일에 중복으로 저장된다. 실수로 한곳을 최신화하지 않으면, 데이터의 일관성이 유지되.. 2022. 10. 19.