SQL
-
[ERwin] ERwin에서 작성한 ERD를 스크립트로 변환하기개발/Tool 2018. 7. 24. 15:08
지난번엔 ERwin을 써서 기존의 테이블들을 ERD로 변환했다면이번에도 역시 ERwin을 써서 ERD를 다시 스크립트로 변환해서 테이블을 생성하는 작업을 해본당작업을 실행하는 메뉴명도 두 작업이 짝꿍을 이룬다. 전자는 Reverse Engineer, 후자는 Forward Engineer임준비물은 간단하다. 작성이 끝난 ERD와 ERwin 만 있으면 끝 * Forward Engineer 기능을 활용하여 ERD를 스크립트로 변환하는 법 우선 Physical ERD 가 필요하다. 완성된 ERD를 Physical 모드로 돌려놓은 후 Tools > Forward Engineer > Schema Generation... 메뉴 선택 그러면 아래와 같은 창이 뜨는데 빨간색으로 표시한 Filter...버튼을 누르면 이렇..
-
DECODE 와 CASE : 과연 그놈이 그놈일까개발/Database 2018. 7. 18. 15:05
DECODE와 CASE를 잘 쓰면 소스 코드 짤 때의 삽질을 엄청나게 줄일 수 있기 때문에 쿼리 짤 때 요놈들을 자주 쓰게 된다.이걸 배울 때는 DECODE와 CASE는 비슷하게 쓰일 수 있다~ 정도로만 이해하고 넘어갔는데오늘 쿼리를 짜면서 문득 이게 별 차이가 없다면 굳이 두개가 다 있을 필요가 없다는 생각이 들었다.그래서 좀 더 파보는 시간을 가져보도록 한다. 1. DECODE DECODE(값, IF1, THEN1, IF2, THEN2, .... ) 2. CASE CASE 값 WHEN IF조건1 THEN1 WHEN IF조건2 THEN2 ....ELSE END 3. 차이점 물론 신택스가 다르므로 쿼리도 달라진다. 예) NUM 컬럼의 값이 1이면 첫번째, 2면 두번째, 3이면 세번째, 다른 값이면 기타를..
-
Spring + MyBatis + DB = 작은 웹사이트 - (9) CRUD개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 28. 21:01
전체 글 목록을 읽어오는 기능과 페이징 처리 기능을 넣었으니 새로 글쓰기, 상세 데이터 조회, 글 수정, 글 삭제 기능을 구현해서 CRUD 풀셋을 완성할 차례다. 처음 밝혔듯이 원래는 상세 조회, 수정, 삭제, 입력을 모두 하나의 jsp 에서 처리할 수 있게 구현하려고 했으나...구체적인 설계 계획없이 일단 만들기 시작하다가 꼬이면서 수정, 입력을 각각의 별도 화면에서 처리하는 것으로 바꿨다. 1. 글 신규 작성 + CKEditor 삽입 목록 조회 화면에서 글 쓰기 버튼을 클릭하면 loaction.href 를 이용하여 글 작성 화면으로 이동한다 $("#toWrite").click(function(){location.href="/home/note/writeNoteView"; }); //게시물 작성 화면@R..
-
[MariaDB] MariaDB 에서 ROW NUMBER() 사용하기개발/Database 2018. 1. 23. 15:23
페이징 기능에 꼭 필요한 기능은 아마도 쿼리 실행 결과 출력된 각 행마다 순번을 매겨주는 ROWNUM 일 것이다. 오라클과 티베로에서는 몇 번 ROWNUM 을 써서 쿼리를 짜본 적이 있으나Maria DB에서도 똑같이 선언하면 당연히 안 될 것 같아서 구글 검색 시작 일단 공식 문서 => https://mariadb.com/kb/en/library/row_number/MariaDB에서는 ROW_NUMBER()를 써서 구현해주면 될 것 같다. Syntax는 아래와 같다고 한다.ROW_NUMBER() OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] ) 오잉?? 제법 다른 DB에서 쓰던 것과 비슷한 모양새가 나온다.Workbench에서 ..
-
Spring + MyBatis + DB = 작은 웹사이트 - (7) 본격 게시판 만들기 서막개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 22:48
오잉 별것도 안했는데 벌써 7번째 포스팅이라니 이게 무슨 일이오아무튼 이번에는 드디어ㅠㅠ 게시판을 붙여보는 시간이다. 되도록이면 한방에 포스팅을 정리하고 싶어서 페이징 처리까지 끝낸 뒤에 글을 쓰려다보니 조금 시간이 걸렸다.참 신기하게도 분명 내가 예전에 써서 잘 돌아갔던 기능들인데 다시 이 프로젝트를 진행하면서 재활용하려니까 안 먹는 것들이 있다.물론 내가 능력이 부족해서 개발환경 세팅이라던가 뭐 그런데서 실수했겠지 ㅠㅠ 하면서도 짜증나는 이 기분덕분에 실무에서는 하루만에 개발 완료할 것을 엄청나게 질질 끌면서 개발했다 흑흑 1. 게시판용 테이블 생성 먼저 DB가 있어야 게시물을 읽고 쓸테니 DB 생성부터 CREATE TABLE `myhome`.`note` ( `sn` VARCHAR(45) NOT NU..
-
Spring + MyBatis + DB = 작은 웹사이트 - (4) 로그인 기능 구현개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 12. 18:15
지난번에 DB 연결을 해두긴 했지만 과연 잘 된건지 의심스럽다.나중에 다시 수정해야한다는 번거로움이 있지만 일단 간단하게 홈화면에 로그인 화면을 구현해서 테스트를 해보고 넘어간다. 1. 데이터 만들기 로그인하려면 아이디, 패스워드 등의 데이터가 기록되는 테이블이 필요하다.아직 테이블을 만들지 않았으니 이참에 테이블을 만들면서 관리자도 만들어준다. CREATE TABLE `myhome`.`user` ( `id` VARCHAR(45) NOT NULL COMMENT 'id', `pw` VARCHAR(45) NOT NULL COMMENT 'password', `nm` VARCHAR(45) NOT NULL COMMENT 'user name', PRIMARY KEY (`id`), UNIQUE INDEX `id_UN..