개발 246

오라클(oracle) rank(), row_number() 순위함수 사용 예제

안녕하세요.오늘은 오라클 함수에 대해 설명하고자 합니다.오라클 뿐만 아니라 mssql에서도 사용이 가능 합니다.mysql, postgre 등의 다른 DB는 확인해보셔야 할 것 같습니다. 순위를 뽑아내는 rank() 함수에 대해 알아보겠습니다.이런 함수는 알아둬야 나중에 검색이라도 해서 활용 할 수 있습니다. 기본 랭크 함수입니다.구분을 위해 쿼리는 파란 네모 표시로 하겠습니다. rank() 함수select sno, cost, rank() over(order by nvl(cost,0) desc) rank from pt_02;cost가 null값이면 0으로 처리하였습니다.또한 내림차순으로 정렬하였습니다.rank 출력문을 보시면 1,2,3,4,5,5,7 로 출력되는것을 볼 수 있는데cost 값이 500으로 똑..

개발/DB 2019.11.13

데이터베이스(DB) 정규화(1차,2차,3차)

안녕하세요.현재 필자는 오라클 데이터베이스를 필두로 하여 데이터베이스에 대해 공부하는 중 입니다.여러가지 Sql 쿼리문들도 있지만 이번엔 정규화에 대해서 알아보고자 합니다.실제 개발자분들은 현업에서 실제 사용할 일이 있을지는 모르겠지만기본 개념으로 알아두시면 좋을듯 싶습니다.저 또한 그런 의미로 정리를 하고자 합니다. 정규화의 목적☞ 데이터를 보다 효율적으로 저장하고, 데이터 중복을 방지하며, 저장 공간이 낭비되는 테이블 설계를 제거하기 위함 정규화를 논할때는 일반적으로 1차, 2차, 3차 정규화를 대상으로 합니다.그럼 이제 정규화에 대해 알아보도록 하겠습니다. 1차 정규화 정의☞ 반복되는 속성이나 그룹의 속성을 제거하고, 새로운 테이블을 추가한 후에 기존 테이블과 일대다 관계를 형성하는 것을 의미합니다..

개발/DB 2019.11.10

drop, delete, truncate 차이점 및 개념 이해하기

안녕하세요.오늘의 포스팅 주제는 DROP, TRUNCATE, DELETE 명령어에 대해 알아보고자 합니다.그리고 차이점을 알아보도록 하겠습니다. TRUNCATE 명령어개념 : 테이블의 데이터를 전부 삭제하고 사용하고 있던 공간을 반납 설명 - 해당 테이블의 데이터가 모두 삭제되지만 테이블 자체가 지워지는 것은 아님 - 해당 테이블에 생성되어 있던 인덱스도 함께 truncate 됨사용 : TRUNCATE TABLE lee_Table; DROP 명령개념 : 테이블 자체를 삭제하는 명령어설명 - 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 인덱스도 삭제됨 - 오라클 10g부터는 테이블이 삭제되는 것이 아니라 윈도우의 휴지통 개념처럼 잠시 삭제됨 그리고 테이블 이름이 BIN$..로 변경됨사용 : ..

개발/DB 2019.11.06

파티션 종류 및 개념 알아보기(Hash Partition, List partition, composite partition)

안녕하세요.계속해서 파티션(partition)에 대하여 알아보고 있습니다.파티션에 사용되는 파티셔닝 기법이라는 것과실제 쿼리 작성하여 실습을 통해 range 파티션을 알아보았습니다.이전 포스팅 글 입니다. [개발/DB] - [오라클(oracle)] range 파티션(partition) 알아보기[개발/DB] - [오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝) 이번 포스팅에서는 실습을 진행하지 않을 것입니다.이유는, 앞서 실습을 통해 알아봤던 range 파티션을 실습해보니..... 부분적으로 캐치만 하면 다른 파티션 기법을 사용할 수 있다고 생각하기 때문입니다. 지금부터 다른 파티션에 대해 알아보겠습니다. range partition(범위 파티션) - 복습장점 : 사용하고 관리하기 쉬움단점 ..

개발/DB 2019.11.05

[오라클(oracle)] range 파티션(partition) 알아보기

안녕하세요.지난 포스팅에서는 파티셔닝에 대한 간략한 개념을 포스팅하였습니다.[개발/DB] - [오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝) 그리고 오늘은 파티션을 실제 실습하는 포스팅을 하려고 합니다.실습은 Range PARTITION(범위 파티셔닝)을 실습하였습니다. 사용하는 쿼리를 적으며 어떻게 쓰는지 경험 및 개념만 알아둔다면다른 파티션들의 사용법은 약간이 쿼리 차이가 있을뿐 응용할 수 있을것 같습니다. Range PARTITION(범위 파티셔닝)특정 기준에 의해서 범위를 나눌 때 사용하는 방법입니다.실습은 판매 테이블을 파티셔닝 하는데 판매 날짜를 기준으로 범위를 나누었습니다.가장 기본적이면서도 많이 사용되는 파티셔닝 기법이라고 합니다. 지금부터 쿼리는 파란 네모박스에 기재하겠습..

개발/DB 2019.10.28

