본문 바로가기

데이터베이스6

39. 데이터 베이스 [조인] 39. 데이터 베이스 [조인] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 조인 (Join) 조인은 두 개 이상의 테이블을 합쳐서, 하나의 결과물을 만드는 것이다 MySQL에서는 JOIN을 사용한다 내부 조인 (Inner Join) 교집합 : A와 B에 같은 데이터들을 가지고 온다 SELECT * FROM Table A as A INNER JOIN Table B as B ON A.key = B.key 왼쪽 조인(Left Outer Join) A 테이블의 행이 모두 표출되는 것이다 (A테이블 = 왼쪽 테이블) SELECT * FROM Table A as A LEFT JOIN Table B as B ON A.key = B.key 오른쪽 조인 (Right Outer Join) B 테이블의 행이 모두 .. 2023. 3. 24.
38. 데이터 베이스 [인덱스] 38. 데이터 베이스 [인덱스] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 인덱스 인덱스는 데이터의 위치를 빠르게 찾게 해 주는 자료구조다 데이터의 위치를 빠르게 검색하면, Update, Delete의 성능도 향상될 수 있다 인덱스는, 책의 목차 페이지와 비슷하다 원하는 정보의 위치를 목차에 넣어두면, 빠르게 페이지를 찾을 수 있다 반대로 인덱스를 사용하지 않으면, 데이터 하나하나 모두 탐색을 해야 한다 즉 테이블을 조회하는 속도와 성능을 증가시킨다 시스템의 부하를 줄일 수 있다 단점 인덱스 관리를 위해 약 10%의 저장공간이 필요하다 인덱스 관리를 위해 추가 작업이 필요하다 인덱스를 잘못 사용하면, 오히려 성능이 저하된다 인덱스는 균형잡힌 B-Tree 기반으로 구축이 되어 있다 자식 노드가 .. 2023. 3. 24.
37. 데이터 베이스 [데이터 베이스의 종류] 37. 데이터 베이스 [데이터 베이스의 종류] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 관계형 데이터 베이스 RDBMS (Relational Database Management System) 라고도 한다 대표적으로 MySQL, postgreSQL 이 있다 행과 열을 가지고 테이블 형태로 데이터를 저장한다 SQL 언어를 사용하여 테이블을 조작한다 MySQL 가장 많이 사용되는 데이터베이스다 테이블과 테이블 간의 조인을 빠르게 한다 최대 64개의 인덱스를 제공한다 대용량 데이터베이스를 위해 설계되어 있고 롤백, 커밋, 이중 암호 지원 보안 등의 기능을 제공한다 MySQL 스토리지 엔진 아키텍쳐 다양한 스토리지 엔진을 고를 수 있다 쿼리 캐시가 있어, 같은 쿼리를 다시 사용했을 때에, 빠르게 결과.. 2023. 3. 23.
36. 데이터 베이스 [트랜잭션과 무결성] 36. 데이터 베이스 [트갠잭션과 무결성] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 트랜잭션 (Transaction) 하나의 논리적 기능을 수행하기 위한 작업의 단위 쿼리를 통해 데이터 베이스를 접근한다 / 여러 개의 쿼리들을 하나로 묶는 단위가 트랜잭션이다 Commit 과 Rollback Commit : 여러 쿼리가 성공적으로 처리된 상태다 즉 트랜잭션이 성공적으로 완료되었다는 것이다 Rollback : 쿼리를 실행하던 중 오류가 발생하고, 트랜잭션이 일어나기 전 상태로 돌아가는 것 즉 오류가 발생하기 전에 실행했던 모든 쿼리들을 undo한다 Rollback에서 해당 트랜잭션을 다시 시작하거나, 없앤다 ACID 트랜잭션의 4개의 특징이 있다 Atomic (원자성) 트랜잭션은 완전히 성공하던.. 2023. 3. 23.
35. 데이터 베이스 [ERD, 정규화 과정] 35. 데이터 베이스 [ERD, 정규화 과정] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) ERD (Entity Relation Diagram) 데이터 베이스를 구축할 때에 가장 기본적으로 뼈대 역할을 한다 데이터 베이스 안에 있는 테이블 간의 관계를 정의한다 사용자 또는 시스템의 요구 사항을 기반으로 작성이 된다 정규화 과정 (Normalization) 정규화 과정은 테이블/릴레이션을 나누는 것이다 저장 공간을 효율적으로 사용할 수 있다 테이블을 조인 하면서 느려질 수도 있지만, 대체로 성능이 더 좋아질 수 있다 이상현상을 해결한다 함수적 종석성을 통해 정규화 과정을 진행한다 이상현상 (Anomaly)? 데이터의 삽입, 갱신, 삭제를 할 때에 테이블/릴레이션에 부작용이 일어나는 것 불필요한 데.. 2023. 3. 22.
34. 데이터 베이스 [데이터 베이스의 기본] 34. 데이터 베이스 [데이터 베이스의 기본] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 데이터 베이스의 기본 데이터 베이스란? 데이터의 저장소, 즉 데이터의 집합이다 DBMS란? DataBase Management System으로 데이터베이스를 관리하고 운영하는 소프트웨어다 특정 DBMS마다 정의된 쿼리 언어 (query language)를 통해 데이터를 삽입, 조회, 수정, 삭제 (CRUD)를 할 수 있다 DBMS는 MySQL, PostgreSQL등이 있다 MangoDB 같은 경우 NoSQL 데이터베이스로, SQL을 사용하지 않고 함수를 이용하여 데이터를 끄집어낸다 엔터티 (Entity) 실체, 객체라고 할 수 있다 개념, 장소, 사건 등을 가리킨다 저장되고, 관리되어야 하는 데이터다 고유.. 2023. 3. 21.