전체 글 39

[SQLD] SQL기본_TCL/WHERE절

TCL(트랜잭션 제어어)COMMIT, ROLLBACK, SAVEPOINTDML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어- 효과 데이터 무결성 보장영구적인 변경을 하기 전 데이터 변경사항 확인 가능논리적 연관된 작업 그룹핑하여 처리 가능(Default) ORACLE - Not Auto Commit / SQL Server - Auto Commit DDL 명령어CREATE, ALTER, RENAME, DROP직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL 명령어를 입력하는 순간 명령어에 해당하는 작업이 즉시(Auto Commit) 완료된다. DML 명령어INSERT, UPDATE, DELETE, SELECT조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실시간으로 ..

IT/SQLD 2017.11.20

[SQLD] 엔티티

[ 엔티티 ] 엔티티명사업무상 관리가 필요한 관심사저장이 되기 위한 어떤 것(Thing) 엔티티 특징1. 업무에서 필요로 하는 정보2. 식별이 가능해야 함3. 인스턴스의 집합4. 업무프로세스에 의해 사용5. 속성을 포함6. 관계의 존재 엔티티의 분류1. 유무형에 따른 분류- 유형엔티티물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔티티로 업무로부터 엔티티를 구분하기 가장 용이- 개념엔티티물리적인 형태가 존재하지 않고 관리해야할 개념적 정보로 구분이 되는 엔티티- 사건엔티티업무를 수행함에 따라 발생되는 엔티티 2. 발생시점에 따른 분류- 기본엔티티그 업무에 원래 존재하는 정보로서 다른 엔티티와 관계에 의해 생성되지 않고 독립적으로 생성 가능, 타 엔티티의 부모 역할- 중심엔티티기본엔티티로부터 발생되고..

IT/SQLD 2017.10.20

ORACLE → MSSQL 쿼리 변환

