2018. 4. 9. 11:08

지식인 답변모음 3번에서 14.07월까지 답변했었고, 이후의 답변 추려봤습니다.


------------------------------------------------------------------------------------------------------------------------


질문 제목 : ms-sql 에서 스칼라함수 가 무었인지?? 정의?랑 스칼라함수가 하는일 저장프로시저랑 무었이 다른지 좀알려주세요

내용 : 프로젝트에 넣어야 되는대 데이터 베이스 배워본적이 없어서 어중띄게 일부분 아는대 스칼라 함수에 대해서 잘 모르겠어요 찾아본 책에서는 무슨 단일 값에 적용되어 그 값의 결과를 돌려주는 함수 라는대 무언가 설명이 부족한거 같아요.. 좀더 자세히 알려주시면 감사하겠습니다 


답변 : 스칼라함수는 특정 컬럼을 가공하여 원하는 목적에 맞는 결과값을 돌려주는 역할을 합니다.

select substring('orange', 1, 3) from tableA 라는 쿼리가 있습니다. substring 함수는 인자값 3개를 받으며, 첫번째 인자는 가공하기 전의 컬럼명. 두번째 인자는 시작지점. 세번째 인자는 끝지점 을 의미하며 substring 함수의 목적은 컬럼을 시작지점에서 끝지점 까지 잘라서 그 부분만 리턴하여 보여주겠다. 라는 함수입니다.  substring 이라는 함수명으로 값을 잘라주는 코딩이 내재되어 있기에 사용자는 substring 이라는 함수를 사용할 수 있게 됩니다.

결과값은   ora 가 나오겠지요. oragne  123456    1~3 까지인 ora 가 나오게 되는겁니다.

책에서 단일 값에 적용되어 <- 이부분은 컬럼에 들어있는 값. 즉, 제가 위에서 예시로 든 테이블에서 단일값 = 'orange' 라는 값이 들어있는 컬럼이 되는겁니다. 

여러 행을 지닌 컬럼이라면 여러 값이 들었겠으나 스칼라함수의 경우 각 행별로 처리를 해주기 때문에 단일값이라고 하는겁니다.

그 값의 결과를 돌려주는 함수 <-  이부분은 위에서 명시했듯이 orange 라는 단일값을 잘라내어 ora 라는 결과 를 보내줬다는 뜻입니다.

스칼라함수에는 문자열 함수, 수치 함수, 날짜 및 시간 함수, 타입 변환 함수 등 여러가지가 있습니다.  스칼라 함수를 검색하면 더 자세한 내용을 볼 수 있으며 필요한 정보가 있다면 참고하기 바랍니다.

그리고 스칼라 함수와 저장프로시저의 차이에 대해 물어보셨는데 스칼라함수는 데이터베이스에 탑재된 내장함수를 말하며 표준이 되는 함수로서 다른 사람들도 공통적으로 사용하는 일반적인 함수들을 말합니다. 저장프로시저의 경우 for loop 문이나 if 문 등 다양한 명령어를 사용자가 입력하여 특정 결과를 만들어내는 일종의 사용자 정의 함수 라고 보면 되겠습니다. 저장프로시저의 경우 자세한 내용을 설명하자면 책 한권 이상의 분량이 나올 수 있기에 자세한 설명은 생략하겠습니다.


* 스칼라서브쿼리에 대해서만 생각하고 있었는데 예전에 이전 답변도 달았었군요. 스칼라함수에 대해서는 저 역시 다시한번 정리해봐야 할 것 같습니다. 명칭에 대한 혼동도 옵니다만 확인이 필요한 내용이었군요.


------------------------------------------------------------------------------------------------------------------------


질문 제목 : 오라클관련 질문있습니다~~ 

내용 : 안녕하세요. 기본적인 프로그램관련수업들을 듣고, 오라클수업을 들을 예정인 직장인입니다.

