Backend

· Backend/SQL
규모가 큰 서비스의 DB구조를 파악하려면 ERD랑 관련 산출물로는 부족할 때가 많다.주로 오라클을 사용하다 PostgreSQL를 제대로 써보는 건 처음이라자주 사용하던 코드조각을 변환해보았다.  1. 컬럼명 or 컬럼 코멘트로 테이블 찾기/*[검색] 컬럼명 , 컬럼 코멘트*/select isc.table_schema, isc.table_name, isc.column_name, col_description(a.attrelid, a.attnum) as column_comment, case when character_maximum_length is null then data_type else data_type || '(' || isc.character_maximum_l..
· Backend/SQL
oracle만 사용하다가 mysql을 써보려고 하니 데이터타입으로 enum이 있는 것을 발견했다.자바에서 유용하게 쓰던 enum 타입이 있어서 코드테이블을 따로 만들지 않고,해당 타입을 사용해볼 요량으로 좀 더 찾아봤는데 단점을 몇가지 발견해서 기록용으로 관련 글들을 스크랩한다.  🙏레퍼런스[번역] MySQL의 ENUM 타입을 사용하지 말아야 할 8가지 이유Java Enum 타입 데이터베이스 저장 형식은 뭐가 좋을까?
· Backend/Java
클라이언트 저장소인 session Storage에 대해 공부하다가 예전에 Spring 의 session 과 cookie 대해 정리해 둔 소스가 생각나서 블로그로 옮겨 적는다. 💡Web Storage | Session Storage 와 Local Storage의 특징 및 차이점 1. Session vs Cookie 비교 만료시점 : 세션 열결 해제 session Id를 사용해서 사용자(브라우저)별로 구분하여 정보를 관리 할 수 있다 서버에 저장하기 때문에 cookie에 비해 접근이 어렵다 ( = 보안 향상) 세션 (Session) 쿠키 (Cookie) 저장공간 서버 클라이언트 만료시점 세션 열결 해제 브라우저를 닫았을 때 별도로 설정한 시간이 지났을 때 저장 시 설정한 시간이 지났을 때 브라우저를 닫아도 ..
· Backend/SQL
▶ 원인 PK가 2개인 테이블의 UPDATE문에 WHERE절을 1개만 지정했다 문제는 이걸 커밋하고 1시간 후에나 알게 된 것..... 내가 의도했던 것보다 많은 데이터가 바뀌었다. 검색해보니 대부분 UPDATE 복구는 10분 이내에 하는 방법이라 나와는 맞지않았다. 해서 다음을 위해 특정 시간대로 복구하는 쿼리를 기록한다. -- 복구할 데이터 확인 ( 오늘 오전 8시 기준 ) SELECT * FROM 테이블명 AS OF TIMESTAMP(TO_DATE('2022-09-14 08:00', 'YYYY-MM-DD HH24:MI:SS')) ORDER BY 컬럼명 ; -- 현재 테이터 확인 SELECT * FROM 테이블명 ORDER BY 컬럼명 ; ORDER BY는 없어도 되지만 데이터 확인을 위해 넣었다. ..
· Backend/SQL
/*테이블 백업(복사)*/ CREATE TABLE 백업테이블명(신규) AS SELECT * FROM 기존테이블명; /*백업본 제약조건 추가 --> 복사하면 제약조건 + 인덱스 유실 */ ALTER TABLE 자식테이블 ADD CONSTRAINT 제약조건명 PRIMARY KEY (컬럼명, 컬럼명...) ADD CONSTRAINT 제약조건명 FOREIGN KEY (자식컬럼명) REFERENCES 부모테이블 (부모컬럼명); /*제약조건 검색*/ SELECT TABLE_NAME ,CONSTRAINT_NAME ,INDEX_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME LIKE '%제약조건명%' ; /*제약조건 삭제*/ ALTER TABLE 테이블명 DROP CONSTRAI..
파란코딩
'Backend' 카테고리의 글 목록