CS 16

4-2. SQL을 활용한 데이터 조회

집계 함수NULL 값GROUP BY 절과 HAVING 절ORDER BY 절🔁 SELECT 쿼리의 기본 구조📊 집계 함수 (Aggregation Functions): 인자로 주어지는 1개 컬럼을 대상으로 함수 정의에 따른 집계를 수행한다. COUNT, SUM, AVG 등 집계 함수는 반드시 SELECT절에 있어야 결과로 나온다. 함수 설명 COUNT()행 개수SUM()합계AVG()평균MAX()최댓값MIN()최솟값2. NULL 값: 모르는 값(Unknown) 또는 값이 존재하지 않음을 의미한다. 상황 NULL 결과 산술 연산결과도 NULL비교 연산결과도 NULL논리 연산조건에 따라 NULL, true, false집계 함수기본적으로 NULL 제외하고 계산  3. GROUP BY 절과 HAVING 절GR..

4-1. SQL을 활용한 데이터 조회

데이터 조회를 위한 SELECT 쿼리의 기본적인 구조 SELECT 쿼리를 사용한 데이터 조회 기초 SQL 연산자와 내장 함수 1. 데이터 조회를 위한 SELECT 쿼리의 기본적인 구조2. SELECT 쿼리를 사용한 데이터 조회 기초 🏷️ 별칭 (Alias) 사용3. SQL 연산자와 내장 함수✖ 산술 연산자✅ 비교 연산자🔗 논리 연산자🔤 문자열 연산자: LIKE🛠️ 내장 함수 정리🧩 단일행 함수 (row-level) 분류 대표 함수 문자열CONCAT(), LENGTH(), UPPER()숫자ABS(), ROUND(), CEIL(), FLOOR()날짜NOW(), DATE_FORMAT(), YEAR()형 변환CAST()📊 다중행 함수 (집계 함수) 함수 설명 COUNT()행 개수SUM()합계A..

3-2. SQL을 활용한 데이터 정의와 조작

DDL: 제약조건 (Constraints) DDL: 인덱스 (Index) 생성 DDL: 테이블 스키마 변경 SELECT를 제외한 DML 구문: INSERT, DELETE, UPDATE 🧠 SQL 문법 정리**세미콜론 ;**으로 문장 종료문자열 데이터는 대소문자 엄격히 구분예약어를 테이블/컬럼명으로 사용 불가🔗 MySQL 예약어 목록1. DDL: 제약조건 (Constraints) 구분 제약조건 설명 데이터 무결성NOT NULL반드시 값 존재해야 함 UNIQUE중복 허용 안 됨 (대체키 지정 가능) PRIMARY KEY (기본키)NOT NULL + UNIQUE CHECK컬럼 값의 유효성 검사참조 무결성FOREIGN KEY (외래키)외래키 설정 (다른 테이블 참조) CASCADING ACTIONS..

3-1. SQL을 활용한 데이터 정의와 조작

SQL 데이터 타입  DDL: 테이블 생성 기초 1. SQLSQL (Structured Query Language)은 관계형 데이터베이스를 위한 표준 데이터 언어데이터 정의, 조작, 제어 모두 가능DBMS와 사용자의 매개 역할 수행🧠 SQL 언어 분류 구분 명령어 기능 DDL(데이터 정의어)CREATE, DROP, ALTER테이블/구조 정의DML(데이터 조작어)SELECT, INSERT, UPDATE, DELETE데이터 검색/삽입/수정/삭제DCL(데이터 제어어)GRANT, REVOKE권한 제어TCL(트랜잭션 제어어)COMMIT, ROLLBACK트랜잭션 처리 제어🌍 다양한 DBMS와 SQL 차이DBMS표준 준수특징Oracle중간대기업용, 분석 기능 강함MySQL (MariaDB)낮음가볍고 웹 연..

3. 분할 정복 알고리즘

1. 합병 정렬(merge sort) 2. 퀵 정렬 3. 선택 문제: n개의 숫자들 중 k번째로 작은 숫자를 찾는 문제 4. 최근접 점의 쌍 찾기: n개의 점이 입력으로 주어질 때, 거리가 가장 가까운 한 쌍의 점을 찾는 문제n개의 점을 1/2로 분할하는 것을 반복: 한 덩어리에 점의 수 부분 문제에서 최근접 점의 쌍 찾는다.취합할 때: 중간 영역 안에 있는 점들 중 더 근접한 점의 쌍이 있는지 확인한다. 5. 분할 정복을 적용하는 데 있어서 주의할 점▶ 분할 정복이 부적절한 경우: 입력이 분할될 때마다 분할된 부분 문제의 입력 크기의 합이 분할되기 전의 입력 크기보다 커지는 경우

