SMALL

딕셔너리 뷰


오라클 내부 정보를 확인할 수 있는 특수한 뷰인데 DBA_, USER_, ALL_로 시작한다.


* 테이블 스페이스 확인

SELECT * FROM ALL_TABLESPACES;


* 테이블 스페이스명과 데이터 파일의 디렉토리 확인

SELECT t.tablespace_name, f.file_name

FROM DBA_TABLESPACE t, DBA_DATA_FILES f

WHERE t.tablespace_name = f.tablespace_name;


* 임시 테이블 스페이스명과 임시 파일의 디렉토리 확인

SELECT t.tablespace_name, f.file_name

FROM DBA_TABLESPACE t, DBA_TEMP_FILES f

WHERE t.tablespace_name = f.tablespace_name;


* 테이블 컬럼 커멘트(한글명) 조회
SELECT * FROM ALL_COL_COMMENTS;

* OWNER별 테이블 갯수 조회
SELECT owner AS USER_NAME, COUNT(*), AS CNT
FROM all_tables
GROUP BY owner;

*USER별 테이블 갯수 조회
SELECT username AS user_name,
( SELECT COUNT(*) FROM all_tables WHERE du.username = owner) AS cnt
FROM dba_user du
GROUP BY username;

*테이블 스페이스 목록 및 데이터파일 갯수, 전체 크기 구하기
SELECT tablespace_name, COUNT(*) AS cnt, SUM(bytes)/1024/1024 AS MB
FROM dba_data_files
GROUP BY tablespace_name;


LIST

'전공 > Oracle' 카테고리의 다른 글

테이블 컬럼명 주석 추가  (0) 2018.10.19
DDL 조회  (0) 2018.10.08
세그먼트 공간 관리 방식  (0) 2018.09.19
초기화 파라미터 변경  (0) 2018.09.18
테이블 스페이스 종류  (0) 2018.09.18
SMALL

DROP TABLE?


DROP TABLE는 테이블을 잘못 만들었거나, 테이블이 더이 상 필요 없을 때 해당 테이블을 삭제 할 때 사용하는 명령어 이다.


DROP TABLE test.user;


실행 후


DESC test.user;


실행하면


위와 같은 테이블을 존재하지 않는다고 에러가 나게 된다.


TRUNCATE TABLE?


TRUNCATE TABLE는 테이블 자체가 삭제되는 것이 아니고 해당 테이블에 있는 모든 행들이 제거가 되는 명령어 이다.


TRUNCATE TABLE test.user;


실행 후


DESC test.user;


실행하면


위와 같이 테이블이 존재 하는 것을 확인 할 수 있다.


TRUNCATE는 테이블을 일괄 삭제하는 명령어로 DML로 분류 할수 있지만 내부 처리 방식이나 Auto Commit 특성 등으로 인해 DDL로 분류한다.

시스템 활용 측면에서 전제 행을 삭제하는 경우에는 TRUNCATE 명령어를 사용 하는 것이 더 좋다.

하지만 TRUNCATE는 정상적인 복구가 불가능하므로 주의를 해야 한다.


LIST

'전공 > 데이터베이스' 카테고리의 다른 글

이상현상(Anomaly)  (0) 2020.07.13
ETL  (0) 2020.01.30
CTAS(Create Table As Select)  (0) 2018.07.17
SQL 명령어  (0) 2018.07.16
UNDO와 REDO  (0) 2018.06.14
SMALL

CTAS(Create Table As Select)?


CTAS는 select문을 사용하여 테이블을 생성 하는 방법이다.

아래의 구문과 그림을 보자.


먼저 기본 테이블을 생성한다.


CREATE TABLE test.user (

no int(10),

name varchar(10),

address varchar(30)

);


실행 후


DESC test.user;


실행 하면


위와 같이 나오게 된다.


그리고 CTAS 방식으로 테이블을 생성 해본다.


CREATE TABLE test.user_tmp AS (

SELECT * FROM test.user);


실행 후


DESC test.user_tmp;


실행하면


위와 같이 나오게 된다.


몇번 써본 기억이 있기 때문에 알아두면 유용 할 것 같다.





LIST

'전공 > 데이터베이스' 카테고리의 다른 글

