SQL 개요
SQL 개요 Structured Query Language의 약자로 데이터베이스에서 데이터를 추출하고 조작하는 데에 사용하는 데이터 처리 언어이다. 관계형 데이터 베이스의 데이터를 조작하는데 쓰이고 표준 SQL이 있으나 관계형 데이터 베이스 시장의 대부분을 점유하고 있는 Oracle과 오픈소스인 mysql, mariadb는 지키지 않으며 따라서 DB...
SQL 개요 Structured Query Language의 약자로 데이터베이스에서 데이터를 추출하고 조작하는 데에 사용하는 데이터 처리 언어이다. 관계형 데이터 베이스의 데이터를 조작하는데 쓰이고 표준 SQL이 있으나 관계형 데이터 베이스 시장의 대부분을 점유하고 있는 Oracle과 오픈소스인 mysql, mariadb는 지키지 않으며 따라서 DB...
2. 관계형 데이터베이스 (Realational Database) 유일한 이름을 갖는 릴레이션들로 이루어져있으며 이전에 포스팅했던 개체-관계 모델로 표현가능한 데이터베이스이다. 1) 구성요소 * 릴레이션, 테이블 정보를 저장하는 단위, 테이블이라고도한다. 표 형태이기 때문 * 스키마 릴레이션 이름과 일정 수의 속성들의 집합, 표에서 헤더 영역과 같...
관계형 데이터베이스 1. 개체 관계 모델 1) 개체(Entity) 데이터베이스에 표현하려고 하는 가장 핵심적인 것 현실 세계에서 사람이 생각하는 개념이나 정보의 단위 ex) 학교: 교수, 학생, 과목, 강의, 강의실 2) 속성(Attribute) 개체를 구성하는 세부 정보 단순/복서 속성이 있다. 단순 :...
데이터베이스 개요 데이터베이스(영어: database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다 이러한 데이터의 집합인 데이터베이스를 관리하고 사용하기 위하여 데이터베이스 관리 시스템(DBMS)를 사용하게된다. (그냥 사람들이 데이터 베이스라고 말하는 것은 사실 DBMS를 말하는 것에 가깝다) 1. ...
팀 정렬(Tim sort) 개요 일반적으로 정렬 알고리즘 중에 평균적인 상황에서 가장 빠른 알고리즘은 힙 정렬, 병합 정렬, 퀵 정렬이라고 알고 있을 것이다. 이렇게 빠르다고 알려진 알고리즘을 사용할 때도 주의할 점이 있다. 먼저 최악의 상황에서의 성능이다. 퀵 정렬은 최악의 경우 O($N^{2}$)이다. 물론 메모리는 다른 정렬에 비해서 상대적으...
알파 베타 가지치기 이전의 Minimax 알고리즘으로 전체 경우의 수를 탐색 할 수 있다면 어떤 게임에서도 이길 수 있다고 했다. 그리고 체스만 하더라도 경우의 수가 너무 많기 때문에 전체 탐색을 할 경우 너무 많은 시간이 걸리기 때문에 탐색 깊이 제한을 둬서 응답 시간을 줄이는 방법을 사용한다고 했다. 그런데 굳이 탐색할 필요 없는 부분을 애시...
Mini Max 알고리즘 개요 상대방과 번갈아가면서 수를 두는 형태로 겨루는 게임의 AI를 짜는데 자주 사용되는 알고리즘이다. 최선의 수를 두었을 때의 이득을 계산하는 것이 아닌 실패했을 때 손실을 최소로하는 방향으로 탐색하는 방식이다. 영어로는 Minimax algorithm, 한국어로는 최소최대 알고리즘이라고 한다. 해당 알고리즘을 사용할 수...
JPS 알고리즘 개요 이전에 우리는 A* 알고리즘에 대해서 공부해보았다. 하지만 이러한 A* 알고리즘 역시 기본적으로 BFS에 가까운 알고리즘이고 매칸 마다 그다음 노드들을 탐색해야하기에 너무나 많은 시간이 걸린다. 이전 시간에 포스팅한 A* 알고리즘으로 탐색한 내용이다. 보면 알겠지만 BFS로 전체를 탐색한 것과 크게 차이가 나지 않아보인다...
A * 알고리즘 가장 대표적인 길찾기 알고리즘 중 하나이다. 기존에 있던 다익스트라 알고리즘 기반으로 개량된 알고리즘으로 스타크래프트가 이러한 A* 알고리즘을 이용하여 각 유닛의 길찾기를 구현했다고 알려져있기도하다. 이 알고리즘은 평가함수로 해당 경로를 갈지 말지를 평가하게 되는데 이 평가함수 f(N)은 다음과 같다. [f(N) = g(N)+h^...
#알고리즘 알고리즘은 어떤 방식을 해결하고자 하는 방식이다. 사실 기본적인 알고리즘은 이미 컴퓨터 기초 영역에서 다루었다. 하지만 좀 더 깊은 알고리즘을 컴퓨터 기초영역에서 다루려고하니 따로 항목을 분리하는게 좋을 것 같아서 별도의 항목을 신설했다. 대략 아래의 목차대로 진행할 예정이다. 물론 아래의 목차는 자주 업데이트 될 예정이며 삭제 및...