본문 바로가기

Computer Science 📖13

[Database] 면접 예상 질문 및 답변 Q # 1) DBMS를 정의하십시오. 답변 : DBMS는 데이터베이스 제어하고 관리하는 통합 시스템을 나타냅니다. DBMS에 정의된 쿼리 언어를 통해 데이터베이스의 데이터를 조작할 수 있습니다. 널리 사용되는 DBMS 중 일부는 MySql, Oracle 등입니다. Q # 1-1) RDBMS를 정의하십시오. 답변 : 관계형 데이터베이스 관리 시스템 (RDBMS)은 행(Column)과 열(Row)을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다. SQL (Structured Query Language)을 사용하여 관계형 데이터베이스에서 데이터에 쉽게 접근할 수 있습니다. Q # 1-2) DBMS의 장점에 대해 설명하세요. 답변 : DBMS의 장점은 다음과 같습니다. 범용성이 넓고 데이터의 무결성.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-6 조인(JOIN) 1. 조인이란 조인이란 2개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. 조인의 종류 중 대표적인 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있다. 2. 조인은 왜 필요한가? - 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다. - 이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 된다. - 다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다. 3. 조인의 종류 3-1. 내부 조인(Inner Join) 내부조인이란 두 테이블 간의 '교집합'만 표기하.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-5 인덱스 1. 인덱스란 ? 인덱스(index)란 '추가적인 쓰기 작업'과 '저장 공간'을 활용하여 DB 테이블에 저장된 데이터의 검색 속도를 향상시키기 위한 자료구조이다. 만약 우리가 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색인을 추가하는데, 데이터베이스의 index는 책의 색인과 같다. DB에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 '데이터'와 '데이터의 위치'를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕는다. 인덱스는 DB 내의 특정 컬럼(열)이나 컬럼들의 조합에 대한 값과 해당 값이 저장된 레코드(행)의 위치를 매핑하여 데이터베이스 쿼리의 성능을 최적화하는 데 중요.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-4 데이터베이스의 종류 1. 관계형 데이터베이스(RDBMS) 행(Column)과 열(Row)을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스 - SQL을 이용하여 데이터에 접근하고 관리 - 관계 대수(Realtional Algebra)에서 착안하여 만들어 짐 - MySQL, PostgreSQL, SQL Server 등 RDMBS 장점 스키마가 명확하게 정의되어 있다. 데이터 무결성을 보장한다. 각 데이터를 중복 없이 한 번만 저장한다. RDBMS 단점 유연성이 떨어져 데이터 스키마를 사전에 계획해야 하므로 추후 수정이 어렵다. 관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있다. 대체로 수직적 확장만 가능하다. 2. NoSQL SQL를 사용하지 않은 비관계형 데이터베이스를 뜻하며, 그래프, 키(Key) -.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-3 트랜잭션과 무결성 1. 트랜잭션 트랜잭션(Transaction) 이란, 데이터베이스의 상태를 변경하기 위해 수행하는 작업 단위이다. 👉🏻 데이터베이스에 접근하는 방법은 쿼리(SELECT, INSERT, DELETE, UPDATE)이므로 여러 개의 쿼리들을 하나로 묶는 단위를 뜻한다. 트랜잭션의 특징 4가지(ACID) 트랜잭션에는 4가지의 특징이 존재한다. 원자성 일관성 독립성 지속성 1-1. 원자성 원자성이란 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나(All or Nothing)를 보장하는 특징을 뜻한다. - 커밋(commit) : 하나의 트랜잭션이 성공적으로 수행되었음는 의미 - 롤백(rollback) : 트랜잭션 처리가 일어나기 전으로 되돌리는 것을 의미 👉🏻 이러한 커밋과 롤백 덕에 데이터의 '무결성'.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-2 ERD와 정규화 과정 Entity Relationship Diagram은 개체 속성과 개체 간의 관계를 그림 혹은 도표로 표현한 것이며 시스템의 요구사항을 기반으로 작성되고 이를 통해 데이터베이스를 구축한다. 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용하지만, 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다. 1-1. 정규화 과정 정규화 과정이란 ? 릴레이션 간의 '잘못된 종속 관계'로 인해 발생하는 '데이터베이스 이상 현상'을 방지하고, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정 ✨ 이상 현상이란 ? 테이블 내의 데이터들이 불필요하게 중복되어 테이블을 조작할 때 발생되는 데이터 불일치 현상을 말한다. - 삽입 이상 : 불필요한 정보를 함께 저장하지 않으면 어떤 정보를 저장하는.. 2023. 11. 25.