반응형
--------------------------------------------------------------------------------

ORACLE vs MySQL


1. 가변형 캐릭터 데이터타입 [VARCHAR2 vs VARCHAR]

가변형 캐릭터타입인 VARCHAR에 대해 오라클은 VARCHAR 뒤에 숫자2를 사용하는 반면,

MySQL은 숫자없이 VARCHAR로 사용.


2. 숫자형 데이터타입 [NUMBER vs INT]

숫자형 데이터타입에 대해 오라클은 NUMBER를 사용하는 반면, MySQL은 INT로 사용.


3. 날짜형 데이터타입 [SYSDATE vs DATETIME]

숫자형 데이터타입에 대해 오라클은 SYSDATE를 사용하는 반면, MySQL은 DATETIME으로 사용.




반응형
반응형

안녕하세요.


이번 29회 SQL개발자 자격시험에 대해서 시험후기 및 합격후기를 적어볼까 합니다.

앞으로 시험보는 분들과 재시험에 응시하는 분들께 참고가 되었으면 합니다.



우선 간략하게 요약한 후에 자세하게 설명드리겠습니다.

- 시험명 : 제 29회 SQLD 자격검정 시험 (시험일 : 6월 9일 / 결과발표일 : 7월 10일)

- 교재 : SQL 전문가 가이드(2013)

- 공부기간 : 6일 ± @

- 공부방법 : 정독 (문제집 문제풀이 X)

- 문제유형 : 세세한 부분에서 상당부분 나온다. (글 아래에 기억나는 문제만 따로 적어놓을게요)



이제 자세하게 설명드리겠습니다.



- 교재

시험공부를 위해 사용했던 교재는 아래의 'SQL 전문가 가이드' 2013년 개정판 입니다.

한국데이터베이스진흥원에서 판매하는 공식 SQL 문제집인 'SQL 자격검정 실전문제'은 구매했으나,

실제 공부하는데는 사용하지 않았습니다.(가끔 보기만 함. 보기만)


제 생각에는... 문제집은 굳이 필요하지 않는 것 같습니다. 전문가가이드 만으로도 충분한 것 같습니다. (개인견해!)




- 공부기간

공부기간을 위에 6일 ± @라고 적어놓았는데요.

아래 달력을 보자면.. 6월 9일이 시험일이고, 6월 2일이 시험공부를 시작했던 날입니다.

제가 하루를 하루내내 공부했던건.. 파란색으로 표시한 2일, 3일, 6일 이렇게 총 3일이구요.

나머지 4일은 저녁에 집에 돌아온 후에 공부를 했습니다.





- 공부방법

우선, 저는 28회 시험에도 응시했었습니다. 28회때는 너무 만만히 보고....

3일 공부하고 '이정도면 됐겠지'라는 베짱을 부렸다가 바로 떨어졌습니다. ㅎㅎㅎ


28회차에 '시험이 꽤 세세한 부분에서 나온다'라고 느껴져서

이번 29회차에는 공식수험서인 'SQL 전문가가이드'를 조금 더 신경써서 정독했습니다.

조금 꼼꼼하게 읽었고, 문제풀이는 한 단원 끝날 때 나오는 5문제, 10문제짜리 문제만 풀었습니다.(별 도움은 없는 느낌입니다..)


평균 60점만 넘으면 합격하는 시험이기에.. 딱 부족하지 않을만큼만 기간을 잡아서 공부했는데,

딱 커트만 넘을 정도의 점수로 합격했습니다. ㅎㅎ


이래저래 합격은 다 같은 합격.. 생각보다 모델링 개념 쪽에서 점수가 잘나와서 놀랐습니다..




- 문제유형 (기억나는대로 적을게요)

1. 윈도우함수 중 그룹내순서 함수인 LAG 함수에 관한 문제

=> 실행결과를 보여주고, 위 실행결과를 가져올 쿼리를 보여줌.

그 후에 SELECT문의 빈칸에 들어갈 LAG함수를 만드시오. (이런 비슷한 내용의 주관식 문제임)

(예시)

SELECT ENAME, HIREDATE, SAL, LAG(ㅇ, ㅇ, ㅇ) OVER (ORDER BY HIREDATE) AS PREV_SAL

FROM EMP

WHERE JOB = 'SALESMAN';

=> 주관식 문제로, 정답은 : SAL, 2, 0

이런식으로 적으면 됩니다. 위는 그냥 예시에요.

전 이 문제 틀려서 기억이 아주 잘납니다. 꼼꼼하게 읽었는데 주관식으로 나올줄은....

첫번째 인자가 컬럼명인데, 이걸 잘못썼던....윽



2. 분산 데이터베이스의 투명성

=> 데이터모델링의 이해 파트 중에 분산 데이터베이스의 투명성이 있는데, 해당 투명성과 그에 대한 설명이 일치하는지를 물어봤어요.

