데이터베이스 모의면접 정리

eunhyeee·2023년 7월 28일
0
post-custom-banner

1. 파일시스템과 데이터베이스의 차이점에 대해서 설명해주세요.

파일시스템은 별도의 구입비용이 들지 않는다는 장점이 있지만 데이터 중복저장과, 응용프로그램이 데이터 파일에 종속적이고, 동시공유, 보안, 회복기능이 부족합니다.

이러한 단점을 보완하여 나온 시스템이 데이터베이스 관리 시스템입니다.

데이터베이스 관리 시스템은 응용 프로그램을 대신하여 데이터베이스에 존재하는 데이터의 검색, 삽입, 삭제, 수정을 가능하게 하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 합니다.

그렇지만 비용이 많이 들고, 백업과 회복 방법이 복잡하다는 단점이 있습니다.

데이터베이스의 특징에 대해 설명해주세요.

데이터베이스는 4가지 특징이 있습니다.

첫번째로 실시간 접근이 가능합니다. 사용자의 데이터 요구에 실시간으로 응답할 수 있어야 합니다.

두번째로 계속 변화합니다. 현실의 데이터는 계속 변하므로 삽입, 수정, 삭제를 통해 현재의 정확한 데이터를 유지해야 합니다.

세번째로 동시 공유가 가능합니다. 여러 사용자가 동시에 이용할 수 있어야 합니다.

네번째로 내용으로 참조가 가능합니다. 저장된 주소나 위치가 아닌 값으로 참조할 수 있습니다.

DBMS는 뭘까요? 특징에 대해 설명해주세요.

DataBase Management System의 약자로 데이터베이스 관리 시스템입니다.

데이터베이스 관리 시스템은 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당합니다.

데이터베이스 관리 시스템의 주요 기능으로는 데이터베이스 정의, 조작, 제어 기능이 있습니다.

장점으로는 데이터 중복 통제, 독립성 확보, 동시 공유, 보안 향상, 데이터 무결성 유지, 회복 가능 등이 있고,
단점으로는 비용 문제와 백업과 회복 방법이 복잡하다는 점이 있습니다.

스키마가 뭘까요? 3단계 데이터베이스 구조에 대해 설명해주세요.

스키마는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것입니다.

정의된 스키마에 따라 데이터베이스에 실제로 저장된 값이 인스턴스입니다.

3단계 데이터베이스 구조는 외부 단계, 개념 단계, 내부 단계로 나누어 집니다.

외부 스키마는 사용자가 보는 관점으로 사용자에 따라 달라지고, 여러 개가 존재합니다.

개념 스키마는 모든 사용자가 생각하는 데이터베이스의 모습을 하나로 합친 모습입니다.
데이터들의 관계와 제약조건, 접근권한과 보안 정책에 대해 정의합니다.

내부 스키마는 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 정의합니다.
데이터베이스의 물리적인 저장 구조를 표현합니다.

데이터 독립성에 대해서 설명해주세요.

데이터 독립성은 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성입니다.

3단계 데이터베이스 구조의 목적은 데이터 독립성을 실현하기 위해서인데, 논리적 데이터 독립성과 물리적 데이터 독립성이 존재합니다.

논리적 데이터 독립성은 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는 것입니다.

물리적 데이터 독립성은 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는 것입니다.
그래서 결과적으로는 외부 스키마도 영향을 받지 않습니다.

RDBMS(관계형 데이터베이스 관리시스템)는 뭘까요?

테이블을 기반으로 사용하는 데이터베이스 관리시스템입니다.

장점
모델이 간단하여 이해하기 쉬우며,
사용자는 자신이 원하는 것만 명시하고,
데이터가 어디에 있는지, 어떻게 접근해야 하는지는 관계형 데이터베이스 관리시스템에서 결정한다는 것입니다.

릴레이션 스키마와 릴레이션 인스턴스에 대해서 설명해주세요.

릴레이션 스키마는 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조입니다.

릴레이션 스키마를 보면 릴레이션의 이름이 무엇이고, 어떤 속성들로 구성되어 있는지 전체 구조를 쉽게 파악할 수 있습니다.

릴레이션 인스턴스는 어느 한 시점에 릴레이션에 존재하는 투플들의 집합입니다.

각 속성에 대응하는 실제 값으로 구성되어 있습니다.

