묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
모바일 앱 쿠폰
언제 발급될까요?서식 작성했습니다!:D
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
1:N 관계에서 중간테이블 (연관엔티티)
안녕하세요 우선 값진 강의 만들어주셔서 감사드립니다. 취준을 하며 개인 프로젝트를 진행 중인데, 고민 해오던 부분들에 많은 도움이 되었습니다. 강의를 완강하고, 학습한 내용들을 바탕으로 이전에 진행했던 프로젝트의 DB를 재검토하고 재설계 해보고 있습니다.구글링, 해당 게시판에 올라온 이전 질문들 참고하고 ai와 대화를 하고도 완전하게 확신이 서지 않는 부분이 있어서 질문드립니다.우선 제가 만들고 있는 서비스는 "좌석이 있는 공연 예매 시스템" 입니다.공연 데이터 생성시 해당 공연의 좌석들이 함께 생성됩니다. 즉 특정 공연의 특정 좌석들이 고유하게 생성됩니다.그리고 사용자는 좌석을 다중 선택하여 선점하고 예매할 수 있습니다.(예매 - 좌석) 관계는 (1:N) 입니다.그래서 기존 DB 에서는 N 쪽인 좌석이 예매 id 를 fk 로 들고 있는 간단한 형태로 진행하였습니다. 그런데 강의 중 다대다(M:N) 관계 부분에서 연결 테이블의 본질이 관계 자체를 하나의 독립된 데이터로 보고, 그것을 테이블로 모델링 하는 것 이라는 내용을 접하고,비록 1:N 관계이지만, 예매 - 좌석 관계가 엔티티로 승격될만 한가에 대한 고민을 했습니다. (강의에서 예시로 사용된 주문 - 주문상품 - 상품 을 보며, 좌석을 수량이 단 하나뿐인 상품이라고 생각한다면 예매 - 예매좌석 - 좌석 형태가 비슷하다고 생각했습니다.) 이유가 충분하다면 실무에서도 N:M 관계에서 뿐만 아니라 1:N 관계에서도 중간테이블 (연관엔티티)를 두는 설계를 실제로 하는지, 현재 상황에서도 (질문이 너무 길어지고 복잡해질까봐 제가 판단한 이유들을 설명드리진 않았지만) 연관관계 엔티티를 두는 것이 타당한 판단일지 고견 여쭈어봅니다. 긴 질문 읽어주셔서 감사합니다!
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
속성 핵집문제 2번
보기 중에 '속성은 하나의 값만 가진다.' 라는 보기가 맞는 보기로 해설이 되어있는데, 바로 직전에 설명하신 다중 값 속성(전화번호, 이메일) 이라는게 있지 않나요?
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
chapter 2 단원정리문제 49번
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.49번 문제 해설에는 david phone에 문자가 포함됐다고 하는데 문제에는 숫자만 있는 것 같습니다.확인 부탁드리겠습니다.
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
공통코드 관련한 질문 드립니다.
안녕하세요, 공통코드 관련하여 코드그룹, 코드상세 테이블 설계 강의 잘 들었습니다.관련하여 2가지 질문이 있습니다!1. 혹시 사내에 dataware라는 메타시스템을 사용할 경우에는 어떤 식으로 운영을 하는지 궁금합니다. 전 회사에서는 메타시스템은 단순 정의 용도로 사용하고, 모든 코드값은 enum으로 사용을 했었는데요~강의 내용에 있는 것처럼 값이 바뀔 때마다 계속 재배포 작업을 해야 하긴 했지만, 그 외에 특별한 이슈는 없었던 것 같습니다. (배치성 프로젝트라 빠른 대응이 필요하지 않았음) 현 회사에서는 아직 정해진 정책은 없지만, 메타DB를 어플리케이션에서 접근할 수 있도록 하는 방법은 어떨지도 고민하고 있습니다.그래서 일반적으로는 메타시스템, 공통코드 테이블, enum을 어떤 식으로 mix하여 사용하는지 궁금합니다. 추가로 고유한 컬럼 인식을 위해 최대한 유니크한 컬럼명을 사용하고 있는데요~예를 들어, 사용자로그인상태코드라는 컬럼이 있더라도 사이트에 따라 아래처럼 분리하는 경우가 존재합니다.A사이트사용자로그인상태코드B사이트사용자로그인상태코드이 경우 같은 아래처럼 코드값을 다르게 정의할 경우 현실적으로 체크하는 것이 좀 어려운 것 같습니다. A사이트의 경우 0:정상, 1:잠금, 2:정지, 3:휴면, 4:탈퇴 B사이트의 경우 0:정상, 1:잠금, 2:탈퇴, 3:휴면 (B사이트는 정지 상태가 없음)같은 의미의 코드일 경우 같은 코드값을 가지게 하고 싶은데 영한님께서도 이러한 고민을 하신적이 있으신지 궁금하고 어떻게 해결하셨을지도 궁금합니다~ 감사합니다.
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
extract 함수 관련 질문
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.TO_CHAR(HIREDATE, 'YYYY')대신EXTRACT (YEAR FROM HIREDATE)이거를 쓰는 이유가 뭘까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
일대일 fk 위치
안녕하세요.JPA 강의를 듣다가 궁금한 점이 생겨 질문드립니다.JPA 강의에서는 일대일 관계를 설명하면서 Member가 FK를 가지고 있는 방식이 더 좋다고 설명하셨고 김영한님께서도 주 테이블에 FK를 두는 방식을 더 선호한다고 말씀하신 것으로 해했습니다.그래서 저는 일반적으로 주 테이블이 FK를 가지고 있는 방식이 더 편리하다고 생각하고 있었습니다.JPA 강의에서 해당 이미지로 설명하셨어요. 그런데 이번 강의에서는 보조 테이블이 FK를 가지고 있는 방식이 더 좋다고 설명되어서 조금 헷갈립니다.저는 화면의 예시에서 Member가 주테이블,Locker를 보조 테이블이라고 이해했는데 강의마다 설명이 반대되는 것처럼 느껴졌습니다.혹시 제가 잘못 이해한 부분이 있을까요?
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
GROUP BY, HAVING 실습 1번문제
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.실습 1번문제 쿼리는 맞게 했는데 왜 값이 다르게 나올까요?
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
다음 강의는 언제쯤 나올까요?
다음 강의는 언제쯤 나오나요? 성능 최적화 배우고 싶습니다 😄
-
해결됨실습으로 손에 잡히는 SQLD(2과목)
땃지님 실습소 DB서버 확인 부탁드립니다
계속 연결이 안되는데 서버 확인 부탁드려요아니면해결 방법이 있다면 알려주세요
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
마인드맵 사용 프로그램
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.마인드맵 강의 하실 때 하시는 프로그램 무엇인지 알 수 있을까요? 정리할때 좋은 것 같아서 해보려고 합니다.감사합니다.
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
엔터티 종류
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.엔터티 종류중에 유,무형 구분/ 발생지점이 있는데사건 엔터티랑 행위 엔터티랑 다른건가요? 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
제 3 정규형 vs BCNF 정규형 차이점?
강의들을 때는 어렴풋이 알거 같고 근데 강의듣는거 끝내고 실제로 구별해보라고 하면 잘 못하는거 같아서요. 혹시 차이점을 예를들어서 좀 쉽게 설명해주실수 있을까요?저는 제 3 형 정규형 한거 같은데 또 보면 bcnf인거 같기도 하고 엄청 헷갈리고 있습니다. 도와주세요!제가 찾은 건 bcnf 가 후보키가 아니라 슈퍼키라고 나와서 더 헷갈리는 거 같아요.감사합니다. => 오랫동안 들여다 보고 이렇게 이해를 했는데 맞는지 모르겠습니다.기본적으로 슈퍼키가 아닌 일반키가 함수결정자가 되면 bcnf 위반이 되는거고 제 3 정규형은 슈퍼키가 함수결정자이거나 일반키가 함수결정자라도 결론쪽이 후보키 중에 일부이면 (prime attribute)이면 위반이안되는거 같습니다.
-
해결됨실습으로 손에 잡히는 SQLD(2과목)
Vercel 실행이 안됩니다
안녕하세요. SQLD 실습소 이용 중 오류가 발생하여 건의드립니다.실습소 주소: https://sqld-frontend.vercel.app현재 SQL 에디터에서 쿼리를 실행하면 정상적으로 결과가 나오지 않고, 상황에 따라 아래 오류가 번갈아 발생합니다.화면 오류 메시지Failed to fetch화면 오류 메시지Failed to get database connection개발자도구 콘솔에서는 /api/query/execute 요청이 실패하며, 아래와 같은 로그가 확인됩니다.Failed to load resource: the server responded with a status of 500또한 이전에는 아래 CORS 관련 오류도 확인되었습니다.Access to fetch at 'https://stormy-vinita-ddatg-d32df683.koyeb.app/api/query/execute' from origin 'https://sqld-frontend.vercel.app' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.확인해보니 SQL 문법 문제라기보다는, 프론트에서 백엔드 API 호출은 시도되지만 백엔드에서 Oracle DB 연결을 얻지 못하거나, 500 에러 응답에 CORS 헤더가 누락되어 브라우저에서 차단되는 상황으로 보입니다.
-
해결됨실습으로 손에 잡히는 SQLD(2과목)
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
노션 링크도 안 열리고, 알려준 vercel도 실행이 안되고, 진흥원에서 데이터 세트를 다운 받았다는데 어떤 진흥원인지도 제대로 안 알려주고, 이게 뭐예요???강의 관리가 하나도 안되는 것 같아요.
-
미해결김영한의 실전 데이터베이스 - 기본편
간단한 오타 제보입니다.
UNION 문제 4번 부분에 간단한 오타 있습니다.정확한 부분은 아래 사진 참조부탁해용
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
실제 FK제약조건을 설정하지 않는이유
안녕하세요 영한강사님! 좋은 강의 너무 잘들었습니다! 강의에는 없는 내용이긴한데요! 실무에서는 실제 FK제약조건을 설정하지 않더라구요. 선배님들은 확장성때문이라고 말씀해주시는데 이것말고도 다른 이유가 있는지 궁금합니다!
-
해결됨실습으로 손에 잡히는 SQLD(2과목)
실습소실행안되요
https://sqld-frontend.vercel.app/실습소가 실행이안되요로그인도안되구요 왜그런걸까요
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
BCNF 질문
마지막에 professor_name을 pk로 두고 그에 따라 1:1이기때문에 과목명을 그냥 컬럼으로 두셨는데 그러면 그 과목명이 만약에 바뀐다면 (데이터베이스 -> DB) 그렇다면 데이터베이스 수업을 하는 모든 교수님의 컬럼을 바꾸어야하니 갱신이상이 일어나는것 아닌가요?이런 경우는 어떤 정규형을 위반한건지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
연관 엔티티 네이밍 규칙
안녕하세요! 연관 엔티티의 네이밍 기준(연결 강조 vs 의미 있는 이름)에 대한 강의를 듣고 고민이 생겨 질문드립니다. 강사님의 조언대로 처음에는 '의미 있는 이름'을 우선적으로 부여하고자 했습니다. 하지만 실제 설계를 진행하다 보니 다음과 같은 딜레마를 겪고 있습니다. 1. 직관성 저하 및 매핑 테이블 식별의 어려움명확한 의미가 떠오르는 것만 의미형으로 짓고, 나머지는 연결 강조형(A_B)으로 설계했더니, 전체 ERD를 볼 때 어떤 테이블이 독립 엔티티인지, 어떤 테이블이 단순히 N:M 관계를 해소하기 위한 매핑 테이블인지 한눈에 파악하기가 어려워졌습니다. 규칙이 혼재되다 보니 오히려 일관성이 무너지는 느낌을 받았습니다. 2. 다중 다대다(N:M) 관계에서의 한계그렇다고 매핑 테이블의 일관성을 위해 모두 '연결 강조형(A_B)'으로 통일하자니, 두 엔티티 사이에 여러 개의 M:N 관계가 존재할 때 문제가 발생했습니다. 예를 들어, User와 Store 사이에 '찜하기', '방문 내역' 등 여러 맥락의 관계가 존재할 경우, 단순한 user_store라는 이름만으로는 이 관계들의 성격을 전혀 대변할 수 없었습니다. 보통 실무에서 이러한 상황일 때, 일관성(매핑 테이블임을 명확히 인지)과 의미(어떤 맥락의 관계인지 표현)를 모두 충족시키기 위해 주로 어떤 네이밍 패턴이나 타협점을 사용하시는지 실무 노하우가 궁금합니다!