국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 트랜잭션 트랜잭션의 개념 트랜잭션(transaction) => DBMS에서 데이터를 다루는 논리적인 작업의 단위 데이터베이스에서 트랜잭션을 정의하는 이유로는 1. DBMS에서 장애가 일어날 때 데이터를 복구하는 작업의 단위가 됨 2. DBMS에서 여러 작업이 동시에 같은 데이터를 다룰 때 작업을 서로 분리하는 단위가 됨 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 함(all or nothing) 예를 들어 살펴보면 은행 업무를 보는데 A계좌 (박지성)에서 B 계좌(김연아)로 10000원을 이체할 경우 이런식으로 트랜잭션이 수행되는데 트랜잭션의 종료..
Database
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 이상현상(anomaly) 1.1 이상현상의 개념 이상현상(Anomaly)이란 잘못 설계된 테이블로 인해 삽입, 삭제, 수정 같은 데이터 조작 시 데이터 일관성이 깨지는 현상! => 불일치(inconsistency : 일관성 없음) 문제 발생 이상현상에는 삭제이상(deletion anomly)투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상(연쇄삭제 문제 발생) 삽입이상(insrtion anomly)투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상(NULL 값 문제 발생) 수정이상(update anoml..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 데이터 모델링의 개념 1.1 데이터 모델링의 중요성 1.2 데이터베이스 생명주기 데이터베이스 생명주기 (database life cycle)은 데이터베이스의 생성과 운영에 관련된 특징으로 1. 요구사항 수집 및 분석 : 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계 2. 설계 : 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고 (개념적 설계) 사용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마를 도출(물리적 설계)함 3. 구현 : 설계 단계에서 생성한 스키..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 데이터베이스 프로그래밍의 개념 프로그래밍 : 프로그램을 설계하고 소스코드를 작성하여 디버깅하는 과정 데이터베이스 프로그래밍 => DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 (일반 프로그래밍과는 데이터베이스 언어인 SQL을 포함한다는 점이 다름) 데이터베이스 프로그래밍 방법 1. SQL 전용 언어를 사용하는 방법 SQL 자체의 기능을 확장하여 변수, 제어, 입출력 등의 기능을 추가한 새로운 언어를 사용하는 방법 Oracle은 PL/SQL 언어를 사용하며, MS-SQL Server는 T-SQL이라는 언어를 사용함..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 내장함수 SQL 내장 함수 SQL에서는 함수의 개념을 사용하는데 수학의 함수와 마찬가지로 특정 값이나 열의 값을 입력 받아 그 값을 계산하여 결과 값을 돌려준다 => SQL의 함수는 DBMS가 제공하는 내장 함수(bulit-in function)와 사용자가 필요에 따라 직접 만드는 사용자 정의 함수 (user-defined function)로 나뉨 SQL 내장 함수는 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환한다 => 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함 숫자 함수 문자 함수 날짜 · 시간 함수 NULL 값 처리 N..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. SQL 개요 SQL 기능에 따른 분류 데이터 정의어 (DDL) 테이블이나 관계의 구조를 생성하는 데 사용 CREATE, ALTER, DROP 문 등이 있음 데이터 조작어 (DML) 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용 SELECT, INSERT, DELETE, UPDATE 문 등이 있음 SELECT 문은 특별히 질의어(query)라고 함 데이터 제어어 (DCL) 데이터의 사용 권한을 관리하는 데 사용 GRANT, REVOKE 문 등이 있음 2. 데이터 조작어 - 검색 SELECT 문 이것저것 많아서 어려워보이지만 결국 SELECT 속성 이름 ..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 관계 데이터 모델의 개념 릴레이션 릴레이션(relation) : 행과 열로 구성된 테이블 관계(relationship) => 1. 릴레이션 내에서 생성되는 관계 : 릴레이션 내 데이터들의 관계 (각각의 열(=집합) 에서 원소 한 개씩을 선택하여 하나의 행이 만들어진 것으로 이 원소들이 관계를 맺고 있음) => 2. 릴레이션 간에 생성되는 관계 : 릴레이션 간의 관계 릴레이션 스키마와 인스턴스 스키마의 요소 속성(attribute) : 릴레이션 스키마의 열 도메인(domain) : 속성이 가질 수 있는 값의 집합 (가질 수 있는 값의 범위 등) 차수(degree..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 데이터베이스와 데이터베이스 시스템 1. 데이터, 정보, 지식 데이터 : 관찰의 결과로 나타난 정량적 혹은 정상적인 실제 값 정보 : 데이터에 의미를 부여한 것 지식 : 사물이나 현상에 대한 이해 2. 일상생활의 데이터베이스 데이터베이스 : 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것 데이터베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행함 ⇒ 변경이란 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입, 삭제, 수정 등의 작업을 말함 통합된 데이터(integrated data) : 데이..
데이터 조작 데이터 삽입 1. 완전한 행 삽입 이 방법은 코딩을 짧게 해도 된다는 장점이 있는 반면 데이터를 삽입하는 값의 순서가 변경될 경우 테이블이 망가질 수 있다는 위험이 있다 INSERT INTO 테이블명 VALUES (값1, 값2, 값3); 2. 열 이름과 함께 완전한 행 삽입 INSERT INTO 테이블명(열 이름1, 열 이름2, 열 이름3) VALUES (값1, 값2, 값3); 3. 부분 행 삽입 INSERT INTO 테이블명(열 이름1, 열 이름3) VALUES(값1, 값3); 4. SQL 문장 결과를 삽입 INSERT INTO 테이블명1(열 이름1, 열 이름2, 열 이름3) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명2 WHERE 조건절; 1. CUST_PARTY 테..
하위 쿼리의 이해 FROM절의 하위 쿼리 1. 조건에 맞는 대상자 선정 후 요약할 때 이 방법은 조건에 맞는 대상자를 선정한 후 데이터를 요약할 때 많이 사용된다 => 테이블 별칭을 주지 않으면 에러가 발생하기 때문에 하위 쿼리를 작성한 후 테이블 별칭을 꼭 주어야 한다 SELECT 열 이름1, 열 이름2 FROM (SELECT * FROM 테이블명 WHERE 조건절) (AS) 별칭 WHERE 조건절; 2. 테이블 조인을 할 때 테이블 조인을 할 때 필요한 정보만 조인할 수 있도록 고안된 방법이다 SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1 (AS) 별칭1 LEFT OUTER JOIN (SELECT 열 이름1, 열 이름2 FROM 테이블명 2 WHERE 조건절) (AS) 별칭2 ..
열(Column) 합치기 내부 조인 1. FROM/WHERE를 사용 내부 조인은 두 테이블의 키값이 매칭될 경우 선택된 모든 열을 나타냄 SELECT 테이블명1.열 이름1, 테이블명2.열 이름2 FROM 테이블명1, 테이블명2 WHERE 테이블명1.KEY=테이블명2.KEY; 2. FROM/WHERE와 별칭을 사용 오라클을 포함한 몇몇 DBMS는 테이블명 별칭을 줄 때 AS 키워드가 지원되지 않으므로 AS를 빼고 테이블 별칭을 설정해야함! SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1(AS) 별칭1, 테이블명2(AS) 별칭2 WHERE 별칭1.KEY=별칭2.KEY; 3. INNER JOIN을 사용 INNER JOIN을 사용하여 두 테이블을 합칠 수 있다 => ON 뒤에 두 테이블의 ..
데이터의 그룹화 GROUB BY 1. 열 이름으로 그룹화 집계 함수를 제외한 SELECT문의 모든 열은 GROUB BY절에 있어야함 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUB BY 열 이름1, 열 이름2; 2. 열 위치로 그룹화 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUB BY 1, 2; 1. PPC_201312 테이블을 사용하여 고객등급별 인당 평균 연 수익을 계산하려면? SELECT SEG, ANNL_REV FROM PPC_201312 GROUP BY SEG; 2. PPC_201312 테이블을 사용하여 카드상품과 대출상품 보유 간의 관계를 알아보려면? SELECT ..