(예시) 틀린것을 고르시오

1. 분할 투명성 : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편ㄴ의 사본이 여러 site에 저장

2. 중복 투명성 : DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질

3. 위치 투명성 : 지역DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무난한 이름 사용 가능

4. ....

=> 정답은 3번. 지역사상 투명성에 대한 설명입니다. 이런식으로 문제 출시가 되었어요.


3. 연산자 우선순위

1순위 : 괄호()

2순위 : NOT연산자

3순위 : 비교 연산자, SQL 비교 연산자

4순위 : AND

5순위 : OR

=> 우선순위에 대한 문제도 출시되었음


4. 숫자형 함수

CEIL, FLOOR, ROUND, TRUNC 등 간단하게 알고가면 되겠습니다.

주관식 문제로 FLOOR(3.8)이 출제되었었습니다.

정답은 3


5. 그룹함수

ROLLUP, CUBE, GROUPING SETS => 이 그룹함수는 28회, 29회에 출제 되었었는데요.

이 부분은 꼭 숙지를 해야할것 같네요. 책에 나온 것처럼 세 함수를 비교해서 숙지하면 될 것 같아요.

저도 이부분은 여러번 봤던것 같은..






시험 끝나고 한달 뒤에 시험문제를 기억하려니 잘 기억이....

시험문제에 대한 후기를 쓰려면 역시 바로 써야할 것 같네요 ㅎㅎ

문제가 더 필요하신 분은 댓글로 달아주세요. 책에 적어놓은 문제들 찾아서 따로 보내드릴게요.


일단 합격하니... 기분은 좋네요. 그래도 투자한 제 일주일 정도의 시간을 보상받은듯한 기분 ㅎㅎ

시험보실 분들 혹은 재응시하시는 분들께 조금이나마 도움이 되었으면 합니다.



반응형
반응형

[MYSQL] 테이블 생성 (CREATE TABLE)


--------------------------------------------------------------------------------
CREATE TABLE T_TEST1
(
    IDX INT AUTO_INCREMENT PRIMARY KEY ,
    TITLE VARCHAR(100) NOT NULL ,
    CONTENTS TEXT NOT NULL ,
    WRITER VARCHAR(50) NOT NULL ,
    WDATE DATETIME DEFAULT NOW() ,
    READCNT INT DEFAULT 0
)

;


--------------------------------------------------------------------------------


[문법]

1. 테이블 생성

