본문 바로가기

분류 전체보기

(19)
Ch 05. 관계 데이터 모델 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 04 Ch5. 관계 데이터 모델 관계 데이터 모델과 관계 데이터 모델의 핵심인 릴레이션에 대해 학습한다. 4.1. 관계 데이터 모델의 개념 4.1.1. 관계 데이터 모델의 기본 용어 관계 데이터 모델에서는 하나의 객체에 대한 데이터를 릴레이션(테이블) 하나에 담아 데이터베이스에 저장한다 속성 릴레이션의 열을 속성 또는 attribute라고 부른다. 각 속성에 대한 도메인이 정해져있다. 투플 릴레이션의 행, 릴레이션의 개체 인스턴스이다. 도메인 속성 하나가 가질 수 있는 모든 값의 집합. 속성이 가질 수 있는 모든 값을 일일이 나열하기 어려운 경우, 데이터 타입으로 정의된다. 널 값 릴레이션에 있는 특정 투플 속성의 적절한 ..
Ch 04. 데이터 모델링 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 04 Ch4. 데이터 모델링 데이터 설계 과정에 필요한 데이터 모델링과 데이터 모델의 개념에 대해 학습한다. 4.1. 데이터 모델링과 데이터 모델의 개념 4.1.1. 데이터 모델링 데이터 모델링 : 현실 세계의 데이터를 컴퓨터 데이터베이스로 변환 하는 것. 종류 및 절차 개념적 모델링(추상화) : 실제 세계의 다양한 정보 중 유의미한 데이터만을 뽑아 추출하는 것. 논리적 모델링(구조화) : 추상화한 데이터를 데이터베이스에 정형화된 구조로 표현하는 것. 4.1.2. 데이터 모델 데이터 모델 : 데이터 모델리의 결과물을 표현하는 도구. 종류 개념적 데이터 모델 개념적 모델링한 결과를 표현 논리적 데이터 모델 논리적 모델링한 결..
Ch 03. 데이터베이스 시스템 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 03 Ch3. 데이터베이스 시스템 데이터베이스, 데이터베이스 관리 시스템 개념을 바탕으로 데이터베이스 시스템에 관해 알아본다. 3.1. 데이터베이스 시스템의 정의 데이터베이스 시스템 : 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해주는 시스템. 용어 구분 데이터베이스: 데이터를 저장해두는 곳 데이터베이스 관리 시스템: 데이터베이스에 저장된 데이터를 관리해주는 프로그램 데이터베이스 시스템: 데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보르르 제공해주는 전체 시스템 데이터베이스 시스템에는 데이터베이스와 DBMS외에도 데이터언어(SQL)과 데이터 처리 연산을 담당하는 ..
Ch 02. 데이터베이스 관리 시스템 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 02 Ch2. 데이터베이스 관리 시스템 파일 시스템이 지닌 한계점과, 그에 대한 데이터베이 관리 시스템의 핵심 기능과 장단점. 2.1. 데이터베이스 관리 시스템의 등장 배경 2.1.1. 파일 시스템의 한계점 파일 시스템 : 운영체제와 함께 설치되며, 데이터를 파일로 관리할 수 있도록 파일의 CRDU 기능을 제공한다. 파일 시스템의 한계점 데이터의 중복 파일 시스템은 응용 프로그램별로 파일을 유지하기 때문에, 같은 데이터가 서로 다른 파일에 중복 될 수 있다. 단순히 저장공간의 낭비 뿐 아니라, 데이터 일관성을 유지하는데 어려움이 있다. SW의 파일 종속성 응용 프로그램이 파일에 직접 접근하기 때문에, 파일 구조에 종속적이다..
Ch 01. 데이터베이스 기본 개념 김연희, 『데이터베이스 개론』, 한빛아카데미(2022.07.20), Chpater 01 Ch1. 데이터 베이스 기본 개념 1.1. 데이터베이스의 필요성 1.1.1. 데이터와 정보 데이터 : 관찰 혹은 측정을 통해 수집한 사실 or 값 정보 : 데이터를 의사결정에 유용하게 활용할 수 있도록 체계적으로 조직한 결과물 정보처리 : 데이터에서 정보를 추출하는 과정 1.1.2. 정보 시스템과 데이터베이스 정보시스템 : 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 의사 결정 시 유용한 정보를 만들어 주는 수단 사용 목적에 따라 다양한 이름이 있다 경영정보 시스템(MIS: Management Information System) 의사 결정 지원 시스템(DSS: Decision Support System) 데이터..
[ 백준 12865번 평범한 배낭 ] Python 코드 (DP) 1. 문제 백준 12865번 평범한 배낭 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 2. 풀이 Dynamic Programming의 대표적인 문제이다. 원래라면 모든 부분집합을 다 확인해야 하기에 O(2**N)의 시간 복자도를 가지지만, DP를 활용함으로써 시간복잡도를 O(NM)으로 개선시켰다. 다만 여기서 M은 N에 대해 독립적인 값이기 때문에, M이 매우 커진다면 시간복잡도 또한 매우 커진다. DP문제의 쟁점은 늘 그렇듯 어떻게 prob..
0. Pre-Learning 미즈구치 카츠야, 『모두의 네트워크』, 이승룡 역, 길벗(2022), 1장 ~ 2장 Ch1. 네트워크 첫걸음 1. 네트워크의 구조 1.1. 컴퓨터 네트워크란? 컴퓨터 네트워크 정의 ==분산되어 있는 컴퓨터를 통신망으로 연결하여 자원을 공유할 수 있게한 것.== 컴퓨터 간 연결은 광케이블과 같은 유선, 혹은 와이파이와 같은 무선 매체를 통해 이뤄진다. 인터넷 정의 TCP/IP프로토콜 기반의 컴퓨터 네트워크 1.2. 패킷이란? 패킷 정의 네트워크를 통해 전송되는 데이터의 작은 형식화된 조각 패킷의 필요성 큰 데이터를 그대로 보낼 경우, 네트워크의 대역폭[^1]을 많이 점유해서 다른 데이터의 흐름을 막을 수 있다. 따라서 데이터를 작은 크기의 패킷으로 분할하여 전송할 필요성이 대두되었다. 단, 데이터를 수신한..
[ SWEA 14510번 나무 높이 ] Python 코드 (Greedy) 1. 문제 SWEA 14501번 나무 높이 2. 풀이 완전탐색 기반으로 풀이할 방법이 생각나지도 않을 뿐더러, 설사 어떻게 생각해낸다 하더라도 경우의 수가 너무많다. 따라서 Greedy로 풀어야한다. 이름부터 사악한 Greedy 알고리즘이란, 지역적인 최적값 선택의 연속이 글로벌한 최적값으로 이루어진다는 것인데 실제 문제를 풀어보면, 그냥 알아서 잘 짜야한다. 나는 흡사 IQ 테스트같다고 생각한다. 따라서 Greedy한 알고리즘을 만들 때 가장 중요한 것은 코드가 너무 많은 if문으로 case를 나누지 말아야한다. 그러면 일단 Greedy하지 않을 뿐더러, 무엇보다 우리가 푸는 문제가 누군가에 의해 만들어졌다는 것을 고려할 때, 코드가 지저분하게 케이스를 나누고 있다면 접근방식이 잘못 되었을 가능성이 농..
[ 백준 1890번 점프 ] Python 코드 (DP) 1. 문제 백준 1890번 점프 2. 풀이 백트래킹, 메모이제이션, DP을 모두 적용시킬 수 있는 아주 흥미로운 문제이다. (아물론 제약조건 때문에 DP를 적용한 코드만 통과했다.) 3가지 풀이방법 모두 완전탐색을 기반으로 한다. 다만 그 효율성을 어떻게 높였는지에 따라 알고리즘이 분류된 것일 뿐이다. 백드래킹은 가지치기 코드를 통해 유효하지 않은 상태트리(경우의 수)를 더이상 탐색하지 않는다. 메모이제이션은 탑다운 방식으로 탐색을 이어나가는 중, 중복되는 상태트리를 만나는 경우 저장된 값을 불러온다. DP는 바텀업 방식으로 탐색을 하되, 이전 탐색의 값을 기억해두었다가 적절하게 재활용하여 완전탐색을 만족시킨다. 개인적으로 백트래킹과 메모이제이션은 어느 정도 코드의 정형화가 가능하기에 상대적으로 쉬운 반..