일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 신한sol뱅크 쏠퀴즈
- C++
- New & Delete(동적할당)
- 함수 오버로딩
- function overloading
- jQuery
- USB 부팅 디스크
- 앱테크
- jco 소스
- 맥북 프로
- IS-A
- h point 퀴즈
- 신한은행 퀴즈
- Reference
- db sql
- 신한sol페이 퀴즈팡팡
- SQL
- 신한슈퍼sol 출석퀴즈
- 참조자
- 디폴트 매개변수
- 상속
- SAP
- 가상머신
- 마운틴 라이언 클린 설치
- default parameter
- 자식클래스
- abap
- VMware
- 부모클래스
- DB
- Today
- Total
목록IT 지식/DB (10)
IT스러운 공간
정의SELECT 문장의 절에 포함된 SELECT 문장.WHERE 절의 Sub Query : 비교 대상의 값이 미지정일 경우 사용됨FROM 절의 Sub Query : Sub Query의 결과 집합(Result Set)을 하나의 View로 간주, 인라인뷰라고도 함HAVING절의 Sub Query : 그룹함수의 결과에서 조건을 주어 조건에 맞는 결과를 표시할 때유형단일행 서브쿼리 : 서브쿼리의 결과로 하나의 행이 리턴된다.(=로 비교가능)다중행 서브쿼리 : 서브쿼리의 결과로 하나 이상의 행이 리턴된다.(in연산자)다중열 서브쿼리 : 서브쿼리의 결과로 하나 이상의 열이 리턴된다.사용지침1. WHERE절, HAVING절, FROM절에 Sub Query 사용2. 서브쿼리는 ()로 둘러싸여져야 함3. 단일행 서브쿼리..
Join : 하나 이상의 테이블에 있는 데이터를 조회하기 위해 사용각 테이블마다 동일한 컬럼이 있을 수 있기 때문에 어떤 테이블에 속한 컬럼인지 확인하기 위해 열 이름 앞에 테이블 이름을 붙여야 함.이름 대신 별칭을 사용할 수도 있음. ALIAS - SQL문장을 간단하게 작성할 수 있다. 명명은 짧고 의미있는 단어로 지정중복되지 않은 열 이름이라도 열 이름 앞에 테이블 이름을 붙이면 오라클 서버에서 찾고자 하는 열의 정확한 위치를 알려주므로 성능 향상이 된다.2개 이상의 테이블을 조인할 수도 있지만 항상 2개씩만 조인이 가능. 종류1. EQUIJOIN: primary key와 foriegn key2. NON-EQUIJOIN: 두 테이블 사이에 어떤 컬럼에 연관이 없는 것: BETWEEN ~ AND3. O..
Enterprise 서버 : 대기업용 서버, 용량이 커서 설치 시 3시간 이상 걸림, 관리 잘해야함Enterprise 클라이언트 : 서버에 접근, 연관된 데이터만 꺼내오기Express 교육용 : 엔터프라이즈만큼 신경쓰지 않아도 됨설치 파일 : Oracle XEUniv.exe 줘야함. 한글 지원이 됨오라클 설치- 오라클 설치 시 계정이나 컴퓨터 이름 모두 영문, 공백 없어야 함. 관리자 계정이어야 함- 기존 오라클 삭제해야함, 레지스트리도 지워야함. 데이터베이스도 사용 도구 툴이 있음.- 암호 지정- 포트번호 : 1521 지정, 자바와 연동고정된 계정System/oracle, scott/tiger, hr/hr 계정서비스 확인 : 항상 시작되어야함- Oracle Service XE- Oracle XETNSL..
ROWID - 레코드 식별자(RID, Record Indentifier / ROWID) - DB에 존재하는 모든 row가 갖는 유일한 식별자_오라클에서만 존재 - ROWID는 SELECT문을 이용하여 조회 가능, UPDATE, INSERT 불가능 - Oracle에서 INDEX를 생성하기 위해 내부적으로 사용하는 Pseudocloumn으로 사용자가 임의로 변경, 삭제 불가능 - 참조만 가능하며 데이터베이스에 값이 저장되지 않음 - 물리적인 address를 가지고 있기 때문에 Single Block Access로 찾고자 하는 row를 찾을 수 있어 가장 빠른 Access 방법을 제공 - 인덱스 검색 및 테이블검색 없이도 레코드를 찾을 수 있음, 작업 효율 향상 구성(10바이트) - 오라클 7에서는 6바이트(..
PL/SQL : Database 내에서 절차적인 처리를 할 수 있도록 지원하는 3GL 언어DML(INSERT, DELETE, UPDATE, SELECT) : 비절차적인 처리Procedure와 Function : PL/SQL. Java. C등을 이용하여 작성Procedure : 실행 결과를 리턴하지 않는다.Function : 실행 결과를 리턴한다.Package : 관련된 Procedure와 Function들의 묶음Header 부분과 Body 부분으로 구성되어 진다.Business Logic을 Stored Procedure 안에 두면 Application 수정없이 System을 변경할 수 있고 성능을 향상시킬 수 있음패키지 실행 방법패키지이름.procedure나 functionDictionary- SELEC..
PK 가 없는 테이블에서 중복된 데이터 제거하기발생일: 2009.11.06문제:타시스템으로부터 인터페이스 받아오는 임시 테이블이 있다.이 테이블은 데이터 전달용으로 임시로만 사용하기 때문에 따로 PK 를 두지 않았다.헌데 이 테이블에 중복된 데이터가 인터페이스 되게 되었다.PK 가 없는 테이블에서 중복된 데이터를 어떻게 제거해야 할까...다른 테이블로 옮기는 과정에서 프로시저를 통해 중복데이터를 제거하면 되겠지만,현재 상황에서는 프로시저를 수정할 수는 없다.단순하게 DELETE 구문을 통해 중복 데이터를 제거하려고 한다.테이블 스키마는 대략 아래와 같다고 가정한다.IF_TEMPid (number)content (varchar2)현재 데이터는 아래과 같다.idcontent 123 가나다 123 가나다 2..
종류NOT NULL - NULL을 허용하지 않는다.CHECK - 조건에 맞는 값만을 허용한다.UNIQUE - 중복된 값을 허용하지 않는다. NULL 값 포함됨PRIMARY KEY - 각 행을 유일하게 식별하게 단일 혹은 결합 필드를 명시한다. NULL을 허용하지 않음.FOREIGN KEY - 참조 무결성을 유지하기 위해서 지정. 값을 보장하고 있는 테이블의 PRIMARY KEY내에 존재하는 것을 보장
테이블 생성 : CREATE TABLE테이블 변경 : ALTER TABLE컬럼 추가 : ADD컬럼 수정 : MODIFY테이블 제거 : DROP TBALECASCADE CONSTRAINTS : 외래키도 삭제컬럼 제거 : DROP, 데이터베이스 오버헤드 부하 발생컬럼 UNUSED : 사용자게에 컬럼을 보이지 않게 한다. SET UNUSED COLUMN age > 사용 이유, 데이터베이스 오버헤드 부하 발생하지 않음. Row Chaining블록이 꽉 차서 넘쳤을 때 다른 블록으로 걸쳐서 저장됨. 원래 있던 데이터는 블록 a에, 넘친 데이터는 블록 b에 I/O 비효율 발생Row Migration비효율을 없애기 위해, 공간이 부족했을 경우 새로운 블록에 저장됨. 기존의 블록에 공간이 생김, 블록이 많이 생김PCT..
Temporary TABLESPACE : Sort 처리를 위해 필요한 TABLESPACE 이다.V$SORT_SEGMENTS에서 정보 확인Read Only TABLESPACE조건 1. 온라인이어야한다.2. 활성 트랜잭션이 없어야 한다.3. 활성 RollbackData File Size 조정자동 조정 시 되도록이면 MAXSIZE 지정하기수동 조정 문법 ALTER DATABASE DATAFILE 해당파일
WHERE절 : 칼럼끼리도 비교 가능예) SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL >= COMM;BETWEEN ~ AND : 사용시 비교하는 대상의 작은 값이 앞으로 와야함.예) SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL BETWEEN 1800 AND 1500 (X)SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL BETWEEN 1500 AND 1800 (O)LIKE : % 또는 _ 사용(숫자타입에서는 사용 불가능)\ : 와일드카드 문자를 무시하고 하나의 값으로 표현하고자 할때 ESCAPE 예약어를 사용한다.예) SELECT * FROM EMP WHERE ENAME LIKE '..