분류 전체보기

    [ADV_db]Chap 4. Query-processing

    # 질의 처리 순서 Parsing and Translation 들어온 질의문에서 문법적 오류가 없는지 확인하고, 관련 릴레이션들을 확인한다. DBMS내부에서 작동가능한 형태로 번역하고, relational algebra로 변환한다. View연산이 포함된 쿼리의 경우, View를 정의하는 모든 관계 대수 변환식으로 대체된다. Optimizer 여러 relational algebra 중에서 가장 좋은 Execution plan을 고른다. 고르는 기준은 데이터베이스에 파일이 저장된 방식이나 인덱스의 유무에 따라 달라지는 Cost를 기준으로 가장 낮은 Cost를 가진 Execution plan을 선택한다. Evaluation 연산 처리에 대한 주석이 달린 relational-algebra operation을 e..

    [백준]1920 - 수 찾기

    https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net N = int(input()) A = set(map(int, input().split())) M = int(input()) B = list(map(int, input().split())) for i in range(M): if B[i] in A : print(1) else: print(0) https://xzio.tistory.com/1828 자료 ..

    [백준]2164 - 카드2

    https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net from collections import deque inp = int(input()) card = deque() for i in range(1,inp+1): card.append(i) while len(card) != 1: card.popleft() last = card.popleft() card.append(last) print(card[0]) https://codingpractices.tis..

    [백준]1436-영화감독 숌

    https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net inp = int(input()) num = 666 while inp != 0: if '666' in str(num): inp = inp-1 if inp == 0: break num = num + 1 666부터 1씩 더 해가며 해당 문자열에 '666'이 포함된 경우를 확인해나가는 "브루트 포스" 문제다.

    [ADV_db]Chap 12-14. 연습문제

    # Chap 12 . Physical storage system 12.1 SSD를 저장장치로 사용할 수도 있고, 아니면 저장장치와 메모리간의 버퍼로 사용할 수도 있다. 이 중 만약 real-time에 사용되는 SSD라면 어떤 용도로 쓰는게 적합할까?그리고 만약 엄청 큰 릴레이션이 있는데 이 중 일부만 자주 이용되는 경우라면 SSD를 어떻게 활용하는게 좋을지 설명하시오 Real-time의 경우 저장장치의 용도로 쓰는 게 더 성능을 보장할 수 있다. 큰 릴레이션의 경우에는 자주 이용하는 부분을 캐시나 버퍼의 형태로 SSD를 사용하는 것이 좋다. 12.2 어떤 데이터베이스는 디스크에서 안쪽 Track은 사용하지 않고 바깥쪽 Track만 사용하는데 이런 경우의 장점에 대해 설명하시오. 어차피 안쪽이나 바깥쪽이나..

    [ADV_db]Chap 3. Hash index

    # Static Hashing Hashing 대부분 메인 메모리 내에 인덱스를 만들기 위해 사용되지만, 파일의 레코드를 정리할 때도 사용된다. 인덱스를 만들 때는 버켓에 레코드들의 인덱스들이 들어있지만, 파일을 관리할 때는 실제 레코드가 들어간다. Hash Index는 해시 함수를 통과해서 나오는 값을 Search key값으로 사용하는 방식이다. Bucket이라는 디스크 블록에 같은 해시 값을 가지는 여러 엔트리가 저장되어 있다. 만약 Bucket의 Index가 고정되어 있다면 Static Hashing 그렇지 않다면, Dynamic Hashing이라고 한다. 다른 서치 키 값을 가지더라도 해시 함수를 통과했을 때 값이 같다면 같은 Bucket에 위치하기 때문에 어떤 엔트리를 검색하기 위해서는 해당 B..