ETL  (0) 2020.01.30
DROP TABLE과 TRUNCATE TABLE  (0) 2018.07.17
SQL 명령어  (0) 2018.07.16
UNDO와 REDO  (0) 2018.06.14
UNION과 UNION ALL  (0) 2018.06.11
SMALL

SQL 명령어?


SQL 명령어 종류에는 크게 4가지로 나누어 진다.


DML(Data Manipulation Language)


데이터를 조작하는 명령어를 의미한다. CRUD와 매칭이 된다.


SELECT : 데이터를 조회

INSERT : 데이터를 삽입

UPDATE : 데이터를 수정

DELETE : 데이터를 삭제


DDL(Data Definition Language)


테이블과 같은 데이터 구조를 정의하는데 사용하는 명령어를 의미한다.


CREATE : 테이블을 생성

ALTER : 테이블을 수정

DROP : 테이블을 삭제

RENAME : 테이블 이름을 수정


DCL(Data Control Language)


데이터베이스에 접근하고 객체들을 사용하도록 권한을 주는 명령어를 의미한다.


GRANT : 권한 부여

REVOKE : 권한 회수


TCL(Transaction Control Language)


DML에 의해 조작된 결ㄹ과를 트랜잭션 별로 제어하는 명령어를 의미한다.


COMMIT : DML 수행 작업 저장

ROLLBACK : DML 수행 작업 되돌리기






LIST

'전공 > 데이터베이스' 카테고리의 다른 글

DROP TABLE과 TRUNCATE TABLE  (0) 2018.07.17
CTAS(Create Table As Select)  (0) 2018.07.17
UNDO와 REDO  (0) 2018.06.14
UNION과 UNION ALL  (0) 2018.06.11
DB정규화  (0) 2018.05.17
SMALL

설명

20

FTP - 데이터 포트

21

FTP - 제어 포트

22

SSH

23

텔넷

25

SMTP

80

HTTP


LIST

'전공 > 네트워크' 카테고리의 다른 글

HDLC  (0) 2021.06.10
네트워크 설정  (0) 2020.06.30
Distance Vector와 Link State  (0) 2018.07.04
슬라이딩 윈도우  (0) 2018.07.04
BEC 기법  (0) 2018.07.04
SMALL

JAVA 7에 try-with-resource가 생겼다.

try-with-resource는 간단히 말하면 자원을 자동으로 해제 처리를 해주는 것이다.

아래의 코딩을 보면서 설명을 하겠다.


try finally (기존)



위의 코드는 기존에 DB 커넥션을 다 사용하면 finally에서 직접 자원을 해제를 해주어야 했다.


try-with-resource


위와 같이 try () 안에 자원을 초기화만 해주면 알아서 try 구문이 끝나면 finally 필요 없이 자원이 자동으로 해제된다.





LIST

'전공 > JAVA' 카테고리의 다른 글

String, StringBuffer, StringBuilder 차이  (0) 2020.07.02
JNI  (0) 2020.06.24
컬렉션  (0) 2018.05.13
JVM  (0) 2018.05.02
접근제어자  (0) 2018.05.02
SMALL

DV와 Link State를 공부하다가 위의 둘 알고리즘에 대해 복습을 한다. 필자의 기억에 의하면 자료구조 6장 그래프에 나왔던 것으로 기억한다.

가장 큰 차이점은 다익스트라는 음의 가중치를 가질 수 없고 벨만포드는 음의 가중치를 가질 수 있다.

다음 그림으로 위의 알고리즘을 간단히 설명한다.



위의 그림에서 B의 위치에서 다익스트라 알고리즘은 D로 갈려면 D로 바로가면 20 C를 거치게 되면 40+알파인데 현재 가중치의 값으로 결정을 해서 B->D를 선택하게 된다.

하지만 벨만포드는 음의 가중치를 가질 수 있기 때문에 끝가지 돌아보고 나서 B->C->D를 선택하게 된다.

LIST

'전공 > 자료구조' 카테고리의 다른 글

트리 순회  (0) 2020.09.13
트리(Tree)  (0) 2020.09.13
선형구조와 비선형구조  (0) 2020.09.13
연산자 우선순위  (0) 2020.09.01
스택, 큐, 덱  (0) 2018.05.03
SMALL

DV(Distance Vector)


DV는 경로를 결정할 때 통과해야 하는 라우터의 수가 적은 쪽으로 경로를 결정하는 방법


Link State


