본문 바로가기

분류 전체보기191

23.08.21 오늘은 카드의 CRUD 기능 구현과 보관/복구를 목표로 하고, 남은 시간 이동을 구현해볼 생각이다. CRUD 기능은 덱과 큰 차이점은 없었으나 다른점이 있다면 필드의 개수가 덱보다 훨씬 많아 requestDto나 responseDto, entity에 Builder 기능을 더 적극 채용했다는 점 뿐이다. 또한 patch 기능을 적극 활용하기 위해 하나의 메서드에서 제목과 설명 중 하나만 수정할 수 있도록 하기 위해 아래와 같이 로직을 짰다. @Transactional public void editCard(Long id, CardEditRequestDto requestDto) { Card card = findCardById(id); if (requestDto.getTitle() != null) card.ed.. 2023. 8. 21.
CPU와 메모리 컴퓨터 구조 컴퓨터가 이해하는 정보 데이터 명령어 컴퓨터의 네 가지 핵심 부품 CPU 수행자의 명령에 대한 작업을 수행하는 처리장치 산술논리 연산장치(ALU) : 비교, 판단, 연산 담당 제어부(CU)와 내부 버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어 메모리 유닛 - 레지스터 : 처리할 명령어 저장, 범용 레지스터와 특수목적 레지스터로 나뉨 범용 레지스터 - 연산에 필요한 데이터나 연산결과를 임시로 저장 특수목적 레지스터 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다. 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽.. 2023. 8. 21.
Primary Key, Foreign Key 슈퍼키 해당 객체를 고유하게 식별할 수 있는 속성들의 집합 쉽게 말하면 중복되지 않는(유일성을 만족하는) 모든 요소들을 말한다. ex) 주민등록번호, 학번, 아이디+비밀번호 ... 후보키 슈퍼키 중 최소한의 갯수로 객체를 식별할 수 있는 키 ex) 주민등록번호, 학번 기본키(Primary Key) 후보키 중 유일성과 최소성을 만족하는 하나의 키 여러개가 가능하다면 그 중 하나만 기본키가 될 수 있다. 유일성을 만족해야 하므로 중복되선 안되고, 식별을 위한 키이기 때문에 null일 수 없다. 대체키 후보키 중 기본키를 제외한 나머지 키 외래키(Foreign Key) 다른 테이블의 기본키를 참조하여 조회할 수 있도록 연관관계를 만들기 위한 키이다. 외래키의 주인을 부모테이블, 외래키를 가지고 있는 테이블을 .. 2023. 8. 20.
RDBMS의 정규화 정규화의 목표 데이터의 중복성을 허락하지 않음으로서 무결성을 유지하며, DB의 용량을 줄일 수 있다. 정규화 단계 제 1 정규화 테이블의 컬럼이 하나의 값만을 가지도록 테이블을 분해하는 것 제 2 정규화 제 1 정규화를 거친 테이블에서 완전 함수 종속을 만족하도록 테이블을 분해하는 것 완전 함수 종속이란 각 컬럼이 모두가 기본키 전부를 알아야만 식별할 수 있도록, 즉 기본키의 집합에 종속되어야 한다. 아래 그림1에서 성적은 기본키 학생번호와 강좌이름에 동시에 종속되어 있기에 완전함수 종속을 만족하지만, 강의실은 강좌이름만으로 식별될 수 있기에 2번 그림과 같이 테이블이 분리되어야 한다. 제 3 정규화 제 2 정규화를 거친 테이블에 대해서 이행적 종속을 없애도록 테이블을 분해하는 것 이행적 종속이란 A -.. 2023. 8. 18.