* 서브쿼리(Sub-Query) - SQL 문장 안에서 보조로 사용되는 또 다른 SELECT문을 의미한다. - 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다면, 이를 위한 중간 단계 혹은 보조 역할을 하는 SELECT문을 서브 쿼리라 한다. - 하나의 SQL문을 기준으로 메인 쿼리를 제외한 나머지 모든 SELECT문을 서브쿼리로 보면 된다. - 서브쿼리는 메인쿼리가 실행되기 이전에 한 번만 실행된다. - 서브쿼리는 여러 개를 사용할 수 있다. - 서브쿼리가 가지는 장점은 한 번 디스크에서 읽어온 데이터를 메모리 안에서 가공해서 사용할 수 있도록 도와주는 것이다. 즉, 동일한 데이터를 다시 한번 이용하여 복잡한 가공에도 물리적인 I/O를 줄여준다. - 서브 쿼리는 SELECT, FROM, WHERE 절 ..
* 조인(JOIN) - 두개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것이다. 한개 이상의 테이블에서 데이터를 조회하기 위해 사용한다. - 두 테이블을 묶어서 추출된 결과를 새로운 테이블을 만들어 집어 넣어 보여주는 형식이다. 새로운 테이블은 데이터베이스 딕셔너리에 저장된다. - 조인은 왜 필요할까? - 두개의 테이블이 서로 릴레이션 관계를 맺고 있을때, 반드시 두개의 테이블을 조합해서만 원하는 정보를 얻을 수 있는 상황이 발생했다 치자. - 이때, 두 테이블 모두 각각 검색해서 정보를 도출해야한다. 조회를 2번이나 해야한다는 뜻이다. - 하지만 JOIN을 사용하면 2번 조회를 거칠 필요없이 한번만 검색을 해도 된다. - 두 테이블을 한번에 묶어 보여주기 때문이다. - JOIN은 두..
* 제약조건(CONSTRAINT) - 제약조건은 결점 없이 정확하고 유효한 데이터가 데이터베이스에 저장될 수 있도록 하기 위하여 데이터를 조작하는데 한계를 규정한 것이다. - 즉, 사용자가 원하는 데이터만 걸러내도록 조건을 만드는 것을, 제약조건을 건다라고 말한다. - 제약조건을 걸때 CONSTRAINT를 사용한다. - CONSTRATINT 뒤에 제약조건의 ID를 부여할 수 있다. - CONSTRATINT를 생략할 시 제약 ID를 자동으로 오라클 시스템에서 생성해준다. - 기본형태 CONSTRAINT 기본형태 CONSTRAINT 제약id 제약내용(칼럼명); - 예시 * 제약 변경 - 제약조건을 주지 않아 추가하거나, 제약조건을 변경, 삭제 하는 경우 ALTER 명령문을 이요하여 변경이 가능하다. - 기본..
* 관계형 데이터베이스 - 관계형 데이터베이스란 임의의 데이터베이스 내에 존재하는 여러 테이블들이 서로 관계를 가지며 운영되는 것을 의미한다. - 관계형 데이터베이스는 테이블 간의 관계를 분명하게 설정하고, 제약조건들을 사용하여 정확한 데이터들을 설정하는 것이 중요하다. - 정확한 데이터란 메모리 공간을 차지하고 있는 안 쓰이는 데이터를 제외한 개체와 속성간에 밀접한 관련이 있는 데이터를 의미한다. - 즉, 관계형 데이터베이스는 불필요한 데이터를 제약조건으로 걸러내고 테이블간에 밀접한 관련이 있는 필요한 데이터들만 남아있는 데이터베이스를 의미한다. * 제약조건(CONSTRAINT) - 제약조건은 결점이 없이 정확하고 유효한 데이터가 데이터베이스에 저장될 수 있도록 하기 위하여 데이터를 조작하는데 한계를 ..
* 키(Key) - 열쇠는 무언가를 열거나 잠글 때 사용하는 것으로, 같은 것이 하나도 없다. 우리집 열쇠가 옆집의 열쇠랑 다르듯이 말이다. - 이와 같이 키라는 것은 무언가를 식별하는 고유한 식별자(identifier) 기능을 한다. - 즉, 키는 데이터베이스에서 조건에 만족하는 관계의 행을 찾거나 순서대로 정렬할 때 다른 행과 구별할 수 있는 유리한 기준이 되는 속성의 집합이다. - 키의 종류로는 기본키, 슈퍼키, 후보키, 대체키, 외래키 등이 있다. 1. 슈퍼키(Super Key) - 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합이다. 슈퍼키는 유일성만 만족하면 슈퍼키가 될 수 있다. - 유일성이란 하나의 키로 특정 행을 바로 찾아낼수 있는 고유한 데이터 속성을 말..
* 트랜잭션(Transaction) - 트랜잭션이란 '거래'라는 뜻으로 데이터베이스 내에서 하나의 그룹으로 처리되어야 하는 명령문들을 모아 놓은 논리적인 작업 단위이다. - 데이터베이스 응용 프로그램은 트랜잭션들의 집합으로 정의 할 수 있다. - 여러 단계의 처리를 하나의 처리처럼 다루는 기능이다. - 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료된다. - 하나의 명령어라도 잘못되면 전체 취소된다. - 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위함이다. * 트랜잭션 필요성 1. 트랜잭션은 '거래'라는 뜻으로, 은행에서 입금과 출금을 하는 그 거래를 뜻한다. 2. A 은행에서 출금하여 B은행으로 송금한다고 가정하자. 3. 송금한느 중에 알 수 없는 오류가 ..
22 23:59 Oracle SQL Developer DownLoad 1. 오라클 홈페이지 접속을 해줍니다 [http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html] 동의(Accept)를 눌러주고 다운 받으시길 바랍니다. 2. 자신의 컴퓨터 운영체제 확인 후 다운로드 자신의 JAVA 버전 체크를 하고 JDK를 포함한 버전과,포함되지 않은 버전을 골라서 다운 해줍니다. 3. 압축해제 사용방법 1. sqldeveloper-17.4.1.054.0712-no-jre 폴더 열고 developer를 실행 2. 데이터베이스 접속 새 접속을 클릭합니다. 접속이름은 임의로 지정해도 괜찮다. 사용자 이름 비번란에는 오라클 계정..
* DML - 데이터 조작 언어로써 데이터베이스의 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어 - 데이터베이스 사용자와 데이터베이스 관리 시스템간의 인터페이스를 제공 - ex) INSERT, DELETE, UPDATE * INSERT - 생성된 테이블에 새로운 튜플(행)을 삽입할 때 사용하는 명령문 - 기본형(테이블명 옆의 속성명들은 생략 가능) INSERT INTO 테이블명(칼럼명1, 칼럼명2...) VALUES (데이터1, 데이터2...); - 데이터 입력 : 입력하는 데이터 값은 속성의 개수보다 적어야 한다. 또한, 속성과 입력하는 데이터 타입이 같아야 한다. - INSERT를 사용하고 테이블명 옆에 속성명들을 입력하지 않으면, 테이블을 생성할 때 지..
* DDL 이란? - 데이터베이스 객체들을 생성, 변경, 제거 할 때 사용 - 명령어 1. CREATE : 테이블 생성 2. ALTER : 테이블 구조 변경 3. DROP : 테이블 삭제 4. RENAME : 테이블 이름 변경 5. TRUNCATE : 테이블의 모든 내용 제거 * TABLE - 오라클은 관계형 데이터베이스를 기본으로 함 - 관계형 데이터베이스는 정보저장을 위해 관계나 2차원 테이블을 사용한다. - 관계형 데이터베이스는 기본 데이터를 저장하기 위한 구조로 테이블을 사용한다. * 자료형 * 테이블 생성하기 기본형 : CREATE TABLE 테이블이름 칼럼이름 타입(메모리), 칼럼이름 타입()); * 테이블 복사하기 - 복사할 테이블을 선정한뒤 테이블 복사를 하면 값은 복사를 못하지만 칼럼은 ..
출처 : http://charming-jung.tistory.com/28?category=782855 제약 조건 확인하기 SQL문을 작성하다 보면 무결성 제약 조건에 위배되는 경우가 발생하는데, 이 때 어떤 무결성 제약 조건에 위배되었는지 알기란 쉬운 일이 아니다. 그래서 제약 조건(CONSTRAINTS)의 에러 메시지에 대한 정확한 원인을 알기 어려울 때, 오라클에서 제공해주는 USER_CONSTRAINTS 데이터 딕셔너리를 살펴 보아야 한다. USER_CONSTRAINTS 데이터 딕셔너리는 제약 조건의 정보를 위해 많은 칼럼으로 구성되어 있다. 그 중에서 몇가지만 알아보자. 1. 제약 조건명(칼럼명 : CONSTRAINT_NAME) 2. 제약 조건 유형(칼럼명 : CONSTRAINT_TYPE) 3. ..