
관리자sys (최고 권한자)system(sys에서의 권한을 다 수행할 수 있지만 DB는 만들지 못함)롤 - SYSDAB 호스트이름: localhost 또는 127.0.0.1 사용image.pngOracle default port - 1521 (실무에서는 port를 알지
데이터베이스란 ? 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조함으로서 검색과 갱신의 효율화를 꾀한 것으로, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 잡합체라고 할 수 있다.

테이블이나 뷰에 있느 데이터를 조회하여 0개 이상의 행을 반환한다.SELECT는 가장 일반적인 DQL(data query language) 명령이며, DML(data manipulationlanguage)의 구성 요소로 간주되기도 한다.SELECT 문은 반드시 SELE
WHERE 절을 사용하여 리턴되는 행을 제한한다.WHERE 절을 FROM 절 다음에 온다.WHERE 절은 열 이름, 비교 연산자, 그리고 비교할 열 이름 또는 값의 목록으로 구성된다.emp 테이블: city가 서울인 자료 중 name, city 컬럼 출력emp 테이블:
정의에 의해 검색되는 행을 정렬할 수 있다.ORDER BY 절은 SELECT 문장의 가장 뒤에 온다.ASC: 오름차순으로 정렬. 기본값(생략가능) DESC: 내림차순으로 정렬별명으로도 정렬 가능, 열의 순서로도 정렬 가능

구문형식 대괄호는 생략이 가능, 중괄호는 무언가를 여러개를 나열 SELECT : 하나 이상의 열을 나열 DISTINCT : 중복을 제거 *: 모든 열을 선택 column: 명명된 열을 선택 AS: 열 별칭(alias)을 지정 FROM table: 열을 포함하는 테이

자주 사용되는 기능을 미리 만들어 놓고 필요할 때마다 사용하는 개념DBMS에서는 주료 사용되는 문자, 숫자, 날짜 등의 다양한 기능과 데이터 타입을 반환하는 함수들을 제공데이터 값 계산 및 조작행별의 하나의 결과를 반환SELECT, WHERE, ORDER BY 절에서
데이터 중의 날짜 형식을 가지는 데이터를 계산하기 위해서 사용되는 날짜 함수날짜 + 숫자 = 날짜에 숫자 이후의 날짜날짜 - 숫자 = 날짜에 숫자 이전의 날짜날짜 + 날짜 = 날짜에서 날짜를 더한 날짜날짜 - 날짜 = 날짜에서 날짜를 뺀 날짜오라클이 설치된 시스템의 현
오라클에서 제공하는 데이터 타입을 필요에 따라 변환자동(암묵적) 변환서숫자를 날짜로는 바꿀 수 없다. 숫자는 항상 문자로만 바꿀 수 있다. 날짜 또한 문자로만 바꿀 수 있다. 숫자를 fmt 형식을 사용하여 VARCHAR2로 변환fmt를 생략하면 기본 날자 형식잘 사용하

숫자 함수는 주로 숫자 계산과 추가 처리에 사용숫자 함수 종류숫자를 정수로 올림하는 CEIL() 함수, 숫자를 정수로 내림하는 FLOOR() 함수숫자를 반올림하는 ROUND() 함수숫자를 절삭하는 TRUNC() 함수숫자를 나눈 후 나머지를 구함숫자가 양수일 경우 1,
집계 함수는 행 그룹을 기반으로 단일 결과(한줄)를 반환집계 함수는 SELECT 절, HAVING 및 ORDER BY 에서 사용 가능WHERE절에서는 사용 불가집계 함수는 일반적으로 GROUP BY 절과 사용부서별, 남자별, 그룹적으로 묶어서 사용테이블 전체가 하나의
분석 함수는 행 그룹을 기반으로 집계 값을 계산하며, 각 그룹에 대해 여러 행을 반환한다는 점에서 집계 함수와 다르다.분석 함수가 처리되기 전에 모든 조인과 모든 WHERE, GROUP BY 및 HAVING 절이 완료된다. 따라서 분석 함수는 선택 목록 ORDER BY
2개 이상의 SQL문의 결과를 이용해서 집합을 만드는 연산자첫 번째 SELECT문과 두 번쨰 SELECT문의 열의 개수와 각 데이터 타입은 반드시 일치해야 함다음과 같이 쿼리를 작성하면 first_name과, salary의 데이터 타입이 다르기 때문에 ORA-01790
그룹핑은 하나 이상으로 그룹핑 가능실행과정FROM 절 → WHERE 절(대상을 줄임) → GROUP BY 절 → HAVING 절 → SELECT 절 → ORDER BY 절HAVING은 GROUP BY 절이 끝나고 나와야한다.GROUP BY 절에서 사용한 컬럼은 SELE
HAVING 절 사용 예WHERE - 작업 대상HAVING - 끝난 연산에서 다시 쳐내는 것HAVING 절과 WHERE 절의 다른 점은 HAVING 절은 GROUP BY 절과 함께 사용해야 하며 집계 함수를 사용하여 조건절을 작성하거나 GROUP BY 컬럼만 조건절에
오라클 9i 버전에서 새롭게 추가된 문법으로 이전 버전에서 사용되던 GROUP BY절과 UNION ALL 연산자의 결합된 형태의 기능이다.여러 개의 SELECT 문이 UNION ALL 집합 연산자에 의해 결합되어 결과가 출력되는 쿼리문을 GROUPING SET 절에 의
지정된 열들에 대해 누적 합계(소계)를 계산하며 각 그룹에 대해 단계별로 집계 결과를 생성하며, 마지막에는 전체 합계(총계)를 포함한다.CUBE는 모든 그룹에 대해 소계와 총계를 생성하며, 지정된 모든 열에 대한 모든 그룹을 고려하여 집계 결과를 계산한다.

기본형식값이 저장되지 않는다.수식등을 저장하여 요청시 가상 컬럼 값을 반환가상 컬럼에는 SYSDATE 등 동적 결과를 출력하는 함수는 사용 불가INSERT 로 값을 추가할 수 없으며, UPDATE 로 값을 수정할 수 없다존재하는 테이블을 이용하여 테이블 작성 제약조건은
기본형식값이 저장되지 않는다.수식등을 저장하여 요청시 가상 컬럼 값을 반환가상 컬럼에는 SYSDATE 등 동적 결과를 출력하는 함수는 사용 불가INSERT 로 값을 추가할 수 없으며, UPDATE 로 값을 수정할 수 없다존재하는 테이블을 이용하여 테이블 작성제약조건은
기존의 테이블에 새로운 컬럼을 추가새로 추가되는 컬럼은 가장 마지막에 추가이전에 등록한 행이 존재하는 경우, 이전에 등록된 행의 추가된 컬럼 값은 NULL로 추가데이터가 존재하는 경우 컬럼 타입을 변경할 경우 변경 가능한 값만 가지고 있어야 한다.해당 컬럼에 데이터가

SQL에서 데이터베이스 객체(테이블, 인덱스, 뷰, 트리거 등)를 삭제할 때 사용하는 명령어한 번 삭제된 객체는 복구할 수 없기 때문에 신중하게 사용해야 한다.객체가 영구적으로 삭제되기 때문에, 사전에 백업을 고려하는게 좋다.테이블의 구조는 삭제하지 않고 데이터만 삭제
데이터 조작 언어란 ? 데이터 조작 언어는 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서, 사용자(응용 프로그램)와 DMBS 간의 인터페이스를 제공한다. 응용프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 하기 위해 다양한
테이블에 새로운 행(ROW)를 추가할 때 사용하는 SQL문테이블에 데이터를 입력하기 위해서는 사용자 소유의 테이블이거나 테이블에 대해 INSERT 권한을 가져야 한다.INSERT문을 사용하여 데이터를 입력 후에 COMMIT 또는 ROLLBACK 명령을 사용하여 트랜잭션
개요테이블에 저장된 데이터를 수정하기 위해서 사용하는 명령문이다.WHERE 절을 사용하지 않을 경우는 테이블에 있는 모든 행이 수정된다.컬럼에 제약 조건이 설정된 경우, 제약조건에 위반되는 값으로 수정하면 오류가 발생한다.UPDATE 문을 사용하여 데이터를 수정 후에
개요테이블에 저장된 데이터를 삭제하기 위해서 사용하는 명령문이다.WHERE 절을 사용하지 않을 경우는 테이블에 있는 모든 행이 삭제된다.DELETE 문을 사용하여 데이터를 삭제 후에 COMMIT 또는 ROLLBACK 명령을 사용하여 트랜잭션을 완료해야한다.구문 형식DR
오라클 9i 버전부터 ANSI SQL 표준 문법 사용이 가능하다. 조인의 형태가 FROM 절에서 지정되며, 조인 조건이 ON 절 또는 USING 절에 표시된다. ANSI SQL은 조인 구문이 더 직관적 대부분 데이터베이스에서 ANSI 사용 가능 CROSS JOIN 두 개의 테이블에 대한 Cartesian Product와 같은 결과를 출력 NATURAL ...
서브쿼리는 다른 SELECT 문장의 절에 내장된 SELECT 문장이다. 서브쿼리를 사용하여 간단한 문장을 강력한 문장으로 만들 수 있으며, 테이블 자체의 데이터에 의존하는 조건으로 테이블의 행을 검색할 필요가 있을 때 서브쿼리는 아주 유용하다.SELECT 절에 사용하는
SELECT \* FROM obj; — tab, tabs로 안 보이는것도 다 보인다. 테이블 생성 시 무결성 제약조건을 정의하여 프로그래밍 과정을 줄여준다.데이터베이스 서버에 의해 무결성 제약조건이 관리되어 데이터 오류 발생 가능성을 줄여준다.테이블에 대해 정의되고 데
모든 데이터 사전 테이블 정보 확인 현재 사용자듸 모든 객체 정보 테이블 정보 확인 테이블의 컬럼 정보 확인 제약조건 확인 어떤 컬럼에 제약조건이 부여되었는지 확인이 불가(테이블명은 대문자로) constraint_type → P:기본키, C:NOT NULL 등,

아버지는 유일성을 보장 받았기 때문에 참조키 가능 참조 키는 테이블 간의 데이터의 일관성을 보장하기 위한 제약조건이다.한 테이블의 PRIMARY KEY나 UNIQUE 컬럼을 다른 테이블에 추가하여 두 테이블 간 연결을 설정 한다. 이 때 두 번째 테이블에 추가되는 컬럼

오늘은 강사님이 오라클 문제를 내주신날이다. 조원은 나 포함 5명에서 진행하였다.문제는 다음과 같다.데이터 딕셔너리와 제약조건 ο 제약 조건 - 종합 문제 1) hr 사용자(스키마)의 다음 7개의 테이블의 구조를 분석한다. \- 테이블명, 컬럼
조인은 둘 이상의 테이블, 뷰의 행을 결합하는 쿼리이다.query의 FROM 절에 여러 테이블이 나타날 때 마다 조인을 수행한다.query의 선택 목록(select list)은 이러한 테이블에서 컬럼을 선택할 수 있다.조인된 두 테이블 이상에서 하나의 공통된 컬럼의 이
개요서브 쿼리는 SELECT, INSERT, UPDATE, DELETE 문이나 다른 하위 쿼리 내부에 중첩된 SELECT 쿼리이다.subquery는 식이 허용되는 모든 위치에서 사용할 수 있으며 단독으로 실행 가능하다.서브쿼리를 미리 블럭으로 설정서브쿼리 실행결과가 하

