Backend/Database

    11장. 트랜잭션

    11장. 트랜잭션

    트랜잭션 데이터베이스의 하나의 논리적인 작업 단위 AICD A : 원자성 - 복구 I : 고립성(독립성) - 트랜잭션간의 간섭 배제(동시성제어) C : 일관성 - 나중 실행 후 내용이 일관성이 있어야함 D : 지속성 - 영구적으로 저장 Write의 우선 순위 1. 버퍼 //Main Memory I/O 속도 개선책 2. 로그 //일련의 Disk 블럭 복구를 위한 대비책 Seek Time(접근시간)을 줄임 Log에 기록되면 실제 DB에 기록됨이 보장됨 3. Real DB //산재된 Disk 블럭 정상 수행시 버퍼의 내용이 기록됨 완료(Commit) - 부분 완료 후 트랜잭션 결과의 영구보존이 보장 실패(Rollback) == 되돌리기 - 동작이나 부분완료 상태에서 더이상 진행 안 됨 - 부분완료전 장애 : ..

    MariaDB 외부IP 접근 허용

    grant all privileges on *.* to 'root'@'%' identified BY '111111';

    7장. 트리거

    7장. 트리거

    트리거 테이블 or 뷰에 변경연산이 실행되면 연동되어 실행되는 프로그램 변경연산(Insert, Delete, Update) 시 자동실행. 논리적 무결성을 지원함 [트리거의 형식] CREATE [or replace] TRIGGER 트리거이름 {Before | After | Instead Of } { Insert | Delete | Update } [ OF 컬럼 ] ON 테이블or뷰 [FOR EACH ROW] ==> 행 트리거가 된다 BEGIN PL/SQL Statements ... ... -- 상태확인 변수 : Updating, Deleting, Inserting END; 트리거는 Background Process임. 생성하면 그 때부터 시스템 부하가 증가함 불필요한 트리거는 삭제하는 것이 좋음 트리거에서..

    6장.  함수와 저장프로시저

    6장. 함수와 저장프로시저

    CREATE OR REPLACE FUNCTION 이름 ( 파라미터 ) -- 파라미터가 없으면 ( )도 생략 RETURN 반환값유형 AS 변수선언부 BEGIN PL/SQL Statements. ... RETURN 반환값 END; OR REPLACE : 함수를 변형하게 될 때 덮어쓰기를 할 수 있다 CREATE OR REPLACE FUNCTION F_Add(a number, b number) RETURN NUMBER AS Total NUMBER; BEGIN Total := a + b; RETURN Total; END; -- 함수 호출 1 : Prompt에서 호출 VAR result NUMBER; EXECUTE :result := F_Add(2020,35); -- EXECUTE 뒤의 문장은 무명프로시저로 봐야..

    5장. PL/SQL 기초

    ABS(n) : 절대값 ACOS(n) : 아크코사인 값 CEIL(n) : 크거나 같은 가장 작은 정수 반환(올림) FLOOR(n) : 버림 ROUND(n) : 반올림 EXP(n) : E의 n제곱을 반환 MOD(n1, n2) : n1을 n2로 나눈 나머지(floor기반) remainder – round 기반 나머지 NANVL(n1, n2) : n1이 ‘NaN’이 아니면 n1을, ‘NaN’이면 n2를 반환 POWER(n1, n2) : n1의 n2제곱값 SQRT(n) : 제곱근 TRUNC(n1, n2) : 숫자 n1을 소수점 자리 파라미터 n2이하를 절삭 WIDTH_BUCKET : 동일한 넓이를 갖는 히스토그램 생성 CAST : 다양한 형식으로 변환 # 수식을 수치로 변환 SELECT AVG(수량) FROM ..