본문 바로가기

ComputerScience

(27)
[Database] 6. 관계 데이터 연산 개념 정리 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리하려고 합니다. 지난 포스트 "관계형 데이터 모델(Relational data model) 개념 정리"에 이어 이번에는 관계 데이터 연산에서 관계 대수에 관한 개념을 정리해보려고 합니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다:) 데이터 모델은 데이터 구조(schema)와 constraint(제약조건) 뿐 아니라 연산을 통해 여러 relation간 데이터를 다룰 수 있습니다. 1. 관계 대수 관계 대수는 관계형 데이터베이스에서 사용되는 Query(질의) 언어 중 하나입니다. 다양한 연산자들이 있고 이들을 ..
[Database] 5. 관계형 데이터 모델(Relational data model) 개념 정리 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리하려고 합니다. 지난 포스트 "Data modeling 개념 정리"에 이어 이번에는 관계형 데이터 모델(Relational data model) 개념을 정리해보려고 합니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다:) 관계 데이터 모델(관계형 데이터 모델)은 논리적 데이터 모델 중 가장 인기있는 데이터 모델입니다. 관계 데이터 모델을 통해 관계 데이터베이스를 만들 수 있습니다. 1. Relational data model cf. SoTalk앱의 Message Relational schema는 네트워크 과제를..
[Database] 4. Data modeling 개념 정리 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리하려고 합니다. 지난 포스트 "데이터베이스 시스템(DBS) 구성요소 개념 정리"에 이어 이번에는 Data modeling에 관련된 개념을 정리해보려고 합니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다:) 1. 데이터 모델링(Data modeling) 현실 세계에 있는 여러 현상, 데이터 중에서 조직에 필요한 데이터만 컴퓨터 속 데이터 베이스로 옮기는 변환 과정 데이터 모델링은 크게 3단계가 있습니다. (개념적, 논리적, 물리적) 일반적으로 이 모두를 합쳐서 데이터 모델링이라고 부릅니다. 데이터 모델링의 결과..
[Database] 3. 데이터베이스 시스템 구성 요소 개념 정리 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리하려고 합니다. 지난 포스트 "데이터베이스 관리 시스템(DBMS)"에 이어 이번에는 DBS(데이터베이스 시스템) 구성 요소 개념을 정리해보려고 합니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다:) 1. 데이터베이스 시스템 Database System 데이터를 사용하는 모든 체계를 통틀어 Database system이라고 부릅니다. 사용자는 DBMS를 그냥 이용할 수 있는 것은 아니고 데이터 언어(ex: SQL)를 통해서 접근해야 합니다. 데이터 언어는 DBMS의 주요 기능인 DDL, DML, DCL 등의 기..
[Database] 2. 데이터베이스 관리 시스템(DBMS) 개념 정리 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리하려고 합니다. 지난 포스트 "데이터베이스 정의"에 이어 이번에는 DBMS 개념을 정리해보려고 합니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다.) 1. 왜 DBMS를 사용하는가? DBMS를 사용하기 이전에는 file system을 통해 데이터를 관리했습니다. (TMI: 아!! 저는지금 iOS앱 개발을 하고 있는데 휴대폰 내 로컬 file system도 자주 이용합니다: ) 파일 시스템을 사용해서 데이터를 관리한다는 뜻은 데이터의 생성, 삽입, 수정 등을 파일 안에서 하는 것을 의미합니다. 데이터를 관리할 ..
[Database] 1. 데이터베이스를 시작하기에 앞서 | 데이터베이스 정의 안녕하세요. CS지식 정리도 할 겸, 학교에서 배운 데이터베이스 개념 + "데이터베이스 개론-IT COOKBOOK" 의 책을 공부하며 알게 된 내용을 정리할 것입니다. 이번 포스트는 데이터와 정보의 차이, 데이터 type, 데이터베이스 개념을 간단하게 정리 할 것입니다. 주관적으로 작성된 글이기에 틀린 내용이 있을 수 있습니다.(댓글로 알려주시면 감사합니다.) "데이터 베이스가 왜 필요한가?..." 요즘 iOS앱으로 개발을 즐겨하는데 가장 중요한게 데이터라고 생각합니다... (여행 앱을 만드는데 여행지에 필요한 가공된 데이터는 비싼 가격을 지불해야만 이용할 수 있는 api들이 많더라구요 ㅠㅠ) 1. 데이터와 정보 데이터(data)는 현실 세계에서 단순 관찰, 측정을 통해 수집한 것을 의미합니다. 정보(i..
[Algorithm/Swift] 문자열 탐색. KMP 알고리즘 파해치기!! 부분 일치 테이블 pi 채우는 방법 요즘 문자열 알고리즘을 공부하고 있습니다. 문자열 탐색에 많이 사용되는 kmp 알고리즘에 대해서 공부한 개념을 정리하려고 합니다.ctrl + f를 통해 trans라는 단어를 찾아봤습니다. 주어진 text에서 "trans"라는 pattern을 찾았습니다. 문자열 탐색이란 주어진 text에서 특정한 단어 pattern을 찾는 것을 의미합니다. Knuth, Morris, Pratt 세 사람이 만든 KMP 알고리즘이 문자열 탐색에 유명합니다. 그 전에 먼저 문자열 탐색의 가창 기초적인 방법을 설명한 후에 kmp 알고리즘을 통한 문자열 탐색 알고리즘을 소개하려고 합니다. 1. 기본적인 문자열 탐색 방법 Naive string search주어진 문장에서 특정한 문자열을 찾을 수 있는 방법이 뭐가 있을까요? 주어진 ..
[Algorithm] 플로이드 와셜(Floyd-Warshall) 개념 뿌수기!! 1. What is Floyd Warshall? 플로이드 와샬 알고리즘은 '모든' 정점 사이의 최단 경로를 구할 때 사용하는 알고리즘 입니다. 한 정점->인접한 다른 정점으로 갈 때 비용을 전부 2차원 배열에 저장합니다. 모든 정점을 포문으로 탐색하게 되는데 이때 특정 한 정점일 때 해당 정점을 거쳐서 갈 수 있는 경로가 원래 2차원 배열에 저장된 경로의 비용보다 낮다면 2차원 배열의 cost를 갱신합니다. 2. Floyd Warshall's algorithm 인접 정점 간 갈 수 있는 비용을 2차원 배열 visited에 저장했다고 가정한다면 점화식은 visited[v][w] = min(visited[v][w], visited[v][k] + visited[k][w])입니다. v : 시작 정점 w : 도착..