본문 바로가기
728x90
반응형

DB30

CODE [day_04] DB / 06. SEQUENCE 시퀀스 - NOCACHE(SQL 쿼리, java JDBC) + nextval-currval 활용 캐쉬 기능을 사용하지 않는 옵션인 NOCACHE 옵션을 활용한 SEQUENCE 예제 SQL MOVIE TABLE 생성 CREATE TABLE movie( idNUMBERPRIMARY KEY, titleVARCHAR2(100)NOT NULL, attendanceNUMBERDEFAULT 0); movie_seq SEQUENCE 생성 : cache기능을 사용하지 않겠다는 옵션을 할당 -- > 비정상 종료 시에도 번호가 이어지도록 CREATE SEQUENCE movie_seq NOCACHE; INSERT INSERT INTO movie(id, title) VALUES (movie_seq.nextval, '8월의 크리스마스'); SELECT SELECT* FROMmovie; [ MOVIE TABLE ] JAVA .. 2020. 8. 11.
[day_03] DB / 06. SQL 기본 4 - Oracle SEQUENCE 시퀀스 [ Review 복습 ] Java application JDBC Interface DBMS - Connection - PreparedStatement - ResultSet - Oracle SQL - Mysql - mssql JDBC Interface 사용 이유 : 응집도 ↑ 결합도 ↓ → 데이터 베이스의 종류는 다양하기 때문에, 단일한 방법으로 사용하기 위해서, Java application에서 JDBC의 인터페이스를 implements(구현)하기만 하면 사용할 수 있는 간편함을 지니기 때문이다. (Encapsulation) → DBMS에서 데이터가 변경되더라도, interface에서 연동이되기 때문에 유지보수에 용이하다 (Polymorphism 다형성) JDBC 실행단계 정보 조회 시 정보 수정 시 1.. 2020. 8. 10.
CODE [day_03] DB / 05. SEQUENCE 시퀀스(SQL 쿼리, java JDBC) SQL GUESTBOOK Table 생성 CREATE TABLE guestbook( guestbook_noNUMBERPRIMARY KEY, titleVARCHAR2(100)NOT NULL, contentVARCHAR2(1000) NOT NULL ); guestbook_seq Sequence 생성 CREATE SEQUENCE guestbook_seq; INSERT INSERT INTO guestbook(guestbook_no, title, content) VALUES(guestbook_seq.nextval, '즐거운 8월', '열공'); JAVA JDBC TestDAO class (main class) 1. 새로운 DB 등록 - register method 2. 등록된 DB 출력 (최근 등록된 순으로 출력.. 2020. 8. 10.
CODE [day_03] DB / 04. JDBC - SELECT, COUNT 함수, INSERT, ORDER BY, SELECT에 조건주기 (StringBulider 활용) Test (main class) 1. Primary Key인 product id로 상품정보를 검색하는 예제 /TestTestProductDAO1.java package test; import model.ProductDAO; import model.ProductDTO; public class TestProductDAO1 { public static void main(String[] args) { try { ProductDAO dao = new ProductDAO(); String id = "1"; // dto ok id = "a"; // dto = null ProductDTO dto = dao.findProductById(id); if (dto == null) System.out.println(id + ".. 2020. 8. 10.
[day_02] DB / 05. 기본 SQL 3 - Oracle 함수 COUNT (*) : row 개수 반환 SELECTCOUNT(*) FROMPRODUCT; -- PRIMARY KEY column으로 검색해서 0 또는 1 값을 조회할 수 있다 ( 유무 확인 : 0 - 없음, 1- 있음) product 테이블에서 id가 1인 row는 있기 때문에 1 반환, id가 ab인 row는 없기 떄문에 0 반환 SELECTCOUNT(*) FROM PRODUCT WHEREID = '1'; -- 있으면 1 SELECTCOUNT(*) FROM PRODUCT WHEREID = 'AB'; -- 없으면 0 MIN([column name]) : 최소값 - 숫자형 컬럼일 경우, 사용가능 SELECTMIN(PRICE) FROMPRODUCT; MAX([column name]) : 최대값 - 숫자형 컬.. 2020. 8. 8.
[day_02] DB / 04. 기본 SQL 2 - DDL (CREATE, ALTER), DML (INSERT, UPDATE) DATA TYPE 오라클 권장 문자열 타입 → VARCHAR2(20) MySQL, MSSQL → VARCHAR(20) DDL CREATE CREATE TABLE TYPETEST( NAMEVARCHAR2(9)PRIMARY KEY, --NOT NULL, 중복X MONEYNUMBERNOT NULL ); ALTER -TABLE 정보를 변경할 때 1. CREATE 단위에서 사용 : 제약 조건 중 dafault를 사용 ex) HIT NUMBER DEFAULT 0 으로 제약조건을 설정하면 별도로 HIT에 정보를 INSERT하지 않아도 0으로 초기화 CREATE TABLE ALTERTEST( IDVARCHAR2(100)PRIMARY KEY, HITNUMBERDEFAULT 0 ); --별도로 HIT값을 INSERT하지 .. 2020. 8. 7.
[day_02] DB / 03. JDBC (Java Database Connectivity) JDBC (Java Database Connectivity)란? → 자바 데이터베이스 프로그래밍 API → 자바 어플리케이션과 데이터베이스 연동을 위한 기술 : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 "프로그래밍 인터페이스"이다. JDBC API Java 표준 제안자(Sun MicroSystems) : JDBC 명세(기준)를 제공한다 DB Vendor : JDBC 명세를 기준으로 JDBC API를 개발하여 배포한다 Java 응용 프로그램 개발자 : DB Vendor에서 배포한 JDBC API를 받아 JDBC 명세를 보고 프로그램을 작성한다 * java.sql library 설명링크 : https://docs.oracle.com/javase/8/docs/api/java/.. 2020. 8. 7.
CODE [day_02] DB / 03. JDBC - DAO, VO class 활용 [ class 종류 ] VO : Value Object or DTO : Data Transfer Object - 정보 저장을 위한 Class - 데이터베이스의 Table과 연관됨 ex) MemberDTO DAO : Data Access Object - Repository - 데이터베이스 연동 로직을 가지고있는 객체 main class 1. MemberDAO()의 findMemberById(id)를 구현해보는 예제 - primary key인 id를 이용해 MEMBER TABLE의 회원정보가 전달하는 id에 부합되면, MemberVO 객체를 반환받고, ID에 해당하는 회원이 없으면 null을 반환한다. /TestMemberDAO.java package test; import java.sql.SQLExcept.. 2020. 8. 7.
CODE [day_02] DB / 02. JDBC - INSERT, DELETE INSERT SQL을 이용해 MEMBER TABLE에 회원정보 저장 SQL query INSERT INTO MEMBER(ID, PASSWORD, NAME, ADDRESS) VALUES('ebs','abcd','펭수','양재'); java code /TestJDBC3.java package step3; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; /* * INSERT SQL을 이용해 MEMBER TABLE에 회원정보 저장 */ public class TestJDBC3 { public static void main(String[] a.. 2020. 8. 7.
728x90
반응형