전체 글 250

[2022.10.20. 목] 오라클 내장함수 - 다중행함수

1. 다중행함수 (그룹함수) 조회된 행들의 집합그룹에 적용되어 그룹당 하나의 결과를 생성하는 함수다. 집합그룹 : 테이블 전체 또는 그룹화된 테이블의 행들을 말한다. 사용시 주의사항 그룹함수는 where절에서 사용할 수 없다. (단일함수는 where절에서 사용 가능) 그룹함수와 그룹함수가 아닌 표현식을 select절에 같이 적을 수 없다. (select절에 단일함수를 같이 사용 불가) 그룹함수의 중첩은 한번만 허용된다. (단일함수는 계속 중첩 가능) group by 절에 등장한 표현식은 그룹함수와 같이 select절에 적을 수 있다. 1-1. 그룹함수의 종류 count(*) : 조회된 모든 행의 갯수를 반환한다. count(컬럼 혹은 표현식) : 조회된 행에서 지정된 컬럼의 값이 null이 아닌 행의 갯..

수업내용/SQL 2022.10.20

[2022.10.19.수] 조인

1. 조인 1-1. 조인 조인은 두 개 이상의 테이블을 연결지어서 데이터를 조회하는 것이다. 오라클과 같은 관계형데이터베이스는 모든 정보를 하나의 테이블에 저장하는 것이 아니라, 데이터가 정규화되어 여러 테이블에 분산되어 있다. 데이터가 여러 테이블에 흩어져 있기 때문에 사용자가 원하는 데이터를 찾기위해서는 여러 테이블을 다 조회해야 한다. 조인은 여러 테이블에 흩어져 있는 정보중에서 사용자가 원하는 정보만 가져와서 가상의 테이블처럼 만들어서 데이터를 조회하는 것이다. 조인을 위해 알아야 할 것 1. 내가 필요로 하는 정보가 어느 테이블에 있는지 알아야 함 2. 조인조건 작성 예시) SELECT EMP.ENAME, DEPT.DNAME -- 나타내고싶은 정보 FROM EMP, DEPT -- 테이블 조인 W..

수업내용/SQL 2022.10.19

[2022.10.18.화] 오라클 내장함수 - 단일행 함수

