728x90

전체 글 117

[프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기

간단한 JOIN 문제이다. JOIN문제는 차근차근 출력해보면서 푸는 걸 추천한다. 그리고 프로그래머스에서는 매번 DATE 타입의 포맷을 지정해주기 때문에 TO_CHAR로 변환하는 방법은 당연히 알고있어야한다. --오라클 SELECT A.BOOK_ID,B.AUTHOR_NAME, TO_CHAR(A.PUBLISHED_DATE,'YYYY-MM-DD') AS PUBLISHED_DATE FROM BOOK A, AUTHOR B WHERE A.AUTHOR_ID = B.AUTHOR_ID AND A.CATEGORY = '경제' ORDER BY A.PUBLISHED_DATE

[프로그래머스] 가격대 별 상품 개수 구하기

가격대별로 상품 개수를 구하는데 여기서 핵심은 n만원대를 어떻게 나눌 것인가이다. TRUNC(PRICE/10000,0)으로 몇 만원인지 구하고 다시 10,000을 곱하는 방법으로 풀어줬는데 CASE WHEN이나 SUBSTR을 사용하는 방법도 있으나 10만원 이하라는 보장이 없기 때문에 아래와 같이 풀어주는 것이 제일 정확한 방법이지 않을까싶다. --오라클 코드 SELECT TRUNC(PRICE/10000,0)*10000 AS PRICE_GROUP, COUNT(PRODUCT_ID) AS PRODUCTS FROM PRODUCT GROUP BY TRUNC(PRICE/10000,0)*10000 ORDER BY PRICE_GROUP

[SQLD] 전공자 10일 합격 후기 + 결과 미리 보기

시험명 : 제43회 SQL 개발자(SQLD) 시험일 : 2021.11.20(토) 10:00 성적 공고일 : 2021.12.17(금) 시험 준비기간 : 10일 SQLD만큼은 정처기보다 열심히 준비하겠다고 말했지만..이 또한 벼락치기에 가까웠다. 노랭이 책도 풀다말고 간거면 말 다한거같지만..요점정리 호딱 보고 얼렁뚱땅 시험을 보러갔다. 간당간당 통과한거 보니 할 말 다했다..ㅎ 점수를 보니 앞에만 보고간 티가 나는..그런.. 뒤에는 그래도 쿼리 많이 짜봐서 커버쳤지 안써본 기능들은 아예 몰라서 후두둑 다 틀린 듯하다. https://yangsosolife.tistory.com/56?category=1236189 [SQLD] 공부 계획, 게시물 링크 모음 SQLD 관련 자료들은 저번 게시물에 올려뒀는데 이 ..

취준일지/SQLD 2021.12.16

[SQLD] 3.4 TCL

트랜잭션 : 밀접히 관련되어 분리될 수 없는 1개 이상의 DB 조작. 논리적 연산단위 COMMIT : 올바르게 반영된 데이터를 DB에 반영 ROLLBACK : 트랜잭션 시작 이전의 상태로 되돌림 COMMIT 되지 않은 모든 트랜잭션을 롤백함. SAVEPOINT : 저장 지점 트랜잭션의 특성 1) 원자성 : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않아야 함 2) 일관성 : 트랜잭션 실행 전 DB 내용이 잘못 되지 않으면 실행 후도 잘못 되지 않아야 함 3) 고립성 : 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안됨 4) 지속성 : 트랜잭션이 성공적으로 수행되면 DB의 내용은 영구적으로 저장됨 COMMIT과 ROLLBACK을 사용 - 데이터..

취준일지/SQLD 2021.11.10

[SQLD] 3.2 DDL

데이터 유형 - CHARATER(s) : 고정 길이 문자열 정보. 최대 길이 만큼 공간 채움 - VARCHAR(s) : 가변 길이 문자열 정보. 할당된 변수 값의 바이트만 적용 - NUMBERIC : 정수, 실수 등 숫자 정보 - DATETIME : 날짜와 시각 정보 CREATE TABLE 테이블명(칼럼명1 DataType Default 형식); - 테이블 명은 다른 테이블의 이름과 중복되면 안됨 - 테이블 내의 칼럼명은 중복될 수 없음 - 각 칼럼들은 , 로 구분되고 ; 로 끝남 - 칼럼 뒤에 데이터 유형은 반드시 지정 - 테이블명과 칼럼명은 반드시 문자로 시작 - A-Z,a-z,0-9,_,$,#만 허용 제약조건 : 데이터의 무결성 유지를 위한 방법 1) PRIMARY KEY(기본키) : UNIQUE ..

취준일지/SQLD 2021.11.10

[SQLD] 3.1 관계형 데이터베이스 개요

데이터베이스 : 특정 기업,조직,개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것 DBMS(Database Management System) : 데이터베이스 관리 소프트웨어 SQL : 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용하는 언어 - DML : SELECT, INSERT, UPDATE, DELETE - DDL : CREATE, ALTER, DROP, RENAME - DCL : GRANT, REVOKE - TCL : COMMIT, ROLLBACK 테이블 : DB 기본 단위, 데이터를 저장하는 객체, 2차원 구조 - 가로 = 행 = 로우 = 튜플 = 인스턴스 - 세로 = 열 = 컬럼 정규화 : 데이터의 불필요한 중복 제거를 위한 작업, 이상현상을 방지 기본키 : 테이블에 존..

취준일지/SQLD 2021.11.10

[SQLD] 2.2 정규화와 성능

2. 정규화와 성능 정규화 : 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는 것 - 1차 정규화 : 같은 성격, 내용 컬럼이 연속될 때 컬럼 제거, 테이블 생성 - 2차 정규화 : PK 복합키 구성일 때 부분적 함수 종속 관계 테이블 분리 - 3차 정규화 : PK가 아닌 일반 컬럼에 의존하는 컬럼 분리 함수적 종속성 : 데이터들이 어떤 기준 값에 의해 종속되는 현상 관련 자료 추가

취준일지/SQLD 2021.11.08

[SQLD] 2.1 성능 데이터 모델링의 개요

1. 성능 데이터 모델링의 개요 성능 데이터 모델링 : 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무 비용을 최소화 할 수 있음 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가 성능 데이터 모델링 고려사항 순서 1) 데이터 모델링을 할 때 정규화를 정확하게 수행 2) DB 용량산정을 수행한다. 3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다. 4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행 5) 이력모델의 조정, PK/FK조정, 슈퍼/서브타입 조정 6) 성능관점에서 데이터 모델을 검증한다.

카테고리 없음 2021.11.07

[SQLD] 1.5 식별자

5. 식별자 식별자 : 엔터티 내에서 인스턴스를 구분하는 구분자 식별자는 논리적, Key는 물리적 데이터 모델링 단계에 사용 식별자 분류 대표성여부 - 주식별자 : 엔터티 내에서 인스턴스를 구분할 수 있는 구분자, 타 엔터티와 참조관계를 연결 - 보조식별자 : 구분자이나 대표성X, 참조관계 연결X 스스로생성여부 - 내부식별자 : 스스로 생성되는 식별자 - 외부식별자 : 타 엔터티로부터 받아오는 식별자 속성의 수 - 단일식별자 : 하나의 속성으로 구성 - 복합식별자 : 2개 이상의 속성으로 구성 대체 여부 - 본질식별자: 업무에 의해 만들어지는 식별자 - 인조식별자 : 인위적으로 만든 식별자 식별자의 특징 - 유일성 : 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분하게 함 - 최소성 : 주식별..

취준일지/SQLD 2021.11.04
728x90
반응형