목록CS (39)
소피it블로그
1. 조인이란 관계형 데이터베이스에서 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인을 사용한다. 2. 조인의 종류 내부 조인(INNER JOIN): 왼쪽 테이블과 오른쪽 테이블에서 모두 일치하는 행이 있는 부분만 표기. 즉 두 테이블 간의 교집합을 나타낸다. 등가 조인(EQUI JOIN): 동등 비교('=' 연산자)만 사용하는 조인 비등가 조인(NON-EQUI JOIN): 조인 조건에 '='가 아닌 '' 등의 비교연산자를 사용한다. 교차 조인(CROSS JOIN): 곱집합(Cartesian Product). 조인 조건을 제대로 명시하지 않으면 교차 조인이 수행될 수 있다. 자연 조인(NATURAL JOIN): 조인할 속성을 지정하지 않는 조인으로, 두 테이블에 반드시 이름과 도메인이 같은 속..
1. 트랜잭션 DB에서 하나의 논리적 기능을 수행하기 위한 작업의 단위. 하나의 트랜잭션은 커밋되거나 롤백되어야 한다. 커밋(commit): 하나의 트랜잭션이 문제 없이 처리되어 데이터베이스가 다시 일관된 상태에 있을 때, 변경된 내용을 모두 영구적으로 저장하는 연산 롤백(rollback): 하나의 트랜잭션 처리가 비정상적으로 끝나 데이터베이스의 일관성이 깨졌을 때, 모든 연산을 취소하여 트랜잭션 이전의 상태로 돌리는 것. 2. 트랜잭션의 특성(ACID) 원자성(Atomicity): all or nothing, 트랜잭션과 관련된 모든 연산은 전부 정상적으로 수행 완료되거나 아무런 연산도 수행되지 않아야 한다. 일관성(Consistency): 트랜잭션이 끝난 후에도 데이터베이스가 일관된 상태로 유지되어야 ..
1. 정규화의 목적 중복을 제거하여 삽입, 삭제, 갱신 이상이 발생할 가능성을 줄이는 것. 삽입 이상: 테이블에 데이터 삽입 시 원하지 않은 값들도 함께 삽입되는 현상 삭제 이상: 하나의 튜플을 삭제할 때 의도하지 않은 값들도 함께 삭제되는 현상 갱신 이상: 값을 갱신할 때 일부 튜플만 갱신되어 정보에 불일치가 발생하는 현상 2. 정규화 과정 정규화 과정: 정규형 원칙을 기반으로 테이블을 무손실 분해하여 정규형을 만들어나가는 것 제1정규형: 릴레이션의 모든 도메인이 원자값으로만 되어 있는 정규형 제2정규형: 제1정규형이면서 (부분적 함수 종속을 제거하여) 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적인 정규형 완전 함수 종속이란? 기본키의 부분집합이 결정자가 되어서는 안 됨, 즉 기본키의 특정 컬..
1. 인덱스를 사용하는 이유 자주 사용되는 칼럼에 대하여 인덱스 테이블을 따로 만들면 데이터를 빠르게 검색할 수 있다. 2. B-Tree 인덱스는 보통 B-Tree 자료구조로 이루어져 있는데, 균형 잡힌 트리 구조와 트리 깊이의 대수확장성(트리 깊이가 리프 노드 수에 비해 매우 느리게 성장함) 덕분에 매우 효율적인 검색이 가능해진다. 루트 노드에서 시작하여 브랜치 노드들을 거쳐 찾고자 하는 데이터가 있을 법한 리프 노드에 들어가 탐색하는 방식으로 작동하며, 리프 노드에 도달한 후에 데이터 포인터를 통해 결괏값을 반환한다. 해시 테이블 대신 B-Tree를 사용하는 이유는, SELECT 질의 조건에는 부등호 연산도 포함되는데 해시 테이블은 동등 연산에 특화된 구조이기 때문이다. 3. 주의할 점 무조건 인덱스..
1. 데이터베이스 데이터베이스: 일정한 규칙을 통해 구조화되어 저장되는 데이터의 모음 데이터베이스 관리 시스템(Database Management System, DBMS): 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리하는 소프트웨어. 데이터베이스 위에 DBMS가 있고, 그 위에 응용프로그램이 있는 구조 데이터의 독립성: 논리적 독립성: 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터베이스의 변경에도 응용 프로그램은 영향을 받지 않는다. 물리적 독립성: 응용 프로그램과 물리적 저장장치를 독립시킴으로써 데이터베이스의 크기를 늘리거나 디스크를 추가, 변경하더라도 응용 프로그램은 영향을 받지 않는다. 2. 관계형 데이터베이스의 릴레이션 구조 개체(Entity): 데이터베이스에 표현하려는 것으..
https://school.programmers.co.kr/learn/courses/30/parts/17047 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. (우선 생략) JOIN 두 개는 약간 자신이 없어서 우선 생략하기로.. 2. 조건별로 분류하여 주문상태 출력하기 SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d'), (CASE WHEN OUT_DATE 20220501 THEN '출고대기' ELSE '출고미정' END) 출고여부 FROM FOOD_ORDER ORDER BY ORDER_I..