릴레이션 인스턴스를 보면 현재 릴레이션의 실제 내용을 쉽게 파악할 수 있습니다.

집의 전체 구조는 자주 바뀌지 않지만 집에 사는 사람은 수시로 바뀔 수 있는 것처럼 논리적 구조를 정의하는 릴레이션 스키마는 자주 변하지 않는다는 정적인 특징이 있지만, 릴레이션 인스턴스는 투플의 삽입, 삭제, 수정이 자주 발생한다는 동적인 특징이 있습니다.

릴레이션의 차수와 카니덜리티에 대해 설명해주세요.

하나의 릴레이션에서 속성(열)의 전체 개수를 릴레이션의 차수(degree)라고 합니다.

모든 릴레이션은 최소 1 이상의 차수를 유지해야 하고, 자주 변하지 않는다는 정적인 특징이 있습니다.

하나의 릴레이션에서 투플(행)의 전체 개수를 릴레이션의 카디널리티(cardinality)라고 합니다.

투플이 없는 릴레이션이 존재할 수도 있고, 새로운 투플이 계속 삽입되거나 기존 투플이 삭제될 수 있으므로 릴레이션의 카디널리티는 일반적으로 자주 변한다는 동적인 특징이 있습니다.

키(Key)에 대해서 설명해주세요. (슈퍼키, 후보키, 기본키, 대리키, 외래키)

키는 관계 데이터 모델에서 중요한 제약조건을 정의합니다.

슈퍼키는 각 행을 유일하게 식별할 수 있는 속성들의 집합입니다.
서로 구분만 할 수 있다면 '슈퍼키'라고 할 수 있습니다.

후보키는 각 행을 유일하게 식별할 수 있는 "최소한의" 속성들의 집합이다.
서로 구분할 수 있으면서 불필요한 속성들이 없어야 '후보키'라고 할 수 있다.

기본키는 최소성을 가지고 있고, 후보키들 중에서 하나를 메인으로 선택한 키 입니다.

대체키는 기본키를 제외한 나머지 후보키들을 의미합니다.

외래키는 한 테이블이 다른 테이블의 기본키를 참조해서 테이블 간의 관계를 만드는 것을 의미합니다.

무결성 제약조건에 대해서 설명해주세요. (도메인 무결성, 개체 무결성, 참조 무결성)

데이터를 정확하고 유효하게 유지하는 무결성을 보장해야 된다는 규칙입니다.

도메인 무결성, 개체 무결성, 참조 무결성 제약조건이 있습니다.

도메인 무결성 제약조건은 속성값은 해당 속성 도메인에 속한 값들 중 하나여야 한다는 것입니다.

개체 무결성 제약조건은 기본키를 구성하는 모든 속성은 널 값을 가질 수 없다는 것입니다.

참조 무결성 제약조건은 외래키는 참조할 수 없는 값을 가질 수 없다는 것입니다.

어떤 데이터베이스를 사용해보셨나요? 사용해본 데이터베이스에 대해서 설명해주세요. (오라클DB, MySQL, MariaDB, MongoDB 등)

MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS)입니다.

DB 서버마다 독립적인 스토리지를 할당하는 방식입니다.

장점으로는 무료로 사용 가능하다는 점이 있고,
처리 속도가 빠르고 대용량 데이터 처리에 용이합니다.
거의 모든 운영체제 사용을 지원합니다.

그렇지만 단점으로는
복잡한 쿼리는 성능이 저하될 수 있고, 트랜잭션 지원이 완벽하지 않고,
사용자정의 함수의 사용이 쉽지 않고 유연하지 않습니다.


출처: https://velog.io/@00yubin00/DB-%ED%82%A4%EC%9D%98-%EC%A2%85%EB%A5%98-%EC%8A%88%ED%8D%BC%ED%82%A4-%ED%9B%84%EB%B3%B4%ED%82%A4-%EA%B8%B0%EB%B3%B8%ED%82%A4-%EB%8C%80%EC%B2%B4%ED%82%A4-%EC%99%B8%EB%9E%98%ED%82%A4

데이터베이스 개론

http://www.tcpschool.com/mysql/mysql_intro_intro

https://velog.io/@alicesykim95/Oracle%EA%B3%BC-MySQL%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

profile
망곰이를 좋아하는 백엔드 개발자 지망생
post-custom-banner

0개의 댓글