Mission: DBMS와 var, let, const 질문 정리
📌
1. var, let, const의 차이에 대해 알려주세요.
var
:
var
는 변수를 선언하는 키워드입니다.- 함수 스코프를 가지며, 함수 내 어디에서든 접근 가능합니다.
var
선언은 호이스팅(hoisting)으로 인해 선언 전에 사용해도 에러가 발생하지 않습니다.- 중복 선언이 가능하며, 같은 이름의 변수를 여러 번 선언해도 오류가 발생하지 않습니다.
- 블록 스코프를 무시합니다.
let
:
let
은 블록 스코프를 가지는 변수를 선언하는 키워드입니다.- 호이스팅은 발생하지만, 선언 전에 변수를 사용하면 "선언되지 않았다"는 에러가 발생합니다.
- 같은 스코프 내에서 중복 선언이 불가능합니다.
- 값의 변경이 가능합니다.
const
:
-const
는 블록 스코프를 가지는 상수를 선언하는 키워드입니다.
- 호이스팅은 발생하지만, 선언 전에 변수를 사용하면 "선언되지 않았다"는 에러가 발생합니다.
- 같은 스코프 내에서 중복 선언이 불가능합니다.
- 변수에 할당된 값을 변경할 수 없습니다. 다만 객체나 배열 같은 경우에는 내부 값 변경은 가능합니다.
2. DBMS 개요를 설명하세요- DBMS란 Database Management system의 준말로 데이터를 한곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용 소프트웨어 프로그램을 말합니다.
공유 저장소(서버)를 구축하고 사용자들에게 접근정보를 공유하여 데이터를 처리할 수 있는 인터페이스를 제공하고 복구기능과 보안성 기능 또한 제공합니다.
2-1. DBMS 용어는 어떤게 있을까요?- 튜플(Tuple)
- 테이블에서 행을 의미합니다.
- 어트리뷰트(Attribute)
- 테이블에서 열을 의미합니다.
- 릴레이션(Relation=Table)
- 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위입니다.
- 키(Key)
- 테이블에서 행의 식별자로 이용되는 테이블의 열을 의미합니다. (ex. 유저ID, 게시글ID)
- 도메인(Domain)
- 도메인은 하나의 어트리뷰트가 취할 수 있는 같은 타입의 원잣값들 집합입니다. 예를 들어 성별 어트리뷰트의 도메인은남
과여
의 데이터의 값만 가능합니다. 나이 어트리뷰트의 도메인은 숫자의 값만 입력할 수 있습니다. 그 외의 값은 입력될 수 없습니다.
2-2. 트랜잭션 이란 무엇일까요?- DBMS의 요구사항을 충족시킬 핵심 기능입니다.
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말합니다.
- ex. 회원가입 절차 = 가입 트랜잭션, 결제 절차 = 결제 트랜잭션
- 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용됩니다.
- ex. 회원가입, 결재는 작업 단위로 병행(따로) 처리됩니다.
- 사용자가 시스템에 대한 요구 시 시스템이 응답하기 위한 상태 변환과정의 작업 단위로 사용됩니다.
- ex. 회원가입 요구시 가입완료 응답을 하기까지의 작업단위 = 가입 트랜잭션