분류 전체보기 280

230819 TIL

관계형 데이터베이스 관리 시스템(RDBMS)에서 키(key)는 테이블에서 행을 고유하게 식별하거나 관계를 정의하는 데 사용됩니다. 그중에서도 가장 활용도가 높은 것이 기본키(primary key)와 외래키(foreign key)입니다. 기본키와 외래키가 무엇인지, 왜 필요한지 알아보겠습니다. KEY 1. 기본키(Primary Key) 기본키는 각 행을 고유하게 식별하는 데 사용되는 하나 이상의 컬럼으로 구성됩니다. 기본키는 아래와 같은 특징을 가지고 있습니다. 고유성(Unique) : 기본 키의 값은 테이블 내에서 중복되지 않아야 합니다. 무결성(Not Null) : 기본 키의 값은 null이 될 수 없습니다. 간단한 예로, 학생 정보가 담긴 테이블에선 학번을 기본키로 사용할 수 있습니다. 모든 학생의 ..

TIL 2023.08.21

230818 TIL

오늘 할 일 (계획) 최종 프로젝트 진행 기술 면접 질문 대비 오늘 한 일 (회고) 타이머 누적시간 (accumulated_time_function) ERD, API 변경 진행 후 레포, 컨트롤러, 엔티티 등 생성, 메서드 생성 DB 의 정규화, 정규화 유형 학습 [ 정규화(Normalization)이란? ] 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 이러한 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라지는데, 각각의 정규화 단계에 대해 자세히 알아보도록 하자..

TIL 2023.08.21

DB ) RDBMS 의 정규화 (Normalization)

1. 정규화(Normalization) [ 정규화(Normalization)이란? ] 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 이러한 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라지는데, 각각의 정규화 단계에 대해 자세히 알아보도록 하자. [ 제1 정규화 ] 제1 정규화란 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것이다. 예를 들어 아래와 같은 고객 취미 테이블이 존재한다고 하자. 위의 테이블에서 추신수와 박세리..

ComputerScience 2023.08.21

MVC 패턴

MVC MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다. MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있습니다. 모델: 데이터와 비즈니스 로직을 관리합니다. 뷰: 레이아웃과 화면을 처리합니다. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. 모델 뷰 컨트롤러 예시 간단한 쇼핑 리스트 앱이 있다고 상상해..

ComputerScience 2023.08.18

디자인패턴 ) MVC, MVP, MVVM 비교

SW디자인패턴] MVC, MVP, MVVM 비교 소프트웨어의 비지니스 로직과 화면을 분리하여 작업한다면 유지보수와 개발의 효율성을 높힐 수 있다. 1. MVC MVC 패턴은 Model + View + Controller를 합친 용어이다. 구조 Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분이다. View : 사용자에게 보여지는 화면(UI) 부분이다. Controller : 사용자의 입력(Action)을 받고 처리하는 부분이다. 동작 MVC 패턴의 동작 순서는 아래와 같다. 1. Controller에서 사용자의 Action들을 받는다. 3. Controller는 Action을 확인하고, Model을 업데이트한다. 4. Controller는 Model을 표시할 View를 선택한다...

ComputerScience 2023.08.18

230817 TIL

오늘 할 일 (계획) 최종 프로젝트 기획 수정 최종 프로젝트 진행 기술 면접 질문 대비 오늘 한 일 (회고) 최종 프로젝트 기획 수정 - 기능 변경, ERD , API 일부 수정 최종 프로젝트 진행 - GitHun Organization 생성 후 repo 에서 role 정하고 작업 진행 타이머 누적시간 (accumulated_time_function) 저장 작업 진행 MVC 패턴에 대한 정리 MVC 패턴이란 Model(모델), View(뷰), Controller(컨트롤러)의 앞글자를 따서 이름지어진 디자인 패턴입니다. MVC 패턴을 사용하는 이유는 1. 개발자가 역할을 나눠 모델, 컨트롤러, 뷰를 동시에 개발할 수 있습니다. 예를 들어 Java개발자가 모델과 컨트롤러를 개발하고, UI 개발자가 뷰부분을 ..

TIL 2023.08.17

백엔드 기술면접 top 30 (계속 업데이트)

NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. RDBMS 는 장점1) 중복된 데이터가 없고(데이터 무결성) 관계간 데이터를 중복없이 한 번만 저장할 수 있습니다. 단점 1) 테이블과 테이블이 관계를 맺고 있어 시스템이 커질 경우 JOIN 문이 많은 복잡한 쿼리가 만들어집니다. 성능 향상을 위해선 서버와 성능을 향상 시켜야하는 Scale-up 만 지원하기 때문에, 비용이 비싸질 수 있습니다. 단점 2) 이러한 스키마로 인해 데이터가 유연하지 못합니다. (스키마가 변경될 경우 번거롭고 어려움) NoSQL 은 장점 1) 스키마가 없어 유연하고 자유로운 데이터 구조를 갖고 있습니다. → 언제든 데이터를 조정,(새로운 필드를) 추가할 수 있습니다. 장점 2) 데이터 분산이 용이(..

ComputerScience 2023.08.17

Database ) RDBMS와 NoSQL의 차이점

이번 포스팅에서는 RDBMS와 NoSQL의 차이점을 알아보려고 합니다. 그전에 RDBMS는 무엇이고 왜 사용하며 NoSQL은 무엇이고 왜 사용을 할까요? 그리고 그 두 DB의 차이점은 무엇이며 서로에 대한 장단점은 무엇이 있을까요? 해당 설명을 하기 앞서 기본 용어들에 대해 정리를 하고 가겠습니다. Database와 DBMS 그리고 SQL Databse란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미합니다. DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어입니다. SQL이란(Strucured Query Language) 관계형 데이터베..

ComputerScience 2023.08.17

230816 TIL

오늘 할 일 (계획) 최종 프로젝트 S.A 작성 최종 프로젝트 기획 오늘 한 일 (회고) S.A 작성 최종 프로젝트 상세 기능 작성 최종 프로젝트 ERD, API, 피그마 작성 Database ) RDBMS와 NoSQL의 차이점 기술 RDBMS 는 장점1) 중복된 데이터가 없고(데이터 무결성) 관계간 데이터를 중복없이 한 번만 저장할 수 있습니다. 단점 1) 테이블과 테이블이 관계를 맺고 있어 시스템이 커질 경우 JOIN 문이 많은 복잡한 쿼리가 만들어집니다. 성능 향상을 위해선 서버와 성능을 향상 시켜야하는 Scale-up 만 지원하기 때문에, 비용이 비싸질 수 있습니다. 단점 2) 이러한 스키마로 인해 데이터가 유연하지 못합니다. (스키마가 변경될 경우 번거롭고 어려움) NoSQL 은 장점 1) 스키..

TIL 2023.08.17