자격증 공부📖/SQLD 20

[프로그래머스] SQL 코딩테스트 연습 / SELECT / 아픈 동물 찾기

아픈 동물 찾기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VAR..

[프로그래머스] SQL 코딩테스트 연습 / SELECT / 역순 정렬하기

역순 정렬하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARC..

[프로그래머스] SQL 코딩테스트 연습 / SELECT / 모든 레코드 조회하기

모든 레코드 조회하기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE ..

[SQLD] WHERE 절

WHERE 조건절 : WHERE절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성된다. 1) 컬럼(column)명 (보통 조건식의 왼쪽에 위치) 2) 비교 연산자 3) 문자, 숫자, 표현식 (보통 조건식의 우측에 위치) 4) 비교 컬럼 명 (JOIN 사용시) 연산자의 종류 1) 비교 연산자 2) SQL 연산자 3) 논리 연산자 연산자의 우선순위 1순위 : ()괄호 2순위 : NOT연산자 3순위 : 비교연산자, SQL 비교 연산자 4순위 : AND 5순위 : OR SQL 비교 연산자 BETWEEN A AND B : A와 B사이에 있으면 된다. IN (LIST) : 리스트에 있는 값중 하나라도 있으면 된다. LIKE '비교문자열' : 비교문자열의 형태와 일치하면 된다. (와일드카드 사용) IS ..

[SQLD] DML (Data Manipulation Language)

DDL : 테이블에 저장된 데이터를 조작(조회, 입력, 수정, 삭제)하기 위한 구문 1) INSERT : 테이블에 데이터를 입력하는 방법으로 두 가지 방법이 있다. 1. INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST); 이 방법은 COLUMN_LIST에 컬럼을 정의하고 (빨간색 괄호, 테이블상에서의 컬럼 순서는 상관없음) VALUES (초록색 괄호)에 해당 컬럼에 1:1 대응되도록 (이 경우 빨간색 괄호에 넣은 컬럼과 넣고싶은 내용물간의 순서가 일치하도록) 명령어 어를 작성 하는 것이다. 2. INSERT INTO 테이블명 VALUES (전체 COLUMN에 넣을 VALUE_LIST); 이 방법은 테이블상에 정의된 컬럼의 순서를 고려하..

[SQLD] DDL ( DATA DEFINITION LANGUAGE )

데이터 정의어( DDL : Data Definition Language) - 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다. 테이블 자체의 관계나 구조를 생성하거나 수정하는데 사용하는 명령어이다. 우선 DDL을 자세히 알아보기 전에 주요 데이터의 유형(타입)을 알아보고 가면 좋을 것 같다. 데이터 유형 : - 데이터 유형은 데이터베이스 테이블에 특정자료를 입력할 때, 그 자료를 받아들일 공간을 자료 유형별로 나누는 기준이다. 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 에러를 발생시킨다. CHAR(L) : 고정 길이 문자열, 고정 길이를 가지고 있으므로 할당된 변수의 ..

[SQLD SQL 기본] SQL문의 종류

SQL 문법의 종류 4가지 1. 데이터 정의어( DDL : Data Definition Language) - 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다. 테이블 자체의 관계나 구조를 생성하거나 수정하는데 사용하는 명령어이다. CREATE : 새로운 데이터베이스 관계 (테이블) 만들기 DROP : 이미 존재하는 데이터베이스 관계 (테이블) 자체를 삭제한다. ( 한번 삭제시 복구 불가 ) ALTER : 이미 존재하는 데이터베이스 관계 (테이블)에 대한 수정 작업 TRUNCATE : 테이블에서 데이터를 제거한다. ( 한번 삭제시 복구 불가 ) 2. 데이터 조작어 ( DML : Dat..

[SQLD 데이터 모델과 성능] 정규화와 성능

정규화를 하는 이유 상호 종속성이 강한 데이터 요소들을 분리하고, 독립된 개념으로 정의하게 됨에 따라 데이터의 유연성이 상승된다. 개념이 좀 더 세분화에 따라 개념에 대한 재활용 가능성이 높아진다. 일반속성 데이터 요소가 한번만 표현됨에 따라 중복이 최소화된다. 주의할점 ! -> 정규화된 데이터 모델을 처리할 때 입력, 수정, 삭제의 경우 무조건적으로 성능이 향상되지만, 조회의 경우 처리 조건에 따라 성능이 향상 혹은 저하될 수 있다. 정규화의 종류 1차 정규화 : 함수종속, 복수의 속성값을 갖는 속성을 분리, 속성의 원자성 확보 2차 정규화 : 함수종속, 주식별자에 완전종속적이지 않은 속성의 분리, 부분종속 속성을 분리 3차 정규화 : 함수종속, 일반속성에 종속적인 속성의 분리, 이전종속 송성의 분리 ..

[SQLD 데이터 모델의 이해] 모델링의 특징, entity(엔터티), attribute(속성)

1. 모델링의 특징 모델링은 복잡한 "현실 세계"를 데이터 모델을 통해 단순화켜 표현하는 것이다. 따라서 모델링은 아래와 같은 3가지 특성을 지닌다. 추상화 : 현실세계를 특정한 형식에 맞춰서 개념적으로 표현한다. 단순화 : 현실세계를 정의한 규칙이나 표기법이나 언어로 간단명료하게 표현한다. 명확화 : 애매모호한 표현은 제하고 누구나 이해할 수 있도록 정확하게 현상을 기술한다. 데이터 모델링은 현실세계 -> 개념적구조 -> 논리적구조 -> 물리구조 (데이터베이스) 의 flow를 가지는데 아래와 같이 그림으로 이해하면 보다 더 쉽게 이해할 수 있다. 개념적 데이터 모델링은 현실 세계를 추상적인 개념으로 바꾸는 모델링이다. 추상화 수준이 높고 포괄적인 수준으로 모델링을 진행한다. 논리적 데이터 모델링은 시스..

[SQLD] #0 SQL공부를 위한 데이터베이스 사전 지식

SQL은 IT업계 뿐만 아니라 정말 다양한 곳에서 거의 엑셀급으로 많이 쓰이고 있는 프로그램언어인 것 같다. 해서 빅데이터분석기사 시험의 충격을 빨리 잊기 위해 5.29에 있는 SQLD 시험을 접수하였다! 약 3~4주 동안의 기간동안 스스로 공부한걸 정리하기도 하고 기록해두면 좋을 것 같아서 오늘부터 시작! 오늘은 본격적으로 SQL 공부를 하기 전에 알아두어야 할 기본 지식들에 대해 정리해보려고 한다! 1. 데이터베이스? DBMS? 데이터베이스 DBMS 음.. 똑같은 말 아닌가 ? 라고 생각했었는데 당연히 아니었다 ㅎㅎ 데이터베이스는 크게 계층형 데이터베이스, 관계형 데이터베이스, 객체 지향형 데이터베이스, NOSQL 데이터베이스의 유형이 있는데 SQLD에서는 관계형 데이터베이스를 배우고 가장 널리 활용..