본문 바로가기
반응형

🌈 백엔드/데이터베이스13

오라클_페이징 hint ROWNUM 인라인뷰 [1] 오라클 힌트 hint (1) 정의 오라클 힌트 hint 개발자가 DB에 어떤 방식으로 실행해줘야하는지 명시하기 위해 select 문을 전달할때 사용한다 최적의 실행 경로를 작성하여 지시하는 것 (2) 사용법 시작 = /*+ 마무리 = */ [2] hint 종류 (1) full 힌트 테이블의 모든 데이터를 스캔한다. 검색 속도가 느리다 SELECT /*+ FULL(tbl_board) */ * from tbl_board order by bno desc; (2) INDEX_ASC 힌트 / INDEX_DESC 힌트 인덱스 순서대로 또는 역순대로 스캔할것인지 지정한다 SELECT /*+ INDEX_ASC(tbl_board pk_board) */ * from tbl_board WHERE bno > 0 [3].. 2023. 12. 17.
오라클 jdbc [1] 오라클 jdbc (1) root-context.xml 커넥션 풀 DBCP : hikariConfig 적용 (2) pom.xml (3) DB_connection.java 2023. 12. 7.
커넥션 풀 DBCP [1] 커넥션 풀 (1) 정의 DB에 연결할때 마다 Connection 객체를 새로 만드는것이 비효율적이기 때문에 커넥션풀을 이용하여 미리 객체를 생성하고 사용할수 있게 하는것이다. (2) 오픈 소스 종류 common-dbcp2 tomcat-jdbc Pool DriverManager DataSource HikariCP (3) 사용방법 root-context에 스프링 컨테이너에 bean id를 등록하기 위해 정보를 추가한다. [2] 커넥션 풀 사용하기 (1) HikariCP pom.xml root-context.xml (2) DriverManager DataSource [3] DataSource 빈 (1) 테스트 2023. 12. 3.
데이터베이스_오라클 DB 생성 [1] DB 계정 생성 USER 계정 생성 : book_ex IDENTIFIED BY 비번 생성 : book_ex 기본 테이블 : USERS 임시 테이블 : TEMP 계정이 생성되었다. DB 사용 권한을 준다 사용권한을 주었다. SQL로 새로 만든 계정 연결을 시도한다 초록색 + 를 누르면 처음 저장된 계정인 test가 나오고 내가 아까 만든 book_ex 계정에 연결하기 위해 BOOK이라는 계정을 만든다 test - save - connect 하면 계정이 추가로 생기고 연결된다 [2] 오라클 포트 변경 톰캣 8080과 포트가 겹치므로 오라클 포트를 구별할수 있도록 변경한다. test 계정의 포트 넘버가 몇번인지 물어보기 8080은 톰캣과 겹치므로 9090으로 변경해준다 [3] 테이블 (1) 테이블 생성.. 2023. 12. 3.
데이터베이스_SQL문 예시 [1] SQL (1) SQL 특징 -구조화된 질의어 -정의,조작 ,제어,검색 기능 모두 제공하는 종합적인 데이터베이스 언어 - 비절차적 언어 - 관계형 DBMS - 종류 : 데이터 정의어 DDL , 데이터 조작어 DML , 데이터 제어어 DCL [2] 데이터 정의어 DDL (1) CREATE 생성 -데이터베이스, 테이블, 인덱스 를 생성하는 명령문 column type default value nullable ID int(11) NO name varchar(20) NO age int(11) NO address char(25) YES salary decimal(18,2) YES varchar : 가변길이 , 타입크기만큼 데이터가 안들어오면 빈공간을 채워넣지 않는다 char : 타입 크기만큼 데이터가 안들어.. 2023. 9. 9.
데이터베이스_ JAVA에서 사용하는 DB 메서드 & 애노테이션 (1) 데이터베이스 애노테이션 : @executeUpdate 데이터베이스에서 데이터를 추가 Insert , 삭제 Delete , 수정 Update 하는 SQL문을 실행하는 메서드이다 MySQL 기준으로는 커멘드 + 엔터하면 SQL문이 실행되는 것 같은 구조이다 (2) DB 메서드 : prepareStatement() 매개변수가 잇는 SQL문을 보내기 위한 객체를 만드는 매서드이다 2023. 6. 28.
데이터베이스_MySQL 에서 SQL문 사용하기 [1] SQL문 사용하기 (1) 데이터 정보 입력하기 Insert Schemas 스키마의 빨간박스에서 정보확인이 가능하다 데이터베이스에 정보를 입력하기 위해 insert 한다 자동insert문은 user_info >Copy to Clipboard > Insert Statement 선택한다 자동으로 복사되기 때문에 쿼리에 붙여넣기하면 SQL문이 넣어진다 insert into : 스키마에 있는 user-info라는 테이블 정보이다 아래 key값으로 id, pwd, name..를 가지고 있다 values는 key값과 동일한 순서대로 값을 넣는다 columns 칼럼 값은 전부 다 넣을것이라면 생략해도된다 1989-01-01 또한 만들어진 형식에 따라 데이터를 추가해도 동일하게 생성된다 실행 하니 이름에 asdf.. 2023. 6. 27.
데이터베이스_MySQL에서 DB생성 및 실행 [1] 데이터베이스 (1) 데이터베이스 생성 Tables 테이블에 새 테이블을 만든다 Table > create Table 를 선택한다 테이블의 이름을 만들고 key 항목에 들어갈 항목은 id , 내부 변수를 column 칼럼을 넣는다 입력하는 방법은 클릭하면 수정이 가능하다 데이터 타입을 설정해준다 VARCHAR()는 가변길이 문자열로 ()안에는 문자길이 를 넣는다 PK : 다른 행과의 구분이 될수 있는 기준점 NN : not null ; 꼭 있어야하는 값일때 체크한다 테이블을 생성 후 apply 한다 [2] 데이터베이스 실행 (1) MySQL 데이터베이스 실행 새 Connections 커넥션 생성 - 새계정과 새 스키마 선택 Test Connection 테스트 연결 성공 데이터베이스를 실행할 계정을 .. 2023. 6. 27.
데이터베이스_MySQL 계정 및 스키마 생성 [1] MySQL 계정 (1) MySQL 계정 생성하기 Users and Privileges 선택 Add Account 선택 Limint to Hosts Matching 항목에서 에서 %는 원격접속 이 가능하도록 해준다 localhost로 되어있다면 원격 접속이 불가하고 local로만 접속할수 있다 계정 추가가 완료되면 파란색 박스칸에 계정이 추가된다 [2] 스키마 Schemas (1) 스키마 생성 스키마란 사용할 개별 데이터베이스를 말한다 Schemas > 오른쪽 버튼 > Create Schema 선택 스키마의 이름 , Character Set , Collation 선택 지금 화면에서는 apply 버튼이 안보이지만 오른쪽 상단에 바를 없애면 apply 버튼이 보인다 누르면 이렇게 실행될거라고 보여주는 .. 2023. 6. 26.
DB_데이터베이스_트랜잭션 [1] 트랜잭션 (1) 트랜잭션 필요성 현실세계에서 예약, 은행, 할인 등 대규모의 데이터베이스를 사용할때 수천명 이상의 사용자가 동시에 데이터베이스에 접근하여 데이터베이스의 데이터를 사용하므로 데이터의 정확성 유지를 위해 항상 트랜잭션 관리가 중요해졌다 (2) 정의 프로그램 단위 논리적 기능을 수행하기 위한 기본 단위 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위 분리할수 없는 작업의 단위 각 트랜잭션은 하나의 특정작업으로 시작을 해서 묶여있는 모든 작업들을 다 완료해야 정상적으로 종료한다 (3) 2가지 특성 1. 오류에 대한 회복 데이터베이스 갱신 중 하드웨어 오류, 시스템 고장으로 인해 고장나도 일관성을 유지한다 2. 동시성 제어 다수 사용자가 데이터베이스를 동시에 접근하여 수행을 허용.. 2023. 4. 25.
반응형