Q) 데이터베이스는 무엇이며 어떤 특징이 있나요?
A) 데이터베이스는 여러 사람이 공유할 목적으로 만든 데이터의 저장소입니다. 데이터베이스는 다음과 같은 특징을 가집니다. 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용프로그램은 영향을 받지 않아야 한다는 데이터 독립성, 데이터의 값은 오류가 없어야하고 정확해야 한다는 데이터 무결성, 접근 가능한 사용자만이 데이터베이스에 접근할 수 있도록 하는 데이터 보안성, 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지하는 데이터 중복의 최소화가 있습니다.
Q) 데이터베이스를 3단계로 나누는 방식은 무엇인가요?
A) 외부단계는 개별 사용자 관점에서 바라보는 단계입니다. 데이터베이스 하나에는 외부 스키마가 여러개 존재할 수 있습니다. 개념 단계는 조직 전체의 관점으로, 데이터베이스 하나에는 개념 스키마 하나가 존재할 수 있습니다. 내부 단계는 물리적인 저장 장치의 관점으로, 데이터가 실제로 저장되는 방법을 정의한 것입니다. 내부 스키마 역시 데이터베이스에 단 하나로 존재합니다.
Q) DBMS 언어에는 어떤 종류가 있나요?
A) 데이터 정의어(DDL)은 외부스키마, 개념스키마, 내부스키마를 정의하거나 수정, 삭제할 때 사용됩니다. CREATE, ALTER, DROP 등이 있습니다.
데이터 조작어(DML)은 데이터를 삽입, 수정, 검색, 삭제하기 위해 사용하며 SELECT, INSERT, DELETE, UPDATE 등이 있습니다.
데이터 제어어(DCL)은 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용하며 COMMIT, ROLLBACK, GRANT, REVOKE 등이 있습니다. (무결성, 보안, 회복 목적)
Q) 데이터베이스 모델링 단계를 간략히 설명해주세요.
A) 설계는 크게 개념적 설계, 논리적 설계, 물리적 설계로 나뉘어집니다. 개념적 설계는 요구사항을 분석하여 개념적 데이터 모델로 표현하는 것입니다. 개념적 데이터 모델로는 E-R 다이어그램이 많이 사용됩니다. 논리적 설계는 DBMS에 적합한 논리적 구조를 설계하는 단계로, ER다이어그램을 릴레이션 스키마로 변환하는 작업을 의미합니다. 물리적 설계는 논리적 구조를 기반으로 DBMS로 구현 가능한 물리적 구조를 설계하는 작업으로, 물리적 스키마를 생성하는 과정입니다.
*E-R 다이어그램 요약
개체 - 사각형으로 표시
속성 - 타원으로 표시. 다중값 속성은 이중 타원. 유도 속성은 점선 타원. 키 속성은 밑줄을 그어 표현
관계 - 마름모로 표시. 개체 A가 존재해야 개체 B가 존재할 수 있는 종속관계에서 A는 강한 개체, B는 약한 개체라고 하고 일반적으로 일대다 관계를 가짐. 약한 개체를 구별해주는 속성을 부분키라 함. 약한 개체는 이중사각형으로 표현. 강한 개체와 약한 개체가 맺는 관계는 이중마름모로 표현
Q) 키의 특징과 다양한 키의 종류에 대해 설명해주세요.
A) 키는 유일성과 최소성을 가집니다. 유일성은 하나의 릴레이션 내의 모든 튜플(릴레이션의 행)은 모두 다른 키 값을 가져야 한다는 것이고 최소성은 키가 최소한의 속성으로만 구성되어야 한다는 것입니다.
슈퍼키는 유일성을 만족하는 속성 또는 속성들의 집합입니다. 이 경우 최소성은 고려되지 않습니다.
후보키는 유일성과 최소성을 모두 만족하는 속성 또는 속성들의 집합입니다.
기본키는 후보키 중 기본적으로 사용하기 위해 선택된 키입니다.
대체키는 기본키를 제외한 나머지 후보키입니다.
외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합입니다. 하나의 릴레이션에는 여러개의 외래키가 존재할 수 있으며, 외래키는 널값이 가능합니다.
Q) 무결성 제약조건에 대해 설명해주세요.
A) 개체 무결성 제약조건과 참조 무결성 제약조건이 있습니다. 개체 무결성 제약조건은 기본키를 구성하는 모든 속성은 널값을 가질 수 없다는 조건입니다. 참조 무결성 제약조건은 외래키는 참조할 수 없는 값을 가질 수 없다는 조건입니다.
Tech Interview/Database
[데이터베이스] 데이터베이스 기본
반응형
댓글