전체 글 41

문자열 관련 함수들

Oracle1. LOWER(문자열) / UPPER(문자열) / INITCAP(문자열)LOWER : 문자열을 모두 소문자로 변환하여 반환한다.UPPER : 문자열을 모두 대문자로 변환하여 반환한다.INITCAP : 문자열의 첫 번째 문자는 대문자, 나머지는 소문자로 변환하여 반환한다.SELECT LOWER('hello ORACLE!') AS LOWER, UPPER('hello ORACLE!') AS UPPER, INITCAP('hello ORACLE!') AS INITCAPFROM test;LOWERUPPERINITCAPhello oracle!HELLO ORACLE!Hello Oracle! 2. LENGTH(문자열)SELECT LENGTH('Hello Oracle') AS LENGTHFROM tes..

DB 공부 2024.08.28

null 값 처리 함수들 특징

Oracle1. NVL(A, B)입력 값 A가 NULL일 경우 B로 대체하여 반환한다. 입력 값 A가 NULL이 아닐 경우에는 A 반환 2. NVL2(A, B, C)입력값 A가 NULL이 아니면 B, NULL이면 C로 변환하여 반환한다.  3. COALESCE(A, B, C, ...)A가 NULL이면 B, B도 NULL이면 C와 같이 변환하여 반환한다. ( NULL이 아닌 첫 번째 인자의 값을 반환한다는 뜻. 모든 인자가 NULL이면 NULL 반환)COALESCE 함수는 NVL 함수보다 확장된 개념으로 여러 개의 컬럼의 NULL 값 여부를 판별하면서 값을 변환할 때 사용함. 4. NULLIF(A, B)입력값 A가 B와 같으면 NULL로 변환하여 반환한다. 같지 않으면 A 반환  5. LNNVL(조건식)-..

DB 공부 2024.08.27

Oracle vs PostgreSQL

Oracle의 특징대규모 데이터베이스를 지원한다. MSSQL, MYSQL보다 대량의 정보관리를 할 때에 가장 좋은 성능을 보인다.(고가의 HW를 효율적으로 활용할 수 있도록 영역 사용을 완벽하게 제어한다. )고성능 트랜잭션 처리를 제공하여 속도가 빠르다.SQL문을 실행하는 가장 효율적인 방법을 선택한다.Oracle 서버가 운영되려면 인스턴스가 메모리에 할당되어야 하며, 이를 위해서는 파라미터 파일이 필요하다.다중 동시 데이터 베이스 사용자를 지원한다.여러 사용자가 동일한 데이터에서 작동하는 다양한 데이터베이스 응용 프로그램을 실행하도록 지원하여 데이터 경합을 최소화하고 데이터 동시성을 보장데이터 경합(row level locking) : 데이터 경쟁, 한 사용자가 데이터를 변경하려고 접근할 때 데이터에 ..

DB 공부 2024.08.26

오라클 쿼리 힌트

힌트(Hint) : dbms에게 SQL의 최적화를 위해 힌트를 주는 것. 데이터베이스관리자나 개발자가 오라클 내부 Optimizer가 선택한 explain plan(실행 계획)을 인위적으로 조정할 수 있는 방법. Oracle 힌트란/* */로 둘러싸여 있음. 단순 주석이 아닌 힌트로 특정 실행계획을 변경하는 지시어힌트 작동 방식은 SQL 쿼리를 처리할 때 비용 기반 최적화를 수행함. 비용을 계산해 가장 효율적인 실행 계획을 결정함. Oracle 힌트 사용법힌트는 오라클 Optimizer에게 힌트를 준다고 생각해도 무방함. 사용하는 방법은 /* + */ 안에 지정하는 형태임.만약 /*+ordered*/ 라고 했다면 테이블이 조인되는 순서를 정하는 효과가 난다. from절에 테이블 순서대로 조인하라는 의미이..

DB 공부 2024.08.26

5과목 정보시스템 구축 관리

1. 소프트웨어 생명주기폭포수 모형 (Water fall)- 고전적 생명 주기 모형- 선형- 순차적 모형- 한 번 지나간 과정을 다시 보기 어려움. 나선형 모형(Spiral)- 리스크 최소화(위험 관리 중심)- 나선형- [계획수립-위험분석-개발 및 검증-고객 평가] 과정을 여러번 반복- 어차피 계속 반복하기 때문에 지나간 과정 다시 보기 좋음. 폭포수 모형 vs 나선형 모형- 폭포수 모형 : 고전적, 전통적- 나선형 모형 : 과정반복, 리스크 최소화 방화벽 종류- IDS : 침입 탐지 시스템- VPN : 가상 사설 통신망(네트워크 암호화)+ ZIGBEE : 저전력 라디오 이용한 개인 통신망 2. 비용 산정 모델LoC(Lines of Code) : 원시적 라인수의 낙관치, 중간치, 비관치를 측정해 예측치를..

