회고록 (24.05.06 - 24.05.12 )

JSLEE·2024년 5월 12일

1. 공부했던 내용들

  • Github pages 이용해서 포트폴리오 제작해보기 (CSS, HTML 이용)
  • 데이터베이스의 ERD 작성 및 정규화
  • RDBMS의 PK, FK, 정규화, 연관관계 개념
  • 데이터베이스, 테이블 생성 및 데이터 삽입 (CLI)
  • NOT NULL, AUTO_INCREMENT, DEFAULT, PRIMARY KEY(), Foreign Key() 제약 조건 연습 (CLI)
  • ALTER , JOIN SQL (CLI)
  • DATE 타입과 TIMESTAMP 타입
  • 데이터서버 및 세션의 time_zone 설정
  • 데이터베이스, 테이블 생성 및 데이터 삽입 (GUI - MySQL Workbench)
  • NOT NULL, AUTO_INCREMENT, DEFAULT, PRIMARY KEY(), Foreign Key() 제약 조건 연습 (GUI)
  • node.js 환경에서 mysql2 외부모듈로 DB 불러오기
  • express로 구현했던 HTTP 메소드(INSERT, SELECT, DELETE) 들에 query문 추가

2. 궁금했던 점들

18. DBMS - <0507>

Q. Primary Key를 선정할 때, 꼭 숫자 id를 PK로 지정해야 하나?

└ 꼭 그럴 필요는 없지만, Surrogate 방식에서 얻는 이점이 많다.

Surrogate Key : 테이블에서 별 의미가 없는 컬럼(ex. id, UUID)을 Primary Key로 지정하는 방식

  • 장점 :
  1. 숫자 자료형을 사용하기 때문에, AUTO_INCREMENT 옵션으로 관리하기가 편함.
  2. 숫자 자료형이기 때문에, 인덱싱(성능)이 빠름.
  • 단점 :
  1. 별도의 컬럼을 생성해서 Primary Key로 지정해야 하므로, 추가 리소스 사용

Natural Key : 의미가 있는 컬럼(ex. email)을 Primary Key로 지정하는 방식

  • 장점 :
  1. 의미가 있는 컬럼을 지정하기 때문에, 직관적임
  2. 추가적인 컬럼을 만들지 않아도 되기 때문에, 추가 공간이 필요하지 않음.
  • 단점 :
  1. 데이터 값을 수정해야 할 때(ex. email 대신 name을 PK로 바꾸고싶다.)가 발생하면, 유지 보수가 힘들어질 수 있음.
  2. 차지하는 리소스가 크기 때문에 성능이 낮아질 수 있음.
  3. 값을 나중에 입력할 수 없음.

참고자료 : www.mssqltips.com

19. Database 생성(CLI) - <0508>

Q. ALTER 란 뭐고, ADD 말고 다른건 없나?

└ ALTER는 테이블을 수정하기 위한 SQL이다. ALTER를 통해 테이블의 컬럼에 대한 수정을 진행할 수 있다.
ALTER 참고

20. Database 생성(GUI) , mysql2, time_zone - <0509>

Q.PK를 지정하면 UQ를 지정안해도 알아서 중복이 불가능하게 되나?
└ YES

Q. MySQL Workbench에서 session이란?
└ 세션이란, 간략하게 말해서 연결되어 있는 상태를 의미한다. 관련 내용은 블로그에 정리하였다.
Session 참고


3. 좋았던 점

  • 강의를 밀리지 않고 수강 완료.
  • 수업 내용 중, 이해 못한 부분이나 궁금한 점 메모 및 조사

4. 아쉬웠던 점

  • 금요일에 너무 피곤해서 수업을 미루고 미루다가 늦은 저녁에 수강을 완료했다.
    좀 더 규칙적인 생활을 한다면 공부 시간 확보에 좋을듯 하다.
  • 실시간 특강에서 강사님이 이야기하시는 중에 모르는 CS 관련 용어들이 종종 있었다.
    CS 에 관해 공부를 좀 해야할 필요를 느꼈다.
profile
공부한 내용들을 정리하기 위해 사용하는 블로그입니다.

0개의 댓글