목록Back-End (62)
NOW OR NEVER
Spring 어플리케이션을 개발하기 위한 프레임 워크 종류 중 하나 프레임워크: 프로그램을 만들기 위한 기본 틀 혹은 구조(뼈대) 즉 어플리케이션을 만들기 위한 클래스의 모음집을 칭한다. 필요한 이유: 개발하는 과정에서 빈번한 수정에 대한 요구에 유연하게 대처하기 위한 것 과거에는 struts 기반, 지금은 spring 기반 전자정부표준프레임워크 안에 spring과 mybatis 기반으로 되어 있음 주요 특징 Dependency Injection(DI) 의존성 주입 클래스와 클래스 간의 의존을 스프링이 제공 사용자가 수정 요구한 객체를 소스코드 내에 쓰지 않고 스프링의 환경설정 파일에 설정 객체 한번에 수정 가능 일일히 바꾸게 되면 미쳐 못바꾼 객체가 있을 수 있고Aspect Oriented Progra..
데이터 모델링 어플리케이션을 개발하기 앞서 먼저 사용자와의 면접을 통하여 사용자의 요구사항을 파악하여 시스템에 필요한 데이터베이스를 먼저 구축해야 한다. 이때 데이터베이스를 구축하기에 필요한 테이블들을 도출하고 또 각 테이블을 어떠한 속성으로 구성되는지 도출하고 또 각 테이블을 어떤 속성으로 관계가 있는지 설계하는 과정을 데이터 모델링이라고 한다. 데이터 모델링의 결과의 산출물 : 테이블 명세서, 인스턴스 명세서, ER다이어그램(테이블과 테이블 사이의 관계를 그림으로 나타냄) 모델링 과정 요구사항 분석 데이터 모델링을 하기 위해 사용자 면담을 통해 사용자의 요구사항을 기술한다. 논리적 설계(개체관계 모델) DBMS에 구애받지 않고 설계하는 단계 요구사항 명세서를 기반으로 데이터 모델링 함 업무처리에 필요..
데이터베이스 프로그래밍 DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 일반 프로그래밍과는 데이터베이스 언어인 SQL을 포함한다는 점이 다르다. 데이터 베이스 mysql : 소용량 데이터 베이스를 위한 것 oraclr : 대용량 데이터 베이스 PL/SQL sql 언어 중 하나 pl/sql(Procedual Language/Structured : 오라클 전용 DB 프로그래밍 언어 Procedure 프로시저 자바의 메소드처럼 어떤 동작을 하는 sql 명령어를 미리 만들어 놓는다. 자바의 메소드처럼 빈번하게 사용하는 sql 명령어를 프로시저를 만들어 두면 쉽게 사용할 수 있다. 프로시저 생성 create or replace procedure 프로시점이름(변수이름 ..
View 뷰 하나 이상의 테이블을 합하여 만든 가상의 테이블 실제로 존재하지 않는 가상의 테이블( 실제로 존재하지 않는 select한 결과) 자주 사용하는 복잡한 sql을 미리 뷰를 만들어 두어 편리하게 사용 가능 기본문법 create view 뷰이름 [컬럼이름] as select 문 요약 : 실제로 존재하지 않는 가상의 논리적인 테이블을 말하며 복잡한 sql을 미리 뷰를 만들어 둠으로써 쉽게 조회할 수 있고 사용자별 접근 제한을 위해 뷰를 사용한다. 뷰를 통한 추가, 수정, 삭제 가능 뷰를 통한 레코드 추가 뷰에 레코드 추가시 실제 레코드는 뷰를 만들 때 사용한 모테이블에 추가된다. 그렇기 때문에 뷰 생성시 사용한 컬럼 외의 칼럼들은 null을 허용하거나 default값이 설정되어 있어야 view를 통..
내장함수 함수 안에 함수도 작성 가능 숫자 관련 ABS : 절대값을 구하는 함수 round(값, 자리수) 반올림한 값을 구하는 함수 자리 수가 0이거나 생략하는 경우 정수 부분(일의 자리)만 표시(즉, 소수 첫째 자리에서 반올림) 자리 수가 1이면 소수점 첫째 자리까지 표시(즉, 소수 둘째 자리에서 반올림) 자리 수가 -1이면 십의 자리까지 표시(일의 자리에서 반올림) ceil : 무조건 올림 수를 반환하는 함수 floor : 무조건 버림 수를 반환하는 함수 power(숫자, n) : 숫자를 n 제곱승하여 반환하는 함수 sqrt : 숫자를 2제곱승하여 반환하는 함수 문자 관련 문자열은 ' ' 안에 작성 chr(정수) : 정수 아스키 코드 값에 해당하는 문자를 반환 ex) chr(65) --..
데이터 조작어(DML) insert 새로운 레코드(튜플) 삽입 기본 문법 insert into 테이블이름 values (값리스트) 값 리스트는 테이블의 구조와 동일해야 한다. ex) insert into book values(1,'재미있는 자바', '쌍용', 3000); insert into 테이블이름 [(속성리스트)] values (값리스트) 값 리스트는 속성리스트와 동일해야 한다. ex) insert into book(bookname, publisher, price, bookid) values('즐거운 자바', '한빛', 40000,2); not null이나 primary key는 반드시 속성리스트에 포함시켜야 한다. null 제약 ex) in..
데이터 정의어(DDL) create : 테이블 생성 alter : 이미 있는 테이블 구조 변경 drop : 테이블 삭제 create 문 테이블을 구성하고 속성과 속성에 관한 제약을 정의하고 기본키 및 외래키를 정의하는 명령 create table 테이블이름(속성이름 데이터타입 제약, ... ) 속성들은 ,로 구분 데이터 타입 정수형 : number 가변형 문자타입 : varchar2(글자수) varchar2의 괄호 안은 최대 늘어날 수 있는 크기(글자 수)를 뜻한다. 넣은 데이터가 3바이트라면 3바이트만큼만 차지한다. ex) varchar(20) : 최대 20바이트까지 저장할 수 있다. 단 한글은 3바이트 차지한다. 제약 속성이름 데이터타입 [not null | unique | default 기본값 | ..
데이터베이스 연동 프로그램 데이터베이스 연동프로그램을 만들 때 에는 VO와 DAO를 만드는 것이 일반적이다. value object(VO): 데이터베이스 테이블을 객체로 표현하기 위한 클래스 dataBase Access Object (DAO) : 데이터베이스에 접근하여 검색, 추가, 수정, 삭제의 명령을 수행하는 클래스 컴퓨터를 웹서버로 꾸미기 위해 톰캣 설치 https://tomcat.apache.org/download-90.cgi 32-bit/64-bit Windows Service Installer 자바(jdk) 설치된 경로에 설치 c\Tomcat으로 설치 chrome 주소 창에 localhost:8080 Tomcat 연결 잘 되면 고양이 그림과 함께 Tomcat 사이트 나옴 실행하고 있는 tomc..
Sub Query 부속질의, 하위질의, 중첩질의, 내부질의 라고도 한다. sql 문장 안에 포함되는 또 다른 sql문을 말한다. ex) select bookname from book where price = (select max(price) from book); select ename from emp where dno in (select dno from dept where dloc = '서교동'); =, in 등 다양한 연산자 활용 가능 main query : 주 질의, 외부질의 똑같은 문제를 조인 혹은 서브쿼리로 표현할 수 있다, 자료의 수가 적을 때는 별 차이 없지만 레코드 수가 많을 때는 성능의 차이가 있다. 자료의 수가 많을 때는 조인 보다는 서브쿼리를 권장한다. 서브쿼리가 조인보다..
Select 문 where : 집계 함수를 적용할 조건식, 어떤 대상에 대하여 총 개수를 구하고, 총합을 구할 것인지에 대한 조건을 where에 작성 having : where의 결과에 대하여 조건식을 주는 것, 즉 group by 절에 나타난 결과에 대하여 조건식을 표현할 때 사용하는 것 컬럼 연산 가능, 연산된 컬럼을 group by, order by 등에 활용 가능 : 칼럼연산 별칭 ex) salary * 0.1 인상액 join 관계형 데이터베이스에서 검색하고자 하는 컬럼이 두 개 이상의 테이블에 있을 때 사용 두 개 이상의 테이블을 합치는 것 조인식 조인을 할 때에는 두 개의 테이블에 공통으로 들어가는 칼럼으로 조건식(where 절) 표현(테이블1.공통칼럼 = 테이블2.공통칼럼) ex) custo..