본문 바로가기

TIL/기술면접 대비11

RDBMS의 정규화 정규화의 목표 데이터의 중복성을 허락하지 않음으로서 무결성을 유지하며, DB의 용량을 줄일 수 있다. 정규화 단계 제 1 정규화 테이블의 컬럼이 하나의 값만을 가지도록 테이블을 분해하는 것 제 2 정규화 제 1 정규화를 거친 테이블에서 완전 함수 종속을 만족하도록 테이블을 분해하는 것 완전 함수 종속이란 각 컬럼이 모두가 기본키 전부를 알아야만 식별할 수 있도록, 즉 기본키의 집합에 종속되어야 한다. 아래 그림1에서 성적은 기본키 학생번호와 강좌이름에 동시에 종속되어 있기에 완전함수 종속을 만족하지만, 강의실은 강좌이름만으로 식별될 수 있기에 2번 그림과 같이 테이블이 분리되어야 한다. 제 3 정규화 제 2 정규화를 거친 테이블에 대해서 이행적 종속을 없애도록 테이블을 분해하는 것 이행적 종속이란 A -.. 2023. 8. 18.
mvc 패턴 MVC란 Model-View-Controller의 약자로, 사용자 인터페이스 데이터 논리 및 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 비즈니스 로직과 화면을 구분하는데 중점을 두는데, 이러한 분리는 더 나은 관심사 분리와 관리를 제공한다. 그 외에 MVVM(모델,뷰,뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버)가 있다. MVC는 위에서 말한 것과 같이 아래와 같이 정리할 수 있다. 모델: 데이터와 비즈니스 로직을 관리합니다. 뷰: 레이아웃과 화면을 처리합니다. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. 모델은 일반적으론 뷰에게, 또는 업데이트 된 뷰를 제거하기 위해 가끔 컨트롤러에게 데이터가 어떻게 변경됐는지, 어떤 데이터를 보여줄지 지정하는 역할을 한다.. 2023. 8. 17.
NoSQL과 RDBMS의 특징과 차이점(장, 단점)에 대해서 NoSQL Not only SQL의 약자이며, 비관계형 데이터베이스 유형을 가리킨다. 관계형 데이터베이스와는 다른 방식으로 데이터를 저장하며, 언어마다 관습화된 API, 선언적 구조의 쿼리 언어, 쿼리별 언어를 사용하여 질의할 수 있다. 변화하는 요구사항에 빠르게 적응하고 개발 패러다임에 자연스럽게 활용되는 이점 때문에 실시간 웹 애플리케이션 및 빅 데이터에 널리 사용된다고 한다. 데이터가 보다 직관적이고 쉬운 방식 또는 애플리케이션이 사용하는 방식에 가깝게 저장된다. 따라서 저장 또는 검색시 데이터 변환의 필요성이 줄어든다. 또한 다운타임이 없는 클라우드의 이점을 온전히 누릴 수 있다. 사전에 스키마를 정의하지 않아도 데이터를 저장할 수 있다. 즉, 작업을 진행하는 동시에 데이터를 정의하는 방식으로 빠.. 2023. 8. 16.