SQL 스타일가이드 (Gitlab)

    SQL문을 작성하면서, SQL은 마치 무법지대 같다는 생각이 들었다. 여러 요소를 리스팅할 때 사용하는 콤마(,) 위치도 제각각이고, 무엇보다 SQL문의 가독성을 위해 암묵적 룰로 사용해왔다는 대/소문자 규칙도 너무나 임의적이었다. (SQL은 대/소문자를 구분하지 않는다.) SQLD 시험에서 쿼리 키워드고 필드명이고 싹다 대문자로 썼으니 말 다했지. 덕분에 가독성이 매우 안좋아서, 문제를 풀 때 키워드에 열심히 동그라미를 그렸던 기억이 난다. 최근 컨벤션의 중요성을 많이 느꼈기에 SQL의 스타일가이드도 궁금해졌다. 그런데 SQL은 스타일가이드 자체도 많지 않았고, 한국어로 번역된 스타일가이드는 거의 없었다. (있어야 1~2개 블로그 포스팅 정도) 그런데 개인적으로 콤마를 앞에 붙이는 형식은 별로 마음에 ..

    Oracle SQL Developer UI 폰트 깨짐 해결법

    Window 10 에서도 폰트를 쾌적하게 보고싶어서 MacType을 이용해 기본 폰트들을 다 KopubWorld 고딕체로 바꿔줬다. 다른 부분에서는 문제가 발견되지 않았지만, Oracle SQL Developer에서 메뉴 부분이 깨져보였다. 인코딩 문제인가 하여 인터페이스를 영문으로 변환해봤지만 실패, JAVA_HOME에 Kopub 고딕체를 추가해줬지만 실패하였다. 구글링 하면서 이것 저것 시도해 본 끝에 다음과 같은 설정으로 해결하였다. 폰트 안티앨리어싱을 위한 설정인데, 아마도 시스템 폰트가 MacType으로 안티앨리어싱 설정이 되어있는 탓에 충돌이 일어난 것이 아닌가 예상해본다. 오라클 디벨로퍼가 있는 폴더로 이동하여 다음 sqldeveloper.conf 파일을 연다. Oracle SQL Devel..

    [SQLD] SECTION 3. SQL 기본

    [SQLD] SECTION 1. 데이터 모델링 [SQLD] SECTION 2. 데이터 모델과 성능 [SQLD] SECTION 3. SQL 기본 1. 데이터베이스 (Database) 1) 데이터베이스 특정 기업이나 조직 또는 개인이 필요에 의해 (ex. 부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것. 데이터베이스 관리 소프트웨어 : DBMS (Database Management System) ex. Oracle, MS-SQL, MySQL, Sybase 등 관계형 데이터베이스 정규화를 통해 이상(ANOMALY) 현상을 제거하고 데이터 중복을 피할 수 있다. 동시성을 관리하고 병행 제어를 통해 데이터를 공유한다. 릴레이션을 사용해서 집합 연산과 관계 연산을 할 수 있다. 집합 연산 : 합집합, ..

    [SQLD] SECTION 2. 데이터 모델과 성능

    [SQLD] SECTION 1. 데이터 모델링 [SQLD] SECTION 2. 데이터 모델과 성능 [SQLD] SECTION 3. SQL 기본 1. 정규화 (Normalization) 1) 정규화 정규화는 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정이다. 2) 함수적 종속성 (Functional Dependency) 정규화 절차 설명 제1정규화 - 완전 함수 종속성 - 기본키(Primary key)를 설정한다. 제2정규화 - 부분 함수 종속성 - 기본키가 2개 이상의 속성으로 이루어진 경우 부분함수 종속성을 제거한다. 제3정규화 - 이행 함수 종속성 - 기본키를 제외한 칼럼 간의 종속성을 제거한다. BCNF - Boyce-Codd Normal F..

    [SQLD] SECTION 1. 데이터 모델링

    [SQLD] SECTION 1. 데이터 모델링 [SQLD] SECTION 2. 데이터 모델과 성능 [SQLD] SECTION 3. SQL 기본 1. 데이터 모델링 1) 모델링의 정의 : 복잡한 현실 세계를 일정한 표기법에 의해 표현하는 일 2) 모델링의 특징 추상화 (Abstraction) 단순화 (Simplification) 명확성 (Clarity) 3) 모델링의 관점 관점 (View) 설명 데이터 관점 - 비즈니스 프로세스에서 사용되는 데이터를 의미한다. - 구조 분석, 정적 분석 - What, Data 프로세스 관점 - 비즈니스 프로세스에서 수행하는 작업을 의미한다. - 시나리오 분석, 도메인 분석, 동적 분석 - How, Process 데이터와 프로세스의 상관 관점 - 프로세스와 데이터 간의 관계..