CREATE TABLE [테이블명]
(
    컬럼1 데이터타입(자리수) OPTION ,
    컬럼2 데이터타입(자리수) OPTION ,
    컬럼3 데이터타입(자리수OPTION
)
;

-데이터타입 : VARCHAR, INT, DATETIME 등

-자릿수 : VARCHAR(10), VARCHAR(20), INT, DATETIME 등


위 명령문을 실행하면 테이블이 생성된다.




반응형
반응형

jar, war 확장자 변환


1. 설명

 - 모두 압축 파일이다.

 - 압축파일 상의 구조적 차이는 없다.

 - 확장자를 서로 바꿔도 문제는 없다.


2. 설명2

 - 알집 등으로 Meta001.jar로 압축한 파일을 확장자명만 war로 바꿔서 war파일로 적용해도 문제는 없다.

반응형

'Reference > 리눅스' 카테고리의 다른 글

[리눅스 1장] 파일 압축, 압축 해제(tar, gzip)  (0) 2018.02.17
반응형

리눅스 파일 압축, 해제 (tar, gzip)


[TAR]

1. tar 파일 압축

[예시] tar cvf abc001.tar temp001

[문법] tar cvf 압축할파일명.tar (압축할파일이있는)폴더명


2. tar 압축 해제

[문법] tar xvf 해제할파일명.tar



[GZIP]

1. gzip 파일 압축

[문법] gzip 압축할파일명.tar


2. gzip 압축 해제

[문법] gunzip 해제할파일명.tar.gz



=> 보통 파일 사이즈가 많이 큰 경우 TAR로 압축 후에 GZIP으로 2중압축을 한다.

=> 서버에 업로드 후 GZIP으로 압축해제 후 TAR로 2중 압축해제하여 사용한다.


반응형

'Reference > 리눅스' 카테고리의 다른 글

[리눅스 2장] jar, war 확장자 변환  (0) 2018.02.17
반응형

[ORACLE] 테이블 컬럼 변경 (추가, 삭제, 데이터타입 변경)


--------------------------------------------------------------------------------
-- 테이블 컬럼 추가
--------------------------------------------------------------------------------
ALTER TABLE WEX001M ADD APR_DT DATE DEFAULT SYSDATE NOT NULL ;
ALTER TABLE WEX001M ADD APRR_ID VARCHAR2(15) DEFAULT 'ADMIN' NOT NULL ;
--------------------------------------------------------------------------------
-- 테이블 컬럼 삭제
--------------------------------------------------------------------------------
ALTER TABLE WEX002D DROP (UPDR_ID);
--------------------------------------------------------------------------------
-- 컬럼 데이터타입 자리수 변경
--------------------------------------------------------------------------------
ALTER TABLE WEX001H MODIFY (RGR_ID VARCHAR2(15));
ALTER TABLE WEX001H MODIFY (UPDR_ID VARCHAR2(15));
--------------------------------------------------------------------------------

[문법]

1. 테이블 컬럼 추가

ALTER TABLE [테이블명] ADD [컬럼명] [데이터타입](자릿수) 옵션 ;
-테이블에 컬럼을 추가할 때, 테이블의 제일 밑에만 컬럼을 추가할 수 있다.

-중간에 컬럼을 추가하고자 할 때는, DROP 후 컬럼을 추가하여 CREATE를 다시해야한다.

-모델에서 ERD의 중간에 컬럼을 추가하여도, 표준화 시스템에서는 DROP 후 CREATE문으로 DDL문이 생성된다.


2. 테이블 컬럼 삭제

ALTER TABLE [테이블명] DROP (컬럼명);

-테이블에 컬럼을 삭제할 때, 테이블의 컬럼순서에 상관없이 삭제할 수 있다.


3. 컬럼 데이터타입 자리수 변경

ALTER TABLE [테이블명] MODIFY (컬럼명 VARCHAR2(변경할 자릿수));

-컬럼 자릿수를 변경할 때, 입력된 데이터의 길이보다 작게 변경할 수 없다.

-VARCHAR2(10) 컬럼에 8자리의 데이터가 들어가있으면, 8보다 작게 변경할 수 없다.

-NUMBER 역시 입력된 데이터보다 작게 변경할 수 없다.

-더 크게는 가능하다.


반응형
반응형

[ORACLE] 테이블 복사 (CTAS)


--------------------------------------------------------------------------------

CREATE TABLE TMP_WEX001H_20171029175532 AS SELECT * FROM WEX001M;

--------------------------------------------------------------------------------


[문법]

1. 테이블 복사(CTAS)

CREATE TABLE [만드려는 테이블명] AS SELECT * FROM [원본 테이블명];


-백업을 위한 용도로 테이블을 복사한다.
-[원본 테이블]에 SOURCE 테이블명(복사대상)을 지정하고,
 [만드려는 테이블명]에 TARGET 테이블명(복사해서 만드려는 테이블)을 지정한다.
-인덱스는 복사되지 않는다. (테이블 및 데이터만 복사됨)



반응형
반응형

[ORACLE] 테이블명 변경 (RENAME)


--------------------------------------------------------------------------------
ALTER TABLE WEX001H RENAME TO TMP_WEX001H_20171029175532;

--------------------------------------------------------------------------------


[문법]

1. 테이블명 변경

ALTER TABLE [원본 테이블] RENAME TO [바꾸려는 테이블명];


-테이블명 변경을 위해 RENAME을 하기도 하지만, 테이블 백업을 위해 바꾸는 경우도 있다.

-테이블명 앞과 뒤로 TMP(임시), BAK(백업)을 붙여 테이블의 용도를 나타낸다.

-테이블명만 바꾸는 것이기에, 인덱스 및 데이터는 변경이 없다.



반응형
반응형

[ORACLE] 테이블 삭제 (DROP TABLE)


--------------------------------------------------------------------------------
DROP TABLE WEX001M;

--------------------------------------------------------------------------------

DROP TABLE WEX002D;
--------------------------------------------------------------------------------

[문법]

1. 테이블 삭제

DROP TABLE [테이블명];


반응형
반응형

[ORACLE] PK인덱스, UNIQUE인덱스, 인덱스 삭제 (DROP INDEX)


--------------------------------------------------------------------------------
ALTER TABLE WEX001M DROP PRIMARY KEY CASCADE;

DROP INDEX PK_WEX001M;

--------------------------------------------------------------------------------

ALTER TABLE WEX002D DROP PRIMARY KEY CASCADE;
DROP INDEX PK_WEX002D;
DROP INDEX IX_WEX002D_N01;

DROP INDEX IX_WEX002D_N02;

--------------------------------------------------------------------------------


[문법]

1. 인덱스 삭제

DROP INDEX [인덱스명];


2. PK인덱스 삭제

ALTER TABLE [테이블명] DROP PRIMARY KEY CASCADE;
DROP INDEX [인덱스명];

-PK인덱스 삭제의 경우, 해당 테이블에 컬럼 제약조건을 DROP 한 후에 PK인덱스 삭제가 가능하다.


반응형

+ Recent posts