본문 바로가기

분류 전체보기

(52)
KOSA fullstack 교육(Javascript Basic, Chart JS) Basic JS1. DataType 2. function 함수 익명 함수는 메모리에 먼저 올려야 사용할 수 있는 함수이다.즉, 함수를 선언한 이후에 호출해야 하며, 일반적으로 변수에 할당하여 사용하는 방식이다. 반면 선언적 함수(선언식 함수)는 호이스팅(hoisting) 덕분에,코드의 순서와 상관없이 먼저 메모리에 등록되기 때문에 함수를 선언하기 전에 호출해도 정상적으로 실행된다. 함수는 오버라이딩이 가능하다. 3. arrowFunction es6문법인 arrow함수이다. 의미는 달라지지 않는다. 실행하면 익명함수가 호출된다. 순서가 '선언적 함수 -> 익명함수 -> 호출' 인 것을 확인할 수 있다. 4. variablevar을 하지 않아도 출력이 된다. error가 난다. 왜냐하면 var..
KOSA fullstack 교육(DB 모델링, 정규화) 디비 모델링 단계설명주요 작업개념 설계사용자의 요구를 바탕으로 DB의 큰 틀을 설계 엔터티 추출핵심 속성 식별논리 설계개념 모델을 논리적으로 구체화기본키(Primary Key) 설정일반 속성 정의엔터티 간 관계 설정 (1:1, 1:N, N:M 등)정규화(Normalization) 수행 (중복 제거, 이상 현상 방지)물리 설계 실제 DBMS에서 구현 가능한 구조로 변환테이블(Table) 생성 자료형(Data Type) 지정인덱스, 제약조건 등 최적화 요소 설계 이제 모델링을 직접 해보자!모델링은 이클립스에 exerd를 추가해서 실습해보았다. http://exerd.com/update/exerd/3.x 개념 모델링엔터티를 추출하였다. 논리 모델링우선 속성을 추출하였다. 신체정보 테이블은? 회사입장에서..
KOSA fullstack 교육(테이블 제약조건, 트랜잭션) 테이블 데이타 타입문자형char(10)5글자 입력 시 나머지 5칸은 공백 공간으로 채워진다 - 고정길이varchar(10)5글자 입력시 나머지 공간은 채워지지 않고 5칸으로 이루어진다 - 가변길이숫자형int decimal(6,2)전체 숫자 6개, 소수점 2자리날짜형date년, 월, 일datetime년, 월, 일, 시, 분, 초timestamp날짜 + 시간, 시스템 변경 시 자동으로 update SQL 하위 언어DML(데이타 조작 언어) - INSERT, DELETE, UPDATE, SELECTDDL(데이타 정의 언어) - CREATE, DROP, ALTER, TRUNCATEDCL(데이타 제어 언어) - COMMIT, ROLLBACK, SAVEPOINT, GRANT, REVOKE AUTO_INCREMENT..
KOSA fullstack 교육(서브쿼리) 서브쿼리 (= Inner 쿼리)반대어로 메인쿼리(=Outer 쿼리)라고 한다 서브 쿼리는 하나의 SQL문 안에 포함되어 있는 또다른 SQL문 서브쿼리는 ?에 해당하는 부분을 먼저 검색하는 데 사용된다서브쿼리가 먼저 실행되고 그 결과를 사용해서 메인쿼리가 실행된다.서브쿼리에서는 order by절이 의미없다종류로는 WHERE/HAVING/FROM절이 있다. 예시) ADAMS의 급여보다 더 많은 급여를 받는 사원을 검색 단일행 연산 서브쿼리 예제예제 1 ) 10번 부서에서 근무하는 사원들중에서 사원 전체의 평균급여보다 더 많은 급여를 받는 사원을 검색SELECT ename, salFROM empWHERE sal > (SELECT AVG(sal) FROM emp) AND deptno = 10; 예제 2 ) ..
KOSA fullstack 교육 (JOIN) JOIN하나 이상의 테이블에서 질의를 던지는 경우 발생한다.일반적인 경우 Primary Key와 Foreign Key 값의 연관에 의해서 발생한다.Primary Key를 가지고 있는 테이블이 부모가 되고, Foreign key를 가지고 있는 테이블이 자식이 된다.JOIN의 종류는 여러가지가 있지만 대표적으로 EQ JOIN, Self JOIN, Outer JOIN이 있다.PK, FK의 관계 지정이 없어도 논리적인 값들의 연결만으로도 JOIN 작업을 할 수 있다. 각각의 사원이 어느 부서에서 일하는 지 검색해보자JOIN을 사용하지 않는다면 모든 테이블을 다 꺼내봐야 할 것이다.SELECT * FROM EMP;SELECT * FROM DEPT;SELECT * FROM EMP, DEPT; Cartesian Pr..
KOSA fullstack 교육(JDBC 4단계 과정) JDBC 4단계DAO클래스에서 CRUD를 구현해보자. public class CustomDAO { public CustomDAO() throws SQLException{ //디비서버 연결 Connection connection = DriverManager.getConnection(ServerInfo.URL, ServerInfo.USER, ServerInfo.PASS); System.out.println("서버 연결"); // PreparedStatement 생성 String queryString = "INSERT INTO custom(id,name,address) VALUES(?,?,?)"; PreparedStatement ps1 = connection.prepareStatement(que..
KOSA fullstack 교육(Having 절, RollUP 절, JDBC 4단계) Having 절SELECT job, deptno, count(*) 개수, avg(sal) 평균급여, sum(sal) 총급여FROM empGROUP BY job, deptnoORDER BY 1,2;-- 부서별 평균 급여가 2000달러 이상인 부서의 부서번호와 평균급여를 검색-- step 1-- where절에서는 alias 사용 못함, 그룹함수 사용 못함-- 아래와 같이 짜면 오류남.SELECT deptno, avg(sal) AvgSalaryFROM empWHERE avg(sal) >= 2000GROUP BY deptno;-- step 2SELECT deptno, avg(sal) AvgSalaryFROM emp GROUP BY deptnoHAVING avg(sal) >= 2000..
KOSA fullstack 교육(변환함수, 날짜함수, case문, 그룹함수) 변환함수 -- 1. DATE_FORMATSELECT date_format(curdate(), '%y-%m-%d') TODAY;SELECT date_format(curdate(), '%y %m %d') TODAY;SELECT date_format(curdate(), '%y.%m.%d') TODAY;-- 2. SELECT curdate()-'2025-05-18' 기간; -- 잘못된 값이 출력SELECT curdate()-str_to_date('25-05-18','%y-%m-%d') 기간; -- 올바른 값이 출력 -- 3.SELECT (curdate() - CONVERT('25-05-18', DATE)) TODAY;-- 사원의 연봉을 구함 (모든 연봉에 해당하는 값을 INTEGER로 변환)-- SAL * 12..