블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total652,955
Today8
Yesterday77
데이터베이스에는 수많은 데이터들이 저장되어 있다. 그 데이터를 불러오지 않으면 그것은 모두 쓸모없는 데이터들이 된다. 데이터베이스에서 데이터를 불러오기 위해서는 SELECT 라는 명령문을 사용하게 된다.



SELECT문 사용하기
셀렉트는 데이터를 출력하기 위한 가장 기본적인 명령이다. 데이터베이스에서의 기초라고 할 수 있다. 오라클레서 제공하는 XE 버전을 설치하게 되면 'HR' 계정이 있는데, 이것은 데이터베이스에 대한 연습을 하기 위해 이미 테이블들이 생성되어 있기 때문에, 기본적인 데이터베이스에 대한 연습을 하기에는 충분하다. 먼저 테이블의 목록을 보기 위해서 다음과 같이 입력하도록 한다.

SELECT * FROM TAB;

이것은 해석하자면 'TAB' 라는 테이블의 모든 정보를 보여달라는 것이다. SELECT '컬럼명' FROM '테이블명' 의 형식으로 사용되는 것이다. '*' 은 모든컬럼을 표시하라는 의미이고, 'TAB' 은 테이블명이다. 'TAB' 테이블은 사용자가 만드는 것이 아니라 데이터베이스에서 자동으로 만들어지는데, 그 사용자의 테이브에 대한 정보를 가지고있다. 위의 쿼리문을 입력하면 'HR'계정이 가지고 있는 테이블에 대한 정보를 보여줄 것이다.

보여지는 테이블 중에서 employees 테이블의 정보를 보고 싶다면..

SELECT * FROM employees;

위의 쿼리는 'employees' 테이블에 있는 모든 컬럼들과 정보를 보여줄 것이다. 이중에서 특정 부분(직원 번호, 이름, 급여) 만을 보고 싶다면 컬럼명을 명시하여 검색을 할 수 있다.

SELECT employee_id, last_name, salary FROM employees;

각 컬럼들은 콤마를 이용해 구분하도록 한다.



좀더 세밀한 검색하기.
기본 쿼리문에 WHERE 을 통해서 좀더 상세한 조건으로 원하는 결과를 검색을 할 수 있다. 특정한 데이터 값을 갖는다던지, 큰것과 작은것을 비교하는 것이 가능하다.

SELECT employee_id, last_name, salary FROM employees WHERE last_name = 'King';
SELECT employee_id, last_name, salary FROM employees WHERE salary > 10000;
SELECT employee_id, last_name, salary FROM employees WHERE last_name IN ('King', 'Abel', 'Smith');

위의 첫번째쿼리문은 'King'이란 이름을 갖고 있는 데이터를 보여주고, 두번째는 급여가 20000 보다 높은 사람의 데이터를 보여준다. 마지막의 쿼리문은 이름이 'King', 'Able', 'Smith'인 모든 사람을 보여주게 된다. 그 이름이 포함되지 않은 사람을 검색하고 싶다면 'IN' 대신에 'NOT IN'을 사용하면 된다. 그리고 조건이 여러개가 있을경우에는 함께 AND 와 OR 을 사용하여 조건을 추가하는 것이 가능하다.

SELECT employee_id, last_name, salary FROM employees WHERE last_name = 'King' AND salary > 10000;
SELECT employee_id, last_name, salary FROM employees WHERE last_name = 'King' OR salary > 10000;

급여가 10000 이상 20000 이하인 사람의 데이터를 검색하기 위해서는 부등호와 AND 를 조합하여 사용할 수 있지만, 'BETWEEN ~ AND' 를 사용해서도 표현할 수 있다.

SELECT employee_id, last_name, salary FROM employees WHERE salary >= 10000 AND salary <= 20000;
SELECT employee_id, last_name, salary FROM employees WHERE salary BETWEEN 10000 AND 20000;

위의 두 식은 같은 결과 값을 출력하게 된다. 일부 데이터중에는 값이 없는 것이 있을 수도 있는데, 이것은 'NOT NULL' 과 'IS NOT NULL' 의 식으로 표현할 수 있다. 직원들 중에서 커미션이 없는 직원들을 보고싶다면..

SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE commission_pct IS NULL;

위와 같은 방식으로 쿼리문을 작성할 수 있을 것이다.