Link State는 네트워크 대역폭, 지연 정보 등을 종합적으로 고려해 Cost를 산정하고 해당 Link의 Cost에 따라 경로를 결정 하는 방법


DV와 Link State 비교


구분

DV

Link State

알고리즘

벨만 포드

다익스트라

동작 원리

네트워크 변화 발생 시 해당 정보를 인접한 라우터에 정기적으로 전달 하고, 인접 라우터에서는 라우팅 테이블에 정보갱신

라우터와 라우터를 연결하는 Link 상태에 따라 최적의 경로 설정

정보 전송 시점

일정 주기

변화 발생 시

프로토콜

RIP,IGRP,EIGRP

OSPF

단점

변화되는 라우팅 정보를 모든 라우터에 주기적으로 갱신하므로 망 자체의 트래픽을 유발

네트워크 전체 정보 유지를 위한 많은 메모리 소요


요약


이 둘의 차이점은 벨만 포드는 음의 가중치를 처리할 수 있고, 다익스트라는 음의 가중치를 처리하지 못하는 부분에서 이해를 할 수 있다고 생각된다.


LIST

'전공 > 네트워크' 카테고리의 다른 글

네트워크 설정  (0) 2020.06.30
Well Known Port  (0) 2018.07.12
슬라이딩 윈도우  (0) 2018.07.04
BEC 기법  (0) 2018.07.04
베이스밴드(Baseband)와 브로드밴드(Broadband)  (0) 2018.07.01
SMALL

L사 면접에서 물어봤었는데 대답을 잘못했었고, 요즘 자격증때문에 다시 공부하는데 나와서 정리를 한다.


슬라이딩 윈도우


슬라이딩 윈도우는 흐름제어를 수행하는 방법으로 수신자가 수신 받을 만큼 데이터를 전송하는 방법이다.

Stop-and-Wait 단점을 보완한 방식으로 수신측의 확인을 받지 않더라도 정해진 프레임의 수만큼 연속적으로 전송한다. TCP가 사용하는 방식이다.


이렇게 적으면 이해를 잘 안가니깐 다음 그림을 보자.


Window Size = 5으로 가정


1)


1

2

3

4

5

6

7

8

9

10


2) 1과 2를 전송했다.


1

2

3

4

5

6

7

8

9

10 


3) 수신측에서 1,2를 받았다.


1

2

3

4

5

6

7

8

9

10 


위의 과정을 보면 수신측에서 데이터를 받는게 확정되면 그 수만큼 다시 확장을 해가는 방식인 것을 알 수 있다.

LIST

'전공 > 네트워크' 카테고리의 다른 글

Well Known Port  (0) 2018.07.12
Distance Vector와 Link State  (0) 2018.07.04
BEC 기법  (0) 2018.07.04
베이스밴드(Baseband)와 브로드밴드(Broadband)  (0) 2018.07.01
IEEE 802 위원회 LAN 표준  (0) 2018.07.01
SMALL

BEC(Backward Error Control)기법


BEC 기법인 것은 이번에 공부하면서 알게 되었다.

데이터를 보낼 때 에러가 나면 어떻게 대처를 하는 것에 대한 방법을 말한다. 대표적으로 3개의 기법이 있으나 Selective Repeat Go-Back-N 방식이 주로 취업 할 때 도움이 많이 될 듯 하다.


Stop-and Wait


영어 그대로 에러 발생 시 멈추고 즉시 재전송하는 방법이다. 구현자체가 단순하며 순차적으로 수신하기 때문에 신뢰성은 있으나 대기 시간 존재로 전송 효율이 저하 된다.


Go-Back-N


오류 발생 시점 부터 모든 데이터를 재전송 하는 방법으로 TCP 프로토콜에서 사용되는 방법이다.


Selective Repeat


오류 발생 또는 잃어버린 프레임에 대해서만 재전송 하는 방법이다. 구현이 복잡하다.

LIST

'전공 > 네트워크' 카테고리의 다른 글

Distance Vector와 Link State  (0) 2018.07.04
슬라이딩 윈도우  (0) 2018.07.04
베이스밴드(Baseband)와 브로드밴드(Broadband)  (0) 2018.07.01
IEEE 802 위원회 LAN 표준  (0) 2018.07.01
네트워크 토폴로지  (0) 2018.07.01

+ Recent posts