본문 바로가기
  • 문과생의 백엔드 개발자 성장기

전체 글199

210528_DB6 (SQL) / 제약조건 ✨ 제약 조건에 대해 살펴보고 컬럼 레벨과 테이블 레벨을 통해 구현할 수 있다. ✨ 제약조건을 수정하고 삭제할 수 있다. ✨ 제약조건의 정보를 확인할 수 있다. 제약 조건 NOT NULL : 해당 컬럼에 NULL을 포함 하지 않도록 선언 (컬럼) UNIQUE : 해당 컬럼 또는 컬럼 조합 값이 유일 하도록 함 (컬럼, 테이블) PRIMARY KEY : 식별 값 (컬럼, 테이블) REFERENCES TABLE(COLUMN) : 해당 컬럼이 참조하고 있는 (부모) 테이블의 특정 컬럼 값 들과 일치하거나 또는 NULL이 되도록 보장한다. (컬럼, 테이블) CHECK : 해당컬럼에 특정 조건을 만족시키도록 한다. (컬럼, 테이블) ※ PRIMARY KEY = UNIQUE + NOTNULL 제약 조건 확인 : D.. 2021. 5. 28.
210527_DB5(SQL) / 트랜잭션 Transaction Transaction 이란 논리 작업 단위를 형성하는 DML문의 모음을 말한다. 예를들어, 은행업무 데이터베이스에서 은행 고객이 보통 예금에서 당좌 예금으로 금액을 이체하는 경우, 보통예금 잔액 감소,, 당좌 예금 잔액 증가 및 트랜잭션 기록이라는 세 가지 작업을 묶어서 하나의 Transaction이라 한다. 이 세 가지 작업 중 하나라도 수행되지 못하면, 나머지 작업도 최소 되어야 만 해당 계정에 정확한 잔액이 유지될 수 있다. ✔ 트랜 잭션이란?? 하나 혹은 두 개 이상의 SQL 문들로 이루어진 작업의 논리적인 단위 하나의 트랜잭션 안의 모든 SQL은 동일한 효과를 내며 성공하면 전부 성공하고 실패하면 전부 실패한다. 하나의 트랜잭션은 커밋(COMMIT)될 수도 있고 롤백(ROL.. 2021. 5. 27.
210526_DB4 (SQL) / INSERT, UPDATE, DELETE, MARGE ✨ 테이블 데이터 조작을 구현하는 명령을 수행할 수 있다. ✨ INSERT문을 이용한 테이블 새로운 행 추가 ✨ UPDATE문을 기존 데이터 수정 ✨ DELETE문을 이용한 기존 제이터 삭제 ✨ MARGE 문을 이용한 테이블 병합. INSERT [형식] INSERT INTO TABLE([칼럼명, , ,]) → 칼럼명은 명시하지 않아도 됨 VALUES(값, , , ); - 테이블에 열 목록을 사용하지 않는 경우에는 테이블의 기존 열 순서에 따라 모두 나열해야 한다. - 열 목록은 테이블의 순서와 같을 필요는 없다. INSERT INTO EMP(DEPTNO, ENAME) VALUES (50, '888'); - VALUES절에 나열된 열의 순서와 개수는 INSERT 절에 나열된 열의 순서 및 개수와 같아야 한.. 2021. 5. 26.
210525 _DB3 (SQL) / 집합(SET)연산, 서브쿼리 ✨ 집합(SET) 연산자를 이해하고 기술 할 수 있다. ✨ SUBQUERY를 기술할 수 있다. 집합(SET)연산 SET 연산자는 두 개 이상의 질의 결과를 하나의 결과로 통합하며, SET 연산자를 포함하는 질의를 복합 질의라고한다. → 여기서 질의는 쿼리를 말함. UNION 두 질의 중 어느 것 하나에 의해서라도 선택된 모든 구분 (DISTINCT) 행을 결과로 한다. 양쪽 질의에 의해서 선택된 행을 모두 포함한다. 중복 값은 한번만 리턴하며, 첫번째 컬럼을 기준으로 ASC 정렬한다. UNION ALL 중복 행을 포함하여 두 질의 중 어느 것 하나에 의해서 선택된 모든 행을 결과로한다. DISTINCT 와 같이 사용 불가. INTERSECT 두 질의에 공통으로 선택된 모든 구분(DISTINCT) 행을 결.. 2021. 5. 25.
210524 _DB3 (SQL) / 분석함수, JOIN ✨ 분석함수 종류를 살펴보고 활용하자. ✨ join 또는 subquery를 살펴보고 구현해보자. 분석함수 분석함수를 사용하는 이유 : RDB상에서 컬럼과 컬럼연산, 비교, 연결은 쉬운반면 행과 행간의 관계를 정의하거나, 비교, 연산하는 것을 하나의 SQL로 처리하기 힘든점 프로그램 작성, 인라인 뷰를 이용해서 복잡한 SQL문 작성 분석함수를 도입해서 행간의 연산을 원활하게 연동한다. 단 중첩해서 사용하지 못하지만 서브 쿼리에서 사용할 수 있다. [형식] SELECT Analytic_Function(arguments) OVER ([PARTITION BY 절] [ORDER BY 절] [Windowing 절] 중 택1) FROM 테이블명; ✔ Analytic_Fungtion( ) : avg, count, la.. 2021. 5. 24.
210521_work shop (2-2) . SQL SELECT QUESTION ✔ 사원테이블에서 모든 데이터를 출력하라 SELECT * FROM EMP; SQL> SELECT * 2 FROM EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------------------- ------------------ ----- -------- ----- ----- ------ 7369 SMITH CLERK 7902 80/12/17 800 20 7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30 7521 WARD SALESMAN 7698 81/02/22 1250 500 30 7566 JONES MANAGER 7839 81/04/02 2975 20 7654 MARTIN SALESMA.. 2021. 5. 23.
210521_work shop (2-1) . SQL 함수 QUESTION ✔ 사원 테이블에서 사원이름을 첫글자는 대문자로, 나머지는 소문자로 출력하라 SELECT INITCAP(ENAME) FROM EMP; : 첫 번째 문자만 대문자로 변환할 때 사용 SQL> SELECT INITCAP(ENAME) 2 FROM EMP; INITCAP(ENAME) -------------------- Smith Allen Ward Jones Martin Blake Clark King Turner James Ford INITCAP(ENAME) -------------------- Miller 12 rows selected. ✔ 사원테이블에서 사원이름을 뽑고 또 이름의 두번째 글자부터 네번째 글자까지 출력하라. SELECT ENAME, SUBSTR (ENAME, 2, 4) F.. 2021. 5. 23.
[1주차]_프로그래머스 Lv2 다리를 지나는 트럭(스택/큐) . PYTHON 다리를 지나는 트럭 문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 .. 2021. 5. 23.
[1주차]_프로그래머스 Lv2 기능개발(스택/큐) . PYTHON 기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 .. 2021. 5. 22.