4-6. 조인의 종류 - 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인
·
CS 스터디
0. 조인이란?조인은 관계형 데이터베이스에서 두 개 이상의 테이블을 서로 연결하여 하나의 테이블로 만드는 연산이다. 주로 테이블 간의 기본 키와 외래 키 관계를 이용하여 연결한다. 조인은 데이터베이스의 핵심 기능이며, 여러 테이블에 분산되어 있는 데이터를 한 번에 조회할 수 있게 하는 장점이 있다. 1. 내부 조인 (INNER JOIN)내부 조인은 두 테이블에서 조인 조건이 일치하는 행만 결과로 반환하는 가장 일반적인 조인 방식이다. 양쪽 테이블에 모두 존재하는 데이터만 보여주는 교집합의 특징이며, 조건에 맞지 않는 행은 제외된다.SELECT * FROM Customers CINNER JOIN Orders O ONC.CustomerID = O.CustomerID 2. 왼쪽 조인 (LEFT JOIN..
4-5. 인덱스 - 인덱스의 필요성, B-트리, 인덱스 최적화 기법
·
CS 스터디
0. 인덱스란?인덱스는 데이터베이스 테이블에서 원하는 데이터를 빠르게 찾기 위해 사용하는 색인 구조이다. 즉, 데이터 검색 성능을 향상시키는 핵심 요소이다. 1. 인덱스의 필요성인덱스가 없는 테이블에서 데이터를 찾을 때는 테이블의 모든 행을 처음부터 끝까지 순차적으로 확인해야 하기 때문에 데이터 양이 많아지면 검색 시간이 기하급수적으로 늘어난다. 이를 방지하기 위해 인덱스가 필요하다. - 성능 향상 : 전체 테이블 스캔 없이 데이터를 빠르게 찾아갈 수 있는 경로를 제공하여 검색 속도를 높인다.- 정렬 및 그룹화 최적화 : ORDER BY, GROUP BY 같은 연산 시, 이미 정렬된 인덱스를 사용하므로 별도의 정렬 작업이 필요없다.- 무결성 보장 : 기본키나 UNIQUE 제약 조건을 적용할 때, 인덱..
4-4. 데이터베이스의 종류 - 관계형 데이터베이스, NoSQL 데이터베이스
·
CS 스터디
1. 관계형 데이터베이스 (RDBMS)관계형 데이터베이스는 데이터를 테이블 형태로 구조화하고, 테이블 간의 관계를 기본 키와 외래 키를 통해 정의하는 데이터베이스이다. - 정규화 : 데이터의 중복을 최소화하기 위해 정규화 과정을 거쳐 테이블을 분리하고 관리한다.- 스키마 : 데이터의 구조와 타입이 테이블 생성 시 명확하고 고정적으로 정의되어야 한다.- ACID : 원자성, 일관성, 격리성, 지속성의 트랜잭션 속성을 준수한다.- 확장성 : 수직적 확장에 유리하며, 수평적 확장에는 제한적이다.종류설명MySQL가장 널리 사용되는 오픈 소스 RDBMS 중 하나. 웹 애플리케이션 백엔드에서 폭넓게 사용되며, 안정성과 성능이 검증되었다.PostgreSQL객체-관계형 데이터베이스로 불리며, 복잡한 쿼리와 데이터 타입..
4-3. 트랜잭션과 무결성 - 트랜잭션, 무결성
·
CS 스터디
1. 트랜잭션트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적인 작업 단위를 말한다. 여러 개의 SQL 쿼리들이 하나의 묶음처럼 처리되어, 전부 성공하거나 전부 실패하는 'All or Nothing' 방식이 적용되는 것이 특징이다. 트랜잭션의 성공적인 수행은 데이터베이스의 신뢰성을 보장하는 핵심이다. 모든 트랜잭션은 데이터 무결성을 보장하기 위해 ACID 특성을 반드시 만족해야 한다. 1) 원자성 (Atomicity)트랜잭션 내의 모든 연산은 반드시 전부 실행되거나, 아니면 전부 실행되지 않아야 한다. - 커밋 : 모든 연산이 성공적으로 완료되어 데이터베이스에 영구적으로 반영하는 명령어- 롤백 : 연산 도중 오류가 발생하여 트랜잭션이 중단될 때, 데이터베이스를 트랜잭션 시작 이전의 상태로 되돌리는..
4-2 ERD와 정규화 과정 - ERD의 중요성, 정규화 과정
·
CS 스터디
0. ERD란?ERD, 즉 개체-관계 다이어그램은 데이터베이스를 설계할 때 사용되는 모델링 도구이다. 가장 기초적인 뼈대 역할을 하며, 릴레이션 간의 관계들을 정의한 것이다. ERD는 데이터베이스가 구축되기 전에 데이터 구조를 한눈에 파악하고 정의할 수 있게 해주는 역할을 한다.구성 요소의미다이어그램 표현데이터베이스 대응개체 (Entity)관리해야 할 데이터의 대상 또는 사물 (개념)직사각형테이블 (Table)속성 (Attribute)개체가 가지는 특성 또는 정보의 항목타원 (주요 속성(키)은 밑줄 표시)열 (Column)관계 (Relationship)두 개 이상의 개체 간의 연관성 또는 연결 고리마름모외래 키 (Foreign Key) 1. ERD의 중요성ERD는 시스템의 요구 사항을 기반으로 작성되..
4-1. 데이터베이스의 기본 - 엔터티, 릴레이션, 속성, 도메인, 필드와 레코드, 관계, 키
·
CS 스터디
0. 데이터베이스란?데이터베이스는 일정한 규칙을 통해 구조화되어 저장되는 데이터 모음이다. 해당 데이터베이스를 제어하고 관리하는 통합 시스템을 DBMS라고 하며, 데이터베이스 안에 있는 데이터들은 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 데이터베이스는 실시간 접근과 동시 공유가 가능하다. 1. 엔터티엔터티는 사람, 장소, 물건, 사건 등 하나 이상의 속성을 지닌 명사를 의미한다. 즉, 데이터 모델링에서 저장하고 관리해야 할 정보의 대상을 의미한다. 엔터티는 고유한 식별자(기본 키)에 의해 구분될 수 있어야 하며, 지속적으로 관리하고 유지해야 할 정보여야 한다. 엔터티는 강한 엔터티와 약한 엔터티로 나뉘며, 그 관계를 식별 관계라고 한다. 1) 강한 엔터티자체적으로 고유한 기..
2023-2024 GDSC SWU 2기 안드로이드 수료 후기
·
활동
❓ GDSC란GDSC(Google Developer Student Clubs)는 학생들을 위한 개발자 커뮤니티로서, Google의 지원을 받아 다양한 개발 기술과 역량을 향상시키고자 하는 학생들을 위한 공간을 제공한다. GDSC는 주로 대학생들을 대상으로 하며, 다양한 개발 분야에서 지식을 공유하는 플랫폼을 운영한다. GDSC SWU는 Google Developers가 후원하는 서울여자대학교 학생 개발자들을 위한 대학생 커뮤니티 그룹이다. 현실에서 마주하는 사회 문제의 해결 방안을 제시함으로써 사회에 긍정적인 영향을 미치는 개발자 커뮤니티가 GDSC SWU의 비전이다.(지금은 GDGoC SWU로 명칭이 바뀌었다.) 📅 GDSC 2기 활동 기간 : 2023. 09 ~ 2024.06 ☝🏻 선발 과정나는..
3-4. CPU 스케줄링 알고리즘 - 비선점형 방식, 선점형 방식
·
CS 스터디
0. CPU 스케줄링 알고리즘CPU 스케줄링은 운영체제가 CPU 자원을 프로세스들에게 공정하고 효율적으로 할당하기 위해 사용하는 메커니즘이다. CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당한다. 높은 CPU 이용률과 시간 대비 많은 일, 준비 큐에 할당되는 적은 프로세스, 짧은 응답시간을 목표로 한다. 1. 비선점형 방식비선점형 방식은 한 프로세스가 이미 CPU가 할당받아 사용 중이라면, 스스로 CPU 사용을 중단하는 방식이다. 즉, 운영체제가 CPU를 강제로 중지하지 않는 방식이다. 응답 시간이 느려질 수 있지만, 컨텍스트 스위칭 횟수가 적어 오버헤드가 적은 장점이 있다. 1) FCFS가장 먼저 요청한 프로세스를 가장 먼저 CPU에 할당하..