문자열을 비교하기.
직원의 이름들 중에서 'K'를 포함하는 사람들 검색하고 싶다면 어떤 조건을 주어야 할지 고민이 될 것이다. 특정 문자를 포함하는 조건을 주고 싶을땐, 'LIKE' 를 사용해서 검색할 수 있다.

SELECT employees_id, last_name, salary FROM employees WHERE last_name LIKE '%k%';
SELECT employees_id, last_name, salary FROM employees WHERE last_name LIKE '__k%';

'%' 기호는 한자리 이상의 모든 문자를 의미한다. '%k%' 는 'k' 를 포함하는 모든 문자열이 되는 것이다. '_'는 한 문자를 가르킨다. '__k%' 는 세번째 문자가 'k'인 모든 문자를 의하는 것이다. 이제 문자열에 대해서도 원하는 결과를 도출할 수 있게 되었다.



Date 로 검색하기.
오라클의 데이터 타입에는 문자열(char, varchar), 숫자(number), 날짜(date) 형식이 있다. Date 타입이 기본적으로 보여주는 형식은 'YY/MM/DD'의 모습을 가지고 있다. 현재의 시간을 나타내는 데이터로 'SYSDATE'를 사용할 수 있는데, 매우 세밀한 시간의 정보까지 가지고 있어서 자세한 시간의 출력을 하는것까지 가능하다.

SELECT SYSDATE FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(10000, '$999,999') FROM DUAL;

위의 쿼리문에서는 간단하게 날까지만 출력을 하는 것이 가능하다. 쿼리문에서 사용된 'DUAL'은 테이블이 없는 상태에서 데이터를 출력하고자 할때, 가상의 테이블을 만들어주는 역할을 한다. 아래의 쿼리문은 현재의 시간을 '년도-월-날 시간:분:초'의 형식을 출력형식을 지정해주어 나타낼때 사용된다. 이때 사용되는 TO_CHAR() 라는 함수는 날짜의 형식뿐만 아니라 세번째의 쿼리문처럼 통화의 형태를 나타내는 것도 가능하다. 이와 비슷하게 TO_NUMBER() 라는 함수는 인자로 들어온 문자열을 숫자로 바꾸어주는 기능을 가지고 있다. 물론 안에 포함되는 문자는 숫자의 형태를 가지고 있어야 한다.

문자열 형태도 변환된 날자 데이터는 일반적인 문자열 검색과 동일하게 검색하는 것이 가능하다. 원하는 년도나, 월에 포함된 데이터를 선택한다던지, 일정기간내의 데이터를 검색하는 것도 가능하다.

SELECT employee_id, last_name, to_char(hire_date, 'YYYY/MM/DD') FROM employees
WHERE TO_CHAR(hire_date, 'YYYY/MM/DD') BETWEEN '1997/0101' AND '1997/12/31';

SELECT employee_id, last_name, to_char(hire_date, 'YYYY/MM/DD') FROM employees
WHERE TO_CHAR(hire_date, 'YYYY/MM/DD') LIKE '1997%';

위의 두 쿼리문은 1997년에 속한 데이터들을 출력해줄 것이다.
Posted by seanhigher

댓글을 달아 주세요

오랜 기간동안 컴퓨터를 사용하다보면, 예전에 사용했거나, 만들어 두었던 파일들이 필요할 때가 생기기 마련이다. 하지만, 이상하게도 꼭 필요할 때는 쉽게 찾을 수가 없다. 나중에 우연히 그것을 발견하고나서 잘 정리해둘껄 하고 후회해도 이미 늦어버렸다. 애플의 큰 장점중 하나는 사용자가 고민하지 않도록 만들어 준다는 것이다.





Spotlight 는 조명 아닌가?
Spotlight는 사전적인 의미로 조명, 빛에 의해 비춰지는 부분을 이야기한다. 하지만, 맥에서의 Spotlight 는 단순한 빛이 아니다. 사용자가 원하는 것을 비춰주는 똑똑한 빛이다. 윈도우에서는 '찾기' 라는 기능을 통하여 원하는 파일이나 필요한 파일들을 찾고자 하지만, 그 과정이 만만치 않다. 그런 기능이 있는지 모르는 사용자들도 있을 정도?? 화면의 오른쪽 상단에 위치해 있는 Spotlight는 언제든지 원하는 파일을 찾을 준비를 하고 있다. 아무때나 'Ctrl' + 'Space' 키를 누르고, 찾고자 하는 키워드을 입력하면 된다. 그리고 놀랍도록 빠르다!


