SQL 19
-
마이바티스 마이바티스의 장점 현재는 DAO에서 모든 SQL문을 상단배치하여 관리하고 있다. Mybatis를 사용하게 되면 SQL 구문을 전부 .xml로 분리해서 관리하게 된다.그럼 .java 파일에 SQL 코드가 모두 사라지게 되고, 이로 인해 자바 코드가 짧아져 가독성이 좋아진다.또한 결합도가 낮아지고 응집도가 높아진다.(SQL 코드와 JAVA 코드가 있어야 할 곳에 있기 때문)이로 인해 유지보수도 용이해진다는 장점이 있다. SQL 구문에 변경사항이 발생했을 때 과거에는 .java가 변경 --> 재컴파일러가 필요했다.Mybatis 사용하게 되면 .xml로 변경하기 때문에 컴파일이 필요하지 않아 비용절감 효과가 있다. 마이바티스를 사용하기 위해 이클립스에서 플러그인 설치가 필요하다. 마이바티스 ..
-
DBMS 오라클 → MySQL로 이관작업을 진행한다. 기존 오라클에서 날짜 컬럼은BOARD_REGISTRATION_DATE DATE DEFAULT SYSDATE -- 작성 날짜DATE 타입, default SYSDATE 로 설정되어 있다. MySQL에서는 날짜 관리하는 타입에 DATE / DATETIME / TIMESTAMP 등이 있다. 오라클에서의 DATE 타입은 날짜와 시간을 모두 저장하는 타입인데,MySQL에서 DATE와 DATETIME은 구분되어 사용한다고 한다. DATE : 날짜만 저장DATETIME : 날짜와 시간을 모두 저장TIMESTAMP : 날짜와 시간을 모두 저장, 서버의 시간대에 따라 자동으로 조정TIMESTAMP의 경우 시간대 변환을 처리해 주는 타입이다. (만약 한국에서 작성한 ..
-
페이지네이션페이지네이션이란 웹 사이트에서 데이터를 여러 페이지로 보여줄 수 있는 기능을 의미한다. 이번 프로젝트에서 페이지네이션 기능을 구현하기 위해,DB파트에서 요청에 맞는 데이터를 잘라 서버 측에 전달해 주기로 했다. 사용자가 페이지 번호를 선택하면, 해당 페이지 번호가 DB로 넘어오게 되고,이 넘어온 페이지 번호를 이용해 데이터를 계산하고 원하는 데이터만 잘라서 다시 반환한다. 우리는 한 페이지 당 9개의 데이터를 보여주기로 결정했고, 이때 계산되는 방식은BETWEEN (선택한 페이지 번호-1)*9+1 AND 선택한 페이지 번호*9;가 된다. 하지만 이 데이터를 그냥 찾아서 보내줄 수 없기 때문에,ROW_NUMBER() 라는 함수를 사용해 순번을 매긴 뒤 BETWEEN을 사용해 원하는 범위의 데이..
-
-
MySQL 다운로드 방법 1) MySQL 다운로드 페이지로 이동 2) MySQL Community Server 선택 3) Version : 8.0.39 선택 후 Go to Download Page 선택 4) 아래에 있는 Download 선 5) No Thanks, just start my download. 선택하여 파일 다운로드 6) 2번째 사진에서는 Execute, 다 되면 Next 버튼이 뜸. Next 버튼 쭉 클릭 7) 비밀번호 입력 후 또 쭉 Next > 클릭 8) 또 Execute -> 후 Finish CLC로 DB 생성하기1) MySQL Command Line Client 실행 후 패스워드 입력 2) CREATE DATABASE 유저명 DEFAULT CHARACTER SET UT..
-
CHECK 제약조건 CHECK 제약조건은 해당 열에 들어갈 수 있는 데이터를 제한할 수 있는 제약조건이다. CREATE TABLE RESERVATION( -- 예약 RESERVATION_NUM INT PRIMARY KEY, -- 예약 번호 PK RESERVATION_PAYMENT_NUM INT NOT NULL, -- 결제 번호 FK RESERVATION_REGISTRATION_DATE DATE NOT NULL, -- 예약 날짜 RESERVATION_STATUS VARCHAR(20) DEFAULT '예약완료' NOT NULL CHECK(RESERVATION_STATUS IN('예약완료','예약취소')) --예약 상태); 위의 컬럼 중 RESERVATION_STATUS는 예약 상태를 나타내는 ..
-
NOT NULL 제약조건NOT NULL 제약조건은 해당 열에 NULL을 허용하지 않는다는 제약조건이다. CREATE TABLE MEMBER( -- 회원 MEMBER_ID VARCHAR(255) PRIMARY KEY, --PK MID MEMBER_PASSWORD VARCHAR(20) NOT NULL, -- 비밀번호 MEMBER_NAME VARCHAR(20) NOT NULL, -- 이름 MEMBER_PHONE VARCHAR(20) -- 전화 번호); 위와 같이 MEMBER 테이블을 생성할 때NOT NULL을 해당 컬럼에 적으면 제약조건을 걸어 테이블을 생성할 수 있다. NOT NULL 제약조건은 NULL을 허용하지 않기 때문에, 데이터를 INSERT 할 때 NULL인 데이터가 삽입된다면오류가 ..
-
JOINFK의 값을 보고 외부 테이블의 값을 끌고 오는 SQL 문법이다. 예제!)현재 대학교 테이블과 동아리 테이블2개의 테이블이 있다.CREATE TABLE A( NUM INT PRIMARY KEY, NAME VARCHAR(50) NOT NULL, SCORE INT); --대학교 테이블CREATE TABLE B( NUM INT PRIMARY KEY, NAME VARCHAR(50) NOT NULL, AAA INT NOT NULL -- FK == 상대 테이블인 A테이브의 PK값만 받아올 수 있다. (NUM)); --동아리 테이블 B테이블에서 FK키를 사용해야 하기 때문에,FK제약조건을 사용한다.ALTER TABLE B -- B 테이블 변경할건데,ADD CONSTRAINT FK_AAA..
-
FKFK는 한 테이블의 컬럼이 다른 테이블의 PK를 참조할 때 사용된다.FK는 무조건 상대 테이블의 PK를 받아와야 한다. ex1)대학교 테이블이 있다.해당 테이블에는 학번 / 이름 / 과 / 동아리 / 전공의 내용이 있다.이때, 축구부의 인원이 너무 많아져서 세분화시키기로 했다고 가정한다. : 축구부 / 축구관람부로 나뉨.그랬더니 야구부에서도 우리도 야구부가 아니라 야구관람부다 >> 동아리명 변경 필요하다 요청함 대학교 테이블의 동아리 컬럼에서 데이터 항목을 하나하나 변경하기에는 매우 비효율적이다. 이러한 경우, 별도의 동아리 테이블을 만들어준다.이렇게 만든 테이블의 PK값(동아리 번호)을 대학교 테이블의 FK 값으로 지정하여 데이터를 관리할 수 있다. 이런 식으로 대학교 테이블의 동아리 컬럼에동아리..
-
SQL문의 기초SQL문은 대소문자 구분을 하지 않는다.create CREATE Create... 등 대소문자를 섞어서 사용해도 동작은 잘 되지만,자바와 함께 사용하기 때문에 가독성 때문에 모두 대문자로 작성한다. SQL문은 크게 두 가지가 있다.1. 테이블 SQL생성 CREATECREATE TABLE 테이블명( 속성, 필드, attribute, property, 멤버변수 작성);CREATE TABLE PRODUCT( NUM INT PRIMARY KEY, -- PRIMARY KEY == PK NAME VARCHAR(150) NOT NULL, PRICE INT, CNT INT DEFAULT 0 -- DEFAULT 0 == 기본값 0 -- 수량을 말하는 변수명에는 COUNT..
-
오라클 다운로드 후 계정 생성, 자바 이클립스와 연결하는 방법에 대해 정리!(현재 오라클 설치까지 완료된 상태!) 계정 생성1. 명령 프롬프트 실행(시작메뉴에서 cmd 혹은 명령 프롬프트 검색) 2. 오라클에 접속하기 위해 명령어 입력 : sqlplus sys/oracle as sysdba (최상위 접근 방식을 통한 오라클 접근)노트북에서는 정상적으로 됐었는데 본가에서 PC로 다시 다운로드하려니 에러 발생함.인터넷 검색하여 찾아낸 결과 : sqlplus /nolog 로 명령어 입력. (오라클 명령 프롬프터인 SQL> 을 실행시키라는 뜻!) 3. 현재 오라클에 연결되어 있지 않은 상태이기 때문에 연결 필요.connect sys/오라클 설치시 입력한 비밀번호 as sysdba 4. 계정을 생성하는 SQL문을..
-
객체를 생성, 변경, 삭제하는 데이터 정의어데이터 정의어를 사용 시 유의점데이터 정의어는 명령어를 수행하자마자 데이터베이스에 수행한 내용이 바로 반영된다.따라서 이전에 사용한 데이터 조작어는 영구적으로 데이터베이스에 반영된다.(ROLLBACK 불가) 따라서 사용시 주의를 기울여야 한다. 테이블을 생성하는 CREATECREATE는 오라클 데이터베이스 객체를 생성할 때 사용하는 명령어이다.CREATE TABLE 소유 계정.테이블 이름( 열1 이름 열1 자료형, 열2 이름 열2 자료형, ... 열N 이름 열N 자료형);이때 소유 계정 이름은 생략 가능하다.🍀테이블 이름 생성 규칙1. 테이블 이름은 문자로 시작해야 한다. (한글도 가능, 숫자 시작 불가)2. 테이블 이름은 30b..