반응형

학습자료(~2017) 232

10. 오라클 - 제약조건

. NOT NULL : NULL을 허용안함 . CHECK : 조건에 맞는 값만을 허용 . UNIQUE : 중복된 값 허용안함 . PRIMARY KEY : 각행을 유일하게 식별하는 값 . FOREIGN KEY : 값이 참조하고 있는 테이블의 PRIMARY KEY 내에 존재한다고 보장 예) CREATE TABLE student( stuid CHAR(5) CONSTRAINT student_stu_id_pk PRIMARY KEY CONSTRAINT student_stu_id_ck CHECK (LENGTH(TRIM(' ' FROM stu_id ))=5), stu_name VARCHAR(10) CONSTRAINT student_stu_name_nn NOT NULL ; 예) CREATE TABLE score( stu..

9. 오라클 - 테이블 관리 및 활용

예 ) CREATE TABLE emp_family( emp NUMBER(4) NOT NULL, fam_name VARCHAR2(10) NOT NULL, .... CONSTRAINT emp_family_pk PRIMARY KEY(empno,fam_name) ); 테이블 변경 1) ALTER TABLE emp_family ADD (job VARCHAR2(30)); 2) ALTER TABLE emp_family MODIFY (job VARCHAR(40) NOT NULL); 테이블 삭제 1) DROP TABLE table; 2) DROP TABLE emp CASCADE CONSTRAINT; // FOREIGN KEY도 다 함께 삭제 된다. (foreign key 란 다른 테이블의 primary key 를 참조하..

8. 오라클 - 테이블 스페이스 관리

. Temporary TABLESPACE -> 모든 Sort Operation 을 위해 필요한 TABLESPACE, 영구적인 Object를 포함 불가능하다. CREATE TABLESPACE tablespacee DEFAULT STORAGE storag_clause PERMANENT // 영구적인 object 보유지정(Default) TEMPORARY // 임시 object 보유지정 . TABLESPACE 생성시 TEMPORARY 키워드를 이용 . v$sort_segment 에서 sort segment 에 대한 공간 할당과 해제 정보 제공 READ ONLY TABLESPACE - 다음 조건을 갖춰야 Read only 로 만들수 있다. . tablespace 는 online 이어야 한다. . 활성 trans..

7. 오라클 - 테이블 스페이스

Oracle Database 는 두가지 유형의 테이블 스페이스로 구성되어있다. ● SYSTEM 테이블 스페이스 - Data Dictionary 정보, Stored Procedure의 정의 Package, Trigger 포함 - SYSTEM ROLLBACK SEGMENT 포함 - 사용자 데이터 포함 가능 ●NON-SYSTEM 테이블 스페이스 - 보다 융통성 있게 데이터베이스를 관리 - Temporary segment , Application Data Segment, Index Segment, User Data Segment - Rollback : 특별한 성격의 NON-SYSTEM 테이블스페이스이며 사용중인 Rollback Segment 가 있으면 off-line, 읽기전용으로 전환 할수 없으며, SYSTE..

6. 오라클 - Sub Query

. 단일행 Sub Query : Sub Query 의 결과로 하나의 행 리턴 . 다중행 Sub Query : Sub Query 의 결과로 하나이상의 행 리턴 . 다중열 Sub Query : Sub Query 의 결과로 하나 이상의 열 리턴 사용지침 .WHERE 절, HAVING 절, FROM 절에 Sub Query를 사용 할수 있다. .Sub Query 는 ()로 둘러싸여 있다. .Sub Query는 연산자의 오른쪽에 위치하여야 한다.' .단일행 Sub Query 는 단일행 연산자를 다중행 Sub Query는 다중행 연산자를 사용해야 한다. 예) 질문1) jones 보다 급여를 많이 받는 사원은? 답1) SELECT empno, ename, sal FROM emp WHERE sal > (SELECT sa..

5. 오라클 - 조인