데크(Deque)

1. 정의데크(Deque) : Double-ended-queue의 줄임말스택은 나중에 들어온 것이 먼저 나가는 LIFO, 큐는 먼저 들어온 것이 먼저 나가는 FIFO의 형태.데크는 양쪽 모두에서 삽입, 삭제 연산을 할 수 있음. 2. 특징- 양쪽 끝에서 빠른 연산 : deque는 양쪽 끝에서 O(1) 시간 복잡도로 삽입 및 삭제가 가능함. 반면, 리스트는 왼쪽 끝에서의 삽입 및 삭제가 O(n) 시간이 걸릴 수 있음.- 선형 자료구조 : 데이터를 순차적으로 저장함. 2. 데크 구현하기맨 앞에서 삽입과 삭제 연산이 일어나야 하고, 맨 뒤에서도 삽입과 삭제 연산이 일어나야 하므로 스택, 큐는 삽입과 삭제 연산을 한 번씩 구현하지만,데크에서는 삽입과 삭제 연산을 각각 두 번 구현해야 함.deque의 주요 메서드..

알고리즘 공부 2024.08.14

N과 M (2)

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열고른 수열은 오름차순이어야 한다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. [풀이]N과 M (1) 에서는 순열이었고, 이 문제는 조합이다.그래서 (2)에서는 N과 M (1) 코드에서 오름차순 후 같은 것을 제거하는 과정을 거쳐야 한다. ex) N과 M (1)입력이 아래와 같을 때4 2 출력으로 이렇게 나오게 된다.1 2..

알고리즘 공부 2024.08.14

4과목 프로그래밍 언어 활용

1. 결합도와 응집도결합도 : 모듈 간의 공유되는 정도 응집도 : 모듈 내부의 공유되는 정도응집도↑, 결합도↓ 좋음. 결합도(모듈 간 관계) 내공외제스자(약해지는 순서)내용결합도-공통결합도-외부결합도-제어결합도-스탬프결합도-자료결합도(데이터결합도)응집도(모듈 내 관계) 우논시절통순기(강해지는 순서)우연적응집도-논리적응집도-시간적응집도-절차적응집도-통신적응집도-순차적응집도-기능적응집도 (결합도)내용결합도 : 한 모듈이 내부 기능 및 내부 자료를 직접 참고하거나 수정할 때공통결합도 : 공유되는 영역 여러 모듈이 사용. 동일한 전역 데이터 접근외부결합도 : 외부의 다른 모듈에서 참조할 때 결합도제어결합도 : 제어하기 위한 목적, 권리 전도 현상스탬프결합도 : 모듈 간 자료 구조가 전달될 때 변화가 생기면 그것..

3과목 데이터베이스 구축

1. 데이터베이스 기초 개념- 릴레이션(테이블) : 데이터를  표 형태로 표현한 것(릴레이션 : 테이블 수)- 속성 : 릴레이션의 열- 차수 : 속성의 수- 튜플 : 릴레이션의 행(튜플 사이에는 순서 없음)- 카디널리티 : 튜플의 수- 도메인 : 속성에 들어가는 원자값 집합 2. DDL, DML, DCLDDL 데이터 정의어 : 데이터 구조를 정의하는 명령어- CREATE : 테이블 생성- ALTER : 테이블 속성 변경(속성 추가하고 싶을 때 등) 테이블의 컬럼 추가, 삭제, 수정 등- DROP : 테이블 드랍 DML 데이터 조작어 : 데이터에 변형을 가하는 명령어 - SELECT : 조회 - INSERT : 삽입- UPDATE : 수정- DELETE : 삭제 DCL 데이터 제어어 : 데이터베이스에 접근..

2과목 소프트웨어 개발

1. 화이트 박스 vs 블랙박스 테스트화이트 박스 테스트 : 내부 소스 코드를 볼 수 있는 테스트- 기초 경로 검사 : 설계나 코드 기초로, 흐름도 작성 후 경로 실행 검사- 제어 구조 검사 : 논리적 조건 테스트 / 프로그램 반복 구조 검사, 변수 사용 검사- 프로그램 구조 고려 블랙박스 테스트 : 내부 구조 모르는 상태에서 테스트- 경계값 분석 : 입력 조건 경계값으로 분석- 동치분할검사 : 입력 자료를 균등하게 배분- 원인-결과 그래프 검사, 오류 예측 검사, 비교 검사 등- 프로그램 구조 고려 안 함 2. 정렬버블정렬 : 한 번 실행 시마다 가장 큰 값이 맨 뒤로 이동/O(N^2)선택정렬 : 가장 작은 값 선택해서 정렬 안 된 가장 왼쪽 값과 변경/ O(N^2)선택, 삽입, 버블 정렬 : O(N^..