본문 바로가기
반응형

IT565

[FULL OUTER JOIN] 예문으로 이해하기 OUTER JOIN 절은 기준에 따라 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이 있습니다. 오늘은 FULL OUTER JOIN 함수에 대해서 분석해 보겠습니다. 테이블 생성 및 데이터 인설트 CREATE TABLE b1 ( c1 NUMBER ,c2 VARCHAR2(10) ); CREATE TABLE b2 ( c1 NUMBER ,c2 VARCHAR2(10) ); --데이터 삽입 INSERT INTO b1 VALUES (1,'A'); INSERT INTO b1 VALUES (2,'B'); INSERT INTO b1 VALUES (3,'C'); INSERT INTO b1 VALUES (4,'D'); INSERT INTO b2 VALUES (2,'B'); IN.. 2021. 5. 18.
[ORACLE] 오라클 NULLIF 함수 사용법 및 예제 이번 시간에는 오라클 NULLIF 함수에 대해서 알아보겠습니다. 문법 NULLIF(STR1,STR2) STR1의 값이 STR2의 값과 같으면 NULL, 다르면 STR1 값을 반환합니다. 테이블 생성 및 데이터 입력 create table 부서 ( 부서번호 int ,부서명 varchar2(20) ) insert into 부서 values (1,'하나'); insert into 부서 values (2,'둘'); insert into 부서 values (3,'셋'); commit; 예제 SELECT * FROM 부서 부서번호 부서명 1 하나 2 둘 3 셋 SELECT NULLIF(부서번호,3) AS 부서번호, 부서명 FROM 부서 --부서번호 3번이 사라진 것을 알수 있다. 부서번호 부서명 1 하나 2 둘 셋 2021. 5. 14.
[ORACLE] 오라클 Left outer join VS (+) 조인의 순서차이 이번 시간에는 Left outer join 사용법과 조인에 따른 방향성에 대해서 알아보겠습니다. Left outer join은 오라클에서는 where절 컬럼에 (+)를 추가함으로써 사용이 가능한데요. 방향성이 다르기 때문에 햇갈릴 수 있습니다. 테이블 생성 및 데이터 입력 create table 부서 ( 부서번호 int ,부서명 varchar2(20) ) insert into 부서 values (1,'하나'); insert into 부서 values (2,'둘'); insert into 부서 values (3,'셋'); commit; create table 사원 ( 사번 int ,이름 varchar2(20) ,부서번호 int ) insert into 사원 values (100,'하나',1); insert.. 2021. 5. 14.
정규화 (1정규형, 2정규형, 3정규형) 변환과정 정규화 정규화 과정이란 중복된 속성을 최소화 하고 종속관계에 있는 속성을 제거하는 과정입니다. 이러한 정규화 과정을 다시 조인하면 데이터의 손실없이 이전상태로 복구가 가능해야 한다 정규형은 1,2,3 형이 있으며 다음과 같은 특징을 가집니다. 1정규형(1NF) : 모든 속성은 반드시 하나의 값만 가져야 한다(도메인 원자값) 2정규형(2NF) : 모든 속성은 반드시 기본키(PK)에 모두 종속되어야 한다. (부분적 함수 종속 제거) 3정규형(3NF) : 기본키가 아닌 모든 속성 간에는 서로 종속될 수 없다. (이행적 함수 종속 제거) 참고 : 도메인이란 하나의 속성이 취할 수 있는 동일한 타입의 원자값들의 집합이다 제 1 정규화 (비정규형 -> 1NF) 아래는 정규화 되지 않은 비정규형 테이블 입니다. 이 .. 2021. 5. 14.
[MSSQL] SYS.XP_CMDSHELL 엑세스가 거부되었습니다. 해결방법 [문제] SQL 쿼리문에서 XP_CMDSHELL 명령어를 사용해서 윈도우 폴더를 삭제를 하려고 했다. SYS.XP_CMDSHELL 'RMDIR D:\DB_BACKU' 쿼리 결과를 보니 엑세스가 거부되었다고 나오면서 삭제가 진행되지 않았다. [해결방법] 해당 윈도우 폴더에 가서 유저에 읽기 및 쓰기 권한을 주게되면 삭제가 가능하다. 1. 해당 폴더(DB_BACKU)에 마우스 우클릭을 해서 속성으로 들어갑니다. 2. 상단의 [보안]탭을 누릅니다. 3. 그룹 또는 사용자 이름에 [편집]을 클릭합니다. 4. Users를 클릭하고 권한에 수정과 쓰기 권한을 체크하고 확인을 누릅니다. 5. SYS.XP_CMDSHELL 쿼리문을 다시 실행해봅니다. 이상으로 SYS.XP_CMDSHELL 엑세스가 거부되었습니다. 해결방.. 2021. 5. 13.
[ORACLE] 오라클 관계(식별, 비식별, 필수, 선택) 및 표기법(IE, 바커) 이번시간에는 오라클 관계에 대해서 알아보도록 하게습니다. 관계(Relationship) 식별관계 : 부모 엔터티의 식별자(PK)를 자식 엔터티의 식별자로 상속(FK) 비식별관계 : 부모 엔터티의 식별자(PK)를 자식 엔터티의 일반속성으로로 상속(FK) [바커표기법] 식별관계 : 자식 쪽 관계선에 UID Bar(수직 실선)를 표시한다. 비식별관계 : UID Bar(수직 실선)가 없다 필수 관계 부모 엔터티 기준으로 자식 엔터티를 '필수 관계'(바커 표기법 기준으로 부모 쪽 관계선이 실선)로 정의한다면 부모 인스턴스별로 자식 인스턴스를 반드시 등록해야 한다. 선택 관계 자식 엔터티를 '선택 관계'(바커 표기법 기준으로 부모 쪽 관계선이 점선)로 정의한다면 부모 인스턴스만 등록하고 자식 인스턴스는 등록하지 않.. 2021. 5. 13.
[ORACLE] 오라클 데이터 모델링의 이해(엔터티) 데이터 모델과 모델링 그리고 엔터티,인스턴스,속성,식별자에 대해서 알아보도록 하겠습니다. 1. 모델과 모델링 모델 - 일정한 표기법에 따라 표현한 모형으로 축소형을 의미 모델링 - 모델을 만들어가는 일 자체 - 3대 특징으로는 단순화, 명확화, 추상화 2. 데이터 모델링의 3단계 진행(개념 논리 물리 데이터 모델) 데이터 모델은 추상화 수준에 따라 아래의 세가지 데이터 모델로 구분됩니다. 개념 데이터 모델 - 추상화 수진이 높고 업무중심적이고 포괄적인 수준의 모델링 - 핵심 엔터티와 그들간의 관계를 나타내는 데이터 모델 논리 데이터 모델 - 업무에 대한 키, 속성, 관계 등을 정확하게 표현 - 중복 제거를 위해 정규화를 적용한 모델 물리 데이터 모델 데이터베이스 이식을 위해 성능, 저장 등 물리요소를 고.. 2021. 5. 13.
[ORACLE] 오라클 LAG, LEAD 함수 사용법 및 예제 이번시간에는 오라클 LAG, LEAD 함수에 대해서 알아보겠습니다. - LAG : 이전 행의 값을 출력 - LEAD : 다음 행의 값을 출력 사전 준비 --테이블 생성 CREATE TABLE EMP ( EMPNO NUMBER ,ENAME VARCHAR2(50) ,SAL FLOAT ,MGR NUMBER ) --데이터 삽입 INSERT INTO EMP VALUES (100,'A',999,''); INSERT INTO EMP VALUES (400,'B',666,'300'); INSERT INTO EMP VALUES (300,'C',777,'200'); INSERT INTO EMP VALUES (500,'D',555,'200'); INSERT INTO EMP VALUES (200,'E',888,'100'); I.. 2021. 5. 11.
[ORACLE] 오라클 FIRST_VALUE,LAST_VALUE 함수 사용법 및 예제 이번시간에는 오라클 FIRST_VALUE,LAST_VALUE 함수에 대해서 알아보겠습니다. - FIRST_VALUE : 첫번째 행의 값을 가져옴 - LAST_VALUE : 마지막 행의 값을 가져옴 사전 준비 --테이블 생성 CREATE TABLE EMP ( EMPNO NUMBER ,ENAME VARCHAR2(50) ,SAL FLOAT ,MGR NUMBER ) --데이터 삽입 INSERT INTO EMP VALUES (100,'A',999,''); INSERT INTO EMP VALUES (400,'B',666,'300'); INSERT INTO EMP VALUES (300,'C',777,'200'); INSERT INTO EMP VALUES (500,'D',555,'200'); INSERT INTO EM.. 2021. 5. 11.
[ORACLE] REGEXP_SUBSTR 사용법 및 예제 이번시간에는 오라클 정규식 표현에 대해서 알아보도록 하겠습니다. 정규식 : | --OR(|)구문 SELECT REGEXP_SUBSTR('ABD','A(B|C)D') AS C2 FROM DUAL;--ABD SELECT REGEXP_SUBSTR('ACD','A(B|C)D') AS C2 FROM DUAL;--ACD SELECT REGEXP_SUBSTR('AB','A(B|C)D') AS C2 FROM DUAL;--없음 SELECT REGEXP_SUBSTR('ABD','A(B|C)D') AS C2 FROM DUAL;--ABD SELECT REGEXP_SUBSTR('ACD','A(B|C)D') AS C2 FROM DUAL;--ACD SELECT REGEXP_SUBSTR('AB','A(B|C)D') AS C2 FRO.. 2021. 5. 11.
반응형