개발 신입인데 데이터베이스 관련 궁금증이 있어요

개발 신입인데 데이터베이스 관련 궁금증이 있어요

작성일 2023.06.23댓글 2건
    게시물 수정 , 삭제는 로그인 필요

간단한 예를 들면, 로그인 쪽을 개발하는데 기존 테이블이 이렇게 있고

user ( id, email, password )
blacklist ( id, user_id(외래키), reason )

이런식으로 있었다고 하면 제가 blacklist 테이블이 있는 줄 몰라서
블랙리스트에 등록된 유저까지 다 로그인 되도록 만들었어요

지금 생각하면 ERD를 먼저 보면 좀 참고가 될 것 같은데

근데 만약 이 상태에서 외래키까지 안 걸려 있었다면
데이터베이스 상에서 직관적으로 연관된 걸 알 수 없을 텐데
이런 상황을 어케 대비할까여??

하나 더 궁금한 건 저희 회사는 외래 키를 잘 안 쓰던데
저는 무조건 있어야 된다고 생각했거든요. 교과서적인 건가요??

다른 분들은 실무에서 외래키 거는 거에 어떻게 생각하나요??



profile_image 익명 작성일 -

ERD를 먼저 보고 판단하기 보다는 코드 외적인걸 보셔야 할거같습니다.

예를들면 업종이 커머스라고 가정하고 말씀드리겠습니다.

회원이 있을텐데 회원의 이력을 수집해야겠죠? 로그인 실패 횟수도 수집해야 하고, IP나 기타 정보들도 수집을 해야합니다. 이 회원을 누군가가 신고했을 수도 있죠. 리뷰 같은걸 올리는데 일부러 야한 것들을 올리면 안되자나요. 안드로이드나 iOS 정책상 유저가 사진이나 글을 올릴 수 있는 앱인 경우 무조건 신고나 무시 버튼을 넣게 되어있습니다. 아니면 강성으로 CS를 넣는 사람일 수 있겠고. 이런 것들을 구현한다고 해볼게요. 그러면 DB에 해당 내용들을 저장해야 하자나요? 그러면 당연히 구성이 되어있을 것입니다.

코드 외적인 것을 보고 생각을 하시는게 훌륭한 개발자로 나아가시는 첫걸음이라고 생각합니다. 비즈니스 하는 사람의 입장이나 PM의 입장에서 생각해보고 코드를 구현하거나 코드를 구현하지 않고 문제를 해결하는 게 중요하거든요.

외래키를 보통 걸지 않습니다. 매출 3000억 이커머스 회사에서도 팀장을 했었고 여러 회사에서 일을 하고 외주를 받아서 일을 해봤지만 외래키가 걸려있던 프로덕은 없었습니다. 이유는 여러가지 있지만 제 생각에는 외래키를 거는 것이 더 비효율적이라고 생각합니다.

도움이 되셨으면 좋겠습니다.

profile_image 익명 작성일 -

로그인 기능을 개발할 때, 블랙리스트 테이블이 있는 줄 모르고 블랙리스트에 등록된 유저도 로그인할 수 있도록 만들었다는 상황이군요. 이런 경우에 대비하기 위해서는 ERD를 먼저 분석하고, 테이블 간의 관계를 정확히 파악해야 합니다. 외래 키를 걸어두면, 테이블 간의 관계가 명확해지고 데이터를 보다 쉽게 관리할 수 있습니다.

외래 키를 잘 안 쓰는 회사가 있을 수도 있습니다. 이는 회사의 데이터베이스 구조나 개발 스타일에 따라 다를 수 있습니다. 하지만, 외래 키를 사용하는 것이 좋은 개발 습관이며, 데이터베이스 구조를 명확하게 파악하고 효율적인 데이터 관리를 위해서는 필수적이라고 생각합니다.

정보, IT 쪽 진로에 관련하여 질문이...

... 관련된 시스템을 좋아해요), 그리고 데이터베이스에... 분야가 있어요. 크게 나누면 개발, 분석, 보안 등으로... 있도록 궁금증을 해결해주시고, 의지만 있다면 취업까지 할...

전자 기계 컴퓨터과에 대한 궁금증이있어요

... 기계공학부는 역학의 기본이론과 이에 관련된 응용분야에... 5) 데이터베이스 엔지니어링 - DB 설계 및 분석, DB Backup 및 Recovery, DB 프로그래밍 - DB Turnning 및 Monitoring, DB 개발...

컴퓨터 관련 직업에 대한 궁금증(내공 100)

... 설계자는 신입사원이 곧바로 할 수 있는 업무가... 운영체제, 데이터베이스, 자료구조를 비롯해 실제 응용소프트웨어 개발 실습을 함 관련학과 소프트웨어공학과...

안녕하세요 제발 해킹관련 궁금증좀...

... 해킹하여 데이터베이스에 있는 정보 조작 혹은 정보를... [ 안녕하세요 제발 해킹관련 궁금증좀 해결해 주세요... 메이져급회사를 신입으로 입사시킬수 있는 원동력이기...

데이터베이스관리자,개발자 차이

데이터베이스 관리자와 개발자의 차이는 뭐가 있나요... 있으며 신입기준 2200~ 4000 정도라고 보면 될것 같습니다... 추가적인 질문이나, 궁금증이 있으시다면, 아래 URL을...

IT관련자격증에 대한 궁금증

... IT관련자격증에 대한 궁금증 ]... C프로그래밍 OCP 10G - 데이터베이스자격증, OCP - 오라클자격증... 메이져급회사를 신입으로 입사시킬수 있는 원동력이기 때문입니다....

데이터베이스!! 빅데이터!! 배우고싶어요..

... 그거슨 데이터베이스와 빅데이터 관련 직업으로 이직을... 되어있어요! 신속하게 이끌어줄 분이 안계시네요 ..... SW개발자 - 모든 SW관련 전산 , 프로그램들을 개발하는사람...

빅데이터전문가가 되고 싶은데 신입채용

... 수 있어요. 정보보안 분야로는 모의해킹전문가, 포렌식전문가, 사이버수사관, 백신개발자, 보안 관제자 등이 있답니다. IT관련 취업에 있어서 현실적으로 가장 필요한...

데이터베이스 쪽으로 취업하고싶은데 신

데이터베이스 쪽으로 취업하고싶은데 신입은 거의... 지금 상황만 봐도 알 수 있어요. 현재 사회는 온라인과... 프로그래밍의 경우 웹개발자, 앱개발자, 소프트웨어(SW)...