그냥 찾아보자.
맥을 처음 설치하고 사용을 하다보면, 점점 더 빨라지는 듯한 느낌을 받을 수 있다. 그건 사용자가 알지못하는 무언가를 컴퓨터가 하고 있기 때문이다. Spotlight 는 사용자가 원하는 파일을 가장 빠르게 찾을 수 있는 방법중의 하나로 인덱싱 기능을 사용한다. 파일이 가지고 있는 정보를 요약하여 리스트를 만들어 놓는것이다. 스폿라이트에 키워드를 입력함과 동시에 검색결과를 볼 수 있다.


그림1. Spotlight 실행


Spotlight 검색을 실행하기 위해서는 오른쪽 윗부분에 있는 돋보기 아이콘을 클릭하거나 'Ctrl' + 'Space' 키를 누르도록 한다. 위와 같이 Spotlight 가 활성화되고, 빈칸에 찾고자 하는 데이터의 키워드를 입력하도록 한다. 키워드의 글자가 하나하나 입력될때마다 실시간의 가장 알맞는 정보들을 항목별로 구분하여 보여주게 된다.


그림2. Spotlight 검색결과

위의 그림과 같이 가장 연관성 높은 항목을 보여주고 도큐먼트, 폴더, 메시지, 연락처등 다양한 항목으로 구분하여 보여준다. 메일이나, 각종 문서, 그리고 PDF 안에 포함되어 있는 항목까지도 검색하여 결과값을 보여준다. 각 항목을 선택하면 응용프로그램이 실행되고 선택된 항목의 내용을 볼 수 있다. 가장 먼저 보여진 항목중에 찾고자 하는 내용이 없을 경우에는 '모두 보기'를 선택하면 파인더 화면에서 더 많은 항목을 볼 수 있다.


그림3. 검색결과 모두 보기

Spotlight 를 통해서 보던 결과보다는 훨씬 더 많은 결과들을 볼 수 있다. 파인더 창에서는 좀더 자세한 조건으로 검색이 가능하다. 오른쪽 위에 있는 '+' 모양의 버튼을 클릭하여 조건을 추가하는것이 가능하다. 파일 이름, 사용일, 생설일, 검색 영역 등 세부적인 검색 조건을 입력 할 수 있고, 더 추가하는 것도 가능하다.


Spotlight 환경설정.
Spotlight 의 환경설정은 시스템 환경설정에서 가능하다.

그림4. 시스템 환경설정


그림5. Spotlight 환경설정

Spotlight 환경설정에서는 검색항목을 설정할 수 있다. 항목에 나와있는것들은 검색을 통해서 나올 수 있는 분류와 같다. 또한 체크가 되어 있는 항목에 대해서만 검색 결과를 보여주며, 그 순서도 동일하다. 만약 음악이나 동영상에서만 검색을 하고 싶다면 음악과 동영상 부분에만 체크를 해주고, 나머지 부분에서는 모두 체크를 해제해주면 된다. 기본적으로 Spotlight 를 활성화 시키는 단축키는 'Ctrl' + 'Space' 키로 셋팅이 되어 있지만, 다른키로 변경이 가능하다. Spotlight 윈도우는 그림3과 같이 검색을 위한 윈도우를 말한다. 하지만, 간단하게 파인더의 검색창에 검색을 하면 자동으로 Spotlight 윈도우 모드로 변환 된다.


그림6. 개인정보 설정

검색결과 탭을 통해서 검색항목을 설정할 수 있지만, 정해진 영역에서만 가능하다. 개인설정탭에서는 검색을 원치 않는 부분에 대해서 검색을 방지할 수 있다. 기본적으로 Spotlight 는 현재 사용자의 맥에서 검색이 가능한 모든 영역에 대해서 검색을 실시하기 때문에 다른 사용자와 공유가 되어 있을 경우 중요한 개인정보가 유출될 가능성도 있다. 하지만, 중요한 정보가 속해있는 폴더를 검색에서 방지해 놓으면 Spotlight 의 검색영역에서 제외된다.

원하는 파일을 찾고자 할때 찾을 수 없다면 그 자료는 자료로써의 의미를 잃어버리는 것과 마찬가지이다. 적절하게 잘 찾아내는 것도 사용자의 능력을 키우는 하나의 기술과도 같다. Spotlight 기능을 사용한다면 더이상은 필요한 자료를 먼지나게 쌓아두는 일은 없을 것이다.
Posted by seanhigher

댓글을 달아 주세요

