sqld

    제31회 SQLD(SQL 개발자 자격시험) 합격 후기

    이 시험도 마찬가지로.. 30회에서 떨어지고 나서 오기로 또 봤습니다. 그런데 난이도가 더 올라가서 정말 답도 많이 못쓰고 떨어졌다 생각하고 눈물짓고 있었는데 제가 눈물의 합격후기를 쓰게 될 줄은 몰랐네요 ㅠㅠ위 사진을 잘 보셔야 합니다. 지금부터 과정을 알려 드리겠습니다. 일단 평균 60점이 넘어야 하는 시험이니 그 점 숙지하시기 바라며, 제가 합격할 수 있었던건 데이터모델링의 이해 덕분이라는 것을 보실 수 있습니다. 다른 분의 후기에서 저도 느끼고 준비를 해왔는데 1단원이 문제수가 적기 때문에 많이 맞출수록 티가 저렇게 팍 납니다. 10회독 정독 목표로 1단원을 시험 전에 집중적으로 정리해 두시면 저처럼 높은 점수르 1과목을 마무리 하실 수 있습니다. 여기서 꼭 점수 벌리시길 그리고 2과목에서는 사실..

    [SQLD] 정규화와 반정규화의 차이점 분석

    정규화는 기본적으로 데이터 중복성을 제거해주기 떄문에 (쪼개주기 때문에) 성능 자체는 향상되는 특징을 가지고 있습니다. 하지만 그만큼 조인이 많이 발생하기 때문에 그에 따른 성능저하가 나타나는 경우가 있을 수 있죠. 위의 그림을 보시면 공급자번호, 전화번호, 메일주소, 위치 이 4가지가 이미 좌측 테이블에 있는데 이걸 정규화를 진행해서 오른쪽과 같이 쪼개게 되면 조인해야 하는 테이블이 늘어나면서 성능저하가 일어나게 됩니다. 하지만 좌측처럼 한가지 테이블안에서 어차피 조인이 가능하다면 굳이 정규화를 진행할 필요가 없겠죠. 혹은 정규화가 되어있더라 하더라도 성능을 고려하여 좌측과 같이 반정규화를 진행하는 것이 더 효율적일 수 있기 때문에 반정규화를 하게 됩니다. 하지만 무분별한 반정규화는 데이터 무결성을 깨..

    [SQLD] 인덱스의 종류와 특징

    SQLD 자격증 공부 중에 연습 문제가 나온게 있어 공유하려고 합니다. 우선 INDEX (인덱스) 란 SQL에서 어떤 역할을 하며 어떤 특징을 가지고 있는지 일반적인 사항부터 적겠습니다. 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개념이다. 인덱스는 테이블을 기반으로 선택적으로 생성할 수 있는 구조이다. 테이블에 인덱스를 생성하지 않아도 되고 여러 개를 생성해도 된다. 인덱스의 기본적인 목적은 검색 성능의 최적화이다. 즉, 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있도록 돕는다. 그렇지만 Insert, Update, Delete 등과 같은 DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려질 수 있다는 단점이 존재한다. B-TRE..

    Sql의 쿼리 실행 과정 및 순서

    1. 문법적인 순서 1. SELECT2. FROM3. WHERE4. GROUP BY5. HAVING6. ORDER BY 2. 실행되는 순서 1. FROM2. WHERE3. GROUP BY4. HAVING5. SELECT6. ORDER BY SQLD 시험에서 이게 굉장히 중요하다. 보기가 엄청 긴 지문에서는 저게 눈에 익은 사람과 익지 않은 사람의 속도차이가 엄청나기 때문이다. 시간이 걸리더라도 정확히 이해하고 뜯어서 해석할 수 있는 능력을 만들어보자. 물론 나도..