본문 바로가기

Programming/[DB]

(19)
[DB] SUBQUERY 서브 쿼리는 한 문장의 절안에 포함 된 또 하나의 문장 서브쿼리를 포하하고 있는 쿼리문을 메인쿼리라 하고 포함된 또 하나의 쿼리를 서브 쿼리라 한다 주의사항 반드시 WHERE 절에 비교연산자의 오른쪽에 위치해야함 서브쿼리라는 것을 알리기 위해 괄호로 묶어야함 서브쿼리 절 안에 ORDER BY절이 들어가면 안됨 서브쿼리가 가지는 장점은 한번 디스크에서 읽어온 데이터를 메모리 안에서 가공해서 사용할 수 있도록 도와준다 즉, 동일한 데이터를 다시 한번 이용하여 복잡한 가공에도 물리적인 i/o를 줄여준다 단일 행 서브쿼리(스칼라 서브쿼리) 가장 기본적이 서브쿼리로서 '=' 연산자를 사용한 서브쿼리 다중행 서브쿼리 (멀티로우 서브쿼리) 서브쿼리에서 반환되는 결과 행이 하나 이상일 때 사용하는 서브쿼리 다중행비교연..
[DB] JOIN 조인 필요성 데이터 관리를 편리하게 하기 위해 테이블을 나뉘기에 사용 CROSS JOIN 얻어지는 컬럼의 수는 각 테이블의 컬럼의 수를 더한 것 로우 수는 벨류에 대해서 로우 * 로우가 된다 상세 정보가 결합될때 조인 결과가 의미를 갖으려면 조건을 지정해야 한다 종류 EQUI 컬럼명의 모호성 해경 두 테이블에 동일한 이름의 컬럼을 사용하면 어느 테이블 소속인지 불분명하기에 애매모호한 상태라는 오류 메시지가 출력 서브쿼리와의 차이점은 조인은 가상의 테이블을 만들어서 출력하지만 서브쿼리는 내용만 찾아준다 NON-EQUI JOIN 조인 조건에 특정 범위 내에 있는지를 조사하기 위해서 WHERE 절에 조인 조건을 = 연산자 이외의 비교 연산자를 사용합니다 SELF-JOIN 조인은 두 개 이상의 서로 다른 테이블..
[DB] 데이터의 무결성 관계형 데이터 베이스 임의의 데이터베이스 내에 존재하는 여러 테이블 들이 서로 관계를 가지며 운영되는 것을 의미한다 데이터베이스의 테이블 간의 관계를 분명하게 설정하고, 제약 조건들을 사용하여 정확한 데이터들을 설정 키 열쇠는 무언가를 열거나 잠글 때 사용 하는 것으로, 같은 것이 하나도 없다. 이와 같이 키(Key)라는 것은 무언가를 식별하는 고유한 식별자(identifier) 기능을 한다. 즉, 키는 데이터베이스에서 조건에 만족하는 관계의 행을 찾거나 순서대로 정렬할 때 다른 행과 구별할 수 있는 유리한 기준이 되는 속성의 집합이다. 종류 •슈퍼키(super key) : 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합 • •후보키(candidate key) : 각 행을 유일하게 ..
[DB] 데이터베이스의 분석 설계 과정 모델링, modelling 특징 ü추상화(모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미로 정리할 수 있다. 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것이다. ü단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념을 의미한다. ü명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확(正 確)하게 현상을 기술하는 것을 의미한다. 개념 과정 종류 데이터 모델링 ERD - ERD는 개체 관계 모델으 ㅣ약어로 데이터 베이스의 전체 구조를 쉽게 나타 내기 위한 구조도 - 사용자와 함계 업무를 분석하고 검토할 때도 이용된다 - 개체와 개체간의 관계를 이해하기 쉽게 정해진 표기법에 따라..
[DB] TRANSACTION Transaction 데이터베이스 내에서 하나의 그룹으로 처리되어야하는 명령문들을ㄹ 모아 놓은 논리적인 작업 단위 여러 단계의 처리를 하나의 처리처럼 다루는 기능 여러 개의 명령어의 집합이 정상적으로 처리되면 정상종료 (하나의 명령어라도 잘못되면 전체 취소) - 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구 특징 원자성 일관성 독립성 지속성 Transaction 상태 COMMIT 모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어로 처리과정을 DB에 영구저장 수행하면, 하나의 트랜젝션 과정을 종료 이전 데이터가 완전히 update 된다 ROLLBACK 작업 중 문제가 발생되어 트랜젝션의 처리과정에서 발생한 변경사항을 취소하는 명령어 트랜잭션으로 인한 하나의 묶음처리가 시작되기 이전의 상태로 되돌..
[DB] DML DML 데이터 조작 언어로써 데이터 베이스의 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어. 또한, 데이터베이스 사용자와 데이터 베이스 관리 시스템 간의 인터페이스를 제공 * DML엔 INSERT, DELETE, UPDATE가 있습니다 INSERT 생성된 테이블에 새로운 튜플을 삽입할 때 사용하는 명령문입니다 데이터 입력 입력하는 데이터 값은 속성의 개수보다 적어야 합니다 또한 속성과 입력하는 데이터 타입이 같아야 합니다 insert를 사용하고 테이블 명 옆에 속성명들을 입력하지 않으면 테이블으 생성할 때 지정한 속성들 순으로 데이터를 전부 입력해 주어야 합니다 SELECT문을 이용하여 다른 테이블의 값을 넣을 수 있습니다 서브 쿼리문을 사용해 삽입할 수 있..
[DB] DDL문 DDL문 데이터 베이스 객체들을 생성, 변경, 제거할 때 ㅏ용 테이블 기준 명령어 create : 테이블 생성 alter : 테이블 구조변경 drop : 테이블 삭제 rename : 테이블 이름 변경 truncate : 테이블의 모든 내용 제거 오라클은 관계형 데이터 베이스를 기본으로 함 - 관계형 데이터베이스는 정보 저장을 위해 관계나 2차원 테이블을 사용 - 관꼐형 데이터 베이스는 기본적인 자료형 복사 CREATE TABLE 복사할 테이블 명 AS SELECT * FROM 기존 테이블명 ALTER : 테이블 구조 변경 - 새로운 칼럼 추가 새로운 칼럼은 항상 마지막에 새엉되므로 자신이 원하는 위치에 추가 불가 ALTER TABLE 테이블명 ADD(컬럼명 데이터 타입); 기존 컬럼 수정 해당 컬럼에 해..
[DB] 그룹함수 ■ 그룹함수 - 테이블의 전체 행을 하나 이상의 컴럼을 기준으로 컬럼값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수(복수행 함수) * 종류 : COUNT, MAX, MIN, SUM, AVG, STDDV, VARIANCE ○ 규칙 - NULL 값이 있는 컬럼은 조회에 포함시키지 않는다 - 로우가 없는 테이블에 그룹함수 CONT를 사용시 0이 출력되면 SUM을 사용시 SUM값 출력 - COUNT, MAX, MIN은 문자 숫자 날짜 데이터 모두 사용가능 - AVG, SUM, VARIANCE, STDDV는 숫자만 가능 - Expr이 있는 인수들의 자료형태는 CHAR, VARIANCE, NUMBER, DATE형이 될수 있다 ○ COUNT - 테이블에서 조건을 만족하는 행의 개수를 반환하는 함수 ○ MAX/MI..