[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 트랜잭션(Transaction) - DBMS가 데이터베이스를 다룰 때 사용하는 작업(프로그램)의 단위 - 데이터베이스의 무결성을 유지하기 위해 원자성, 일관성, 고립성, 지속성의 성질을 가짐 - 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위 - 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때, 이 작업을 서로 분리하는 단위가 됨 - 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 함(All or nothing) * 트랜잭션 수행 과정 [예시] 1) A계좌(박지성)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어옴 2) B계좌(김연아)의 값을 하드디스크(데이터베이스)에서 주기..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 이상현상(Anomaly) - 테이블에 투플을 삽입할 때 부득이하게 NULL값이 입력되거나, 삭제 시 연쇄삭제 현상이 발생하거나, 수정 시 데이터의 일관성이 훼손되는 현상 - 삭제이상(Deletion Anomaly) : 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 -> 연쇄삭제 문제 발생 - 삽입이상(Insertion Aomaly) : 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL값을 입력해야 하는 현상 -> NULL값 문제 발생 - 수정이상(Update Anomaly) : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제 발생 현상 -> 불일치 문제 발생 *..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 데이터 모델링(Data Modeling) - 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정 * 데이터베이스 생명주기(Database Life Cycle) - 데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다가 필요에 따라 개선 또는 다시 구축되어 사용되는데, 데이터베이스의 생성과 운영에 관련된 사이클 1) 요구사항 수집 및 분석 : 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계 2) 설계 : 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계), 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 ..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 데이터베이스 프로그래밍 - 프로그래밍(Programming) : 프로그램을 설계하고 소스코드를 작성하여 디버깅하는 과정 - 데이터베이스 프로그래밍(Database Programming) : DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정이며, 데이터베이스 언어인 SQL을 포함한다는 점이 일반 프로그래밍과 다름 * 데이터베이스 프로그래밍 방법 - SQL 전용 언어를 사용하는 방법 - 일반 프로그래밍 언어에 SQL을 삽입하여 사용하는 방법 - 웹 프로그래밍 언어에 SQL을 삽입하여 사용하는 방법 - 4GL(4th Generation Language) : GUI 기..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 내장 함수(Built-in Function) - DBMS가 제공함 - 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환함 * 숫자 함수 * 문자 함수 * 날짜 및 시간 함수 * 부속질의(Subquery) - 하나의 SQL문 안에 다른 SQL문이 중첩된 질의를 뜻함 - 데이터가 대량일 경우 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋음 * 뷰(View) - 하나 이상의 테이블을 합하여 만든 가상의 테이블 [장점] - 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함 - 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * SQL(Structured Query Language) - 데이터 부속어(Data Sublanguage)라고 있는데, 데이터베이스의 데이터와 메타 데이터를 생성하고 처리하는 문법만 가짐 구분 SQL 일반 프로그래밍 언어 용도 데이터베이스에서 데이터를 추출하여 문제 해결 모든 문제 해결 입출력 입력은 테이블, 출력도 테이블 모든 형태의 입출력 가능 번역 DBMS 컴파일러 문법 SELECT * FROM Book; int main() { . . . } * 데이터 조작어(DML, Data Manipulation Language) - 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용하며 SELECT, INSE..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 관계대수(Relational Algebra)와 관계해석(Relational Calculus) - 관계 데이터 모델에서의 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로, 데이터베이스 시스템의 구성 요소 중 데이터 언어의 역할을 함 - 대표적인 관계 데이터 연산으로 관계대수와 관계해석이 있음 - 관계대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어 - 관계해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어 * 관계대수 연산자 * 관계대수식(Relational Algebra Expression) - 관계대수..
[한빛아카데미] 오라클로 배우는 데이터베이스 개론과 실습 책으로 학습한 내용을 정리한 것입니다. * 관계 데이터 모델 - 1970년대 IBM연구소에서 근무하던 수학자 E. F. Codd박사가 제안 - 수학의 집합이론에 근거하고 있어 타 모델에 비해 튼튼한 이론적인 토대를 가지고 있음 - 관계 데이터 모델이 적용된 SQL언어는 비절차적인 언어로 원하는 데이터를 쉽게 표현하는 장점이 있음 * 릴레이션(Relation) - 행과 열로 구성된 테이블을 말함 [릴레이션과 관련된 한글 용어] 용어 한글 용어 비고 relation 릴레이션, 테이블 '관계'라고 하지 않음 relational data model 관계 데이터 모델 relational database 관계 데이터베이스 relational algebra 관..