-
정렬(Sort)
선택정렬(Selection Sort) n개의 숫자가 있을때 n-1회전이 진행 i가 진행되면서 가장 작은 수를 기억 i -> n까지 진행되면서 기억해놓은 가장 작은수를 가장 왼쪽의 수와 교환 가장 작은수가 가장 왼쪽으로 이동하게됨 O(n2) array = [7, 5, 1, 3, 4, 9, 2, 8, 6, 0] for i in range(len(array)-1): min_idx = i for j in range(i+1, len(array)): if array[j] < array[min_idx]: min_idx=j array[...
-
탐색(Search)
선형 탐색 알고리즘(Linear Search) 앞에서부터 차례대로 탐색 데이터가 정렬되어 있지 않을 경우 사용 데이터가 많을수록 비효율적 O(n) 이진 탐색 알고리즘(Binary Search) 정렬 후 중간값을 기준으로 필요없는 부분을 잘라내가며 탐색 한번 탐색할때마다 대상이 절반(1/2)으로 줄어듬 데이터가 많을수록 효율적 O(log n) 결정 문제에 사용 된다 -> 정답의 범위가 주어지고 이진탐색으로 좁혀나가 최적의 해를 구한다 (파라매트릭 서치) 결정 문제 : YES or NO 로 답할 수 있는 문제 -> mid값이 최적의 해인가? YES ...
-
PL/SQL
익명 블록 : 한번만 실행 선언부(DECLARE) : 모든 변수나 상수 선언 실행부(BEGIN) : 제어문, 반복문, 함수 정의 등의 로직 구현, END로 끝남, 필수블록 예외처리부(EXCEPTION) : 에러발생을 대비한 예외처리 - SET SERVEROUTPUT ON : PL/SQL 실행 결과를 화면에 출력하기 위해서 환경변수를 활성화 시켜줘야함 SET SERVEROUTPUT ON; -- PL/SQL 결과 화면 출력기능 활성화 [DECLARE 선언부] BEGIN 실행부 [EXCEPTION 예외처리부] END; DECLARE v_number NUMBER(4); ...
-
오라클 객체
인덱스(Index) - 데이터 검색 향상을 위해 사용함, DML에 취약함, SQL실행에 악영향을 줄 수도 있음 - 뷰에는 인덱스를 생성할수 X ▷ 생성/ 삭제 CREATE INDEX 인덱스명 ON 테이블명 (칼럼명 ASC/DESC, ......); DROP INDEX 인덱스명; - 고유인덱스 : 칼럼에 중복 데이터가 없을 때 사용 ex) deptno, id CREATE UNIQUE INDEX 인덱스명 ON 테이블명 (칼럼명 ASC/DESC, ......); - 결합인덱스 : 칼럼을 2개 이상으로 인덱스 생성 뷰(View) - 여러개의 테이블을 조회하는 가상의 테이블(편리성) ...
-
데이터 사전(Data Dictionary)
시스템과 관련된 중요한 데이터 보관 -> 메타테이터 -> 메모리, 성능, 사용자, 권한, 객체 등 시스템 데이터베이스, 시스템 카탈로그 라고도 함 일반 사용자는 SELECT로 열람만 가능 SELECT * FROM dict; SELECT * FROM dictionary; ● USER_ : 접속한 사용자의 객체 정보 - USER_TABLES : 사용자가 사용할 수 있는 모든 table 출력 ● ALL_ : 접속한 사용자의 객체 정보 또는 다른 사용자의 객체 중 사용 허가받은 객체 정보 - ALL_TABLES : 사용자가 사용할 수 있는 모든 table 출력, owner와 같이 출력됨 ...