분류 전체보기 30

[SQLD] 관리 구문

DML(Data Manipulation Language)DDL에서 정의한 대로 데이터를 입력하고 입력된 데이터를 수정, 삭제, 조회하는 명령어 INSERT테이블에 데이터를 입력하는 명령어INSERT INTO 테이블명(컬럼명1, 컬럼명2) VALUES (데이터1, 데이터2);INSERT INTO 입사 (부서명, 입사년월, 입사자사번) VALUES ('개발', '202201', '220101');명시되지 않은 컬럼에는 NULL 값이 입력되는데 PK나 NOT NULL 제약조건이 걸린 컬럼에는 NULL 값이 입력될 수 없으니 주의해야 한다. INSERT INTO 테이블명 VALUES (전체 컬럼에 입력될 데이터 리스트);INSERT INTO 입사 VALUES('개발', '202201', '220101', '신입..

certification/SQLD 2024.11.16

[SQLD] SQL 활용

서브쿼리(Subquery)하나의 쿼리 안에 존재하는 또 다른 쿼리 서브쿼리는 위치에 따라 나눌 수 있다.SELECT 절스칼라 서브쿼리(Scalar Subquery)FROM 절인라인 뷰(Inline View)WHERE 절, HAVING 절중첩 서브쿼리(Nested Subquery) 서브쿼리는 ORDER BY 절, INSERT 문의 VALUE 절 등에 사용이 가능하다.메인쿼리의 컬럼이 포함된 서브쿼리를 연관 서브커리, 메인쿼리의 컬럼이 포함되지 않은 서브쿼리를 비연관 서브쿼리라고 한다.다중 행 서브쿼리의 경우 '=' 조건과 함께 사용할 수 없다.다중 컬럼 서브쿼리의 경우 IN 절과 함께 사용할 수 있다. 스칼라 서브쿼리(Scalar Subquery)주로 SELECT 절에 위치하지만 컬럼이 올 수 있는 대부분..

certification/SQLD 2024.11.16

[SQLD] SQL 기본

관계형 데이터베이스의 개요데이터베이스데이터들을 저장하는 공간 관계형 데이터베이스(RDB; Relational DataBase)관계형 데이터 모델에 기초를 둔 데이터베이스 관계형 데이터베이스에서의 설계는 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의하는 것으로 시작된다. 관계형 데이터베이스 관리 시스템(RDBMS; Relational DataBase Management System)관계형 데이터베이스(RDB)를 관리/감독하기 위한 시스템 Oracle, SQL Server(MSSQL), MySQL, MariaDB, PostgreSQL 등이 속한다. TABLE관계형 데이터베이스의 기본 단위항목을 나타내는 각각의 세로 열을 칼럼(Column)이라 하고 가로 행을 로우(Row)라고 한..

certification/SQLD 2024.11.12

[SQLD] 데이터 모델과 SQL

성능 데이터 모델링데이터베이스 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 성능 데이터 모델링 특징데이터가 빠르게 증가할 수록 성능 저하가 발생하기 쉬우며, 이를 개선하기 위한 비용도 증가한다.데이터 모델은 성능 튜닝 과정에서 변경될 수 있다.이는 성능을 최적화하기 위해 모델 구조가 조정될 수 있음을 의미한다.분석 및 설계 단계에서 성능을 고려하여 데이터 모델링을 수행하면, 성능 저하로 인한 Rework 비용을 최소화할 수 있는 기회를 가지게 된다. 성능 데이터 모델링 수행 절차정규화 수행 : 데이터의 중복을 줄이고 무결성을 유지하기 위해 데이터 모델링 시 정확하게 정규화를 수행한다.데이터베이스 용량 산정 : 데이터베이스가 처리할..

certification/SQLD 2024.11.11

[SQLD] 데이터 모델링의 이해

데이터 모델링데이터를 체계적으로 구조화하여 데이터베이스에 효과적으로 저장하고 관리할 수 있도록 설계하는 과정정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법이다.현실 세계의 데이터(what)에 대해 약속된 표기법으로 표현하는 과정이다.데이터베이스를 구축하기 위한 분석/설계의 과정이다. 데이터 모델링의 3요소개체(Entity)속성(Attribute)관계(Relationship) 데이터 모델링의 특징추상화(Abstraction)현실 세계의 데이터를 일정한 형식에 맞추어 표현한다. 즉, 아이디어나 개념을 간략하게 표현하는 과정이다.단순화(Simplification)복잡한 현실 세계의 데이터를 제한된 언어나 정해진 표기법으로 단순하고 쉽게 표현한다.명확화(Clarity)불분명함을 제거하고 누구나 이해..

certification/SQLD 2024.10.28

[JS] 다중 포인터(투 포인터)

투 포인터배열이나 리스트에서 투 개의 포인터(인덱스)를 사용하여 문제를 해결하는 방법이다.이 두 개의 포인터를 각각 배열의 다른 위치에 두고,그 위치를 조절하면서 원하는 값을 찾아가는 방식이다.주로 배열의 특정 구간을 탐색하거나, 부분합을 구하는 문제에 사용된다. 투 포인터가 필요한 이유만약 배열에서 두 수의 합을 찾는 문제가 있다고 가정해 보자.배열의 모든 쌍을 하나하나 비교하면 시간이 많이 걸리는데,이때 투 포인터를 사용하면 훨씬 더 빠르게 결과를 구할 수 있다. 투 포인터의 작동1. 포인터 두 개 설정배열의 시작과 끝, 혹은 배열의 두 위치에 각각 포인터를 설정한다.이 두 포인터는 우리가 탐색하려는 범위를 나타낸다. 2. 조건에 맞게 포인터 이동두 포인터를 움직이면서 배열을 탐색한다. 2-1. 예시..

IT/Java Script 2024.10.04

[BOJ] 1940번 : 주몽

✏️ 문제주몽은 철기군을 양성하기 위한 프로젝트에 나섰다. 그래서 야철대장을 통해 철기군이 입을 갑옷을 만들게 하였다. 야철대장은 주몽의 명에 따르기 위하여 연구에 착수하던 중 아래와 같은 사실을 발견하게 되었다.갑옷을 만드는 재료들은 각각 고유한 번호를 가지고 있다. 갑옷은 두 개의 재료로 만드는데 두 재료의 고유한 번호를 합쳐서 M(1 ≤ M ≤ 10,000,000)이 되면 갑옷이 만들어 지게 된다. 야철대장은 자신이 만들고 있는 재료를 가지고 갑옷을 몇 개나 만들 수 있는지 궁금해졌다. 이러한 궁금증을 풀어 주기 위하여 N(1 ≤ N ≤ 15,000) 개의 재료와 M이 주어졌을 때 몇 개의 갑옷을 만들 수 있는지를 구하는 프로그램을 작성하시오. 🖥️ 입출력 예시🗒️ 풀이/* 초기 세팅 */// ..

카테고리 없음 2024.10.02

[BOJ] 1748번 : 수 이어 쓰기 1

✏️ 문제1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.🖥️ 입출력 예시🗒️ 풀이모범 답안/* 초기 세팅 */// 파일 읽기 기능 사용const fs = require("fs");// 실행 환경에 따라 입력 경로 다르게 설정const filepath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";// 입력을 읽고, 문자열로 변환한 뒤, 공백을 제거하고, 각 문자를 배열로 나눔const input = fs.readFileSync(filepat..

IT/Coding Test 2024.09.27

[BOJ] 1475번: 방 번호

✏️ 문제다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다.다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오.(6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)🖥️ 입출력 예시🗒️ 풀이/* 초기 세팅 */// 파일 읽기 기능 사용const fs = require("fs");// 실행 환경에 따라 입력 경로 다르게 설정const filepath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";// 입력을 읽고, 문자열로 변환한 ..

IT/Coding Test 2024.09.24

[JS] for문과 forEach문의 차이

for문- 정해진 횟수 만큼 또는 특정 조건을 만족할 때까지 코드를 반복 실행하는 구문이다.- 주로 배열이나 리스트처럼 여러 개의 값을 순서대로 처리할 때 많이 사용된다. for문 기본 형식for (초기값; 조건; 증감) { // 반복할 코드} 초기값 : 반복을 시작할 때 처음으로 설정하는 값. let i = 0조건 : 이 조건이 참(true)일 동안 반복이 계속된다. 조건이 더 이상 맞지 않으면 반복이 멈춘다.증감 : 반복이 끝날 때마다 어떻게 값을 바꿀지를 나타낸다. i ++ for문 예시for (let i = 0; i let foods = ['찜닭', '마라탕', '탕후루'];for (let i = 0; i forEach문- 배열에 있는 값을 하나씩 꺼내서, 그 값으로 어떤 작업을 할 지 결정하..

IT/Java Script 2024.09.24