전체보기
-
Real MySQL [7-5] 쿼리 작성 및 최적화 - MySQL 내장함수 (날짜, date 관련)MySQL 2017. 1. 3. 22:32
본 게시물의 내용과 이미지는 도서 Real MySQL의 내용을 재구성하여 작성되었습니다. 저자, 출판사에 의해 저작권 문제 발생시 게시물이 비공개 될 수 있음을 알립니다. MySQL 내장함수 DBMS 종류에 관계없이 기본적인 기능의 SQL 함수는 대부분 동일하게 제공되지만 함수 이름이나 사용법은 표준이 없어 DBMS별로 거의 호환되지 않는다. 포스팅에 작성된 내장함수는 사용자 정의 함수와 혼동하지 않도록 주의하자. NULL 값 비교 및 대체 (IFNULL, ISNULL) IFNULL()은 칼럼이나 표현식의 값이 NUL인지 비교하고 NULL 이면 다른 값으로 대체하는 용도로 사용할 수 있는 함수다. IFNULL() 함수에는 두 개의 인자를 전달하는데, 첫 번째 인자는 NULL 인지 아닌지 비교하는 칼럼이나..
-
Real MySQL [7-4] 쿼리 작성 및 최적화 - MySQL 연산자 (BETWEEN, IN)MySQL 2017. 1. 3. 20:02
본 게시물의 내용과 이미지는 도서 Real MySQL의 내용을 재구성하여 작성되었습니다. 저자, 출판사에 의해 저작권 문제 발생시 게시물이 비공개 될 수 있음을 알립니다. BETWEEN 연산자 BETWEEN 연산자는 "크거나 같다"와 "작거나 같다"는 두 개의 연산자를 하나로 합친 연산자다. BETWEEN 연산자는 다른 비교 조건과 결합해 하나의 인덱스를 사용할 때 주의해야 할 점이 있다. 동등 비교 연산자와 BETWEEN 연산자를 이용해 부서 번호와 사원 번호로 dept_emp 테이블을 조회하는 다음 쿼리를 한번 생각해 보자. SELECT * FROM dept_emp WHERE dept_no='d003' AND emp_no=10001; SELECT * FROM dept_emp WHERE dept_no ..
-
[78번째 책] 공자가 죽어야 나라가 산다 (★★★★☆)1000권 독서 2017. 1. 2. 22:07
저자가 이야기하고자 하는 주제는 '유교에 물들어 버려 인식하지 못하는 정치, 경제 사회, 일상 의 모습들을 타파해야한다' 는 것이다. 책을 읽으며 굉장히 마음이 편하진 않았다. 그 말은 곧 내가 유교주의 사상에 많은 영향을 받았다는 뜻이기도 했다. 전개되는 어투가 굉장히 공격적이기 때문에 비판이 아닌 비난이 아닐까 싶은 생각도 들었지만 다양한 관점에서 뿌리깊게 우리의 생활에 파고든 유교주의의 모습들을 바라보며 어느정도의 반성과 개선은 필요하다는 생각이 들었다. 일상에서 귀에 거슬리고 맘에 들지 않는 이야기를 듣고 살아간다는 것은 개선의 여지가 있으며 분명히 잘되어질 가능성이 높다는 뜻이라 생각한다. 하지만 주변에 좋은이야기, 듣기좋은 말만 가득하다면 삶의 방향이 제대로 향하고 있는지 다시 한번 재고해 보..
-
Real MySQL [7-3] 쿼리 작성 및 최적화 - MySQL 연산자MySQL 2017. 1. 2. 21:28
본 게시물의 내용과 이미지는 도서 Real MySQL의 내용을 재구성하여 작성되었습니다. 저자, 출판사에 의해 저작권 문제 발생시 게시물이 비공개 될 수 있음을 알립니다. MySQL 연산자 동등(Equal) 비교( =, ) 동등 비교는 다른 DBMS와 마찬가지로 "=" 기호를 사용해 비교를 수행하면 된다. MySQL은 동등 비교를 위해 "" 연산자도 제공한다. "" 연산자는 "=" 연산자와 같으며, 부가적으로 NULL 값에 대한 비교까지 수행한다. 위 예제와 같이 NULL은 "IS NULL" 연산자 이외에는 비교할 방법이 없다. 하지만 Null-Safe 비교연산자를 이용해 비교한 결과를 보면 양쪽 비교 대상 모두 NULL이라면 TRUE를 반환하고, 한쪽만 NULL이라면 FALSE를 반환한다. 즉 "" 연..
-
UML [3] - Class DiagramUML 2016. 12. 30. 23:29
본 게시물은 도서 [UML 실전에서는 이것만 쓴다]의 내용을 재구성 하여 작성하였습니다. 본 게시물이 출판사/작가의 저작권의 침해할 소지가 있는 경우 비공개/삭제 될 수 있음을 알립니다. 다수성 객체는 다른 객체들의 배열이나 벡터를 가질 수 있으며, 같은 종류의 객체라도 배열이 아니라 여러 인스턴스 변수에 따로 가질 수도 있다. UML에서는 이런 상황을 연관의 먼 쪽 끝에 다수성(multiplicity) 표현식을 적어서 표현한다. 다수성 표현식은 단순한 숫자나 숫자 범위를 사용하거나, 또는 이 둘을 같이 사용할 수도 있다. 아래의 예시는 다수성을 사용하는 BinaryTreeNode 이다 다음 형식들을 사용할 수 있다 - 숫자 원소의 정확한 숫자 - * 또는 0..* 0개 또는 그 이상 - 0..1 0개 ..
-
Real MySQL [7-2] 쿼리 작성 및 최적화 - MySQL 연산자, 내장 함수MySQL 2016. 12. 30. 22:54
본 게시물의 내용과 이미지는 도서 Real MySQL의 내용을 재구성하여 작성되었습니다. 저자, 출판사에 의해 저작권 문제 발생시 게시물이 비공개 될 수 있음을 알립니다. 매뉴얼의 SQL 문법 표기를 읽는 방법 SQL에서 각 키워드는 위의 그림과 같이 키워드나 표현식이 표기된 순서대로만 사용할 수 있다. 표기법에 대문자로 표현된 단어는 모두 키워드를 의미한다. 키워드는 대소문자를 특별히 구분하지 않고 사용할 수 있다. 대괄호("[ ]")는 해당 키워드나 표현식 자체가 선택 사항임을 의미한다. 즉 대괄호로 묶인 키워드나 표현식은 없어도 문법적인 오류를 일으키지 않으며, 있어도 문법적인 오류가 발생하지 않음을 의미한다. 파이프("|")는 앞과 뒤의 키워드나 표현식 중에서 단 하나만 선택해서 사용할 수 있음을..
-
UML [2] - Class DiagramUML 2016. 12. 30. 22:10
본 게시물은 도서 [UML 실전에서는 이것만 쓴다]의 내용을 재구성 하여 작성하였습니다. 본 게시물이 출판사/작가의 저작권의 침해할 소지가 있는 경우 비공개/삭제 될 수 있음을 알립니다. 클래스 스테레오타입 클레스 스테레오타입은 보통 클래스의 이름 위에 놓인 길러맷(guillemet) 사이에 적는데, 아마 본 적이 있을 것이다. 아래의 그림의 표기가 바로 클래스 스테레오타입이다. 자바 프로그래머가 사용할 만한 두 가지 스테레오타입은 와 다 이 스테레오 타입이 붙은 클래스의 메서드는 모두 추상 메서드이므로, 어떤 메서드도 구현해서는 안된다. 그리고 클래스는 인스턴스 변수를 가지지 못한다. 오직 정적(static) 변수만 가질 수 있다. 이것은 자바의 인터페이스에 정확히 대응된다. 클래스의 모든 메서드와 변..
-
UML [1] - Class DiagramUML 2016. 12. 30. 21:44
본 게시물은 도서 [UML 실전에서는 이것만 쓴다]의 내용을 재구성 하여 작성하였습니다. 본 게시물이 출판사/작가의 저작권의 침해할 소지가 있는 경우 비공개/삭제 될 수 있음을 알립니다. 클래스 다이어그램 맛보기 그림 1.2의 클래스 다이어그램(class diagram)은 프로그램 안의 주요 클래스와 주요 관계를 보여 준다. 다이어그램을 보면 TreeMap이라는 클래스가 있고, 이 클래스에 add와 get이라는 public 메서드가 있다. 그리고 TreeMap이 topNode라는 변수로 TreeMapNode 객체를 참조하며 모든 TreeMapNode는 nodes라는 컨테이너에 다른 TreeMapNode 인스턴스 두 개의 참조를 담아 두는 것도 알 수 있다. 그리고 모든 TreeMapNode는 itsKey..