본문 바로가기

데이터베이스

(24)
오라클 다운로드 ▶ 오라클 다운로드 https://www.oracle.com/downloads/ ▶ oracle developer oracle developer 실행 -> 경로선택에 C:\Program Files\Java\jdk1.8.0_144 선택
Transction(트랜잭션) 트랜잭션 ▶ 트랜잭션의 정의 하나의 작업을 수행하기 위해 필요한 데이터베이스 연산들을 모아 놓은 것. 작업 수행에 필요한 SQL 문들의 모임이다. - 논리적 작업의 단위. 장애 발생 시 복구 작업이나 병행 제어 작업을 위한 중요한 단위로 사용된다.데이터베이스의 무결성과 일관성을 보장하기 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의하고 관리해야 한다. 예를들어, 회원가입 할 때, JDBC를 사용하여 1.중복체크 (select 검색) 2.가입버튼 (insert 추가) 회원가입 할 때 2개의 쿼리를 실행한다고 가정하는데 이 2개의 쿼리를 모아둔 것이 -> 트랜잭션 이다. 또, 어떤 작업을 했을 때(회원가입 할 때) 에러 발생시 에러 전 상태의 테이블로 만들어 줘야 한다. 위의 쿼리의 모음..
Stored trigger (트리거) 트리거 테이블에 삽입, 수정, 삭제 등의 작업(이벤트)이 발생할 때 자동적으로 작동하는 데이터 베이스 개체 프로시저와 달리 직저 실행시킬 수 없고 오직 해당 테이블에 이벤트가 발생할 경우에만 실행된다. 이벤트 발생 후 ROLLBACK 할 수 없다. ▶ 트리거 형식 ▶ 트리거 상태 ALTER TRIGGER [트리거 이름] ENABLE : 트리거 사용 ALTER TRIGGER [트리거 이름] DISABLE : 트리거 사용 중지 ALTER TRIGGER [트리거 이름] COMPILE : 트리거 컴파일 트리거 실습 실습1 DELIMITER $$ CREATE TRIGGER tb_member_trigger_after_delete AFTER DELETEON tb_member_trigger FOR EACH ROW BE..
Stored Function (함수) 함수 내장함수가 사용자를 만족하는 모든 함수를 제공하지 않기 때문에 필요에 의해 사용자가 직접 함수를 만들어서 사용하기 위한 것이다. 형태와 사용 용도에 프로시저와는 차이가 있다. ▶ 사용자 정의 함수의 단점 유지 보수 복잡성 증가 - 애플리케이션의 설치나 배포가 더 복잡해진다. 각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문이다. ▶ 함수와 프로시저의 차이 사용자 정의 함수 프로시저 파라미터 모두 입력 파라미터로 사용된다. 리턴값 하나의 값을 반환해야 한다. 반환하는 구문이 없다. 호출 DML의 문장 안에서 사용해야 한다. CALL로 실행.호출 DML SELECT 문장이 없고 순수 변수와 알고리즘 로직 뿐이다. SELECT 문장이 있다. ▶ 사용자 정의..
Stored Procedure (프로시저) 프로시저 어떠한 동작을 일괄 처리하기 위한 용도이다. 쿼리문 처리를 할 때 바로 처리하지 않고 값을 받아와 프로시저 내부에서 일괄적으로 처리한 후 결과를 내보내 주기 위한 루틴이다. ▶ 프로시저의 특징 자주 사용되는 일반적인 쿼리를 모듈화 시켜 필요할 때만 호출하면 편리하다. 내가 필요한 만큼 응용해서 사용할 수 있기 때문에 MySQL 운영에 편리하다. ▶ 프로시저의 단점 유지 보수 복잡성 증가 각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문에 애플리케이션의 설치나 배포가 더 복잡해진다. 사용자가 감당할 수 있는 부분에 관하여 적절하게 사용해야 한다. ▶ 프로시저 형식의 정의 - 프로시저 문법 ☞ $$ $$ : 괄호 개념으로 내부 부분이 프로시저 이다. ..
Stored Program Stored Program 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합. MySQL 안에서 DML을 사용하는 프로그래밍 언어와 같은 기능을 제공하고, 자주 사용하는 복잡한 쿼리를 하나로 묶어서 이름을 지정하고, 이름을 호출하여 실행되도록 설정한 프로그램이다. ▶ Stored Program 특징 - MySQL의 성능 향상. 긴 쿼리의 내용을 전송하지 않고 프로시저의 이름 및 매개변수 등만 전송하여 네트워크 부하를 줄일 수 있다. 즉, 길게 쿼리를 일일이 작성하지 않고도 내가 만들었던 프로시저를 불러와서 한번에 실행할수 있다. - 유지관리가 간편. 직접 SQL문을 작성하지 않고 저장된 이름만 호출함으로써 일관된 작업을 한다. 공동 모듈에서 작업을 할 때 유지보수 관리가 보다 간편하다. - ..
View(뷰) View 란 ? 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로 부터 유도된, 이름을 가지는 가상 테이블 이다. 뷰는 논리 테이블로서, 사용자의 관점에서는 일반 테이블과 동일하다고 볼 수 있다. ▶ 뷰의 장점 ㆍ테이블과 유사하다. 기본 테이블로부터 유도된 테이블이기에 테이블과 같은 형태의 구조이며 조작도 테이블과 거의 같다. ㆍ논리적 독립성을 제공한다. 뷰는 가상 논리 테이블이기 때문에 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다. ㆍ사용자 데이터 관리가 용이하다. 복수 테이블에 존재하는 여러 종류의 데이터에 대해 단순한 질의어도 사용이 가능하다. ㆍ데이터 보안이 용이하다. 중요 보안 데이터를 저장 중인 테이블에는 접근 부러하고,..
데이터베이스 정규형 정규형 (Normal Form) 릴레이션이 정규화된 정도로, 정규화 과정을 거친 결과물이다. 각 정규형마다 제약조건이 존재한다. 정규형의 차수가 높아질수록 요구되는 제약조건이 많아지고 엄격해진다. 릴레이션 특성을 고려 적합한 정규형 선택하여야 한다. 정규형 과정 ▶ 제 1 정규형 ( 1NF - First Normal Form ) 반복 그룹 속성을 제거한다. 개체에 존재하는 속성들 중에서 반복되는 속성들을 하위 개체로 도출한다. 릴레이션의 모든 속성이 더는 분해되지 않는 원자값만 가지면 제 1 정규형을 만족한다. 과목명과 성적에 두가지 이상의 정보가 들어갔다. 이러한 정보를 데이터베이스에서 다루기 좋지 않다. 기본키로 식별이 가능하여야 하는데 기본키(학번, 과목명 중 과목명) 안에 식별 가능한 정보가 따로..