1. 오라클 내장함수 SQL 작성이 사용할 수 있는 유용한 기능이 제공되는 함수 DBMS 제품마다 조금씩 차이가 있다. 1-1. 오라클 내장함수의 종류 단일행 함수 조회된 행마다 하나의 결과를 반환한다. 단일행 함수는 중첩해서 사용할 수 있다. 종류 문자함수 : 문자를 입력값으로 받아서 계산한 결과를 반환 숫자함수 : 숫자를 입력값으로 받아서 계산한 결과를 반환 날짜함수 : Date 타입의 값에 대한 처리를 수행 변환함수 : 데이터의 타입을 변환하는 처리를 수행 기타함수 : nvl, case, decode 등의 함수가 있다. 다중행 함수(그룹함수) 조회된 행을 그룹으로 묶고 그룹당 하나의 결과를 반환한다. group by 절을 사용해서 조회된 행을 그룹으로 묶고 다중행 함수로 각 그룹당 하나의 결과(합계..

수업내용/SQL 2022.10.18

[2022.10.17.월] JDBC

1. JDBC Java DataBase Connectivity 자바 애플리케이션에서 데이터베이스 액세스(접속해서 SQL실행)에 필요한 객체들의 표준(인터페이스)을 정의 각 데이터베이스 제조사가 java.sql, javax.sql 패키지에 정의된 인터페이스(표준)를 구현해서 자사의 데이터베이스에 액세스할 수 있는 구현클래스를 제공하고 있음 ( JDBC 드라이버 ) 1-1. 주요 API Connection 인터페이스 자바프로그램과 데이터베이스간의 연결을 담당하는 객체다. Statement createStatement() : SQL전송을 담당하는 Statement객체를 반환한다. PreparedStatement prepareStatement(String sql) : SQL전송을 담당하는 Statement객체를..

수업내용/SQL 2022.10.17

[2022.10.14.금] DML (데이터 조회, 정렬, 추가, 변경, 삭제)

1. DML 데이터 조작어다. 데이터의 추가, 조회, 변경, 삭제 명령어다. 1-1. 데이터 조회(SELECT) 1) 데이터조회 테이블의 모든 행, 모든 컬럼 조회 SELECT * FROM 테이블명; * 각각의 열은 이름을 갖고 있음 (Employee 이름, Employee 아이디 등 ) * 각각의 열은 데이터타입을 갖고 있음 NUMBER(4,0) -> 정수 4자리 ( -9999~9999 ) NUMBER(2,2) -> 정수부 2자리, 소수부 2자리 (xx.xx) VARCHAR2(10 BYTE) -> 가변적인 크기의 문자 CHAR(2 BYTE) -> 고정적인 크기의 문자 (한글자 X) (ex 8자리인데 'AB'두개를 저장할 때 VARCHAR2(8 BYTE) ---> 'AB' CHAR(8 BYTE) --->..

수업내용/SQL 2022.10.14

[2022.10.13.목] 데이터베이스

1. 데이터베이스 - 오라클 설치 - sql developer 설치 오라클(DBMS) 안에는 DataBase들이 있고, 리스너도 있고, SQL엔진도 포함하고 있음 오라클을 설치할 때 같이 설치되는 SQL plus 프로그램 (cmd같이 생긴거)에서는 SQL구문을 작성 구문을 작성해서 coneection으로 보내면 커넥션이 SQL엔진으로 보내서 실행 -> db에 엑세스 -> 그 결과를 SQL프로그램에 표시 -> 근데 SQL 프로그램은 좀 불편해 -> 그래서 SQL Developer (오라클 sql developer) 를 이용함 SQL Developer ( 명령어 입력 ) ≠ Oracle (데이터베이스를 갖고있는?) 1. 사용자 계정 생성 ALTER SESSION SET "_ORACLE_SCRIPT" = TR..

수업내용/SQL 2022.10.13

[2022.10.12.수] 예외처리 실습

1. 예외처리 응용해서 과제 다시 풀기 * 예외를 안쓸 경우 null을 반환할 때 - 강좌객체 or null이 반환됨 -> control에서 course가 null이 아닐때 화면에 출력, else이면 "해당하는 강좌가 존재하지 않음" 출력 if(course != null) { } else { } if( courseList.isEmpty() { } ) 이런식으로 따져줘야돼 예외를 발생시켜서 -> 예외를 일괄처리할거야 service에서 예외를 위임하면 -> 그 메소드를 호출한 측으로 던짐 -> 그 메소드를 호출한 control의 메소드 -> 이 메소드를 호출한 측으로 던짐 -> 메뉴() 메소드 에서 예외 일괄처리 오류가 발생할 것으로 예상되는 애들 = while문 내 예외가 발생하면 -> 자바가상머신까지 가..

수업내용/Java 2022.10.12

[2022.10.11.화] 예외처리 활용

1-3. 예외처리 활용 1) 예외처리 위임하기 method1에서 발생이 예상되는 예외가 checkedException 일 때, 반드시 - try catch를 사용해서 직접 예외처리를 하거나 - throws를 사용해서 예외처리를 위임 method2에서 발생이 예상되는 예외가 uncheckedExciption 일 때, - 예외처리를 하지 않아도 된다. - try catch를 사용해서 직접 예외처리를 할 수 있다. 근데 안해도 됨 - 예외처리를 위임시킬 때는 throws를 사용하지 않아도 이 메소드에서 발생한 예외가 이 메소드를 호출한 측에게 예외가 전달되고, 그 호출한 메소드로 예외처리가 위임된다 (위임할 때는 throws를 안적어도 됨) --> throws에 던질 메소드들을 안적어도 되니까 얘를 많이 씀 ..

수업내용/Java 2022.10.11

[2022.10.07.금] 예외처리

1. 예외처리 프로그램 실행 시 발생할 수 있는 오류에 대비하는 것으로 프로그램 비정상종료를 막고 실행 상태를 유지하는 것 1-1. 오류의 종류 1) 에러(Error) 시스템, 운영체제, JVM의 잘못으로 발생되는 것 개발자가 해결할 수 있는 문제가 아님 예외처리의 대상이 아님 2) 예외(Exception) 개발자의 코딩실수나 사용자의 잘못된 프로그램 사용으로 발생하는 오류 예외는 예외처리를 통해서 비정상적인 종료를 예방할 수 있다. 예외는 UncheckedException과 CheckedException으로 구분한다. * 최신의 라이브러리나 프레임워크는 대부분 UncheckedException을 사용 ◼ UncheckedException RuntimeException 클래스와 그 자식 클래스들이다. 주..

수업내용/Java 2022.10.07