swa
@swa
Học viên
2,631
Đánh giá khóa học
69
Đánh giá khóa học
4.8
안녕하세요 『소프트웨어알림장』입니다. 데이터베이스 및 미들웨어 애플리케이션 개발, 응용 분야의 경험을 쌓아왔으며 MySQL과 MariaDB를 바탕으로 SQL을 활용한 강좌들을 제작하고 있습니다. 유튜브 채널 "SQL뱅크" 를 운영하고 있습니다.
Hello, this is "SQL BANK". I have accumulated experience in developing database and middleware applications and in various application fields. I create tutorials utilizing SQL based on MySQL and MariaDB. I also run a YouTube channel called "SQL BANK".
Khóa học
Đánh giá khóa học
- Sách truy vấn SQL để sử dụng khi cần, Phần I
- Sách truy vấn SQL để sử dụng khi cần, Phần I
- Sách truy vấn SQL để sử dụng khi cần, Phần I
- Hãy vẽ ERD bản đồ dữ liệu, MySQL Workbench
- Freeplane dành cho người thuyết trình
Bài viết
Hỏi & Đáp
필수
안녕하세요, Gil Kim 님! 강의 내용이 다소 빠르다고 느끼셨군요. 소중한 의견 주셔서 감사합니다. 강의 재생화면 우측 하단에 (동그라미 시계 모양) 음성속도 조절기능(0.8배속 등)이 마련되어 있으니, 이를 활용해 보시면 훨씬 편안하게 수강하실 수 있을 것 같습니다. 앞으로는 전달력에 더 신경 쓰는 강사가 되겠습니다. 열공하세요!
- 0
- 1
- 14
Hỏi & Đáp
자료 준비가..
안녕하세요 ilovepc님.확인해 본 바로는 모든 영상에 pdf 강좌 파일이 각각 첨부되어 있으며 해당 pdf 파일은 내용 복사가 가능한 형태입니다.insert 문, SQL 등이 보이지 않는다는 말씀이 어떤 강좌에서 체크하신 부분인지 알려주시면 다시 확인해보도록 하겠습니다.
- 0
- 2
- 124
Hỏi & Đáp
[스토리 그 자체, 실적 테이블](9:51)max_recursive_iterations
안녕하세요 류재안 님.강좌 생성 시 사용한 DB와 버전이 MariaDB 10.x이상이라 MySQL8.x과 다른 설정값을 가지고 있습니다.앞서 인프런 AI 인턴님의 답변과 같이 cte_max_recursion_depth 값을 조정하여 사용할 수 있습니다.SHOW VARIABLES LIKE 'cte_max_recursion_depth';기본값은 1000 이므로 교안과 같이 100000 으로 변경하여 사용하시면 됩니다. 참고로, 인스톨하는 버전에 따라서 제공되는 시스템변수들은 업그레이드 내용에 따라 충분히 변할 수 있습니다. 하지만 해당 경우는 MariaDB와 MySQL이 서로 다른 길을(제품군) 가고 있는데서 발생한 이종 DB 제품 간 시스템 변수명 차이입니다.이러한 부분은 두 DB가 뿌리가 같지만 완전히 다른 것도, 또 똑같은 것도 아니라 뭐라 정확한 설명을 드리기가 쉽지 않습니다. 같은 목적과 용도인데 제품이 달라 발생하는 문제가 아닐까 합니다.(향후 일부 강좌들에서는 MySQL8.x 기반 + 워크벤치를 개발환경으로써 고려 중입니다.)
- 1
- 2
- 524
Hỏi & Đáp
urlcodemap 쿼리 파일 확인요청
말씀하신 해당 파일에 대한 정보를 링크로 남깁니다. 다운로드하거나 복사 및 붙여 넣기를 통해 수행하시면 테이블과 해당 데이터가 생성 및 입력됩니다. https://drive.google.com/file/d/1kkYR7c_xZWpHKQ0TCSJRKyajK0qCrK5j/view?usp=sharing감사합니다.
- 1
- 2
- 273
Hỏi & Đáp
[공유][대사와 액션, 회차정보테이블]contents2 생성관련
안녕하세요 류재안 님우선 제가 강좌를 만든 DB가 MariaDB 10.x이상이라 MySQL8.x에서 곧바로 적용하면 가끔 말씀하신 류와 같은 오류들이 발생합니다.MySQL8.x에서 GROUP_CONCAT 함수에 사용된 문자열 컬럼값의 크기가 1024를 넘어가면 오류를 발생합니다.언급하신 바와 같이 크기 조정 후 작업이 정상처리됩니다.변경 전에 확인을 하면 1024로 잡혀 있음을 알 수 있습니다.show variables like '%group_concat_max_len%';해결방안 올려주신 점 감사드립니다.(그런데 인프런 AI인턴 사우가 제 답변보다 더 섬세하고 정확해 보입니다. 😀 참고하시면 보다 도움 되실 듯합니다.)
- 1
- 2
- 372
Hỏi & Đáp
[주인공과 등장인물의 집합채, 웹소설정보테이블]작가명 생성관련
충분히 의미 있는 데이터 가공이라고 생각합니다.현재 데이터들 조건이 일부 맞지 않지만 아래의 쿼리로 구현해 보았습니다.-- 중복된 레코드들 중 한 건만 남기고 삭제DELETE FROM kidsetWHERE (kid, meaning)IN (SELECT kid, meaning FROM (SELECT kid, meaning,ROW_NUMBER() OVER (PARTITION BY kid ORDER BY meaning) AS row_number_FROM kidset) aWHERE a.row_number_ != 1);-- 중복된 레코드들 중 한 건만 남기고 삭제DELETE FROM eidsetWHERE (eid, meaning)IN (SELECT eid, meaning FROM (SELECT eid, meaning,ROW_NUMBER() OVER (PARTITION BY eid ORDER BY meaning) AS row_number_FROM eidset) aWHERE a.row_number_ != 1);-- 작가명, 회원아이디 컬럼에 각각 중복되지 않은 유일한 값들로 조회-- 동시에 seq 컬럼에 시퀀스값을 생성하여 임시테이블 nm 생성SET @rownum :=0;SET @rownum1:=0;SET @rownum2:=0;CREATE OR REPLACE TABLE nmASWITHa AS (SELECT @rownum1:=@rownum1+1 AS num, CONCAT('*',kid) AS idset FROM kidset),b AS (SELECT @rownum2:=@rownum2+1 AS num, CONCAT(eid,'*') AS idset FROM eidset)SELECT@rownum:=@rownum+1 AS seq,a.idset AS 작가명, b.idset AS 회원아이디FROM a, bWHERE b.num = a.numORDER BY a.idset, b.idset;-- 검증(0건 정상)SELECT 작가명,COUNT(*) FROM nmgroup BY 작가명HAVING COUNT(*)>1;-- 검증(0건 정상)SELECT 회원아이디,COUNT(*) FROM nmgroup BY 회원아이디HAVING COUNT(*)>1;-- 작가명 유일한 값, 회원아이디 유일한 값으로 wn_novel 테이블 해당 컬럼 UPDATEUPDATE wn_novel a INNER JOIN nmON a.`작품번호` = nm.seqSETa.`작가명` = nm.`작가명`,a.`회원아이디` = nm.`회원아이디`;문제는 wn_novel 테이블은 총 1,002 건인데 반해 eidset 테이블은(회원아이디) 329 건(유일한 값) 밖에 되지 않아 유일한 값을 넣을 수가 없습니다. kidset 테이블은(작가명) 1,372 건(유일한 값)이므로 충분히 유일한 값 입력이 가능합니다.eidset 테이블의 eid 컬럼값이 유일하도록 1,002 건 이상 데이터 추가 후 위의 쿼리들을 수행한다면 정상 처리될 것으로 여겨집니다. ● 개인 사정으로 24~26일(다음 주 월요일)까지 자리를 비웁니다. 질문 남겨주시면 차주 화요일 이후로 꼭 답변드리도록 하겠습니다. 양해부탁드립니다 감사합니다.
- 1
- 1
- 266
Hỏi & Đáp
[주인공과 등장인물의 집합체,웹소설정보테이블]wn_novel테이블 생성
해당 부분이 생략된 채 pdf 문서화되어 있었습니다.첨부 파일을 업데이트해놓았습니다. 강좌 "주인공과 등장인물의 집합체, 웸 소설 정보 테이블"의 교안, "03-2 DATA 생성-웹소설 정보. pdf" 파일을 다시 다운로드하십시오. 체크 감사드립니다.
- 1
- 1
- 229
Hỏi & Đáp
[ERD로 보는 스토리와 테이블이라는 등장인물]태그정보 테이블 설계관련
안녕하세요 류재안님.1.웹소설별태그실적 테이블을 새로 하나 만드는 것을 권장합니다.표현하자면, "태그정보(참조)-웹소설별태그실적(실적)-웹소설정보(마스터)" 이겠네요. 웹소설별태그실적 테이블은 태그정보와 웹소설정보 각각의 PK를 복합키로 가진 테이블이 되겠죠.(작품번호+tgcd)위의 테이블 3개 모두 만들고 운영해야 하는 테이블입니다. 2.연재요일 테이블의 경우, 언급하신 것처럼 코드/요일 정보를 가진 테이블을 새로 만들어 작품번호+요일코드 형태로 복합키를 생성해도 상관없습니다. 다만 태그 정보와는 달리 '요일'이라는 정보는 일~토까지 더 이상 늘어나지 않는 상식적이고 제한적인 값을 가지고 있으므로 코드값을 부여하지 않고 그대로 쓰거나, 혹은 코드값을 쓰더라도 테이블이 아닌 데이터 수준에서 월(MO),화(TU),수(WE) 등과 같이 값 자체를 하나의 규칙처럼 정의해 쓰기도 합니다.(테이블이 없어도 명세서에 기재된 데이터 정의 내용을 바탕으로)참고로, 대용량데이터를 다루는 데이터웨어하우스의 경우 코드값이 따로 정의되어 있더라도 성능의 문제로 인해 코드와 값 모두를 실적테이블에 함께 저장해 놓는 경우도 종종 있습니다.(조인해 가져오기보다는 그대로 출력해 보여주는 것이 더 빠르기 때문이며, 코드테이블에 수정이 일어나지 않는다는 전제 조건도 있어야합니다만.)
- 1
- 1
- 258
Hỏi & Đáp
[공유][워크밴치사용관련]한글깨짐
매우 유용한 워크벤치 활용 Tip입니다. 실제로 워크벤치 유저들이 ERD를 활용할 때 가장 불편해하는 점들 중 하나가 바로 '한글화' 부분입니다. 개발사에서 관심을 더 가져주었으면 좋겠네요. ( 저 역시 강좌를 만들면서 '나눔 고딕 12'로 모든 폰트를 변경해 놓고 작업했습니다만 그래도 깨지는 부분은 깨져 보이더라고요. ) 글 남겨주셔서 감사드립니다.
- 1
- 1
- 553
Hỏi & Đáp
[가상데이터 생성]
안녕하세요 류재안 님.우선 제가 사용하는 MariaDB서버 버전을 알려드리면 10.6 및 11.x 입니다. 혹시 버전 문제 소지가 있을 수 있어 말씀드립니다.요청하신 쿼리는 다음과 같습니다.DELETE FROM sc_paymentWHERE (usr_phnumber, DATE_FORMAT(pay_dt,'%Y-%m-%d %H'))IN ( SELECT usr_phnumber, pay_dt FROM ( SELECT usr_phnumber,DATE_FORMAT(pay_dt,'%Y-%m-%d %H') AS pay_dt ,ROW_NUMBER() OVER (PARTITION BY usr_phnumber ORDER BY usr_phnumber,DATE_FORMAT(pay_dt,'%Y-%m-%d %H') DESC) AS row_number_ FROM sc_payment ) a WHERE a.row_number_ != 1);위의 쿼리는 년-월-일-시까지만 보았을 때 하루동안 중복된 건들을 처리합니다. 초 단위까지 하시려면 DATE_FORMAT의 시간형식 포맷을 초 단위까지 적절히 기재해 주시면 됩니다.수행 내용은 동일한 전화번호에 대해 하루 동안 마지막 건수만 남기고 나머지를 삭제하는 쿼리입니다. 유사한 내용이 채널에 있어 URL을 남깁니다.https://www.youtube.com/watch?v=tqClIDsoa3U&t=50s
- 1
- 1
- 203






