묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실전 2편에서는 어떤 것들을 준비 중인지 궁금합니다
안녕하세요 강사님 강의 너무 잘 듣고 있습니다! 아직 많은 DB설계를 해보진 않아서 알려주시는 개념들이 차곡차곡 잘 정립되는 것 같아 도움이 많이 되고 있습니다.실제 조금 더 복잡한 프로젝트들에서의 DB 설계, 성능이나 쿼리들도 궁금한데 혹시 앞으로 이에 관한 내용들도 강의하실 예정에 있으신지 궁금합니다. 또 실전 2편이 기다려지는데 어떤 것들을 준비 중에 있는지 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 기본편
이해하기 쉬운 SQL 코드 작성 배울 수 있는 자료 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]> ALL()이나 > ANY() 대신 MAX, MIN 집계 함수를 사용하는 방식이 더 이해가 잘 된다고 말씀해주셨는데요, 저도 그게 직관적으로 느껴졌습니다. 😊혹시 이런 best practice를 배울 수 있는 자료가 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
PK 타입에 관한 문의
강의를 너무 잘 듣고 있습니다.PK 타입과 관련되어 문득 궁금한 점이 생겨 문의 드립니다.혹시 대규모 시스템에서 UUID를 PK를 사용할때 실무에서 고민하셨던 팁이 있으신지 궁금합니다.보안성이나 마이그레이션 가능성이 있는 테이블들에 부분적으로 UUID를 적용해 보았으나, 대규모 환경에서는 어떤 설계 팁이 있을지 궁금하네요.감사합니다^^ * 이건 질문은 아니나 사소한 오타 제보입니다.수업 자료중 1-A. 윈도우 - MySQL 설치 안내 파일의4P 맨 아래'mysql-installer-community-8.0.x.dmg`로 되어 있습니다. 참고하시면 좋을 것 같습니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
조건절의 위치 관련 질문사항
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]조인을 이용시 on절 뒤에 and를 이용해서 추가 조건절을 이용하는 방식과 where 절에서 조건절을 넣는 방식중 유의미한 성능상에 차이가 있는지 궁금합니다. 추가적으로 어떤 방식이 좀더 정돈된(?) 방식인지도 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무에서 느린쿼리나 벡엔드 성능 테스트하는 방법이 궁금합니다.
75강 인덱스 설계 - 실습 관련강의 중에 느린 쿼리를 로그 분석을 하거나 성능 테스트를 통해서 실제 쿼리 패턴과 성능을 측정해서 특정 컬럼에 인덱스를 적용해야 한다고 하셨는데요.로그를 하나씩 확인하면서 각 쿼리별로 비교하기가 조금 불편하고 어려울 것 같습니다. 또한 몇가지 쿼리 케이스만으로 성능을 일반화하기도 쉽지 않을 것 같구요.실무에서 느린쿼리나 다양한 벡엔드 성능 테스트를 수행하는 별도의 모니터링 프로그램이나 방법론이 존재하는지 궁금합니다.또한 저희 실습에서 사용한 MySQL에서는 어떤 식으로 테스트를 수행하면 좋을지 알려주세요.
-
미해결김영한의 실전 데이터베이스 - 기본편
View와 프로시저 차이는 무엇인가요?
[질문 내용]View와 프로시저는 비슷한 개념인 것 같은데 차이점이 무엇인가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
쇼핑몰 주문 테이블 관련 문의
교육용이라 아직 요구사항이 명확히 없는 상태에서 테이블구조가 나오는 것 같은데 만약 하나의 주문에 여러 상품이 들어올 수 있고 각각의 상품을 취소할 수 있게 되야한다고 한다면 어떻게 변경하게 될까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
자격증 관련 문의
안녕하세요 🙂유익한 강의 감사드립니다. 다름이 아니오라 설계 1, 2편 까지만 들어도 SQLD, SQLP 자격증 취득이 가능할 수준일지 여쭙고 싶습니다. 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
실무에서 sql 쿼리의 성능 개선
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 실무에서 sql 쿼리의 성능 개선시, '유의미한 개선' 이라 판단하는 기준으로 어떤 지표로 판단할까요?단순 실행 시간 뿐만아니라 어떤 지표를 보는 편인가요 ? 얼만큼의 성능 개선이 유의미한 개선이 될지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
DDL 구문에서의 COMMENT 활용 방법 문의드려요.
안녕하세요. 테이블 정의서를 열어서 보다 자세한 사항을 확인하기 전에접속된 세션에서 MySQL에 생성된 DDL 구문을 툴에서 추출하여 먼저 구조를 파악하고자COMMENT를 활용하여 "컬럼 한글명(논리명)" 기입하여 사용하려고 하는데비고 같이 진짜 설명을 써놓는 사례도 있는 것 같아서 혹시, 실무에서 COMMENT를 어떻게 활용하시는지 궁금합니다. Ex) -- 실습용 쇼핑몰 테이블 정의서 member 테이블의 login_id에 -- comment "컬럼 한글명(논리명)" 적용 예시 (하고 싶은 방향)login_id VARCHAR(50) NOT NULL COMMENT '로그인 ID' -- comment "비고 같이 길게 설명" 예시login_id VARCHAR(50) NOT NULL COMMENT '로그인 시에만 사용하는 별도의 아이디로, 이메일 및 블로그 등을 통해 외부로 노출되지 않는 보안설정입니다. '
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
레거시 프로젝트를 현대적 PK 설계 방식으로 변환하는 과정이 궁금합니다.
현대적 설계에서는 대리키 PK와 자연키 UNIQUE 제약조건으로 데이터베이스 설계하는 것이 합리적이고 안정적이라고 하셨는데요아직 대부분 레거시 프로젝트는 자연키를 PK로 사용하거나, 일부 테이블은 대리키로 PK를 사용하지만 여전히 많은 테이블들은 해당 일부테이블의 PK를 FK를 사용하여 복합 PK로 생성하여 사용하는 경우가 많습니다.이런 레거시 프로젝트들의 복합 PK를 대리키 PK로 변환한다고 하면 전체적인 데이터베이스 구조를 재 설계해야 하는것이 맞겠지만 만약 기존 운영중인 테이블 구조를 유지하면서 PK를 변환하게 된다면, 기존 운영중인 테이블에 대리키 PK를 생성 후 기존 사용중이던 복합 PK에 UNIQUE 설정을 추가해주는 방식으로 변환하면 큰 문제가없을까요? 아니면 비즈니스 상황에따라 추가 제약조건을 추가해야 할 것들이 있을까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
데이터 베이스 판단 기준
안녕하세요실무에서 RDBMS, NoSQL을 선택하는 기준에 대해서 궁금합니다.어떤 서비스에서 어떤 데이터 베이스가 더 적합한지 판단하는 기준이 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
현업에서 많이 사용되는 상용 툴은 어떤게 있나요?
안녕하세요!강의에서 상용툴에 대한 코멘트를 짧게 해주셨는데, ERD나 DDL 만들 때 현업에서 많이 사용되는 상용툴은 어떤게 있는지 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무에서 외래키의 사용
안녕하세요. 강의 잘 보고 있습니다!다름이 아니라, 제가 알고있는 짧은 지식으로는실무에서는 실제 외래키 관계가 있더라도, 외래키를 선언하는걸 지양하는 것으로 알고 있습니다. 혹시 영한님은 실무에서 외래키를 선언하여 외래키 제약조건 사용을 지향하셨는지가 궁금합니다!!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
draw.io 다크모드 어떻게 할수있을까요?
영한님 안녕하세요.강의 영상 처럼 draw.io 다크모드로 변경하고 싶은데 어떻게 할수있을까요? 감사합니다.
-
미해결[2026] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이
계층형 질의 질문입니다.
다른 강의들이나 교재들 보면 prior 자식 = 부모 는 순방향 이라고 설명해 주시는데이 강의에서만 역방향이라고 설명해 주시네요.특히 노랭이 63번도 정답이 4번인 이유가 "connect by 절에만 사용 가능하다" 이 부분이 틀렸기 때문이라고 나오는데.. 보충 설명이 가능하실까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
id bigint unsigned
테이블 만드실 때 id의 타입을 bigint 로 하고 unsigned는 선언하지 않으셨는데, 굳이 필요 없어서 사용하지 않으신걸까요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
created_at, updated_at 자동화는 DB, JPA 중 어느곳에서 하는게 좋을까요?
안녕하세요 영한님!11강에서 created_at과 updated_at 값을 데이터베이스의 DEFAULT CURRENT_TIMESTAMP과 ON UPDATE CURRENT_TIMESTAMP 기능을 사용하는 가이드에 대해 다뤄주셨는데요. Spring Data JPA를 사용하면 아래와 같이 @EnableJpaAuditing 을 사용하여 Application 단에서 Auditing 기능을 사용할 수 있는 걸로 알고 있습니다.@EntityListeners(AuditingEntityListener.class) @MappedSuperclass @Getter public class BaseEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime updatedAt; }만약 위와 같은 JPA 기능을 데이터베이스와 같이 사용한다면, Application 단에서 createdAt , updatedAt 값이 채워진 채로 저장되고, DB에서 한 번 더 덮어쓰는 구조가 될 것 같더라고요. 실무에서 created_at과 updated_at 값을 채울 때, @EnableJpaAuditing 과 데이터베이스의 DEFAULT CURRENT_TIMESTAMP과 ON UPDATE CURRENT_TIMESTAMP 중 어떤 것을 사용하는게 더 나은 선택일지 궁금합니다. 각각을 사용했을 때 유리한 케이스가 따로 있을까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
논리적 실행 순서에서 SELECT 설명 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. SQL 쿼리의 논리적 실행 순서에서 SELECT 절 설명에 대한 질문이 있습니다.SELECT 절에 SUM, COUNT 같은 집계 함수 계산이라는 부분이 있는데 이 내용은 GROUP BY 에서 HAVING 으로 넘어갈 때 이루어지는 것이 아닌가요? HAVING 절에서 집계 함수로 필터링이 가능한데 이 계산이 SELECT 에서 이루어진다는 것이 이해가 가지 않아서 질문드립니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
인덱스를 활용하여 검색할 때 궁금한 점이 있습니다.
sellers와 items 테이블이 있을때두 테이블을 조인한다고 할때만약 items에 seller_id가 외래키로 잡혀 있지 않을 경우select * from items i join seller s on i.seller_id = s.seller_id이렇게 조인하면 풀스캔 조인이 일어나는 걸까요?추가적으로 select * from items i join seller s on i.seller_id = s.seller_idwhere s.seller_id = '행복상점'과select * from items i join seller s on i.seller_id = s.seller_idwhere i.seller_id = '행복상점'이렇게 두 쿼리를 실행 할떄 첫번째 쿼리는 인덱스를 활용해 검색을 하고 두번째 쿼리는 테이블 풀스캔을 해서 검색할까요?