2024/10 21

[DataBase] 04. SQL(Structured Query Language) - Intermediate(1)

SQL(Structured Query Language) - Intermediate(1)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈! 이전 챕터에서 이어서 SQL 구문과 관련된 내용이 이어집니다. 요번 챕터에서 Join Operation을 중점으로 다루게 될텐데, 요즘 SQL 코테에서도 Join 관련 문제가 자주 등장한다고 하니 꼼꼼히 봐두시길!Joined Relations관계 대수에서 Join Operation에 대해서 살펴봤던거 기억나시나요? 기억 안나시면 서운합니다 ㅠㅠ챕터 2 내용을 복기해보자면 Cartesian 곱은 모든 가능한 조합의 결과를 생성하므로 원하지 않은 ..

DataBase/Concepts 2024.10.11

[DataBase] 03. SQL(Structured Query Language)(4)

SQL(Structured Query Language)(4)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다데이터베이스 수정 (Modification of the Database)위에서는 데이터베이스 릴레이션에서 원하는 데이터를 선택하는 것에 대해 배웠다. 지금부터 데이터베이스에서 원하는 데이터를 수정하는 방법에 대해 배워보자튜플 삭제 (Deletion): 주어진 relation에서 튜플을 삭제합니다.튜플 삽입 (Insertion): 주어진 relation에 새로운 튜플을 삽입합니다.값 업데이트 (Updating):..

DataBase/Concepts 2024.10.11

[DataBase] 03. SQL(Structured Query Language)(3)

SQL(Structured Query Language)(3)#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다중첩 서브쿼리 (Nested Subqueries)앞 챕터에서 관계 연산의 조합을 다루면서 “관계 대수 연산의 결과는 relation이다. 따라서 관계 대수 연산의 결과인 Relation을 다시 관계 대수 연산Relation으로 사용할 수 있다” 라고 했던 걸 기억할 것이다.이를 SQL에서도 제공하고 있다. select-from-where 쿼리의 결과로 얻은 릴레이션을 다시 쿼리에 사용할 수 있다. 중첩 서브쿼리는 SQL..

DataBase/Concepts 2024.10.11

[DataBase] 03. SQL(Structured Query Language)(2)

SQL(Structured Query Language)(2)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다SQL에서의 집합 연산 (SET Operations in SQL)위에서는 특정 릴레이션들에서 특정 조건을 만족하는 튜플, 또는 그 튜플 중 원하는 attribute를 선택하는(= 쿼리) 구문에 대해 배웠다.여기서부터는 두 개 이상의 쿼리 결과를 조합해서 하나의 결과 집합을 만들어내는 집합 연산에 대해 알아본다. (쿼리 + 쿼리)SQL은 테이블 데이터에 대해 수행될 수 있는 집합 연산을 지원합니다.이는 테이블에 ..

DataBase/Concepts 2024.10.11

[DataBase] 03. SQL(Structured Query Language)(1)

SQL(Structured Query Language)(1)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다첫 번째 챕터에서 데이터를 정의하는 언어 DDL, 데이터를 조작하는 언어 DML에 대해서 배웠고 데이터베이스에 접근하고 조작하는데 사용하는 표준적인 언어로 SQL에 대해서 간단히 소개하였다. 이번 챕터에서는 SQL에 대해 자세히 다룬다. SQL의 중요성에 대해선 첫 번째 챕터에서 다뤘으므로 넘어간다.SQL Parts - 개요SQL은 DDL, DML, DCL, TCL 모두를 포함하고 있다. 이 4가지에 대해서 배..

DataBase/Concepts 2024.10.10

[DataBase] 02. Relational Model(관계형 모델)

Relational Model(관계형 모델)#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!이전 챕터에서 여러 종류의 Data Model에 대해 간단히 언급하고 넘어갔다. 그 중 Relational Model에 대해 이번 챕터에서 다루게 된다.관계형 모델로 만들어진 데이터베이스를 RDB라고 한다. RDB는 매우 중요하다. 실제로 여러분이 사용하는 서비스 대부분에서 대부분의 도메인을 RDB로 저장하고 있다.Application에서 사용하는 DBMS나 프로그래밍 언어, 프레임워크는 언젠간 새롭고 더 나은 것으로 바뀔 것이다. 현재 IT 서비스 기업에서 가장 많이 사용하는 자바, 스프링, M..

DataBase/Concepts 2024.10.10

[DataBase] 01. Introduction

Introduction#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!들어가기 앞서이 과목을 배우기 앞서서 Database가 왜 필요한 지부터 생각해보자.여러분이 수강신청 시스템을 만들어야 하는 개발자가 되었다고 생각해보자. 기존에 배웠던 프로그래밍 문법(Java, C)와 GUI를 이용해서 수강신청 시스템을 만들기로 했다. 어떻게 해서 수강 과목, 회원, 클래스를 만들고 프로그래밍을 완료해서 컴파일후 프로그램을 실행시킨다. 하지만 이 프로그래밍이 종료되면 메모리 상의 데이터는 모두 사라지게 된다.따라서 여러분들은 프로그래밍입문 시간에 배운 파일 입출력을 이용해서 2차 저장소(HDD or..

DataBase/Concepts 2024.10.10

[PS/BOJ] 20166번. 문자열 지옥에 빠진 호석 - C++[cpp]

문제 접근탐색을 하면서 현재 구성하고 있는 문자열이 신이 좋아하는 문자열인지를 체크해주면 된다.이 문제의 특징이라면, 지나왔던 칸에 다시 방문할 수 있다는 것. 그리고 비교 대상이 되는 문자열의 길이가 5이하로 매우 짧다는 점이다. 이 문제를 살펴보고 탐색까지 떠올렸으면 BFS? DFS? 를 생각해볼 것이다. 이런 문제에선 현재 구성하고 있는 문자열로 신이 좋아하는 문자열을 만들 수 없는 경우에는 탐색을 멈추고, 아니면 탐색을 계속하도록 DFS를 생각해볼 수 있다.이렇게 접근한다면 구현하려고 생각해본다면 1. 모든 문자열의 substring, 그리고 신이 좋아하는 문자열에 모두 포함되면 되면 count를 증가2. substring에만 속하면 이어서 탐색3. substring에만 속한다면 탐색 종료  하지..

PS/BOJ 2024.10.10

[컴퓨터 구조] 01. Computer Abstractions and Technology

Computer Abstractions and Technology#Computer_Architecture1장: 컴퓨터 추상화 및 기술컴퓨터 혁명(The Computer Revolution)컴퓨터 기술의 발전은 도메인 특화 가속기(Domain-Specific Accelerators)에 의해 뒷받침됨새로운 응용 프로그램을 실현 가능하게 만듦자동차 내 컴퓨터, 휴대폰, 인간 게놈 프로젝트, 월드 와이드 웹, 검색 엔진 등 다양한 곳에서 사용됨컴퓨터는 우리의 생활 전반에 걸쳐 존재컴퓨터의 종류(Classes of Computers)개인용 컴퓨터 (Personal Computers)범용 컴퓨터로 다양한 소프트웨어를 사용비용과 성능 간의 상충(tradeoff)이 존재서버 컴퓨터 (Server Computers)네트..