[데이터베이스] - 데이터베이스 응용 기술 (Database Application Technologies)
·
💻 Computer Science/데이터베이스
객체지향 데이터베이스 관계 데이터베이스는 관계 데이터 모델의 기능적 제약조건과 SQL의 표현력 한계로 인해 다양한 응용 분야에 부적합하다. 객체지향 데이터 모델은 객체지향 개념에 기반을 둔 데이터 모델로, 의미상 관계가 있는 데이터베이스 구조를 표현할 때 적합하다. 객체지향 데이터 모델이 지원하는 객체지향 개념은 다음과 같다.객체: 현실 세계에 존재하는 개체를 추상적으로 표현한 것객체 식별자: 각 객체를 유일하게 식별하는 수단속성: 객체의 상태나 특성메서드: 객체에 수행할 수 있는 연산, 객체의 속성 값을 조작한다.클래스: 속성과 메서드를 공유하는 유사한 성질의 객체들을 그룹화한 것복합 객체: 사용자 정의 클래스를 도메인으로 하는 속성을 가지고 있는 객체 객체지향 데이터베이스에서는 질의 대상이 클래스이고..
[데이터베이스] - 보안과 권한 관리 (Security and Access Control)
·
💻 Computer Science/데이터베이스
데이터베이스 보안 데이터베이스 내의 데이터는 조직 내 사용자들이 공유하여 사용한다. 이때 허가되지 않은 외부인이 데이터베이스에 침입하여 데이터에 접근한다면 문제가 생길 것이다. 따라서 조직에서 허가된 사용자만 데이터베이스에 접근하도록 하여 보안을 유지하는 것은 매우 중요하다. 데이터베이스의 보안을 유지하여 데이터를 보호하는 방법은 다음 세 가지 유형으로 분류된다.물리적 환경에 대한 보안: 데이터베이스에 물리적으로 손실을 발생시키는 위험으로부터 데이터베이스를 보호해야 한다.권한 관리를 통한 보안: 접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스를 사용할 수 있도록 보호해야 한다.운영 관리를 통한 보안: 데이터 무결성을 유지하기 위하여 올바른 제약조건을 정의하고, 사용자들이 정의된 제약조건을 위반하..
[데이터베이스] - 회복과 병행 제어 (Recovery & Concurrency Control)
·
💻 Computer Science/데이터베이스
장애의 유형 장애란 시스템이 제대로 작동하지 않는 상태를 말한다. 데이터베이스 시스템에서 발생할 수 있는 장애는 다음과 같이 분류된다.트랜잭션 장애: 트랜잭션 수행 중 오류가 발생하여 정상적으로 수행을 할 수 없는 상태이다.시스템 장애: 하드웨어의 결함으로 정상적으로 수행을 할 수 없는 상태이다.미디어 장애: 디스크 장치의 결함으로 디스크에 저장된 데이터베이스의 일부 혹은 전체가 손상된 상태를 말한다.회복 기법 회복은 데이터베이스에 장애가 발생했을 때, 장애가 발생하기 전의 모순이 없고 일관된 상태로 복구시키는 것을 말한다. 장애가 발생하면 복구하는 기간 동안에는 데이터베이스에 접근하여 업무를 진행할 수 없기에 회복 과정은 빠른 시간 내에 이루어져야 한다. 회복 과정을 수행할 때, 덤프 또는 로그 방법..
[데이터베이스] - 트랜잭션 (Transaction)
·
💻 Computer Science/데이터베이스
트랜잭션 정의 데이터베이스는 다수의 사용자가 동시에 사용해도 항상 정확한 데이터를 유지해야 하며, 장애가 발생하더라도 빠른 시간 내에 원래의 상태로 복구되어야 한다. 즉, 데이터베이스 관리 시스템은 항상 정확하고 일관된 상태를 유지해야 한다. 이때, 트랜잭션이 사용된다. 트랜잭션은 작업 하나를 수행하는데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스의 논리적인 작업의 단위이다. 트랜잭션을 관리함으로 데이터베이스의 회복과 병행 제어가 가능해진다. 트랜잭션의 모든 명령문이 완벽히 처리되거나, 하나도 처리되지 않아야 데이터베이스가 모순 없는 일관된 상태를 유지할 수 있다. 일반적으로 데이터베이스를 변경하는 `INSERT`문, `UPDATE`문, `DELETE`문의 실행을 트랜잭션으로 관리한다..
[데이터베이스] - 정규화 (Normalization)
·
💻 Computer Science/데이터베이스
이상 현상 (Database Anomalies) 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하며, 릴레이션의 데이터에 대한 연산 작업을 수행할 때 문제가 생길 수 있다. 이를 “이상 현상(Anomaly)”이라고 한다. 이러한 이상 현상을 제거하면서 데이터베이스를 올바르게 설계하는 과정이 “정규화(Normalization)”이다. 이상 현상은 “삽입 이상”, “갱신 이상”, “삭제 이상”으로 분류된다.`삽입 이상(Insertion Anomaly)`: 릴레이션에 새 데이터를 삽입해야 할 때, 불필요한 데이터도 함께 삽입되는 문제를 말한다.`갱신 이상(Update Anomaly)`: 릴레이션의 중복된 튜플들 중, 일부만 수정되어 데이터가 불일치하게 되는 문제를 말한다.`삭제 이상(Deletion ..
[데이터베이스] - 데이터베이스 설계 (Database Design)
·
💻 Computer Science/데이터베이스
데이터베이스 설계 단계 데이터베이스 설계는 사용자의 요구사항을 고려하여 데이터베이스를 생성하는 과정으로, 데이터베이스 설계 과정의 각 단계에서 수행하는 주요 작업은 다음과 같다.요구사항 분석: 실제 업무를 처리하는 사용자에게서 필요한 데이터의 종류와 처리 방법과 같은 다양한 요구 사항을 수집한다. 그 후, 수집한 요구사항을 분석하여 그 결과를 요구사항 명세서로 작성한다.개념적 설계: 요구사항 명세서를 바탕으로, 요구사항을 개념적 데이터 모델을 이용하여 표현한다. E-R 모델과 같은 개념적 데이터 모델은 DBMS의 종류에 독립적이면서 중요한 데이터 요소 간의 관계를 표현할 때 사용한다.논리적 설계: 개발에 사용할 DBMS에 적합한 논리적 데이터 모델을 이용하여 개념적 설계 단계에서 생성한 개념적 구조를 기..
[데이터베이스] - 관계 데이터 연산 (Relational Data Operation)
·
💻 Computer Science/데이터베이스
이번 포스팅은 데이터 모델링에 관한 기본적인 이해를 전제로 합니다. 데이터 모델링에 대해 알지 못하는 경우, 따로 공부를 하거나 "이 포스팅"을 참고한 후 이번 포스팅을 읽기 바랍니다.관계 데이터 연산의 개념관계 데이터 연산이란 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것이다. 대표적인 관계 데이터 연산으로는 "관계 대수"와 "관계 해석"이 있다. 그러나 관계 대수와 관계 해석은 상용화된 관계형 데이터베이스에서는 잘 사용되지 않는 개념적 언어이다. 그럼에도 이를 이해하고 공부하는 것이 상용화된 데이터 언어를 이해하는데 도움이 된다.관계 대수(Relational Algebra): 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술한다. (절차 언어)관계 해석(Relatio..
loading