💻 IT/📌 DataBase 11

[IT] SAM 파일이란?

오늘은 실무에서 사용하는 SAM 파일에 대해서 적어볼께요, 자주 사용하지만 알고 사용하는게 더 좋을 거 같아서 정리해볼께요~ SAM(Sequence Alignment/Map) File 이란? SAM 파일은 Sequence Alignment/Map 형식의 약자로 alignment, mapping 정보를 정보를 포함하는 탭 제한 텍스트 파일입니다. SAM 파일은 텍스트 파일의 문자열 형태로 저장(save), 열람(read)가 가능한 파일이며, 파일을 열어보면 탭으로 분리되어 있는 것을 확인 할 수 있다. 실무에서도 다양한 정보를 탭으로 구분해서 저장해서 사용한다, 예를들어 식별번호, 성별, 나이 등등 탭으로 구분해서 저장해서 사용한다. SAM파일 주요 구성요소 ✅ 헤더 : 헤더에는 정렬에 사용되는 참조 시퀀..

[DB/Join] 조인이란? 동등조인과 외부조인 ( Inner Join, Outer Join)

오늘은 데이터베이스에 중요한 핵심 요소인 조인(Join)에 대해서 정리해보겠습니다! 조인이란? 조인(Join)이란 관계형 데이터베이스의 테이블 안에 있는 행들을 논리에 따라 연결할 수 있도록 하는 기법입니다. 데이터베이스에 저장된 데이터들은 테이블에 흩어져 저장되어 있으므로, 사용자가 원하는 형태로 데이터를 조작하려면 특별한 방법이 필요합니다. 이때 사용자가 원하는 데이터를 서로 연결하여 조작하는 기법이 조인입니다. 조인의 종류 1. 곱집합(cartesian product) : 가능한 모든 행을 조인한다. 2. 동등 조인(equi join) : 조인 조건이 정확히 일치하는 경우에 결과를 출력한다. 3. 비동등 조인(non equi join) : 조인 조건이 정확히 일치하지 않는 경우에 결과를 출력한다. ..

[DB/Oracle] ORA-00904 : 부적합한 식별자 invalid identifier