5. 심층 신경망(Deep Neural Network)

1. 심층 신경망: Deep Neural Network (DNN) 🏗 Deep Neural Network란?**여러 층의 MLP (Multi-Layer Perceptron)**을 쌓은 구조Hidden layer를 많이 넣은 구조Input layer → 여러 hidden layer → Output layer 으로 구성층이 깊어질수록 더 복잡하고 추상적인 표현이 가능해짐  🧬 Deep Neural Network의 종류: DNN의 종류는 뉴런들이 어떻게 연결되느냐에 따라 결정된다.1. Fully-Connected Network (MLP)모든 노드가 이전 층의 모든 노드와 연결구조 단순하지만, 이미지/공간 정보 처리에는 부적합2. Convolutional Neural Network (CNN)이미지나 영상 등..

CS/인공지능 2025.03.30

4. 다층 퍼셉트론(Multi-Layer Perceptron)

1. Multi-Layer가 필요한 이유🧩 퍼셉트론 복습 🧱 MLP (Multi-Layer Perceptron)란?여러 층의 퍼셉트론을 쌓은 것2-Layer: Input layer, Output layer각 층의 출력이 다음 층의 입력이 된다. ❓ 왜 여러 층(Multiple Layers)이 필요할까?🎯 XOR 문제XOR: "서로 다르면 1, 같으면 0"단일 퍼셉트론으로는 해결 불가능2층 이상의 MLP를 사용하면 해결 가능Hidden layer를 거치면서 비선형 분리를 학습할 수 있음 1. XOR 문제란?XOR은 "서로 다르면 1, 같으면 0"을 출력하는 논리 연산:이렇게 두 클래스가 직선 하나로는 분리되지 않는다. --> 단일 퍼셉트론 (선형 분리 모델) 으로는 해결 불가능하다. 2. 비선형 분리..

CS/인공지능 2025.03.29

2. 알고리즘을 배우기 위한 준비

▶ 알고리즘이란?: 문제를 해결하는 단계적 절차 또는 방법- 알고리즘은 일반적으로 의사 코드(pseudo code) 형태로 표현된다. ▶ 알고리즘의 일반적인 특성: 정확성(올바른 해), 수행성(컴퓨터에서 수행), 유한성(일정한 시간), 효율성 ▶ 유클리드 최대공약수 알고리즘: '최대공약수는 큰 수에서 작은 수를 뺀 수와 작은 수와의 최대공약수와 같다'는 성질을 이용한다. ▶ 알고리즘의 분류분할 정복(Divide-and-Conquer) 알고리즘그리디(Greedy) 알고리즘동적 계획(Dynamic Programming) 알고리즘근사(Approximation) 알고리즘백트래킹(Backtracking) 기법분기 한정(Branch-and-Bound) 기법정렬 알고리즘그래프 알고리즘기하 알고리즘 ▶ 알고리즘의 복잡..

1. 알고리즘의 첫걸음

순차탐색(Sequential search): 주어진 순서에 따라 차례로 탐색한다.이진탐색(Binary search): 정렬된 항목들에 대해서, 목표값과 가운데 값을 비교한다. 목표값 == 가운데 값이면 종료하고, 목표값 가운데 값이면 오른쪽 절반에 대해 다시 탐색한다.동전 거스름돈 문제: 가장 액면이 높은 동전을 항상 선택(욕심내어 선택)한다. - 그리디(Greedy) 알고리즘한붓그리기 문제 - 오일러 서킷 문제: 현재 점에서 다음으로 이동 가능한 점을 선택할 때는 반드시 현재 점으로 돌아오는 사이클이 존재해야 한다.가짜 동전 찾기: 동전 더미를 반으로 분할하여 저울에 달고, 가짜 동전이 있는 더미를 계속해서 반으로 나누어 저울에 단다. - 분할 정복(Divide-and-Conquer) 알고리즘독이 든..

7. 데이터베이스 언어 SQL

※ SQL(Structured Query Language)데이터 정의테이블 생성: CREATE TABLE테이블 변경: ALTER TABLE테이블 삭제: DROP TABLE뷰 생성: CREATE VIEW뷰 삭제: DROP VIEW데이터 조작데이터 검색: SELECT데이터 삽입: INSERT데이터 수정: UPDATE데이터 삭제: DELETE데이터 제어삽입 SQL7.1 SQL: 관계 데이터베이스를 위한 표준 질의어이다. 기능에 따라 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 나뉜다.데이터 정의어(DDL: Data Definition Language): 테이블을 생성하고 변경, 삭제하는 기능데이터 조작어(DML: Data Manipulation Language): 테이블에 새 데..