inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

대리키의 외부 노출에 대한 질문을 하고 싶습니다.

해결됨

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요. 사이드 프로젝트를 설계하다 보면 테이블의 키를 어떻게 가져갈지 고민을 많이 하게됩니다. 영한님의 말씀대로 대부분 대체키로 만들지만 숫자 대체키의 경우 1부터 순차적으로 올라가게 대부분 구조가 만들어지게 됩니다. 이게 혹여나 보안에 우려가 있을까 염려됩니다. 안전하게 UUID로 대체키를 주면 강의에서 말씀해 주신것 처럼 성능 부분에서 trade off가 있어서 이 방법도 고민됩니다. 예를 들어서 회원이라면 회원 정보를 조회하는 GET API에 회원ID(숫자 대리키, pk) 를 보내면 해당 유저 정보를 조회하게 되는데 숫자를 임의로 바꿔서 다른 유저 정보를 조회하는 이런 부분에서 혹여나 보안 관점에서 우려가 있지 않을까? 생각을 갖게 됩니다. 그러다 보니 두 가지 방안이 떠오르는데 실무에서 추천해주실 방안이 있는지 궁금합니다. 대체키(숫자)를 사용하되 애플리케이션에서 validation을 확실하게 설정 pk는 대체키(숫자, pk)를 하되 db에서 join, 외래키로만 사용하고 외부로 나갈 때는 다른 대체키(UUID, unique)로만 보내는 방식 영한님을 기다리며... 답변에 미리 감사드립니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
index 댓글 2 좋아요 0 조회수 125

문제 2번

미해결

김영한의 실전 데이터베이스 - 기본편

문제 2번에서 두 그룹의 목록을 중복 제거 없이 모두 합쳐서 조회해라. 라고 문제가 나오는데 어째서 distinct를 이용하는건가요? 중복을 제거하고 합치는게 의도였다면 정답에 션과 네이트도 중복이 제거가 돼야 중복 제거가 의도라고 이해할텐데 distinct를 사용한 의도를 잘 모르겠어요

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
Cola 댓글 2 좋아요 0 조회수 97

nginx를 사용하고 static 설정을 하는 경우도 app.mount 설정을 해야 하나요?

미해결

FastAPI 완벽 가이드

nginx에 static 설정을 하여 nginx 서빙을 할 수 있게 만들 수 있는 것으로 알고 있습니다. 이때 app 서버와 동일한, 동기화된 폴더를 유지해야 하는 것으로 알고 있습니다. 이미지도 처리를 하는 경우에는 그렇게 이해하고 있습니다. 이렇게 설정하는 경우에도 app.mount로 static 설정을 해줘야 하는 것인가요? 렌더링 문제가 아니라면, fastapi에서 mount를 유지할 필요가 없을거 같아 질문을 드려봅니다.

  • python
  • sql
  • sqlalchemy
  • FastAPI
bluebamus 댓글 2 좋아요 0 조회수 146

실전문제 2회차 24번문제

미해결

[2026] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이

해당문제에서 답은 3번이라고 되어있긴한데요. 1번 보기도 의미상 맞긴한것 같아서 문의드립니디다. 1번 보기도 의미상 연속된 3일에 한하여 추출하는거 같은데요. 만일 날짜가 하루이틀 건너서 생긴다면 그건 제외되겠지만 문제가 연속된 3일이잖아요.. 정답으로 체크되어있는 3번 보기도 딱 연속적인 3일에 대해서만 같은 GRP로 그룹핑되는것 같은데요... 그런데

  • sql
  • 빅데이터
  • oracle
  • mssql
  • SQLD
kokodae.ko 댓글 2 좋아요 0 조회수 91

소프트 딜리트 정책에서 유니크 컬럼 중복 방지 전략

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

유니크 제약조건에 대해 질문드립니다. 예를 들어 핸드폰 번호당 계정을 하나만 가질 수 있어서 핸드폰 컬럼을 유니크제약을 걸었습니다. 특정 회원이 탈퇴할 때 하드 딜리트가 아니라 소프트 딜리트를 하는 정책일 경우, 탈퇴 했던 유저가 다시 가입하게되면 어떻게 해줘야할까요.? 그럼 결국 유니크 제약을 디비에서 없애고, 애플리케이션 단에서 제어를 해야할까요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
wookim 댓글 1 좋아요 0 조회수 122

대리키 사용과 정규화

해결됨

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