최근에 개발을 하면서 DB에 Insert 하는데 ORA-00904 에러가 발생(?)하였는데 이게 모지...? ORA-00904: 부적합한 식별자 invalid identifier 1. 원인 : 입력된 열 이름이 누락되었거나 잘못 되었을 경우 발생함. - 존재하지 않은 열 이름을 지정함. - 정의된 열 이름과 대소문자가 일치하지 않는 경우. - 작은 따옴표[']와 큰 따옴표["] 사용 방법의 오류. - 열 이름에 특수 문자 사용. - 열 이름에 Oracle 예약어 사용. 2. 해결 방법 - 해당 열이 테이블에 존재하는지 확인한다. - 큰 따옴표로 묶인 열 이름은 대소문자를 구분하므로 확인한다. - 작은 따옴표로 구분 값을 묶으면 값으로 취급되지만 큰 따옴표로 값을 묶으면 객체 이름으로 처리되므로 확인한다...

[CASE 표현식] SQL CASE 문 :: 복잡한 조건 논리 처리하기

오늘은 SQL을 작성할 때, 복잡한 논리 조건을 처리할 때 사용하는 CASE문을 알려드리겠습니다 간단한 조건을 구분할 때는 DECODE 함수를 사용해도 되지만 복잡한 논리 표현을 처리할 때는 CASE문을 사용하는 게 쉽게 처리할 수 있습니다. CASE 표현식 CASE WHEN 조건1 THEN 출력 값1 WHEN 조건2 THEN 출력 값2 WHEN 조건3 THEN 출력 값3 ... ELSE 출력 값N END 예제를 보면서 확인해보겠습니다! 예제 CREATE TABLE STUDENT ( student_id NUMBER NOT NULL, name varchar2(30) NOT NULL, age NUMBER NOT NULL, adress varchar2(100), phoneNumber varchar2(15), ..

[SQL 연산자] IN 구문 :: OR 기능을 하는 IN 연산자

오늘은 SQL 연산자 중에 자주 사용하는 IN 연산자를 알려드리겠습니다 IN 연산자는 WHERE 절에서 특정값 여러 개를 선택하는 경우 사용하는 연산자입니다. IN 연산자를 쓸 경우에는 검색할 값을 콤마로 구분해 사용하면 됩니다!SELECT * FROM 테이블명 WHERE 컬럼명 IN (값1, 값2, 값3, ......); 예제를 보면서 확인해보겠습니다! [예제]CREATE TABLE STUDENT ( student_id NUMBER NOT NULL, name varchar2(30) NOT NULL, age NUMBER NOT NULL, adress varchar2(100), phoneNumber varchar2(15), PRIMARY KEY (student_id) ); INSERT INTO STUDEN..

[ORACLE DB] SYSTEM 계정 lock 해제와 비밀번호 변경방법

오랜만에 ORACLE DB 접근해서 쿼리 연습을 하려다가.. 패스워드를 까먹고.. 계정이 잠겨버렸네요 ㅎ SYSTEM 계정으로 연습을 했는데 비밀번호 몇번 잘못 입력해서.. 락이 걸려버렸어요;; LOCK 푸는 방법과 비밀번호 변경방법을 알려드릴게요! [비밀번호 변경 방법] 1. CMD(콘솔) 창을 켜고 아래 명령어를 입력 C:\>sqlplus "/as sysdba" SQL> show user USER is "SYS" 2. 계정을 파악한 뒤에 계정의 암호를 변경합니다 SQL> alter user system identified by 암호; [LOCK 푸는 방법] 1. CMD(콘솔) 창을 키고 아래 명령어를 입력 alter user system account unlock; ORACLE DB 접속 시 패스워드..

[SQL 함수] 날짜형 함수 :: 자주 사용하는 날짜형함수(SYSDATE, ADD_MONTHS, MONTHS_BETWEEN, LAST_DAY, ROUND, TRUNC)

오늘은 SQL 작성 시 자주 사용되는 날짜형 함수를 살펴보겠습니다! 날짜형 함수란? 날짜, 즉 데이터형이 DATE나 TIMESTAMP인 데이터를 대상으로 연산을 수행하는 함수를 말합니다! 대표적인 날짜형 함수를 살펴봅시다~ 함수 명 기 능 예 시 SYSDATE 현재 일자와 시간을 반환 SELECT SYSDATE FROM DUAL; >> 21/04/20 ADD_MONTHS ( date, n ) data 날짜에 n개월을 더한 날짜를 반환, n이 음수이면 더하지 않고 뺀 날짜를 반환 SELECT ADD_MONTHS( SYSDATE, 1 ) FROM DUAL; >> 21/05/20 MONTHS_BETWEEN ( date1, date2 ) date1과 date2 두 날짜 사이의 개월 수를 반환, date1이 da..

[SQL 함수] 문자형 함수 :: 자주 사용하는 문자형함수(CONCAT, SUBSTR, TRIM, LENGTH, INSTR 등등 )

오늘은 SQL 작성 시 자주 사용되는 문자형 함수를 살펴보겠습니다! 문자형 함수란? 문자형 데이터를 피연산자로 해서 연산을 수행해 결과를 반환합니다 대부분 결과 값은 문자형이지만 일부분 수자를 반환하기도 합니다 대표적인 함수를 살펴봅시다! 함수 명 기 능 예 시 CHR( n ) n은 숫자로 n 값에 해당되는 문자를 반환함 SELECT CHR( 65 ) || CHR( 66 ) || CHR( 67 ) FROM DUAL; >> ABC CONCAT char1과 char2 문자를 결합한 결과를 반환, || 연산자와 같은 기능 SELELCT CONCAT( 'A', 'B' ) FROM DUAL; >> AB LPAD(expr1, expr2) expr1을 반환하는데, expr2를 (n - expr1 길이) 만큼 왼쪽을 ..

[SQL 함수] 숫자형 함수 :: 자주 사용하는 숫자형 함수(ROUND, TRUNC, ABS, SIGN 등등)

오늘은 SQL 작성 시 자주 사용되는 숫자형 함수를 살펴보겠습니다! 숫자형 함수란? 함수의 매개변수(피연산자)와 연산 결과가 모두 숫자인 함수를 의미합니다. 쉽게 말하면 학교에서 배우던 수학 함수와 크게 다르지 않습니다~ 함수 명 기 능 예 시 ABS( n ) n의 절댓값을 반환함 SELECT ABS( - 7 ) FROM DUAL; >> 7 CEIL( n ) n과 같거나 큰 최소 정수 반환함 SELECT CEIL( 20.6 ) FROM DUAL; >> 21 EXP ( n ) e(e=2.71828183...)의 n승을 반환함 SELECT EXP( 10 ) FROM DUAL; >> 22026.4657948067 ROUND( n , i ) n의 소수점 기준( i+1 )번째에서 반올림한 값을 반환, 정수로 만들..