본문 바로가기

SW/면접

SW면접 : 데이터베이스 : 정규화, 개념, 목적, 의의, 과정 정규화의 개념 함수적 종속성 등의 종속성 이론을 활용합니다. 이상한 디자인된 관계형 스키마입니다. 이러한 스키마를 더 작은 속성의 세트로 쪼갭니다. 그러면 바람직한 스키마로 생성해가는 과정을 의미합니다. 훌륭한 데이터베이스 스키마를 만들어 냅니다. 불필요한 데이터의 반복을 방집합니다. 정보 검색을 효율적으로 할 수 있도록 허용합니다. 정규화의 목적 데이터 구조의 안전성을 최대화합니다. 반복 데이터를 최소화합니다. 수정, 삭제 시 에러 현상을 최소화합니다. 테이블이 일치하지 않는 위험을 간소화합니다. 정규화의 의의 디비의 변경시 이상 현상을 삭제합니다. 테이블을 변경시, 원치 않는 동작이 발생할 수 있습니다. 이 부작용은 충분히 정규화되지 않았을 때 발생할 수 있는 현상입니다. 충분히 정규화를 진행하지 않..
SW면접 : 데이터베이스 : 관계 모델, 장점, 단점, 종류, 개념 관계 모델 데이터를 행과 열로 된 관계의 표 형태로 저장하고, 한 표의 지정된 행을 이용합니다. 다른 표에 추가적인 데이터를 찾는 식으로 검색하는 데이터 모델, EF 코드가 제창한 데이터 모델의 하나입니다. 그러나, 단순한 표 형식으로 나타내는 것으로부터 시작하여, 여러 가지 관계의 정규형이 제안되어 있습니다. 데이터 모델에니는 이 외에도 계층 모델, 망 모델 등이 있습니다. 데이터 베이스 관리 시스템은 DBMS에서 가장 많이 구현하는 것은 관계 모델입니다. 관계 데이터 모델의 장점 데이터 모델 구조가 탄력적입니다. 따라서 요구될 때 테이블 사이의 연결을 통해 데이터를 생성하거나 처리할 수 있습니다. 데이터 정의 언어와 데이터 조작언어가 간단합니다. 따라서 비전문가도 쉽게 활용할 수 있습니다. 데이터들간..
SW 면접 : 데이터베이스 : Trigger(트리거) 개념, 장점 트리거 특정한 안정 상태를 갖기 위해 전자 회로를 사용합니다. 이러한 전자 회로나 기계나 프로그램을 자동으로 동작 시키는 것을 의미합니다. 전자는 컴퓨터에서는 CPU와 그 주변 장치에 사용되는 논리회로의 스위칭에 연계되어 활용되고 있습니다. 익히 들어보았떤 오실로스코프 등에서 비주기적으로 발생하는 파형을 관측하기 위한 디바이스를 의미하기도 합니다. 관측하고자 하는 신호, 그 신호와 관계 있는 신호의 일부에서 트리거 신호라고 하는 펄스 형의 파형을 생성합니다. 이 신호는 음극 선관의 시간 축 방향의 톱니형 파형을 시작 시키는 방법이기도 합니다. 이러한 방법은 어떤 종류의 파형이라도 관계없이 파형상과 같은 로케이션에서 측정할 수 있습니다. 그렇기 떄문에 매우 일반적입니다. 특히 펄스 파형의 관측에서 유효합니..
SW 면접 : 데이터베이스 : 클러스터드 인덱스, 넌클러스터드 인덱스 : 개념, 차이점, 성능 비교 클러스터드 인덱스 클러스터드 인덱스는 한 테이블에 하나만 사용할 수 있습니다. 데이터는 기본적으로 오름차순으로 정렬을 진행합니다. 기본 키를 설정하면 자동으로 클러스터드 인덱스가 적용되어집니다. 정렬된 데이터 페이지는 4개로 나누어집니다. 갓 첫 번쨰 포인터 주소를 상위 루트 페이지에 차례대로 들어가집니다. 조회 시 직접적인 액세스를 할 수 가 있습니다. root -> leaf, data 데이터 순서가 정렬이 되어 있으면, 액세스 시 바로 찾을 수 있습니다. 리프 페이지 생성으로 데이터를 정렬하고 분할합니다. 루트 페이짓를 생성하면 데이터를 조합하고 주소를 지정합니다. 루트 페이지는 바로 리프 페이지로 이동이 가능하기 때문에 속도가 빨라집니다. 클러스터드 인덱스 주의사항 제약 조건의 정의는 대게 테이블 ..
SW 면접 : 데이터베이스 : INDEX 원리, 의미, 장점, 단점, 목적 INDEX의 의미 DBMS에서 검색 속도를 향상 시키기 위해 사용하는 기술 중 하나입니다. INDEX는 색인이라고 할 수 있습니다. 하나의 테이블의 컬럼을 색인화하여 검색합니다. 해당 테이블의 레코드를 전체 검색하는 것이 아니라 색인화 되어 있는 INDEX 파일을 검색합니다. 이렇게 해당 파일을 검색하면, 검색 속도를 향상 시킬 수 있습니다. 이런 인덱스는 트리 구조로 색인화합니다. RDBMS에서 사용하는 인덱스는 균형 서치 트리를 사용합니다. INDEX의 원리 인덱스를 해당 컬럼에 할당합니다. 그러면, 테이블 생성시 만들어진 MYD, MYI, FRM 3개의 파일이 있습니다. 이 중에서 MYI에 해당 column을 indexing하여 저장합니다. 물론 인덱스를 사용하지 않을 경우에는 해당 파일은 비어있게..
SW면접 : 데이터베이스 : Primary Key와 Unique Key : 개념, 차이 프라이머리키 일차키, 주키, 기본키라고도 불립니다. 이 키는 레코드 또는 투플을 확인하기 위해 사용됩니다. 속성값으로 하나의 레코드를 확인하기도 합니다. 또 투플을 하나의 뜻으로 확인하기 위해 이용됩니다. 이러한 키를 기본 키라고 합니다. 2차키와는 대비됩니다. 유니크 키 유일성을 가지기 위함입니다. 그러기 위해 설정한다고 생각하면 됩니다. 테이블에 있는 데이터를 유일하게 식별합니다. 그러기 위해, 무결성 이라는 제약 조건 중 하나입니다. 유일한 값을 식별하는 것이 주된 목적입니다. 이 목적에 맞게 사용해야 합니다. 따라서 null을 허용할 이유는 없다고 할 수 있습니다. 차이점 기본키는 즉, 프라이머리 키는 해당 테이블의 식별자 역할을 합니다. 바로 이 제약조건으로 테이블에 하나만 지정할 수 있습니다...
SW 면접 : 데이터베이스 : 트랜잭션 개념, 특징 데이터 베이스 트랜젝션 데이터베이스 트랜젝션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위입니다. 유사한 시스템이란 트랜젝션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미합니다. 이론적으로 데이터 베이스 시스템은 각각의 트랜젝션에 대해 원자성, 일관성, 고립성, 영구성을 보증합니다. 이 성질을 첫 글자를 따 ACID라고 부릅니다. 그러나, 실제로는 성능향상을 위해 이런 특성들이 종종 완화되곤 합니다. 어떤 시스템들에서는 트랜젝션들은 논리적 작업 단위로 불립니다. 트랜젝션의 목적 데이터 베이스 기능 중, 트랜젝션을 조작하는 기능은 사용자가 데이터베이스 완전성 유지를 확신하게 합니다. 단일 트랜잭션은 데이터 베이스 내에 읽거나 쓰는 여러개 쿼리를 요구합니..
SW 면접 : 데이터 베이스 : DDL, DML, DCL 개념과 차이점 DDL (Data Definition Language) 객체의 생성, 변경, 삭제 명령어를 뜻합니다. 예를 들어, create, alter, drop, rename 등이 있습니다. schema, domain, table, view, index를 정의, 변경, 삭제할 때 사용하는 언어입니다. 주로 데이터베이스 관리자나 데이터 베이스 설계자가 사용합니다. 데이터 정의어는 3가지 유형으로 craete, alter, drop이 있습니다. DML (Data Manipulation Language) 레코즈 제어 명령어 입니다. 예를 들어, select, insert, update, delete 등이 있습니다. 데이터 베이스 사용장와 데이터 베이스 관리 시스템 간의 인터페이스를 제공합니다. 데이터 베이스 사용자가 응..