조인이란 하나 이상의 테이블을 조인해서 보고싶을 때 사용한다. 방법 : 조인 조건은 WHERE 절에 기술, 똑같은 열 이름이 하나 이상의 테이블에 존재 한다면 모호성을 없애기 위해 열 이름 앞에 테이블 이름을 붙여야 한다. 중복되지 않는 열 이름이라 할지라도 열이름 앞에 테이블 이름을 붙이면 성능 향상 2개 이상의 테이블을 조인할 수 있다. EQUIJOIN - > PRIMARY KEY , FOREIGN KEY 와 같이 같은 값이 존재하는 테이블끼리 조인 예 ) emp 테이블과 dept 테이블에 deptno 라는 같은 데이터형의 컬럼이 존재한다면 SELECT emp.empno, emp.ename, emp.deptno, dept.dname FROM emp, dept WHERE emp.deptno = dept..

4.오라클 - 그룹, 함수

함수 MAX() : 최대값 AVG([DISTINCT | ALL] n ) : NULL을 무시한 평균 COUNT({* | [DISTINCT | ALL] expr }) : NULL을 무시하지만 * 이라면 NULL과 중복을 포함 MAX([DISTINCT | ALL] expr) : NULL 값 무시 expr의 최대값 MIN([DISTINCT | ALL] expr) : NULL 값 무시 expr의 최소값 STDDEV([DISTINCT | ALL] n) : NULL값 무시한 n의 표준 편차 SUM([DISTINCT | ALL] n ) : NULL값 무시한 n의 합계 VARIANCE([DISTINCT | ALL] n) : NULL값 무시한 n의 분산 예) SELECT SUM(sal),AVG(sal) FROM 테이블명 ..

로컬에 설치된 오라클 SYS 암호 잊어버렸을때

로컬에 오라클이 설치 된 경우에만 가능합니다. C:\>sqlplus "/as sysdba" SQL*Plus: Release 10.1.0.2.0 - Production on 화 11월 11 18:03:33 2008 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options SQL> show user USER is "SYS" SQL> alter user sys identified by "암호"; User altered. SQL>

3. 오라클 - 데이터 제한 및 정렬

데이터 제한 SELECT [DISTINCT] { *, cloumn [alias]} FROM 테이블명 [WHERE condition(s)]; . 문자 스트림과 날짜 값은 단일 인용부호(') 로 묶어서 표현 . 문자값은 대소문자를 구분, 날짜 값은 날짜 형식을 구분 연산자 의미 같지않다 BETWEEN a AND b a와 b사이 IN(list) list 값 목록중 하나와 일치 LIKE 문자 패턴 일치 IS NULL , IS NOT NULL NULL 값 비교 AND 그리고 OR 또는 NOT 참, 거짓 반대로 예) sal BETWEEN 1500 AND 1800 (sal 이 1500이상 1800이하) 예) sal BETWEEN 1800 AND 1500 (찾을수 없다 작은 값을 앞에 큰 값을 뒤에 두어야 한다.) 예..

2. 오라클 - 기본 질의문

SQL,SQL * PLUS 기본 SQL은 대소문자를 구분하지 않음(쉬운 코드를 위해 적절히 대소문자를 구분) Data type 은 반드시 일치시킨다. WHERE 절에는 상수값 대신 호스트 변수를 사용한다. 예) V_EMPNO = 1010; WHERE empno = V_EMPNO ; 왜냐하면 WHERE empno=1010 과 WHERE empno = 2020 이 다르다고 생각 WHERE 절의 비교대상이 되는 Column을 변형하지 않는다. SQL 작성 규칙을 만들고 모든 개발자가 지키도록 한다. SELECT 컬럼, ... FROM 테이블 WHERE 조건(AND, OR, =) INSERT INTO 테이블 (컬럼,.....) VALUES(값,......) UPDATE 테이블 SET 컬럼 = 값, .........

반응형