연속적인 유일의 정수값 생성(1, 2, 3, ...)시퀀스 값을 기본키의 값으로 사용할 수 있다.트랜잭션의 커밋 또는 롤백과 상관없이 시퀀스는 증가한ㄷ.12C 이상부터는 테이블 생성시 DEFAULT 값으로 시퀀스 값을 할당 할 수 있다.
가상의 테이블뷰를 만들수 있는 권한이 있어야 뷰를 만들 수 있다.권한이 없는 경우 다음의 에러가 발생(ORA-01031:권한이 불충분)위와 같이 매번 이렇게 조인을 하는건 구찮다. 그럼으로 VIEW을 이용하여 가상 테이블을 만든다.SELECT \* FROM tab; 을
동의어다른 사용자의 객체 참조: 사용자.객체명사용자.객체명 처럼 접근하는 방법이 불편 => 이 문제를 해결 => 동의어dual은 SYS 객체이므로 sys.dual로 접근해야 하지만 dual로 접근 => 동의어sky 계정에서 hr 계정의 employees 테이블을 SEL
계층형 질의
열을 행으로 ROW 형태의 데이터를 COLUMN 형태로 보여주는 쿼리(행열 바꿀 때 사용)컬럼의 값을 기준으로 새로운 컬럼을 도출하여 다양한 집계함수를 적용 가능하다.무조건 서브쿼리르 사용한다. 구문 요소:집계 함수: SUM(), COUNT(), MAX(), MIN()
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되어야 할 일련의 연산들을 의미한다.트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다.사용자가 시스템에 대한 서비스 요구
Top-N 쿼리는 순서가 지정된 데이터 집합에서 반한되는 행 수를 제한하는 방법을 제공한다. 세트에서 상위 또는 하위 'N'개의 행 수를 리턴 하거나 데이터를 통해 페이징 할 때 매우 유용ORACLE 12C부터는 로우 제한 절을 사용하여 반환되는 행수를 제한할 수 있다

