묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
외래키사용
영한님 안녕하세요. 실무에서는 외래키가 테이블간에 관계를 끈끈하게 해서 잘 사용을 하지않는걸로 알고있습니다. 강의를 보면 테이블간에 유연한 관계를 두는것이 좋은 설계라고 하시던데 이 부분에 대해서는 어떻게 생각하시는지 궁금합니다~!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
1:N 에서의 연관 엔티티 필요성
안녕하세요! 수업 너무 잘 듣고 있습니다. 연관 엔티티는 1:N 관계에서가 아니라 N:M 관계에서만 필요하다고 알고 있으면 될까요 ?아니면 상황에 따라서는 1:N 에서도 연관 엔티티를 필요로 하나요 ?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
Store 엔티티를 추가했을 때의 관계
안녕하세요 영한님!강의를 들으면서 쇼핑몰 요구사항을 조금 더 확대해서 직접 모델링해보고 있습니다. (Store, Delivery, ...)엔티티를 분류하고 개념적 모델링, 논리적 모델링을 진행하면서 몇 가지 궁금한 점이 있어서 질문드립니다. 현재 강의에서는 Order - OrderItem - Product 관계가 존재했고,만약 Store와 Product 사이에 "무엇"을 등록한다 라는 관계가 존재한다면,Order - OrderItem - Product - Store 이렇게 관계가 형성될 것 같습니다. 질문 1. Order와 Store 관계Order와 Store 사이에, "어디에서" 주문한다 라는 관계가 있다고 볼 수 있는지 궁금합니다.(비즈니스 적으로 의미가 있는지에 따라 관계 여부를 결정하는게 맞을까요?) 질문 2. 만약에 관계가 존재한다고 생각하면 Order와 Store를 직접적으로 관계를 맺어주는게 좋을지, 아니면 그래프 탐색을 통해 관계를 참조하는게 좋을 지 궁금합니다.사실 Order - OrderItem - Product - Store 순으로 모두 Join 하면, 직접적인 연관관계를 맺지 않아도 원하는 데이터를 조회할 수 있을 것이라고 생각하는데요. 만약에 Order와 Store만으로 구성된 화면이 존재하거나, Store 정보를 바탕으로 Order를 필터링 해야한다면, Order에 Store의 식별자를 가지고 있으면 편하게 조회할 수 있을 것 같더라고요.다만, 이렇게 되면 화면이나 Api에 의존적이게 모델링되는 것 같은데, 이러한 설계 방식이 괜찮은 방식인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
간단한 오타 제보
항상 잘 듣고 있습니다서브쿼리 pdf 문제 3번from절에 별칭 o가 빠져있네요case문 pdf 문제 4번문제 요구사항에 fashion_orders가 빠져있습니다
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
pk 현대적인 설계관련해서 궁금한게있습니다~
안녕하세요. 영한님 현대적인 설계는 대리키를 PK 로 두라고 하셨습니다.그 이유는 성능적인 측면으로 봤을때 자연키를 PK 로 두면 중간삽입이 자주 발생하여 페이지 단편화가 발생한다고 하셨습니다. 그리고 대리키로 AUTO-INCREMENT 를 주로 사용하시던데 일자-순번을 대리키로 사용해도 되나요? 등록된 일자와 그 일자의 순서에 따른 순번으로 PK 를 따는것도 괜찮은 방법인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
order_date 조건에 비교 연산자 대신에 와일드카드 사용
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조인 종합 실습 파트에서 주어진 문제를 해결할 때,where u.address LIKE '서울%' AND o.order_date LIKE '2025-06%';으로 작성했을 때 똑같이 동작하는 것 같아서 질문합니다. 이렇게 사용했을 때는 또다른 문제가 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
다대다 엔티티 질문
수업 시간중에 속성이 있을때랑 속성이 없을때에 다대다 연결 방식이 다르다고 하셨는데, 그러면 다대다 연결이고 속성이 없으면 철저히 "연관 엔티티" 라고 말하면 안되는 건가요? 약간 말장난처럼 느껴져셔 헷갈려요ㅠㅠ ++ 질문모든 테이블은 반드시 하나의 primary key 만을 가져야하나요? 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
실무에서 MySQLWorbench 사용 여부
데이터베이스 접속 및 쿼리 실행도구로 DBeaver 를 주로 사용해왔고, 개인 학습 시에 Datagrip을 사용하곤 하는데요. 실무에서 MySQL사용 시에 MySQLWorbench 도 많이 사용하시나요? 사용한다면 어떤 장점이 있는지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
primary key는 테이블 당 하나만 존재할 수 있다?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용][데이터베이스 시작] - [제약 조건] 강의에서 primary key는 테이블 당 단 하나만 존재할 수 있다는 게 무슨 말일까요? a열과 b열를 한 쌍으로 함께 primary key로 지정할 수 있지 않나요? 이해가 잘 안 가요
-
미해결김영한의 실전 데이터베이스 - 기본편
외부조인 실습 1번 img오타
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 강사님~!외부 조인 강의를 듣다가, 오타를 발견해 글을 남깁니다. 오타 위치: 3. 조인2 - 외부 조인과 기타 조인.pdf오타 페이지: 11페이지/64오타 부분: users LEFT JOIN orders의 결과 설명 이미지에서 빨간 점선 네모칸 아래 orders 영역 과 users 영역의 위치가 바뀌었습니다. 왼쪽이 users 영역이고, 오른쪽이 orders 영역인 것으로 보입니다. [마무리]좋은 강의 감사드립니다....!!!!!! 넘 재밌어용
-
해결됨SQLD 자격대비 과정
외래키 제약조건-참조동작 질문
이부분에서 노액션은 참조무결성을 위반하는 경우에 지우지 못하는거라서 만일 부모테이블에서 특정 PK값을 지우는데 자식테이블에 그 PK값이 없다면 부모테이블에서 지울수 있지 않나요? RESTRICT과 동일하게 작용하는거 아닌가 싶어서요..
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
노트앱 어떤 거 쓰시나요?
강의 내용과 관련된 질문은 아니지만, 검색해봐도 잘 안나와서요..
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
drop과 truncate
drop과 truncate 부분을 설명하다가 delete from과 truncate 비교를 하는데요. drop과 delete from이 같은걸까요? 초보자라서 그 차이점을 잘 모르는데 갑자기 drop 얘기하다가 그 아래에는 delete from이 니와서 이해가 잘 안됩니다.
-
해결됨김영한의 실전 데이터베이스 - 기본편
limit, offset 에서 인덱스 동작
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]영한님의 인덱스 강의를 듣고, 간단한 CRUD 토이 프로젝트를 하면서 인덱스를 적용해보려고 하고 있습니다.강의에서 설명해주신 것처럼, 칼럼의 값을 기준으로 인덱스를 타는 경우 데이터가 수백 ~ 수천만건이더라도 굉장히 빠르게 조회되는 것을 확인했는데요! 문제는 페이징 쿼리 같이, limit, offset을 활용해야 하는 경우에 인덱스가 기존과 같이 동작하는지, 아니면 특별한 무언가가 있는지 궁금합니다.만약 배운 그대로 적용된다면 (ex. 생성일이 페이징 기준)생성일 칼럼을 인덱스를 걸면 Filesort 를 피할 수 있겠다는 생각은 하였고, limit 절의 경우 where와는 다르게 select 절까지 모두 평가된 뒤에 적용되기 때문에 Random I/O를 피하기 위해 커버링 인덱스도 잘 사용해야 할 것 같다고 생각했습니다.다만, offset에 해당하는 n 번째 칼럼을 빠르게 B+ 트리에서 알아낼 수 있는 방법이 있는지가 궁금하더라고요. DBMS에서 limit과 offset을 특별히 따로 처리하는지 아니면 강의에서 배운대로 인덱스를 그대로 활용하는지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
문제1번 수정건의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]문제1: 주문별 상품 정보 조회 에서orders와 products연결하고 주문ID, 상품명, 주문 수량이 포함된 목록을 출력하는건데강의 영상에서 영한님께서 정답으로select o.product_id, p.name, o.quantity from orders o join products p on o.product_id = p.product_id order by o.order_id;라고 알려주셨는데 주문ID는 product_id가 아니라 order_id가 맞는거같고 그래서 order by o.order_id를 넣어도 결과값이 product_id만 잇기때문에 정렬이 안된상태로 나옵니다 그래서아래와같이 정답 수정 요청드립니다.(pdf 파일과 강의에서보이는 Pdf에서도 o.order_id 로되어있는데 타이핑때 product_id로 잘못치신듯합니다)select o.order_id, p.name, o.quantity from orders o join products p on o.product_id = p.product_id order by o.order_id;
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
db 공부관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한 강사님이 추천하시는 db설계책이 있을까요?
-
해결됨김영한의 실전 데이터베이스 - 기본편
[오타 제보] 12. 저장 프로시저, 함수, 트리거.pdf
안녕하세요, 영한님. 강의록에 사소한 오타가 있어 제보합니다. [오타 정보]위치: 12. 저장 프로시저, 함수, 트리거.pdf - p.5 맨 위의 '프로시저 호출(CALL)' 부분내용:변경 전: 이제 user_id가 2번인 '네이트' 고객의 주소를 '경기도 성남시'로 변경하는 프로시저를 호출해 보자.변경 후: 이제 user_id가 2번인 '네이트' 고객의 주소를 '경기도 성남시2'로 변경하는 프로시저를 호출해 보자.
-
미해결김영한의 실전 데이터베이스 - 기본편
조인2 - 외부조인과 기타조인 : 조인의 특징
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 선생님 강의 잘 듣고 있습니다. 23:16초에서 "실무에서 이것이 왜 중요할까?" 부분이 잘 이해가 안가서 질문 드립니다. 제가 이해한 바로는 FROM users JOIN orders 와FROM orders JOIN users 의 차이는 안에서 복제를 해서 전체 행의 수가 늘어나는지, 자식 테이블의 행 개수가 그대로 유지인지 이 차이이고,결과물은 같다고 생각합니다. (inner join은 교집합이니깐) 그런데 지금 실무에서 이것이 왜 중요할까? 부분에서 <<집계함수인 COUNT(u.user_id)를 실행하면 어떻게 될까? 주문을 여러번 한 고객이 중복 계산되므로 전체 주문 수인 7이 나온다>>고 하셨는데 기준 테이블을 부모로 잡든 자식으로 잡든 결과는 똑같지 않나요? 제가 저 구문의 의도를 잘 파악하지못하여 질문 드립니다.
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
GROUP BY 에서 ORDER BY 를 사용했을 때 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 강사님의 예제처럼 GROUP BY 와 ORDER BY 를 사용했습니다. 이때, 카테고리별 구매금액 정렬이 함수와 백틱을 사용했을 때 경우가 다르게 동작하는데 그 이유가 궁금합니다. 세종대왕 케이스를 확인해주시면 감사하겠습니다. 함수를 직접 사용하였을 때 백틱을 사용하였을 때
-
해결됨김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
오타 제보
교재 26~27 페이지SELECT customre_id FROM orders 실행 결과에 대해 1, 1, 2, 2, 2로 제공실제로는 1, 1, 2, 2, 3강의에서는 정상적으로 나와있습니다!