1. NULL값 치환 NVL → ISNULL2. 문자열 연결 || → +3. 차집합 MINUS → EXCEPT4. 교집합 INTERSECT → NOT EXIST5. 조건표현식 DECODE → CASE ~ WHEN ~ THEN6. 문자열 길이 LENGTH → LEN7. 문자열 자르기 SUB → SUBSTRING8. 나눗셈 MOD(M, N) → M % N9. 올림 CEIL → CEILING10. 버림 TRUNC(M, N) → ROUND(M, N, 1)11. 프로시저 실행 BEGIN → EXCEPT12. 숫자나 날짜를 문자열로 변환 TO_CHAR → CONVERT13. 현재 날짜, 시간 SYSDATE → GETDATE14. 조인 (+) → OUTER JOIN15. 공백제거 TRIM(STR) → LTRIM(RT..

IT/Database 2017.10.18

[SQLD]데이터 모델링의 이해

[ 데이터 모델링의 이해 ] 모델의 세가지 관점1. 데이터 관점업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법(what, data)2. 프로세스 관점업무가 실제 하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법(how, process)3. 데이터와 프로세스의 상관관점업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법 데이터 모델링의 중요성1. 파급효과2. 복잡한 정보 요구사항의 간결한 표현3. 데이터 품질 데이터 모델링의 유의점1. 중복(Duplication)2. 비유연성(Inflexibility) : 데이터의 정의를 데이터의 사용 프로세스와 분리해야함3. 비일관성(Inconsistency) : 데이터와 데..

IT/SQLD 2017.06.16

[스프링/Spring]AOP 개념

AOP(Aspect Oriented Programming) : 관점 지향 프로그래밍 기능을 핵심 비지니스 로직과 공통 모듈로 구분하고, 핵심 로직에 영향을 미치지 않고 사이사이에 공통 모듈을 효과적으로 잘 끼워넣도록 하는 개발 방법이다. 공통모듈(트랜잭션/로그/보안/인증 처리 등)을 만든 후에 코드 밖에서 이 모듈을 비지니스 로직에 삽입하는 것이 바로 AOP 적인 개발이다. 코드 밖에서 설정된다는 것이 핵심이다. 자체적인 언어라기보다는 기존의 객체 지향 프로그래밍(Object Oriented Programming) 언어를 보완하는 확장 형태로 사용되고 있다. 자바에서 사용되는 AOP도구 중 대표적인 것으로 AspectJ, JBossAOP, SpringAOP가 존재한다. AOP가 사용되는 경우 1. 간단한..

IT/Programming 2017.06.10

스택, 큐, 데큐

스택(Stack) -스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 후입선출(LIFO:Last In First Out) 구조로 되어 있다. -입출력이 모두 한 방향에서 이루어지는 데이터 구조이다. -입출력이 가능한 쪽을 TOP, 바닥을 BOTTOM이라고 한다. -TOP은 출력 우선순위가 가장 높은 요소를 가리키고 있다. -입출력을 할 위치를 표시하기 위해서 TOP(포인터 사용)이 필요하다. -TOP을 통해서 데이터를 넣는 것을 PUSH라고 하고, 꺼내는 것을 POP이라고 한다. -스택을 구현하는 방법은 배열과 연결 리스트가 있다. 배열의 큰 단점은 처음 생성한 크기를 바꿀 수 없다는 점이다. 그래서 순차적으로 데이터를 추가하고 삭제하는 스택은 배열리스트(Array List)와 같은 배열기반의 컬렉션 클..

IT/Java 2017.05.25

Model2 MVC 패턴

MVC 패턴 MVC 패턴은 GUI 기반 Application 설계 패턴이다. 클라이언트의 요청을 받아 처리하여 응답하는 로직을 MVC 패턴은 Model, View, Controller로 나누어 소프트웨어를 개발하는 설계 방식이다. MODEL 모델은 2가지의 역할을 한다. 첫 번째는 비지니스로직(비지니스 서비스)인 일의 흐름(work flow)를 처리하고, 두 번째는 데이터베이스 관련 로직(DAO)을 처리한다. 프로그램 내부의 데이터 처리를 한다. 사용자가 입력한 데이터나 출력할 데이터를 다룬다. Java Beans VIEW 사용자들에게 보여지는 부분이다. 사용자 인터페이스 요소라고 할 수 있다. 모델이 처리한 데이터나 그 작업 결과를 사용자에게 화면으로 출력하여 보여준다. JSP CONTROLLER 사용..

IT/Java 2017.05.24

배열/배열리스트/연결리스트

배열(Array) - 배열은 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다. 메모리 할당이 연속적이어서 인덱스를 사용하면 원하는 데이터를 한번에 접근이 가능하기 데이터 접근 속도가 매우 빠르다. 하지만 메모리 관리면에서 공간 낭비가 심하다. 또한 배열은 데이터의 삽입/삭제에는 취약하다. 배열 특성상 데이터 삽입/삭제가 이루어지면 삽입/삭제가 이루어진 위치의 다음부터 모든 데이터의 위치를 변경해야 하기 때문이다.만약 배열 데이터의 수가 10000개라고 하고 삽입/삭제가 빈번하게 일어난다고 가정을 하고 생각을 하면 프로그램은 데이터 삽입/삭제 때마다 데이터의 위치를 바꾸는데만 많은 자원을 사용할 것이다. 이것은 매우 비효율적이다. 배열리스트(ArrayList) - 배..

IT/Java 2017.05.24

객체 지향 프로그래밍(Object-Oriented Programming)

자바 객체 지향 프로그래밍(Object-Oriented Programming) 1. 다형성생성하는 객체의 타입이 여러 형태로 나타나게 하여 다양한 기능을 이용할 수 있도록 하는 것이다.즉, 여러 개의 개별적인 클래스를 하나의 부모클래스 객체로 통합 관리하여 효율성을 높인다.public class Car{ Tire tire1 = new koreaTire(); Tire tire2 = new japanTire();}자바에서 다형성을 지원하는 기능으로 오버로딩과 오버라이딩이 있다. 오버로딩(중복정의)함수명은 같지만 매개변수의 자료형태를 달리 주어서 재정의 해주는 것이다.정적바인딩(실행할 메소드를 컴파일 하는 시간에 결정)public void test(int x)public void test(double x)te..

IT/Java 2017.05.23