개념적 모델링 - 엔티티 추출어떠한 테이블이 필요할까?어떠한 항목들이 있을까?테이블 사이에 어떤 관계가 있지? 객체를 가지고 추출하고, 관계를 정의 - E-R 다이어그램요구조건 분석 : 데이터베이스에 저장할 내용을 정하기 위해 사용자 요구사항 분석설계 : 개념적 설계,

정규화(Normalization)를 거치지 않은 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 발생하는 예기치 못한 곤란한 현상으로 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용삽입 이상(Insertion Anomaly)릴레이션
프로그래밍언어의 특성을 가지는 SQL 확장데이터 조작과 질의 문장은 PL/SQL의 절차적 코드 안에 포함된다. PL/SQL 프로그래밍 단위대입연산자 := SQL Developer에서 보기 - DBMS출력에서 프로시저 출력을 볼 수 있다. 👉 sqlplus 에서 프로시
\-- 자주 실행해야 하는 업무 흐름(SQL)을 미리 작성하여 데이터베이스 내에 저장해 두었다가 필요할 때마다\-- 호출하여 실행(SELECT, UPDATE, INSERT가 될 수도 있다. ) - 자바에서 voidIN 파라미터 : 프로시저를 전달되는 함수(읽기 전용)파
※ 함수 \-- : 사용자가 직접 로직을 구현하여 구현한 함수 \-- : 내장 함수(빌트인 함수)처럼 쿼리에서 호출하거나 EXECUTE 문을 통해 실행 가능
PL/SQL 블록이 실행되는 동안에 발생되는 에러를 예외라 한다.컴파일 에러 : PL/SQL 블록이 파싱(Parsing)될 때 사용자 오타, 구문 오류 등으로 인해 발생되는 에러런타임 에러 : PL/SQL 블록이 실행되는 동안 발생하는 에러로 일반적으로 런타임에러를 E
암시적 커서(Implicit Cursor)1) 암시적 커서 란 ?암시적인 커서는 오라클이나 PL/SQL실행 메커니즘에 의해 처리되는 SQL문장이 처리되는 곳에 대한 익명의주소이다.오라클 데이터베이스에서 실행되는 모든 SQL문장은 암시적인 커서가 생성되며, 커서 속성을
미리 정해 놓응ㄴ 특정 조건이 만족하거나 어떤 동작이 수행하면 자동으로 실행하도록 정의한 동작예를 들어 DML(INSERT, UPDATE, DELETE) 문장이 실행하거나 DDL(CREATE, ALTER, DROP) 문장이 실행될 때 트리거가 실행될 수 있다.트리거는
오라클에 저장되어 있는 서로 관련 있는 PL/SQL 프로시저, 함수, 타입등을 논리적으로 묶어 놓은 집합 이다.패키지는 선언부와 본문으로 나눈다.패키지 내에서는 프로시저, 함수는 오버로딩(중복 정의)이 가능하다.패키지 목록 확인패키지 내의 프로시저, 함수 목록 확인패키

오라클에 저장되어 있는 서로 관련 있는 PL/SQL 프로시저, 함수, 타입등을 논리적으로 묶어 놓은 집합 이다.패키지는 선언부와 본문으로 나눈다.패키지 내에서는 프로시저, 함수는 오버로딩(중복 정의)이 가능하다.매개변수의 개수나 타입이 다르면 동일한 이름으로 프로시저나
인덱스는 일반 테이블이나 클러스터에서 쓰여지는 선택적인 객체로서, 오라클 데이터베이스 테이블내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조이다.SQL 명령문의 처리 속도를 향상시키기 위해서 컬럼에 대해서 생성하는 오라클 객ㅊ인덱스는 디스크 I/O를