초록꼬마의 devlog
article thumbnail
[KH정보교육원] 26일차_평가(DB구현, SQL활용)
back-end dev/database 2021. 11. 16. 22:04

2021.11.16(화) 과목1: 데이터베이스 구현 과목2: SQL 활용 서술형 - 테이블 - 데이터베이스 관리자 계정 - connect role - 데이터 딕셔너리 - 집합연산자 - 제약조건 - 트랜잭션 및 TCL 문제 해결 시나리오 - 테이블 생성 시 알맞은 자료형 지정 - 제약조건(not null, foreign key 등) 활용 - 테이블 행 추가 - DCL 활용 📗 소감 - 개인적으로 범위를 다 소화하지 못하고 시험을 봐서 아쉬웠다 - 다음 과목은 매일 복습과 주말 공부 더 열심히 해서 + 수업 내용 이외 실습도 개인적으로 더 하면서 하루하루를 보내야겠다. 파이팅! 📗 homework 1. Java API public class DoubleArithmetic { public static void..

article thumbnail
[KH정보교육원] 25일차_API, Math클래스, String클래스
back-end dev/Java 2021. 11. 15. 23:03

2021.11.15(월) 🌿 API Application Programming Interface 프로그램/applications를 프로그래밍하기 위한 인터페이스 언어적 측면에서 제공 + 사용자는 세부(구성)내용 몰라도 됨 API의 메소드는 오버로딩이 많이 되어있음 + 사용 가능한 메소드 종류, 사용법 등 잘 모르겠으면 API 문서를 먼저 찾아보기 🌿 java.lang 패키지 🌱 Object 클래스 모든 클래스의 최상위 = 모든 클래스는 Object 클래스를 상속받음 모든 클래스는 Object 타입으로 형 변환 가능 🌱 Math 클래스 모든 필드와 메소드(의 접근제한자)가 static으로 되어있음 → static 메모리 = 프로그램 시작~끝 사용 가능, 객체 생성 필요없이 사용 가능 → 굳이 생성자 필요없..

article thumbnail
[KH정보교육원] 24일차_SEQUENCE, DBMS 정리
back-end dev/database 2021. 11. 13. 00:25

2021.11.12(금) 🌿 SEQUENCE 자동으로 번호를 발생시켜주는 역할을 하는 객체 정수값을 자동으로 순차적으로 생성해줌 채번 시 사용 → 편리 e.g. 회원 번호, 사번, 게시글 번호 등 생성 구문 CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 -- 생략 가능, 처음 발생시킬 시작값 지정 INCREMENT BY 증가값 -- 생략 가능, 몇 씩 증가시킬지 결정; DEFAULT = 1 MAXVALUE -- 생략 가능, 최대값 지정; DEFAULT = 9,999,999,999,999,999,999,999,999,999 MINVALUE -- 생략 가능, 최소값 지정; DEFAULT = 1 CYCLE/NOCYCLE -- 생략 가능, 값 순환(MAX 넘어가면 MIN으로 돌아갈지) 여부;..

article thumbnail
[KH정보교육원] 23일차_DCL, TCL, VIEW
back-end dev/database 2021. 11. 11. 10:11

2021.11.11(목) 🌿 DCL DATA CONTROL LANGUAGE, 데이터 제어 GRANT, REVOKE 계정에게 객체 접근 권한, 시스템 권한 부여(GRANT)하거나 회수(REVOKE)하는 언어 작업 흐름 예시: Local Documents > informatique > database > 20211111 폴더의 "Data Control Language_관리자 계정, sample 계정.pdf" 파일 참조 🌱 GRANT 권한 부여 표현법: GRANT 권한1, 권한2, ... TO 계정명; 시스템 권한: 특정 DB에 접근하는 권한 + 객체 생성할 수 있는 권한 CREATE SESSION: 계정에 접속할 수 있는 권한 CREATE TABLE: 테이블을 생성할 수 있는 권한 CREA..

article thumbnail
[KH정보교육원] 22일차_DML(INSERT, UPDATE, DELETE), DDL(ALTER, DROP)
back-end dev/database 2021. 11. 11. 00:46

2021.11.10(수) 🌿 DML DATA MANIPULATION LANGUAGE, 데이터 조작 언어 테이블에 새로운 데이터를 삽입(INSERT) + 기존의 데이터를 수정(UPDATE) + 삭제(DELETE)하는 구문 🌱 INSERT 1. INSERT: 테이블에 행 추가하는 구문; 해당 테이블의 모든 컬럼에 추가하고자 하는 값을 내가 직접 제시해서 한 행을 INSERT하고자 할 때 사용 주의할 점: 컬럼 순번을 지켜서 VALUES 괄호 안에 나열해야 함 표현법 INSERT INTO 테이블명 VALUES(값, 값, 값..); INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ..) VALUES(값1, 값2, 값3, ..); INSERT INTO 테이블명 (서브쿼리); : VALUES로 값을 ..

