전체 글 (40) 썸네일형 리스트형 Database와 RDBMS, NOSQL Database란?일반적인 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미DBMS(DataBase Management System)란?사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어 RDBMS(Relational Database Mangement System)R은(Relational)의 약자로 RDBMS는 관계형 데이터베이스 관리 시스템을 의미RDBMS에서의 저장 방식은 SQL에 의해 저장되고 있으며 정해진 스키마에 따라 데이터를 저장하여야 합니다.NoSQL (Not Only SQL)RDB형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미NoSQL에서는 RDBMS와는 달리 테이블 간 관.. JOIN이란? JOINRDB에서 2개 이상의 테이블 혹은 DB를 넘나들며 데이터를 검색하는 방법여러 테이블을 하나의 테이블 처럼 사용하기 위한 방법Primary key, foreign key를 활용한다.종류Inner Join조인 조건이 부합하는 결과만을 확인할 때 사용한다. Outer Join기준 테이블의 조회 결과와 함께 조인 조건에 부합하는 테이블 데이터를 확인할 때 사용한다.Cross Join기준 목록에 나열된 목록들의 모든 가능한 조합이 출력된다.따라서 조인 조건을 명시하지 않는다.Self Join자기 자신을 조인하는 방법 합승 택시 요금 문제 설명S의 시작점에서 A의 도착점 과 B의 도착점의 최단경로를 구하는문제 문제 풀이해당 문제는 최단 경로를 찾는 문제이기 때문에 다익스트라 알고리즘으로 풀 수 있다.다익스트라 알고리즘은 한 정점에서 다른 정점까지의 최단 경로를 구하는 알고리즘이다.이 과정에서 도착 정점 뿐아니라 모든 정점까지 최단경로로 방문하며 각 정점까지의 최단경로를 찾게된다.최소비용을 구하는 그래프 알고리즘다익스트라 알고리즘벨만-포드 알고리즘프로이드 워샬 알고리즘 동작 단계출발 노드와 도착노드를 설정최단거리 테이블 초기화현재 위치한 노드의 인접 노드 중 방문하지 않은 노드를 구별하고 방문하지 않은 노드 중 거리가 가장 짧은 노드를 선택 후 방문처리해당 노드를 거쳐 다른 노드로 넘어가는 간선 비용(가중치)을 계산해 '최단 거리 .. 하노이의 탑 하노이의 탑 알고리즘 문제는 재귀적으로 해결되는 대표적인 문제이다. 하노이의 탑 규칙한번에 한 개의 원판만 이동 가능더 작은 원판 위에 더큰 원판을 놓을 수 없다 하노이의 탑이 재귀적으로 해결되는 이유N개의 원판을 옮기기 위해서는 N-1개 원판을 옮기는 문제를 해결해야함.N개의 원판을 A -> C로 옮기는 과정(재귀 호출) N-1 개의 원판을 A -> B로 이동(직접 호출) N의 원판을 A -> C로 이동(재귀 호출) N-1개의 원판을 B -> C로 이동 N = 3일 경우 원판을 옮기는 과정원판 1: A → C원판 2: A → B원판 1: C → B원판 3: A → C원판 1: B → A원판 2: B → C원판 1: A → C def hanoi(n,start,to,via,move_list): if n =.. 길 찾기 게임 BTS (binary tree search) 를 구현하는 문제입니다.BTS의 insert, 전위 순회, 후위 순회를 구현하는 문제입니다.각 노드의 번호를 알기위해 enumerate를 사용하고y축으로 각 노드를 정렬한다.def solution(nodeInfo) : sorted_node_info = [] # 트리의 노드를 높이 순으로 정렬하기 위해서 for idx,[x,y] in enumerate(nodeInfo,1): # 정렬과 함께 현재 노드의 번호를 확인하기 위해 sorted_node_info.append([idx,x,y]) # 노드 번호에 따라 값 저장 sorted_node_info.sort(ke.. 정규화(Normalization) 정규화(Normalization)이란?정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는 다는 것무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 제 1정규화제 1정규화란 테이블의 컬럼이 원자값(Atomic Value,하나의 값)을 갖도록 테이블을 분해하는 것제 2정규화제 2정규화란 제 1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안된다는 것제 3정규화제 3정규화란 제 2정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것이행적 종속이라는 것은 A ->B, B ->C 가 성립될 때 A -> C가 성립되는 것을 .. 트랜잭션 격리 수준(Transaction Isolation Levels) 트랜잭션의 격리 수준여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것SERIALIZABLEREPEATABLE READREAD COMMITTEDREAD UNCOMMITEDSERIALIZABLE가장 엄격한 격리 수준으로 트랜잭션을 순차적으로 진행한다.여러 트랜잭션이 동일한 레코드에 동시 접근할 수 없다.트랜잭션이 순차적으로 처리되어야 하므로 동시 처리 성능이 매우 떨어짐REPEATABLE READRDBMS는 변경 전의 레코드를 언두 공간에 백업해두기 때문에 변경전/ 후 데이터가 모두 존재 하므로, 여러버전의 데이터가 존재한다고 하여 이를 MVCC(Multi-Version Concurrency Control, 다중 버전 .. 트랜잭션(Transaction) 이란? 트랜잭션(Transaction)이란, 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 뜻한다. 데이터베이스의 상태 변화란?질의어(SQL)를 이용하여 데이터베이스를 접근하는 것을 의미SELECTINSERTDELETEUPDATE작업의 단위는 질의어 한문장이 아니고 질의어 명령문을 사람이 정하는 기준에 따라 정해진다.트랜잭션의 특징 (ACID)원자성 (Atomicity)트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야한다는 것일관성 (Consistency)트랜잭션의 작업 처리 결과가 항상 일관성 있어야 한다.독립성 (Isolation)둘 이상의 트랜잭션이 실행되고 있을 경우 어떤 하나의 트랜잭션이 다른 트랜잭션의 연산에 끼어들 수 없다지속성 (Durability)트랜잭션이 .. 이전 1 2 3 4 5 다음