전공이 컴퓨터관련이 아니라, 기본적인 컴퓨터 지식은 없는 상태에서 교육과정이 시작되었습니다. 지금까지 이수한 수업들은 c 언어, java, jsp, 네트워크기초를 들었고, linux 는 현재 1주정도 수업을 남겨두고 있습니다.

맨처음 상담받고 수업에 대해 설명들을 때는 전혀 과정에 대해 모르던 때라서, 직장인과정이라는게 뭔지 몰랐는데, 확인해보니 오라클이  WDP 교육과정과 OAEC 교육과정이 나눠져있더라구요. 근데 오라클교육기간에 대해 담당자와 통화하다가 직장인과정이라 2주정도면 교육과정이 마무리된다고 하더라구요. 제가 주중엔 직장을 다니고 있어서 주말에 수업을 듣고있는데, 오라클수업은 오전부터 저녁까지 진행이 된다고 들었지만, 2주정도면 교육과정이 이수된다는것에 깜짝놀랐습니다.

제가 궁금한건, 오라클교육이 직장인과정일 경우 수업진도정도나 수업이 진행되면서 오라클이나 DB 에 대해서 전혀모르는데 잘 따라갈 수 있을지 의문입니다....ㅠㅠ 혹시 오라클수업에 대해 알고계신 분들이 있다면 답변부탁드립니다~

그리고 제가 수업전에 먼저 공부할 부분이나, 참고가 될만한 책이 있다면 추천부탁드립니다. ^^


답변 : 교육에 대한건 다른분이 남겼으니 현재 오라클을 다루는 개발자로서 답하겠습니다.

전반적인 지식이 없다고 하였으나 컴퓨터 관련 수업들을 들으며 컴퓨터 관련 전공자에 뒤지지 않는 기본 지식은 갖췄을 것입니다. 전공이 컴퓨터라고 해도 기초중의 기초만 배울 뿐이고 좀 더 이론적으로 많이 수업을 들었을 뿐이지, 별 다를건 없습니다.

오라클을 주말에. 그것도 2주간의 시간이면 토일 토일  고작 4일입니다. 하루종일 수업을 듣는다고 하여도 오라클을 공부했다고 보기는 힘듭니다.

다만 접해봤다. 정도는 되겠군요. 수업과정을 잘 모르겠으나 기초적으로 오라클에 대한 전반 적인 설명과 db에 대한 간략한 소개 및 기초 수준의 SQL 문을 작성하며 오라클을 익히리라 예상됩니다. 미리 공부하고 참고 하겠다고 하셨는데 딱히 참고할 필요는 없을겁니다.

기초적인 부분이기에 수업을 듣고, 이해가 안가는 부분은 질문을 통해 해소해도 충분히 따라가리라 생각이 되고요. 조금 더 오랜 기간을 투자하여 공부하고자 한다면  초보자를 위한 오라클10g 가 괜찮겠습니다. 먼저 기초적인 부분을 충분히 숙지한 후에 조금 더 상위 레벨의 책을 공부하는게 도움이 되겠구요

단기간에 보고자 한다면 정보처리기사 자격증 과목 중 데이터베이스 과목이 있는데, 이 자격증 도서를 가볍게 훑어보며 데이터베이스에 대한 이해를 갖고 있다면 도움이 될것입니다.


* 지금은 어떤일을 하실지 궁금한 분이군요. 공부 방법이나 교육 방향은 여러가지가 있습니다..  참 어렵고 누군가의 답변도 좋은 방향이 되겠으나 스스로 고민하고 알아가며 나아가는것 역시 하나의 길이 되겠죠.


--------------------------------------------------------------------------------------------------


이상으로 2014.07.22 까지의 답변이었고, 꾸준히 이어나가겠습니다.  데이터베이스와 관련해서 간단한 질문정도는 언제든지 환영하며, 제가 모르더라도 여러 루트로 알아보고, 배운뒤에 답변을 도와드리도록 하겠습니다. 혹 부족한 답변이 보인다면 언제든 조언 및 지적 환영합니다.



Posted by 타이니스타