article thumbnail
[KH정보교육원] 19일차_추상클래스
back-end dev/Java 2021. 11. 9. 23:13

2021.11.5(금) 주말 숙제로 추상클래스 연습 (실습 파일 위치: 09 Polymorphism > src > com > kh > hw > practice3) package com.kh.practice3.model.vo; public abstract class Animal { private String name; private String kinds; protected Animal() { //super(); } protected Animal(String name, String kinds) { //super(); this.name = name; this.kinds = kinds; } public String getName() { return name; } public void setName(String..

article thumbnail
[KH정보교육원] 21일차_DDL(CREATE)
back-end dev/database 2021. 11. 9. 23:11

2021.11.9(화) 🌿 제약조건(constraints) 원하는 데이터값만을 유지/보관하기 위해 특정 컬럼마다 설정하는 제약 제약조건이 부여된 컬럼에 들어올 데이터에 문제가 없는지 자동으로 검사 → 데이터 무결성 보장 컬럼에 제약 조건을 부여하는 방식 컬럼 레벨: 제약조건을 부여하고자 하는 컬럼 뒤에 기술 → 컬럼명 자료형 (CONSTRAINT 제약조건명) 제약조건 테이블 레벨 CREATE TABLE MEM_CON_NM( MEM_NO NUMBER NOT NULL, MEM_ID VARCHAR2(20) NOT NULL, MEM_PWD VARCHAR2(20) NOT NULL, MEM_NAME VARCHAR2(20) CONSTRAINT MEM_NAME_NN NOT NULL, -- 컬럼레벨 방식 제약조건 GEN..

article thumbnail
[KH정보교육원] 21일차_미니팀프로젝트
back-end dev/Java 2021. 11. 9. 23:09

2021.11.9(화) 🌿 과제 내용 추상클래스, 객체 배열 활용 → 영화관 예매 앱 만들기 (+이 아이디어를 구현할 다른 팀에게 전달할 문서도 작성) 처음에 주어진 시간 = 3시간 → 결국 6시간 활동 🌿 회고 어려웠던 점 주제 선정 시 주어진 시간에 우리가 이용 가능한 기술로 실현 가능한 주제(대상 및 기능)를 정확히 파악하고 결정해야 하는 점 + 핵심 기능의 선택과 집중 원격 회의를 해야 할 때 효율적인 역할 분담 및 협업 방법 문서화의 절차 및 형식에 익숙치 않은 점 - 특히 우리가 주어진 시간에 정확히 무엇을 얼만큼 할 수 있는지 감이 없는 상태에서 프로그램 기획을 해야 하는 점이 어려웠다 깨달은 점 우리반에는 잘하는 학우분들이 많다 여러 사람이 모이면 다양하고 재미있는 아이디어가 나온다(주제 ..

article thumbnail
[KH정보교육원] 20일차_SUBQUERY, RANK, CREATE
back-end dev/database 2021. 11. 8. 22:07

2021.11.8(월) 🌿 SUBQUERY 🌱 INLINE-VIEW FROM절에 서브쿼리 제시 → 서브쿼리를 수행한 결과(RESULT SET)를 테이블 대신 사용 -- 문제 = 보너스 포함 연봉이 3천만원 이상인 사원들의 사번, 이름, 보너스 포함 연봉, 부서코드 조회 -- 방법1) SELECT EMP_ID, EMP_NAME, (SALARY * (1 + NVL(BONUS, 0))) * 12 "보너스 포함 연봉", BONUS, DEPT_CODE FROM EMPLOYEE WHERE (SALARY * (1 + NVL(BONUS, 0))) * 12 >= 30000000; -- 방법2) INLINE-VIEW(FROM절의 서브쿼리)를 사용 -> 서브쿼리의 RESULT SET을 하나의 테이블로 사용 SELECT EM..

article thumbnail
[KH정보교육원] 19일차_SUBQUERY
back-end dev/database 2021. 11. 8. 07:59

2021.11.5(금) 🌿 SUBQUERY 하나의 주된 SQL문 안에 포함된 또 하나의 SELECT문 main SQL문의 보조 역할을 하는 쿼리문 서브쿼리를 수행한 결과값이 몇 행 몇 열이냐에 따라 구분 + 서브쿼리를 수행한 결과가 몇 행 몇 열이냐에 따라 사용 가능한 연산자도 달라짐 🌱 단일행 (단일열) 서브쿼리 서브쿼리를 수행한 결과값이 오로지 1개일 때 일반 연산자(=, !=, >=, < 등) 사용 가능 -- 문제 = 부서별 급여 합이 가장 큰 부서 하나의 부서코드, 부서명, 급여 합 조회 SELECT DEPT_CODE, DEPT_TITLE, SUM(SALARY) FROM EMPLOYEE LEFT JOIN DEPARTMENT ON (DEPT_CODE = DEPT_ID) GROUP BY DEPT_CO..

article thumbnail
[KH정보교육원] 18일차_JOIN
back-end dev/database 2021. 11. 8. 07:59

2021.11.4(목) 🌿 equal(등가)/inner(내부) join 연결시키는 컬럼의 값이 일치하는 행들만 JOIN되어 조회 일치하지 않는 값/행들은 조회에서 제외 → 일치하지 않는 값들 조회하려면 포괄JOIN 등 사용 🌱 연결할 두 컬럼명이 다른 경우 -- 문제 = DEPARTMENT 테이블, LOCATION 테이블 참고해서 부서코드, 부서명, 지역코드, 지역명(LOCAL_NAME)(, 국가코드) 조회 -- ORACLE구문 SELECT DEPT_ID, DEPT_TITLE, LOCATION_ID, LOCAL_NAME, NATIONAL_CODE FROM DEPARTMENT, LOCATION WHERE LOCATION_ID = LOCAL_CODE; -- ANSI구문 SELECT DEPT_ID, DEPT_..

article thumbnail
[KH정보교육원] 17일차_SELECT 함수
back-end dev/database 2021. 11. 8. 07:58

2021.11.3(수) 함수 vs 메서드 함수: Built-in Function, 인자로 들어온 데이터에 의해 판별함 e.g. LEN(문자열), LEN(정수), LEN(실수) 등 메소드: 참조(객체가 가지고 있는 것(속성, 행위 + '자료형')을 사용하고자 함)할 객체가 필요함 → 특정 자료형(Java에서는 클래스)에만/(내가 만든) 클래스의 객체만 사용할 수 있는 함수 → 자료형/클래스가 명시되지 않으면 사용 불가능, 클래스 안에 없는 메소드는 사용 불가능 e.g. 문자열.length(), Object.toString() 등 함수 전달된 값을 읽어서 계산한 결과를 반환 단일행 함수 + 그룹 함수 🌿 단일행 함수 N개의 값을 읽어서 N개의 값을 리턴 ← 각 행마다 반복적으로 적용되어 입력받은 행의 개수만..

article thumbnail
[KH정보교육원] 16일차_환경 설정, SELECT 기본문법
back-end dev/database 2021. 11. 8. 07:58

2021.11.2(화) 🌿 환경 설정 Oracle, SQL developer 설치 Bootcamp로 설치한 Windows에서 Oracle 접속이 안 되어서, 일단 학원 컴퓨터(Windows) 원격 접속해서 사용 11월 중순 Parallels 구입해서 Windows 설치하고 Oracle 설치 계정 생성 및 접속 🌿 SQL 세미콜론 ; = 논리적인 문장의 끝 → 세미콜론이 나오기 전까지 논리적인 문장이 완성된 것이 아닌 바, 중간에 개행 들어가도 상관없음 → 처음에는 줄 바꿔서 적는 습관(+가독성 향상) 명령어, 키워드, 테이블명, 컬럼명 대/소문자 구분 없으나, 대문자로 쓰는 버릇 들이기 🌱 SELECT 기본 문법 SELECT: 데이터를 조회하거나 검색할 때 사용되는 명령어 Result Set: SELEC..

article thumbnail
[KH정보교육원] 15일차_평가 및 미니팀프로젝트
back-end dev/Java 2021. 11. 7. 15:53

2021.11.1(월) 🌿 프로그래밍언어(Java) 활용 평가 서술형 문제 해결 시나리오 🌿 미니 팀 프로젝트(다형성) (파일 위치: 09polymorphism > src > com > kh > practice > chap01_poly) 📗 소감 Java 문법 후반부 공부를 깊게 하지 못했는데, 그래서 이번 팀 프로젝트 과제가 어렵게 느껴졌다. 다형성 등 객체 지향 개념은 다 이해했다고 생각했는데, 코드로 써지지 않았다.. 또 막상 배열 초기화 등도 직접 해보려니 잘 안 써졌다. 코드는 꼭 손으로 쳐봐야겠다

article thumbnail
[KH정보교육원] 14일차_추상클래스, 인터페이스, 예외처리
back-end dev/Java 2021. 11. 7. 15:51

2021.10.29(금) 🌿 객체 지향 프로그래밍 🌱 추상클래스 표현법: 접근제한자 abstract class 클래스이름 (abstract: 예약어로써, 추상클래스, 추상메소드 선언 시 붙임) 추상메소드가 존재하는 순간 추상클래스로 정의됨 → abstract라는 예약어를 사용해서 정의해야 함 객체 생성이 불가능함 부모 클래스 구실은 가능 → 다형성 적용 가능 추상 클래스 = 미완성 설계도, 구체적인 구현을 빼버리고 추상화만 한 것 추상 클래스 = 추상메소드 + 일반필드 + 일반메소드 → 3가지 모두 생략 가능, 개발자의 역량/판단에 따라 추상 메소드가 없어도 추상 클래스로 정의 가능 사용 examples 개념적으로 개발자가 판단했을 때 해당 클래스가 아직 구체적으로 덜 구현된 상태인 것 같을 때 기술적으..