본문 바로가기
반응형

db22

DB - 정규화(Normalization) 과정(1NF, 2NF, 3NF, BCNF) 데이터베이스를 모델링하는 과정에서 성능 향상을 목적으로 다양한 과정을 거치게 되는데 정규화, 반정규화 등의 거쳐 성능과 관련된 사항들이 데이터 모델링에 반영될 수 있도록 해야 합니다. 정규화(Nomalization)란? 정규화는 관계형 데이터베이스에서 테이터 중복을 최소화하기 위해 데이터를 구조화하는 과정으로 각 단계별로 이상현상을 제거하여 무결성(Integrity)을 유지하고 저장 공간까지 효율적으로 사용할 수 있습니다. ① DB 변경 시 이상현상(삽입 이상, 갱신 이상, 삭제 이상)을 제거 ② DB 구조 확장 시에 재설계를 최소화하고, 응용프로그램에 영향을 최소화 ③ 각 릴레이션에 중복된 속성을 제거하여 여러 개의 릴레이션으로 분할 ④ DB에 어떠한 릴레이션도 표현 가능 ⑤ 효과적인 검색 알고리즘 생.. 2023. 3. 20.
MYSQL - 문자를 숫자로, 숫자를 문자로 치환하기(CAST) MYSQL에서 쿼리를 작성하다 보면 문자를 숫자로 치환하거나 숫자를 문자로 치환해야 하는 경우가 많습니다. 이럴 경우 CAST() 함수를 활용하여 치환을 수행할 수 있습니다. 특히, CHAR 컬럼에 숫자로 저장된 데이터를 정렬할 경우 CAST() 함수가 반드시 필요합니다. CAST() 사용 방법 MYSQL에서 CAST() 함수를 활용하여 대상 컬럼을 원하는 TYPE으로 변경할 수 있습니다. 1) 기본 문법 SELECT CAST(COL1 AS TYPE); 2) 예시 # 묵시적으로 타입을 변환하여 계산한 결과 정수로 리턴 SELECT 10/'5'; -> 2 # 정수 타입의 사칙연산 계산은 실수로 리턴 SELECT 10/5; -> 2.0000 # 명시적으로 타입을 변환하여 계산한 결과 올바르게 실수로 리턴 S.. 2023. 3. 10.
MYSQL - 알파벳 대소문자와 공백 제거하기(UPPER, LOWER, TRIM) MYSQL에서 알파벳 대문자 또는 소문자로 강제 치환하는 함수는 UPPER()와 LOWER() 함수가 있습니다. 현업에서 대문자, 소문자 구분이 명확하지 않을 때 자주 사용되는 함수이므로 기억하고 계시면 쿼리를 짤 때 매우 유용합니다. 그리고 양 끝의 공백을 제거하는 함수로 TRIM()이 있으니 사용법을 알아보겠습니다. UPPER, LOWER - 알파벳 소문자, 대문자 치환 UPPER(), LOWER() 함수로 대소문자 구분없이 데이터를 조회할 수 있습니다. 1) 기본 문법 SELECT UPPER(문자열); SELECT LOWER(문자열); 2) 예시 # 전체 대문자로 변경 SELECT UPPER('ApplE'); -> APPLE # 전체 소문자로 변경 SELECT LOWER('BANAna'); -> b.. 2023. 3. 8.
[SQLD] SQLD 일주일 완성 공부 방법 preview 3월 시행되는 SQLD 데이터 자격시험이 약 2주를 앞두고 있습니다. SQLD는 비전공자일 경우 약 한 달, 전공자일 경우 약 일주일을 두고 공부를 시작하시면 되는데요. 저는 전공자로서 전공자의 입장에서 일주일 완성 공부법을 소개해드리려고 합니다. 그럼 일주일 완성 공부 방법 전에 SQLD 데이터 자격시험에 대해 알아보겠습니다. SQLD 시험 구성 시험 시간 및 과목 구성 1) 시험 시간 시험 시간은 총 90분 2) 과목 구성 1과목 - 데이터 모델링의 이해 : 10문제(문항당 2점) → 총 20점(과락 : 8점 미만) 2과목 - SQL 기본 및 활용 : 40문제(문항당 2점) → 총 80점(과락 : 32점 미만) 과락은 각 과목별로 40% 미만이며, 총점수 기준으로 60점 미만일 경우 과락에 해당됩니다.. 2023. 3. 7.
반응형