본문 바로가기

데이터베이스 개론11

[DB - 데이터베이스 개론] Chapter 11. 보안과 권한 관리 목차 01. 보안 데이터베이스는 조직에서 허가한 사용자만 접근할 수 있도록 통제하여 보안을 유지하는 일이 무척 중요하다. 데이터베이스의 보안은 데이터를 보호하는 방법을 고려하는 측면에 따라 다양하게 구분할 수 있는데, 일반적으로 다음 세 가지 유형으로 구분된다. ① 물리적 환경에 대한 보안 - 자연 재해처럼 데이터베이스에 물리적으로 손신을 발생시키는 위험으로부터 데이터베이스를 보호해야 한다. ② 권한 관리를 통한 보안 - 접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스를 사용할 수 있도록 한다. 계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자별로 데이터베이스의 사용 범위와 수행 가능한 작업 내용을 제한할 수 있어야 한다. ③ 운영 관리를 통한 보안 - 데이터 무결성을 유지.. 2022. 2. 7.
[DB - 데이터베이스 개론] Chapter 10. 회복과 병행 제어 목차 01. 트랜잭션 1. 트랜잭션의 개념 트랜잭션(transaction)은 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위가 된다. 또한 데이터베이스에 장애가 발생했을 때 데이터를 복구하는 작업의 단위도 된다. 일반적으로 데이터베이스 연산은 SQL문으로 표현되므로 트랜잭션을 작업 수행에 필요한 SQL 문들의 모임으로 이해해도 좋다. 트랜잭션에 포함된 SQL문 중 하나라도 처리 과정에서 오류가 발생하면 모든 명령문의 실행을 취소하고 트랜잭션 작업 전의 데이터베이스 상태로 되돌아가게 해야 한다. 트랜잭션의 모든 명령문이 완벽하게 처리되거나 하나도 처리되지 않아야 데이터베이스가 모순이 없는 일관된 상태를 유지할 수 있다. 데이터베이스의 무결성과.. 2022. 2. 7.
[DB - 데이터베이스 개론] Chapter 09. 정규화 목차 01. 정규화의 개념과 이상 현상 1. 정규화의 개념 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하여 릴레이션에 대한 데이터의 삽입·수정·삭제 연산을 수행할 때 부작용이 발생할 수 있다. 이러한 부작용을 이상(anomaly) 현상이라 한다. 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해나가는 과정이 정규화다. 2. 이상 현상의 종류 이상 현상에는 아래와 같은 세 가지 종류가 존재한다. 삽입 이상(insertion anomaly) - 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상(update anomaly) - 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상(deletion anomaly) - 튜플을 삭제하면 꼭 필.. 2022. 2. 5.
[DB - 데이터베이스 개론] Chapter 08. 데이터베이스 설계 목차 01. 데이터베이스 설계 단계 조직 구성원들의 다양한 요구 사항을 고려하여 제대로 된 데이터베이스를 구축하기 위해서는 사용자들의 요구 사항을 잘 분석하고, 분석한 결과를 바탕으로 데이터베이스의 논리적, 물리적 구조를 제대로 설계해야 한다. 데이터베이스 설계는 사용자들의 요구 사항을 고려하여 데이터베이스를 생성하는 과정이다. 품질 좋은 데이터베이스를 평가하는 대표적인 기준은 데이터베이스를 실제로 사용하는 구성원들의 요구 사항을 만족하는지 여부이다. 관계 데이터 모델을 기반으로 두고 데이터베이스를 설계하는 방법에는 대표적으로 두 가지가 있는데 여기에서는 그 중 하나인 E-R 모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계를 알아보자. E-R 모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계는 .. 2022. 2. 3.
[DB - 데이터베이스 개론] Chapter 07. 데이터베이스 언어 SQL 목차 01. SQL의 소개 SQL(Structured Query Language)은 관계 데이터베이스를 위한 표준 질의어로 많이 사용되는 언어이다. 사용자가 처리를 원하는 데이터가 무엇인지만 제시하고 데이터를 어떻게 처리해야 하는지를 언급할 필요가 없어 비절차적 데이터 언어의 특징을 띤다고 할 수 있다. SQL은 기능에 따라 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 나눈다. 데이터 정의어 : 테이블을 생성하고 변경&제거하는 기능을 제공한다. 데이터 조작어 : 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정,삭제,검색하는 기능을 제공한다. 데이터 제어어 : 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공하는 언어다.. 2022. 1. 25.
[DB - 데이터베이스 개론] Chapter 06. 관계 데이터 연산 목차 01. 관계 데이터 연산의 개념 이번 장에서는 데이터 모델의 연산에 대해서 알아보자. 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로, 데이터베이스 시스템의 구성 요소 중 데이터 언어의 역할을 한다. 대표적인 관계 데이터 연산으로 관계 대수와 관계 해석이 있다. 관계 대수와 관계 해석은 원하는 데이터를 얻기 위한 처리 절차를 얼마나 자세히 기술하느냐에서 큰 차이를 보인다. 관계 대수(relational algebra) : 데이터의 처리 과정을 순서대로 기술하는 절차 언어(procedural language) 관계 해석(relational calculus) : 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어(nonprocedural language) 데이터를 처.. 2022. 1. 23.