[오라클(oracle)] sql merge 기능 설명 및 예제

안녕하세요.오늘은 sql 문법을 소개하고자 합니다.바로 merge 문법 입니다. 제가 직접 실습한 위주의 포스팅을 하고자 하기때문에...정의 및 문법은 간략하게 설명드리겠습니다. 설명Merge 는 말 그대로 병합 입니다.두개의 테이블을 하나로 합치는 것 입니다.저는 처음에 insert into A select * from B이런식으로 단순 합병이 가능하여 merge의 기능을 얕잡아 봤는데중요한 것은 merge의 기능은 조건에 따라 update, delete가 가능 하다는 것입니다. 문법 merge into Table1 using Table2 on (병합조건절) when matched then update set 업데이트 내용 delete where 조건 when not matched then insert..

개발/DB 2019.10.22

[오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝)

안녕하세요.오라클의 파티션 테이블에 대해 포스팅하고자 합니다.저도 자세히 모르기 때문에 하나씩 적어가며 정리하고 있습니다.바로 시작하겠습니다. 오라클 테이블에서 중요하고도 많이 사용되는 형태의 테이블 입니다. 모든 컴퓨터의 작동 원리는 동일합니다.평소에 데이터를 파일에 저장해 두고 해당 데이터가 수정되거나 조회되는 경우 메로리로 복사한 후 메모리에 작업하게 됩니다.이 공간을 일반적으로 버퍼(Buffer)라고 부릅니다.이렇게 작업을 하는 이유는 디스크 vs 메모리 처리속도를 비교하였을때 메모리에서의 처리속도가 월등히 빠르기 때문입니다. 오라클에서는 이때 사용하는 메모리를 Database Buffer Cache(데이터베이스 버퍼 캐시)라고 합니다.Database Buffer Cache라는 공간을 Tables..

개발/DB 2019.10.21

[오라클] Join 원리, 개념 파악하기(loop join, sort_merge join, hash join)

안녕하세요.차근차근 개념부터 잡아가며 정리하기위해 책들을 읽고 정리하고자 합니다.오늘은 오라클, mysql 등 DB에서 사용하는 join의 원리를 파악하고자 합니다. 대부분... 같은 컬럼을 연결해서 무심코 사용하고 있지 않나요?저는 오라클을 공부하고있기 때문에 오라클을 기준으로 하겠습니다. 먼저, DBMS의 작동 원리 입니다.평소에 데이터는 하드 디스크의 데이터 파일에 저장해 두었다가필요한 시점에 메모리로 복사 해 옵니다.(이때의 메모리 = 데이터베이스 버퍼 캐시) 여기서 중요한 것은 100개의 칼럼을 가진 테이블에 Select를 통해 1개의 컬럼을 수행할 경우에도 100개의 컬럼을 모두 접근하게 됨으로 조심해야하며,정규화가 중요합니다. 이제 여기서 자주 들었던 Join의 종류가 나오기 시작합니다.1)..

개발/DB 2019.10.19

윈도우 절전모드 USB 키보드 미인식 문제 해결

안녕하세요.저는 현재 윈도우10을 사용중에 있습니다.그리고 컴퓨터는 2대를 사용하는 KVM이라는 변환기를 사용하고 있습니다.이 변환기를 사용하여 컴퓨터는 2대를 사용하고, 키보드와 마우스는 각 1대를 사용하고 있습니다.그런데 이상한 현상이 발생했습니다.2대의 컴퓨터가 동일한 조건인데 컴퓨터의 절전 모드시에 키보드를 누르면 인식이 안되는 것이었습니다.지금부터 절전모드에서 USB인식을 하지 못하는 상황을 방지하기위해 설정 방법을 소개하겠습니다. 바탕화면에서 우클릭을 합니다.여러 메뉴가 나오는데 '디스플레이 설정' 으로 들어갑니다. 바로 빨색으로 표시되어있는 '추가 전원 설정'으로 갑니다.절전에 관련되어 있는 설정을 할 수 있습니다. '설정 변경'이라는 메뉴가 있는데 표시되어 있는 곳 중 아무곳이나 들어가도 ..

개발/윈도우 2019.09.27

[선형구조]자료 구조의 개념 정리(리스트, 스택, 큐, 데크)

지금까지 자료구조를 대충 여겨왔네요...이참에 하나씩 정리하려고 합니다. 자료 구조의 정의프로그램에서 사용하기 위한 자료를 기억장치의 공간내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다. ○ 자료 구조는 자료의 표현과 그것과 관련된 연산 ○ 자료 구조는 일련의 자료들을 조직하고 구조화하는 것○ 어떠한 자료 구조에서도 필요한 모든 연산들을 처리하는 것이 가능○ 자료 구조에 따라 프로그램 실행시간이 달라짐 자료 구조의 분류 자료 구조의 이용○ 정렬(Sort) : 기억장치 내의 자료를 일정한 순서에 의해 나열하는 것 ○ 검색(Search) : 기억장치 내의 자료를 찾는 것○ 파일 편성 : 자료를 기억 매체에 저장할 때의 파일 구조○ 인덱스 : 파일에..

개발/java,spring 2019.09.10