정규화와 정규형을 생각할 때는 자연키를 사용한다는 것을 가정해야할까요? 예를 들어, 회원 테이블을 회원id (대리키), 아이디(자연키), 비밀번호, 이메일 속성으로 정의할 때, 회원id 는 아이디를 결정하고 (회원id -> 아이디), 아이디는 비밀번호, 이메일을 결정하므로 (아이디 -> 비밀번호, 아이디 -> 이메일) 이행함수 종속이 발생하는 것처럼 보입니다. 이처럼 정규화와 정규형을 생각할 때에는 대리키 개념을 배제하고, 자연키를 기준으로 생각해야할까요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
강일모 댓글 2 좋아요 1 조회수 126

강의노트

미해결

마케터와 기획자를 위한 GA4 Bigquery 입문 (2025)

안녕하세요 강의에서 설명하시는 강의노트는 다운받을 수 있는 방법이 있나요?

  • sql
  • Google-Analytics
  • bigquery
  • GA4
김소현 댓글 2 좋아요 0 조회수 94

문제와 풀이1 - 3번 문제

미해결

김영한의 실전 데이터베이스 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 영한님, 강의 정말 재밌게 봤습니다! 다름이 아니라 문제와 풀이 3번 문제 "RIGHT JOIN으로 주문 없는 고객 찾기" 를 보면 '가입은 했지만 주문 기록이 없는 고객의 이름과 이메일을 조회하는 SQL을 작성하라고 되어있는데, DISTINCT 를 붙여 중복을 제거한 행을 조회하는게 맞는게 아닌가 싶어 질문 드립니다!! -- 기존 답안 SELECT u.name, u.email FROM orders o RIGHT JOIN users u on o.user_id = u.user_id WHERE o.order_id IS NULL; -- 제가 생각한 쿼리문 SELECT DISTINCT u.name, u.email FROM orders o RIGHT JOIN users u on o.user_id = u.user_id WHERE o.order_id IS NULL;

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
댓글 2 좋아요 0 조회수 101

윈도우 환경설정 오류 도움 요청드립니다~

미해결

실습으로 손에 잡히는 SQLD(2과목)

위와 같이 오류가 발생한 상황인데 어떻게 해결할 수 있을까요?

  • sql
  • oracle
  • mssql
  • SQLD
도마뱀 댓글 1 좋아요 0 조회수 119

logout 태그 관련 질문

미해결

FastAPI 완벽 가이드

navbar.html에서 로그아웃 버튼을 생성 할 때 기존에 {% if session_user % } ... (1) {% else %} ... (2) {% endif %} 하고 이 아래 쪽에 다시 if session_user를 해서 로그아웃을 하는 이유가 무엇일까요? 그냥 (1) 위치에 a태그 달아서 로그아웃을 만들면 안될까요?

  • python
  • sql
  • sqlalchemy
  • FastAPI
열음 댓글 2 좋아요 0 조회수 79

Free Edition을 사용하는 방법

미해결

실리콘밸리 리더가 알려주는 빅데이터 처리 (Spark)

CSV, PARQUET, DELTA 파일 성능 비교하고 DELTA의 Time Travel 사용하기 Pandas vs. Spark 100M & 1B 레코드 처리 성능 비교하기 Shuffling JOIN과 Broadcast JOIN 학습하기 이 3가지 실습과정 영상을 올ㄹㅕ주시면 좋겠습니다. 예제를 통한 판다스와 스파크 성능 비교부터 실습을 어떻게 진행해야할지 막막하네요.

  • sql
  • 빅데이터
  • pandas
  • apache-spark
  • pyspark
조문기 댓글 1 좋아요 1 조회수 123

강의자료 까마귀발 잘못된거 아닌가요?

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

결제와 주문, 배송과 주문 관계까 1대1인데 결제, 배송 쪽 관계 표시가 선택적1로 되어 있는데 잘못된거 아닌가요'?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
트리 댓글 2 좋아요 1 조회수 145

신입이나 취준생의 사이트 프로젝트 개발 순서 어떻게 되나요?

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

사이드프로젝트로 백엔드 시스템을 개발할때 어떤 순서로 해야되나요? 데이터베이스 설계를 먼저 한 뒤에 코드작성을 시작해야되나요? 그리고 만약 개발과정에서 처음 설계한 데이터베이스 규칙에 위반되는 코드가 나온다면 어떻게 해야하나요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
트리 댓글 2 좋아요 0 조회수 181

실전문제3회 41번문제

해결됨

[2026] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이