우리나라 최고의 검색포털인 네이버에서 자신의 블로그 이름을 검색해보자, 하지만 나올것 같은 내 블로그가 전혀 나타나지 않는다. 무엇이든 검색만 하면 나올것 같은 네이버인데... 네이버가 나를 배신한건가? 네이버 블로그가 아니어서 검색을 해주지 않는걸까? 후자의 답변에는 완전히 부정할 순 없지만, 그렇다고 지금까지 해온 블로그를 검색을 위해 네이버 블로그로 옮기기엔 리스크가 너무 크다.


네이버의 에서 외부 블로그 검색
블로그를 하면서 한가지 안타까운 사실은... 무엇이든 검색만 하면 나올것 같은 네이버에서 내 블로그의 이름을 검색하여도 아무것도 나오지 않는다는 사실이다. 단지 네이버 블로그만 검색결과에 포함이 된다는 것! 그것은 기업의 입장에서 보면 당연한 이치일 수도 있지만, 네이버 외의 블로그를 사용하고 있다면 낭패가 아닐 수가 없다. 우리나라에서 블로그를 하기 위해서는 네이버로 이사를 해야 하는건가?? 하는 걱정을 안해도 될것 같다. 우리나라 최고의 인터넷 대기업이 다른 블로그에게도 아량을 배풀어 주었으니... 외부RSS 등록을 통하여 네이버 검색결과에 내 블로그가 나오도록 할 수가 있다. 한가지 넘어야 할 산이 있긴 하지만...


외부RSS등록 신청.
네이버에서는 외부RSS 등록이라는 방법을 통하여 외부의 블로그들도 검색 결과에 포함할 수 있도록 하고 있다. 하지만 아이디가 있다고 다 되는 것은 아니다 네이버에서 정한 기준에 의하여, 신청자의 블로그가 네이버의 검색에 도움이 될만한 정보를 포함하고 있는지에서부터, 주기적인 포스팅은 이루어지고 있는지, 정보는 정확하고 저작권의 침해는 없는지 등을 검사하여 검색에노출 할 수 있도록 하고 있다. 외부RSS등록을 신청하기 위한 페이지로 이동 해보도록 하자.


그림1. 외부RSS 신청메일 작성

네이버에서 외부RSS를 적용하기 위해서는 서비스 중에 선택을 하는것이 아니라, 메일을 접수를 하면, 네이버에서 확인을 한후 승인을 해 주는 시스템으로 되어 있다. 무분별한 블로그 등록을 막기 위한 방법이기도 하지만, 조금은 번거롭다는 생각이 든다. 외부RSS를 등록하는 내용으로 나오는것이 아니라 이메일 문의중에 포함되어 있어서 무어라고 말을 쓰기가 매우 애매하다. 적절한 표현을 들어 정성껏 문의 메일을 보내도록 한다.


그림2. 문의 내용 확인

문의 메일을 보내기 전에 한번 확인 과정을 거치게 된다.


그림3. 접수 완료

문의 내용을 확인한 후 '확인'버튼을 누르면 문의 메일이 정상적으로 접수 되었다는 내용이 나온다. 이제 네이버에서 내 블로그를 확인하고 등록해 주기를 기다려야 한다.
Posted by seanhigher

댓글을 달아 주세요

  1. 2010.04.29 00:08 신고 철이와 똘이  댓글주소  수정/삭제  댓글쓰기

    와우 좋은정보 감사합니다. !! ^^

  2. 2010.07.05 18:35 신고 닉쑤  댓글주소  수정/삭제  댓글쓰기

    저도 다음이랑 네이버에서 왜 내 블로그가 검색이 안될까 했었는데, 어제 등록했답니다. ㅎ
    검색 등록이죠. 아직 기다리는 상태구요.

    그리고 외부 rss등록도 해놨긴 한데.. 네이버. 아직 허가가 안 난듯하네요.
    근데 다음도 rss등록을 따로 해야되는지 궁금하네요. 찾아봐야겠네요.ㅎ

    여튼, 좋은 그 잘 읽고 갑니다. 이제 블로그 시작한지 얼마 안됐는데 초보한테 도움이 되는글이 많네요.!!
    ㅋ 좋은 하루 되세요~

  3. 2010.09.06 20:01 신고 이재미  댓글주소  수정/삭제  댓글쓰기

    이런 방법이 있었군요 저는 네이버는 처음 알았어요 좋은 정보 정말 감사합니다 ^^

최근에 달린 댓글

글 보관함