IT/데이터베이스
-
[데이터베이스] 보안과 권한 관리IT/데이터베이스 2022. 10. 11. 23:20
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 보안 데이터베이스에 저장된 데이터는 조직을 운영하는데 꼭 필요한 것으로, 조직 내 사용자들이 공유하여 사용한다. 만약 사용이 허락되지 않은 외부인이 데이터베이스에 침입하여 데이터를 유출하거나 손상한다면 조직에 치명적인 손실이 발생할 것이다. 그러므로 조직에서 허가한 사용자만 데이터 베이스에 접근할 수 있도록 통제하여 보안을 유지하는 일이 무척 중요하다. 데이터베이스의 보안을 유지하여 데이터를 보호하는 방법은 고려하는 측면에 따라 다양하게 구분할 수 있지만, 일반적으로 아래 세 가지 유형으로 구분한다. 2. 권한 관리 데이터베이스 관리 시스템은 데이터베이스의 보안을 유지하기 위해, 계정이 발급된 사용자가 로그..
-
[데이터베이스] 회복과 병행제어 (병행제어)IT/데이터베이스 2022. 10. 11. 22:35
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 병행 수행과 병행 제어 (Concurrency & Concurrency control) 데이터베이스 관리 시스템은 여러 사용자가 데이터베이스를 동시에 공유할 수 있도록 여러 개의 트랜잭션이 동시에 수행되는 병행 수행(Concurrency)을 지원한다. 병행 수행은 실제로 여러 트랜잭션이 차례로 번갈아 수행되는 인터리빙(Interleaving) 방식으로 진행된다. 그런데 병행 수행되는 트랜잭션들이 서로 다른 데이터를 사용하여 연산을 실행하는 경우에는 괜찮지만 동시에 같은 데이터에 접근하여 변경 연산을 실행하려고 하면 예상치 못한 결과가 나타날 수도 있다. 그러므로 병행 수행을 하더라도 각 트랜잭션이 다른 트랜..
-
[데이터베이스] 회복과 병행제어 (회복 기법)IT/데이터베이스 2022. 10. 11. 18:44
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 장애와 회복 (Failure & Recovery) 트랜잭션의 특성을 보장하고, 데이터베이스를 모순이 없는 일관된 상태로 유지하기 위해 데이터베이스 관리 시스템은 회복 기능을 제공한다. 회복(Recovery)은 장애가 발생했을 때 데이터베이스를 장애가 발생하기 전의 일관된 상태로 복구시키는 것이다. 먼저 어떤 경우에 회복 기능이 필요한지, 데이터베이스가 저장 장치에 어떤 연산을 통해 저장되는지 이해하기 위해 데이터베이스 시스템에서 발생할 수 있는 장애의 유형과 데이터베이스의 저장 연산을 살펴본다. 1. 장애의 유형 (Failure) 시스템이 제대로 동작하지 않는 상태를 장애라고 한다. 장애가 발생하는 원인은 매우 ..
-
[데이터베이스] 회복과 병행 제어 (트랜잭션)IT/데이터베이스 2022. 10. 11. 03:01
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 트랜잭션의 개념 트랜잭션은 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위가 된다. 트랜잭션은 데이터베이스에 장애가 발생했을 때 데이터를 복구하는 작업의 단위도 된다. 트랜잭션의 개념을 좀 더 명확이 이해하기 위해 인터넷뱅킹을 통한 계좌이체 작업 트랜잭션 예시를 살펴보자. 2. 트랜잭션의 특성 트랜잭션이 성공적으로 처리되어 데이터베이스의 무결성과 일관성이 보장되려면 아래 네 가지 특성을 꼭 만족해야 한다. 원자성 (Atomicity) 일관성 (Consistency) 격리성 (Isolation) 지속성 (Durability) 2-1. 원자성 (A..
-
[데이터베이스] 정규화IT/데이터베이스 2022. 10. 11. 02:25
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 정규화의 개념과 이상 현상(Anomaly) 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하여 릴레이션에 대한 데이터의 삽입·수정·삭제 연산을 수행할 때 부작용이 발생할 수 있다. 이러한 부작용을 이상(Anomaly) 현상이라 한다. 이상 현상은 관련이 없는 데이터, 즉 관련 없는 속성들을 하나의 릴레이션에 모아두고 있기 때문에 발생하며, 관련 있는 속성들로만 릴레이션을 구성하기 위한 작업이 정규화이다. 정규화는 릴레이션을 관련이 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정이다. 이상 현상에는 삽입 이상(Insertion anomaly), 갱신 이상(Update anomaly), 삭제 이..
-
[데이터베이스] 데이터베이스 설계 (E-R 모델과 릴레이션 변환규칙)IT/데이터베이스 2022. 10. 11. 00:36
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 데이터베이스 설계 단계 조직 구성원들의 다양한 요구 사항을 모두 만족시키는 데이터베이스를 구축하는 일은 쉽지 않다. 특히, 데이터의 양이 많고 사용자 수가 많은 조직일수록 요구에 딱 맞는 데이터베이스를 구축하는 작업은 어렵다. 그렇다면 조직 구성원들의 다양한 요구 사항을 고려하여 제대로 된 데이터베이스를 구축하려면 어떻게 해야할까? 사용자들의 요구 사항을 잘 분석하고, 분석한 결과를 바탕으로 데이터베이스의 논리적, 물리적 구조를 제대로 설계해야 한다. 이미 구축된 데이터베이스는 구조를 변경하기 어려우므로 체계적인 설계 과정을 통해 데이터베이스가 올바르게 구축되어야 조직 구성원들이 빠르고 정확하게 업무를 수행..
-
[데이터베이스] 데이터베이스 언어 SQL (3/3)IT/데이터베이스 2022. 10. 10. 22:23
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. 1. 뷰 (VIEW) 1-1. 뷰의 개념 뷰는 다른 테이블을 기반으로 만들어진 가상 테이블(Virtual tabel)이다. 뷰를 가상 테이블이라고 하는 이유는 일반 테이블과 달리 데이터를 실제로 저장하고 있지 않기 때문이다. 뷰는 논리적으로만 존재하면서도 일반 테이블과 동일한 방법으로 사용할 수 있어 사용자는 그 차이를 느끼기 어렵다. 뷰를 알기 쉽게 설명하자면, 뷰는 기본테이블을 들여다볼 수 있는 창 역할을 한다. 창을 통해 바깥 풍경을 볼 수 있듯이, 뷰를 통해 기본 테이블을 들여다볼 수 있다. 창의 크기나 위치 등에 따라 보이는 풍경이 달라지는 것처럼 동일한 기본 테이블도 어떤 뷰로 보느냐에 따라 보이는 부..
-
[데이터베이스] 데이터베이스 언어 SQL (2/3)IT/데이터베이스 2022. 10. 10. 21:16
본 포스팅은 "데이터베이스 개론 [2판]" 도서로 공부한 내용을 요약하기 위한 포스팅입니다. SQL을 이용한 데이터 조작 1. SQL의 데이터 조작 기능 SQL의 데이터 조작 기능은 원하는 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제로 분류할 수 있다. 2. 데이터의 검색 2-1. 기본 검색 기본 검색을 위한 SELECT 문의 기본 형식은 다음과 같다. SELECT [ALL or DISTINCT] 속성_리스트 FROM 테이블_리스트; SELECT 사용 시 "속성_리스트" 부분에 작성한 속성만이 결과 테이블로 표시되게 된다. # 각 CASE별 SELECT 문 이후에 "FROM 제품;" SQL문은 생략함 # CASE 1. 단일 속성 선택 SELECT 제품명 # CASE 2. 다중 속성 선택..