DB

DB

[DB] erdcloud, Identifying/Non-Identifying + JPA, 주식별자 비식별자

1. 문제ERD를 작성하다 보면 ERDCloud를 많이 사용한다. 그런데 관계를 맺을 때  Identifying Relationship, Non-Identifying Relationship에 대해서 고민해 본적이 있지 않은가? 그리고 다들 JPA를 사용할 때 ID 값을 기본적으로 사용하는데  이 과정에서 팀 간 의사소통에 혼란이생길 수 있다. 즉 "Identifying Relationship은 파란색이고 Non-Identifying Relationship은 분홍색이기 때문에 이뻐서 파란색^^;;;"라고 생각하면 당장 고쳐야 한다. 특히 JPA를 사용하는 사람이면 더욱 조심해야한다. JPA에서는 식별자 관계를 명시적으로 쓰길 권장하고, 책 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'에 저자께서 이런..

DB

[DB] 와디즈 - 사용자 역할별 데이터 처리 방법, 사용자에게 권한이 여러개 기본 설정 되어 있을 때

1. 문제점기존의 게시판을 만들 때는 ERD를 매우 간단하게 작성할 수 있었다. 그러나 와디즈 사이트를 분석하면서 문제가 발생했다. 와디즈는 크라우드 펀딩 사이트로, 회원 가입 시 사용자에게 펀딩 모금자인 Maker와 펀딩 후원자인 Supporter라는 두 가지 역할이 기본적으로 부여된다. 이를 쇼핑몰에 비유하면, 회원이 별도의 설정 없이 구매자와 판매자 역할을 동시에 수행할 수 있는 구조다. 여기서 문제가 발생하는 이유를 자세히 설명하자면, 사용자가 펀딩 게시글을 생성하는 것이 구조적으로는 맞지만, 이렇게 할 경우 Maker와 Supporter의 역할이 명확하지 않아 구분하는 의미가 없어진다. Supporter는 단순히 펀딩 후원과 관련된 정보만을 가지고 있어야 하고, 해당 정보만을 보여줘야 한다. 그..

DB

[Oracle] 테이블, 뷰, 프로시저, 함수 전체 삭제하기

--테이블SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables;--뷰SELECT 'DROP VIEW ' || object_name ||';' FROM user_objects WHERE object_type='VIEW';--프로시저SELECT 'DROP PROCEDURE ' || object_name ||';' FROM user_objects WHERE object_type='PROCEDURE';--함수SELECT 'DROP FUNCTION ' || object_name ||';' FROM user_objects WHERE object_type='FUNCTION';--시퀀스SELECT 'DROP SEQUENCE..

돌맹이떼굴떼굴
'DB' 카테고리의 글 목록