전공공부/데이터베이스 (Database) 5

[데이터베이스] 트랜잭션 (Transaction)

트랜잭션이란? 트랜잭션이란 데이터베이스의 상태를 변환시키기 위해 수행하는 작업의 논리적 단위를 뜻합니다. 다시 말해 데이터베이스에서 어떤 목적을 수행하기 위한 하나의 작업 단위라고 할 수 있습니다. 은행 업무 중 A가 B에게 돈을 보내는 상황을 예시로 들어보겠습니다. 그렇다면 크게 다음과 같은 과정들이 차례로 수행되어야 합니다. 1. A의 잔고를 확인한다. 2. A의 계좌에서 돈을 뺀다. 3. B의 계좌에 돈을 넣는다. 위와 같은 과정 중 한 과정에서라도 오류가 난다면 A가 B에게 돈을 보내는 업무는 실패했다고 할 수 있고, A의 계좌에서 돈이 빠져서도, B의 계좌에 돈이 들어가서도 안됩니다. 이와 같이, 여러 명령들을 묶어 하나의 작업을 만들 수 있는데, 이를 트랜잭션이라고 부르고, 트랜잭션은 모든 명..

[데이터베이스] View

View란? View는 데이터베이스에서 접근이 허용된 데이터만 제한적으로 보여주기 위해 하나 이상의 데이터로부터 유도된 가상 테이블입니다. 가상 테이블이라는 말은 저장 장치에 물리적으로 저장되지는 않지만 사용자 입장에서 데이터를 조회하고 수정할 수 있는 논리적인 테이블이라는 뜻입니다. 즉 자신에게 접근이 허용된 데이터에 대해서 삽입, 수정, 삭제, 검색이 가능하기 때문에 일반적인 데이터베이스와 유사하게 이용할 수 있다는 뜻입니다. View를 왜 사용하죠? Student라는 학생 정보를 저장하고 있는 테이블이 있다고 가정하겠습니다. 이 Student 테이블에는 이름, 주민등록번호, 학번, 성적, 성별 등의 정보를 담고있습니다. 어떤 교수님 한 분이 이 학생에 대한 정보를 알고 싶어서 검색을 한다면, 이름,..

[데이터베이스] 데이터베이스 요점 훑어보기

관계형 데이터베이스 관계형 데이터베이스: 데이터가 테이블에 저장되며, 각 테이블은 행과 열 (Tuple & Attribute)로 구성. 이러한 일련의 테이블을 정의한 것을 스키마(Schema)라고 부른다. 키(Key) 테이블에서 특정 행을 유일하게 식별할 수 있게 하는 특정 열 또는 여러 열의 모음. 보통 키 중 하나를 프라이머리 키(Primary Key)로 지정. --> 테이블 각 행에는 프라이머리 키 값이 반드시 있어야 하고, 유일해야 한다. 프라이머리 키 예시) 학생 테이블의 학번. 이름은 중복된 경우가 있을 수 있어 사용 불가. 외부 키를 이용하여 다른 테이블과 링크시키는 것이 가능. 모든 외부 키 값이 참조하는 테이블의 값으로 존재한다면, 그 데이터베이스는 참조 무결성 조건을 만족. SQL SQ..

[데이터베이스] 데이터베이스 설계

데이터베이스 설계란 데이터베이스를 생성하는 일련의 과정으로 볼 수 있습니다. 데이터베이스 설계는 다음과 같은 순서로 진행됩니다. 요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 각 단계에 대해 자세히 공부해보도록 하겠습니다. 1. 요구사항 분석 요구사항 분석은 말 그대로 사용자의 요구사항을 수집하고 분석하는 과정입니다. 성공적인 데이터베이스 설계를 위해서는 반드시 정확한 사용자의 요구사항을 도출해내어야 하며, 전체 시스템 개발 과정 중에 가장 어려운 단계로 볼 수도 있습니다. 사용자에 따른 수행 업무와 필요한 데이터의 종류, 용도, 처리 형태, 흐름, 제약 조건 등을 수집해야 하며, 수집한 자료를 바탕으로 요구사항 명세서를 작성합니다. 2. 개념적 설계 개념적 설계란 현실 ..

[데이터베이스] 데이터베이스 개요, DBMS

1. 데이터베이스란? 데이터베이스는 특정 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임입니다. 이 정의를 풀어서 설명하면 다음과 같습니다. 1. 통합된 데이터 (Integrated Data): 데이터베이스는 자료의 중복을 배제한 데이터의 모임입니다. 그러나 실제로는 중복을 완전히 배제하지는 않고, 필요에 따라 효율성을 높이기 위해 통제된 중복(Controlled Redundancy)은 허용합니다. 2. 저장된 데이터 (Stored Data): 데이터베이스는 컴퓨터가 접근할 수 있는 매체에 저장된 자료입니다. 3. 운영 데이터 (Operational Data): 데이터베이스의 데이터들은 조직의 업무를 수행하는 데 있어서 반드시 필요한 데이터들입니다. 4. 공용 데이터 (Shared Data): 데..