본문 바로가기

전체 글533

[데이터베이스] 인덱스 (Index) ※ 참조 gyoogle/tech-interview-for-developer 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub. github.com 인덱스 (Index) 관계형 데이터베이스에서 레코드에 빠르게 접근하기 위해 사용되는 쌍으로 구성되는 데이터 구조 레코드에 대한 접근을 빠르게 수행하는 것이 목적 책에서 '목차' 와 같은 역할 하지만 레코드 삽입, 삭제가 수시로 일어나면 인덱스 개수를 최소화하는 것이 좋다. → 데이터가 변경될 때마다 인덱스를 새로 생성해야되기 때문 사용하면 좋은 경우 WHERE 절에서 자주 사용되는 C.. 2020. 9. 17.
[데이터베이스] 이상 (Anomaly) 이상 (Anomaly) 데이터베이스 내의 데이터들의 불필요한 중복으로 인해 발생하는 예기치 못하는 상황 1. 삽입 이상 (Insertion Anomaly) 데이터 삽입 시 원하지 않는 값도 같이 삽입되는 상황 ex) 학생 번호를 입력하기 위해선 수강신청 과목 번호도 같이 입력해야됨. → 불필요한 데이터 2. 삭제 이상 (Deletion Anomaly) 튜플 삭제 시 의도하지 않은 값들도 같이 삭제되는 상황 ex) 수강신청만 취소하려고 하는데 학생의 정보도 같이 삭제됨 3. 갱신 이상 (Update Anomaly) 튜플의 속성 값 갱신 시 일부 테이블의 튜플 정보만 갱신되는 상황 → 데이터의 모순이 발생 ex) 학생의 전공이 바뀌었는데 일부 테이블에서만 바뀌고 나머지 테이블들에서는 전공이 바뀌지 않아서 데.. 2020. 9. 17.
[데이터베이스] 트랜잭션 (Transaction) 트랜잭션 (Transaction) 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 기본 작업 단위 예를 들어, 통장에서 금액을 출금하는 작업을 한다고 치면 '통장 금액 불러오기 (SELECT)' → '출금 (UPDATE)' 와 같은 순서로 이루어지는데 이 2가지 과정이 하나의 트랜잭션이다. 트랜잭션의 특성 (ACID) 특성 설명 원자성 (Atomicity) 트랜잭션 내의 모든 작업이 성공적으로 수행되어 반영되거나 혹은 모두 반영되지 않아야한다. (일부만 반영x) 일관성 (Consistency) 트랜잭션이 성공적으로 실행된 후에도 데이터베이스는 항상 일관성을 유지해야한다. 독립성 (Isolation) 어느 트랜잭션이 실행 중일 때, 다른 트랜잭션이 연산에 끼어들 수 없다. 지속성 (Durability).. 2020. 9. 17.
[알고리즘] 정렬 (Sort) 1. 선택 정렬 (Selection Sort) $O(n^{2})$ 배열에서 가장 큰 원소를 찾아 배열의 끝자리에 있는 원소와 자리를 바꿈(swap) 나머지 원소들에 대해서도 반복 package com.company; public class Main { //원본 배열 (정렬x) static int A[] = {3,5,1,2,8,7,6,10,9,4}; static void selection_sort(int list[]) { //가장 큰 값 찾기 + swap 반복 for(int i=list.length-1;i>=0;i--) { int max_index = 0; int max = list[max_index]; //가장 큰 값 찾기 for(int j=0;j list[j+1]) { swap(list, j, j+1).. 2020. 9. 17.