전체 글

전체 글

    [데이터베이스] 물리적 데이터 구조

    직접 저장장치 (DASA : Direct Access Storage Device) 자기 물질로 이루어진 여러 개의 디스크 원반으로 이루어져 있고, 각 면마다 판독/기록 헤드가 있습니다. 정보는 디스크 원반 상의 트랙을 따라 저장되며, 같은 지름을 갖는 트랙들을 실린더(cylinder)라고 부릅니다. 한 트랙의 용량은 매우 커서 여러 개의 섹터들로 구분되고, 한 개 이상의 섹터들로 블록이 이루어집니다. 탐구시간 (seek time) 탐구시간은 헤드가 원하는 트랙(실린더)까지 이동하는데 걸리는 시간입니다. 헤드가 움직이기 때문에 가장 시간이 많이 걸립니다. 따라서 데이터베이스의 성능을 개선하기 위해서는 탐구시간을 줄여야 하고, 탐구시간을 줄이기 위해서는 디스크 I/O를 최소화해야 합니다. 또한, 헤더의 움직..

    [백준 2146번] 다리 만들기 - 파이썬

    ⚠️ 문제 - https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 🔐 풀이 크게 두 단계로 나누어 문제를 풀었습니다. 1. 처음 주어진 지도에서 DFS를 사용해 각각의 섬을 다른 번호로 구분하기 2. 모든 섬에서 BFS를 사용해 다른 섬과의 최단 거리 구하기 (이 중 가장 작은 값이 정답) 🧑🏻‍💻 코드 import sys from collections import deque sys.setrecursionlimit(10**8) N = int(sys.st..

    [데이터베이스] 데이터베이스 모델링

    데이터 모델링?💡데이터 모델링 (data modeling) - 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정데이터 모델링은 현실 세계, 개념 세계, 컴퓨터 세계의 세 단계로 구분하여 진행될 수 있습니다.▪︎ 현실 세계 (real world)사람이 감각 기능을 통해 감지할 수 있는 실체(reality)로 되어 있는 세계▪︎ 개념 세계 (conceptual world)현실 세계의 실체를 논리적 사고를 통해 개념(concept)으로 표현한 단계▪︎ 컴퓨터 세계 (computer world)개념 세계를 컴퓨터가 처리할 수 있는 데이터(data)로 변환한 단계 💡개념적 데이터 모델링 (conceptual data modeling) - 현실 세계의 실체를 추상적 개념(abstract ..

    [데이터베이스] 데이터베이스 시스템

    시스템 구성 요소💡데이터베이스 시스템 (DBS: Database System) - 데이터베이스를 유지, 관리하고 필요한 시점에 데이터를 입력, 조작, 변경하여 어떤 목적을 위해 이용하는 시스템데이터베이스 시스템을 구성하는 요소는 아래와 같습니다.▪︎ 데이터베이스▪︎ DBMS▪︎ 데이터베이스 언어▪︎ 사용자▪︎ 데이터베이스 관리자▪︎ 하드웨어 (컴퓨터)DBMS는 데이터베이스 시스템의 한 구성 요소인데, 너무 보편적으로 사용되는 용어라서 데이터베이스 시스템과 혼돈해 사용되어 왔습니다.💡데이터베이스 시스템에서 컴퓨터 - 시스템의 성능을 향상시키기 위해 중요한 요소 데이터베이스데이터베이스는 데이터베이스 시스템의 가장 기본적인 요소입니다.💡스키마 (schema) - 데이터베이스 구조(structure)와 데이터 ..

    [Algorithm] DFS / BFS

    대표적인 탐색 알고리즘인 DFS / BFS를 이해, 구현하기 위해 우선 스택과 큐 자료구조에 대해 간단히 알아보겠습니다.스택 - Stack스택은 박스를 쌓고 내리는 원리와 같습니다.먼저 들어온 것이 나중에 나가고 (FILO), 나중에 들어온 것이 먼저 나가는 (LIFO) 구조입니다.만약 1-3-5-7 순서로 들어왔다면, 7-5-3-1의 순서로 나가게 됩니다.파이썬에서는 별도의 라이브러리 사용없이 기본 리스트에서 append()와 pop() 메서드로 리스트를 스택처럼 사용할 수 있습니다.append() 메서드는 데이터를 리스트 가장 뒤쪽에 삽입하고, pop() 메서드는 데이터를 리스트의 가장 뒤쪽에서 꺼내기 때문입니다.큐 - Queue큐는 줄을 서는 원리와 같습니다.먼저 들어온 것이 먼저 나가고 (FIFO..

    [데이터베이스] DBMS, 데이터 중복성, 데이터 독립성

    기존 화일 시스템의 문제점과거에는 응용 시스템을 개발하기 위해 파일 시스템(file system)을 사용했고,파일 시스템에서 각각의 응용 프로그램은 개별적으로 자신의 파일을 사용했습니다.이러한 시스템의 문제점은 크게 데이터 종속성(Data dependency), 데이터 중복성(Data redundancy)가 있습니다.💡데이터 종속성 (Data dependency) - 한 응용 프로그램에서 사용되는 파일은 다른 응용 프로그램에서 사용할 수 없는 것 - 데이터의 구성이나 접근 방법을 변경하면 응용 프로그램도 변경됨💡데이터 중복성 (Data redundancy) - 같은 내용의 데이터라도 응용 프로그램이 다르면 별도의 파일로 만들어 중복되는 경우 - 한 시스템 내에 데이터가 중복되게 저장 관리되는 것 데이터 ..

    [데이터베이스] 데이터베이스 정의, 특성, 개념적 구성

    데이터베이스💡데이터베이스 - 어느 한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합 및 저장된 운영 데이터의 집합데이터베이스는 통합 데이터 (integrated data)이다.데이터를 한 곳에서 관리하여 데이터의 중복(redundancy)을 방지합니다.실제로는 중복을 “완전히” 배제하는 것이 아니라 필요한 경우에는 효율성 증진을 위해 “통제된 중복” (controlled redundancy)은 허용하는 경우가 있습니다.데이터베이스는 저장 데이터 (stored data)이다.데이터는 컴퓨터가 바로 접근할 수 있는 매체(media)에 저장되어 있어야 합니다.→ 하드디스크나 메모리와 같은데이터베이스에 저장되어 있는 데이터는 운영 데이터 (operational data)이다.데이터베이스는 개인적인 용도로 ..

    [데이터베이스] 정보 시스템

    데이터와 정보엄격하게 생각했을때 데이터와 정보는 다른 의미입니다.데이터 - 현실 세계로부터 관찰이나 측정을 통해 수집된 사실이나 값 - 그 자체만으로는 의미가 없는 단순한 숫자나 문자를 의미데이터는 아직 처리되지 않은 값인데 비하여 정보는 이런 데이터를 처리하여 얻은 값이라고 할 수 있습니다.데이터가 유용한 정보가 되기 위해서는 이 데이터들이 정확하고, 최신의 값을 가지고 있어야 합니다.💡정보 - 의사 결정을 할 수 있게 하는 지식으로서 데이터의 유효한 해석 - 데이터 상호 간의 관계 - 데이터를 처리하여 얻은 값정보_I = 처리기_P (데이터_D)데이터 D를 처리기 P가 처리하여 정보 I를 산출 💡데이터 처리 (Data processing) - 정보를 추출할 수 있는 방법이 중요한데, 이 정보 추출 방..

    [Algorithm] Union Find (Disjoint Set Forest)

    💡여러 개의 노드가 존재할 때 그 중 두 개의 노드를 선택해서 서로 같은 그래프에 존재하는지 판별하는 알고리즘정의Union Find는 크게 두 가지 명령으로 이루어집니다.Union(a, b) - 노드 a와 b를 간선으로 연결합니다.Connected(a, b) - 노드 a와 b를 연결하는 경로가 존재하는지 확인합니다. 활용되는 상황두 점 간 연결되었는지 확인하면서 간선을 계속 추가해보는 동적인 상◼︎ 그래프 전체가 미리 주어지고 형태가 변하지 않는 고정된 정적인 상황에서는 적절하지 않습니다.◼︎ 두 점 연결하는 최단 경로 찾는 것과는 다른 문제입니다.연결 상태를 조금씩 받아오는 동시에 연결 상태를 확인하는 상황 ex) 컴퓨터망에서 두 장비가 연결되었는지?비행기 노선도에서 임의의 두 지역이 연결되었는지? 구..