분기별 매출 실적과 전년 동기 대비 증감률 문제요 1번이나 3번이나 동일한 결과값 아닌가요?: 실제 두개값 minus하니까 일치하는걸로 나오던데요.. 1번보기: SELECT YEAR, QUARTER, AMOUNT, LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR) as PREV_AMOUNT, ROUND((AMOUNT - LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR)) / LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR) * 100, 2) as GROWTH_RATE from SALES; 3번보기: SELECT YEAR, QUARTER, AMOUNT, LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER) as PREV_AMOUNT, ROUND((AMOUNT - LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER)) / LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER) * 100, 2) as GROWTH_RATE FROM SALES;

  • sql
  • 빅데이터
  • oracle
  • mssql
  • SQLD
kokodae.ko 댓글 2 좋아요 0 조회수 90

AI 질문 관련하여 문의드립니다.

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요 영한님. 강의를 들으면서 파편화된 정보를 정리하고 있어 너무 즐겁게 강의를 듣고 있습니다. 그런데 AI 퀴즈를 풀던 중 해당 퀴즈에서 뭔가 의아함을 느껴 질문드립니다. 물론 A를 토대로, 외래 키 컬럼에 NULL을 허용함으로써 선택적 참여를 구현할 수 있다는 것까지는 이해할 수 있겠습니다. 다만 [별도 참여 테이블 생성]이 위에 말씀 주신 member를 생성하는 것이라면 B가 더 적합한 선택지라는 생각이 듭니다. 혹시 [별도 참여 테이블 생성]이라는 선택지는 team / member 외의 테이블을 하나 더 만드는 것을 의미했던 걸까요? 비롯해서 해설에 있는 [맞을까요?]라는 질문이 적절하지 않게 느껴지는데요. 인프런으로 문의드릴까 하다가, 문제에 대한 질문을 드리는 것은 이쪽이 맞을 것 같아서 QnA로 질문드립니다!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
kailis 댓글 1 좋아요 0 조회수 102

실전문제 3회차 18번

미해결

[2026] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이

부서별 급여가 가장 높은 직원을 조회하는 SQL문 문제에서 보기중에 아래 2개가 동일한것 같은데 1번보기랑 3번보기랑 같은거 같은데 왜 답이 3번이예요? 1번 쿼리에 문제가있나요? 1. SELECT * FROM EMPLOYEE WHERE (DEPT_ID, SALARY) IN (SELECT DEPT_ID, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT_ID); 3. SELECT * FROM EMPLOYEE E WHERE SALARY = (SELECT MAX(SALARY) FROM EMPLOYEE WHERE DEPT_ID = E.DEPT_ID)

  • sql
  • 빅데이터
  • oracle
  • mssql
  • SQLD
kokodae.ko 댓글 2 좋아요 0 조회수 105

1회독 완료후 강의복습

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요 영한님!! 강의 복습에 있어 설계 강의는 어떻게 강의 복습을 해야하는지 너무 뜬구름 잡는 기분이라 조언을 얻고자 합니다. 설계라는 게 아직은 멀리 있는 과정이라 생각이 들어서 그런지 더욱 어려운것 같습니다 조언 부탁드려요!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
woojiny07 댓글 1 좋아요 0 조회수 77

순환 외래키 제약조건(A→B→C→A)으로 인해 삭제가 불가능할 때 해결 방법이 궁금합니다

해결됨

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

A, B, C 이렇게 세 개의 테이블이 있는데요, A → B, B → C, C → A 이렇게 서로 참조하고 있는 구조입니다. 문제는 이렇게 되어 있으니까, 예를 들어 B를 지우려면 A가 걸리고, A를 지우려면 또 C가 걸리고, C를 지우려면 다시 A가 걸려서 결국 서로 물려서 삭제가 안 되는 상황이 생깁니다. 예를 들면 A = 학생(Student) → 어떤 수업(B) 에 참여하고, B = 수업(Class) → 그 수업은 교사(C) 가 담당하며, C = 교사(Teacher) → 교사는 자신이 가르치는 학생(A) 들의 리스트를 참조(관리용). 이 예시는 정확한 상황은 아니고 제가 생각해서 만들어낸 예시입니다 조금 안맞을수 있는데 만약에 이런 경우에 보통 어떻게 처리해야하나요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
Neon 댓글 1 좋아요 0 조회수 111

JPA에서 엔티티 정의시에 시간 타입 정의에 대해서.

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

어떻게 보면 이 수업과는 조금은 먼 이야기일수도 있는데 실제 프로젝트에서 JPA를 다루다보니 엔티티 선언시에 시간 타입 정의를 어떻게 처리해야 할지가 항상 고민이 되더라구요. 현재 프로젝트에서는 Entity 정의시에는 Instant를 사용을 하는데, 혹시 추천하시는 방법이 있을까요??

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
shoi1221 댓글 1 좋아요 0 조회수 78

인기 태그

인프런 TOP Writers

주간 인기글