내일 면접이다....

박주윤·2022년 11월 23일
0

DB 지식

목록 보기
1/2

무섭다....

너무 오랜만에 면접이다...

면접 질문 정리나하자

1. DBMS가 뭔가요

데이터베이스 매니지먼트 시스템(database management system)의 약자로
한글로 하면 데이터베이스 관리 시스템 입니다. 사용자가 데이터를 효율적으로 구성하고, 검색, 갱신 복원 등의 작업을 할 수 있도록 하는 미들웨어 입니다. 대표적으로 SQL SERVER, Oracle, mongoDB, postgreSQL 등이 있습니다.

한글로 풀어쓰면 데이터베이스 관리 시스템 입니다. 사용자가 데이터를 효율적으로 구성하고, 검색, 갱신, 복원 등의 작업을 할 수 있도록 하는 미들웨어 입니다.

1-1. RDBMS가 뭔가요

관계형 데이터베이스 관리 시스템 입니다. 관계형 데이터 모델을 기반으로한 데이터베이스이고, SQL을 통해 데이터를 정의, 조작, 제어합니다.

1-1-1. 관계형 데이터 모델이 뭔가요

함수 종속에 의해 정규화된 데이터 모델입니다. 2차원 테이블 형태로 데이터를 저장합니다. 이를 릴레이션이라고 하고, 릴레이션에는 식별자가 존재합니다. 그 식별자를 이용해 다른 테이블과의 연관관계를 정리합니다. 그 식별자를 통해 릴레이션을 나누어 데이터를 저장하면 데이터 중복을 최소화 할 수 있습니다. 데이터 중복 최소화가 관계형 데이터베이스의 핵심입니다.

1-1-1-1. 함수 종속에 의해 정규화된 모델이라고 했는데 함수 종속을 설명해주세요

릴레이션에서 음.. 예를들어 주민번호와 이름이 있는 릴레이션이 있습니다. 이때 이름은 주민번호에 대해 함수 종속입니다. 주민번호를 통해 이름을 알 수 있기 때문입니다. 주민번호 하나당 이름이 하나다 라고 알고 있기 때문에 예를 들어 튜플 하나에서 주민번호가 920108-1이라면 이것에 해당하는 이름은 박주윤 하나 뿐인 것입니다. 실제 주민번호 하나에 여러개의 값을 갖지 않기때문에 f(X) = Y의 함수구조가 가능합니다.

1-1-1-2. 그럼 정규화된 모델은요?

데이터베이스 정규화란 데이터베이스의 무결성을 유지하기 위해 테이블을 나누고 데이터의 중복을 최소화 하는 작업입니다. 정규화를 통해 중복 데이터가 제거되면 데이터의 용량을 줄일 수 있습니다.

1-1-2. SQL은 뭔가요

SQL은 structed query language의 약자로 관계형 데이터베이스에서 데이터에 대한 작업을 수행하는 프로그래밍 언어입니다.
데이터를 정의 조작 제어하는 DDL, DML, DCL로 나눕니다.
DDL은 데이터 정의 언어로 CREATE, ALTER, DROP, TRUNCATE이 있습니다. DDL은 자동으로 커밋된다는 특징이 있습니다.
DML은 데이터 조작 언어로 INSERT, UPDATE, DELETE, SELECT이 있습니다. DML은 자동으로 커밋되지 않으며, 커밋되지 않은 내용에 대해 롤백할 수 있습니다.
DCL은 데이터 제어 언어로 GRANT, REVOKE, COMMIT, ROLLBACK이 있습니다.

1-2 NoSQL은 뭔가요?

NoSQL은 Not Only SQL의 뜻이며 관계형 데이터베이스에 쓰이는 SQL을 쓰지 않는 비 관계형 데이터 베이스입니다. 특히 관계형 모델에서 테이블간 외래키를 통해 데이터를 찾는 조인을 제공하지 않습니다. 하지만 데이터의 저장과 검색에 있어 좀더 편하고 빠르다는 장점이 있습니다.

1-2-1 NoSQL이 빠르면 왜 NoSQL을 쓰지 않죠?

각각의 장단점이 있기 때문입니다. RDBMS는 정해진 스키마에 따라 데이터를 저장하기에 구조가 명확합니다. 또한 데이터의 중복을 최소화 하여 용량을 줄일 수 있습니다.
NoSQL은 정해진 스키마가 없기때문에 자유로운 데이터의 저장이 가능합니다. 언제든지 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.

1번 DBMS하나로 이렇게 많이 나와버렸다.... 더 쓸수 있을거같은데 깊이 들어가기엔 정리해야할 내용이 너무 많다. 이정도만 하고 2번으로 가자.

0개의 댓글