목록DB (15)
롸?

Heidi Sql 사용하면서 위와 같이 인덱스와 외래 키 탭이 나눠져있다보니 개념이 헷갈려서 다시 정리 1. 인덱스란? 인덱스는 지정한 컬럼들을 기준으로 메모리 영역에 일종의 목차를 생성하여 insert, update, delete의 성능을 희생하고, select 의 성능을 향상시키는 것이다. 주의할 점은 update, delete 행위가 느린 것이지, update, delete 를 하기 위해 해당 데이터를 조회하는 것은 인덱스가 있으면 빠르게 조회가 된다. 인덱스가 없는 컬럼을 조건으로 update, delete 를 하게 되면 굉장히 느리기 때문에 많은 양의 데이터를 삭제 해야 하는 상황에선 인덱스로 지정된 컬럼을 기준으로 진행하는 것이 좋다. 2. Foreign key(외래키) 외래키는 제약조건의 하..
기본적인 연결방법 코드 String sql = ""; Connection conn; Statement stmt; ResultSet rs; try{ Class.forName("org.mariadb.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://서버명:3306/디비명", "유저명", "비밀번호"); stmt = conncreateStatement(); sql = "select * from 테이블명"; rs = stmt.executeQuery(sql); //결과 출력 while(rs.next()){ System.out.println(rs.getString(1) + " " + ... ... + rs.getString(10)); } }catch(..
기본 1) 이클립스 - java project 생성 2) 라이브러리 - classpath에 jar파일 추가 https://downloads.mariadb.org/connector-java/+releases/ 3) 코드 작성 및 실행 Maven 1) 이클립스 - maven project 생성 2) pom.xml 수정 - dependency 추가 org.mariadb.jdbc mariadb-java-client 2.5.4 https://search.maven.org/artifact/org.mariadb.jdbc/mariadb-java-client/2.5.4/jar 3) 코드 작성 및 실행 Gradle 1) 이클립스 - Gradle project 생성 2) build.gradle - dedependencies..
저장 프로시저 (Stored Procedure) 여러 sql문을 하나의 sql문처럼 정리하여 실행할 수 있게 만든 것 Call 프로시저명; 으로 호출해서 사용한다 변수, 조건문, 반복문 등과 같은 프로그래밍 기법을 구사할 수 있어 SQL 처리를 좀 더 빠르고도 효과적으로 할 수 있다. 프로시저 기본 구조 CREATE [OR REPLACE] PROCEDURE 프로시저_이름( ) BEGIN 작업할 SQL문 ... 작업할 SQL문 END 프로시저의 내용은 begin부터 end까지이다. 도중의 sql문의 끝에는 [ ; ] 를 작성해야한다. 하지만 프로시저 본체는 평범한 sql문으로 읽기 때문에 프로시저가 끝나기 전에 sql문의 [ ; ] 를 만나면서 종료하게 된다. 따라서 [ ; ] 를 만나도 종료되지 않도록 ..
뷰(View) 물리적인 테이블을 근거로 SELECT 문의 조건을 파일로 작성하여, 가상의 테이블로 사용한다. 물리적으로 데이터를 포함하지 않으므로 별도의 메모리 소모가 없다. view를 사용하는 이유 복잡하고 긴 쿼리문을 view로 단순화 할 수 있다. 보안을 강화할 수 있다. 동일한 데이터로부터 다양한 가상의 테이블을 얻을 수 있다. 자료의 독립성 확보 뷰 생성 CREATE VIEW 뷰이름 AS SELECT 칼럼명, ... FROM 테이블명 [WHERE 조건] 동일한 질의문으로 뷰에서 또 다른 뷰를 생성하는 것도 가능하다. 뷰 테이블 구조는 한번 생성하면 수정이 불가능하기 때문에 삭제하거나 다른 뷰로 대체해야한다 CREATE OR REPLACE VIEW 뷰이름 AS SELECT 칼럼명, ... FROM..
트랜잭션(Transactions) 단위 별 데이터 처리를 의미한다. 한 사용자에 의해 한 개 이상의 SQL 구문을 포함하는 가장 작은 논리적인 작업을 의미한다. Commit : 저장되지 않은 모든 자료를 데이터베이스에 저장하고, 현재 트랜잭션을 종료. 원본 테이터가 갱신된다. Rollback : 저장되지 않은 모든 자료의 변경사항을 취소하고, 현재 트랙잰션을 종료, 최종 commit이 발생했던 시점 이후의 작업을 무시 클라이언트 상에 읽혀진 자료에 변화가 있으면 수정된 자료에 대해 commit이나 rollback으로 원본 DB에 저장 또는 취소할 수 있다. 이로 인해 클라이언트 상에서의 잘못된 작업에 대한 선별 취소가 가능하다. 데이터의 일관성 보장 교착상태(deadlock) 두 개 이상의 작업이 서로 ..