일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- order by
- 서블릿
- 서브쿼리
- DDL
- MVC2
- 메이븐
- SQL
- 인프런
- Join
- 스프링
- 뉴렉처
- @Controller
- @RestController
- 코딩테스트
- STS
- 프레임워크
- toUpperCase
- MVC
- 김영한
- Model1
- 자바
- 기술 대비
- 인텔리제이
- 세션
- JSP
- Model2
- select
- 프로그래머스
- AOP
- 코테
- Today
- Total
Heestory
10.데이터베이스/SQL/DDL/DML/DCL/트랜잭션 본문
#.데이터베이스
: 구조화된 정보 또는 데이터의 조직화된 모음, 컴퓨터 시스템에 전자적으로 저장되는 정보
: 여러 사용자가 동시에 복잡한 로직과 언어를 사용하여 방대한 양의 구조화/조직화된 데이터에 빠르고 안전하게 접근하고 사용할 수 있음
- 특징
- 실시간 접근성 : 비정형적인 질의(조회)에 대해 실시간 처리에 대한 응답이 가능)
- 지속적인 변화 : 데이터 베이스의 상태는 동적이다. 새로운 데이터의 삽입,삭제,갱신으로 항상 최신 데이터 유지해야함
- 동시 공용 : 서로 다른 목적을 가진 여러 응용자들을 위한 것으로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야함
- 내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 찾는다.
- 장점: 데이터를 공유하여 사용 가능하여 일관성과 무결성, 표준화, 통합관리, 보안에 용이
- 단점: 비용 증가, 프로그램의 복잡화, 장애 발생시 백업과 회복의 어려움, 시스템 취약성 등
#.SQL(Structured Query Language)
:데이터베이스 시스템에서 데이터를 조작 및 정의, 제어하기 위해 사용되는 구조적 데이터 언어로, 거의 대부분의 관계형 데이터베이스에서 사용되고 있으며 ANSI SQL이라는 표준 SQL구문을 확립함
#.DDL(data definition language), DML(data manipulation language), DCL(data control languate)
- DDL: 데이터 정의어, 테이블과 같은 데이터 구조와 관련된 명령어(create, alter, drop, declare, rename 등)
- DML: 데이터 조작어, 테이블 내 데이터 조작과 관련된 명령어(select, insert, update, delete)
- DCL: 데이터 제어어, 데이터베이스에 접근하고 객체 사용 권한을 주거나 회수하는 명령어(grant, revoke)
#.트랜잭션
:인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
-트랜잭션 특성 [ACID]
- 원자성(Atomicity)
: 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 최소되어야 하는 성질, 트랜잭션의 연산 전체가 성공 또는 실패되어야하는 성질
Commit,Rollback, 회복성 보장 - 일관성(Consistency)
: 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질
무결성 제약 조건, 동시성 제어 - 격리성 = 고립성(Isolation) : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야한다는 성질
Read Uncommitted , Read Committed , Repeatable Read , Serializable - 영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터 베이스에 저장되어야 하는 성질 / 회복기법
-TCL(트랜잭션 제어어)
- 커밋 : 트랜잭션 확정 , 트랜잭션을 메모리에 영구적으로 저장하는 명령어
- 롤백 : 트랜잭션 취소 , 트랜잭션 내역을 저장 무효화 시키는 명령어
- 체크 포인트 : 저장 시기 설정 : 롤백을 위한 시점을 지정하는 명령어
'개발(~국비) > 기술면접' 카테고리의 다른 글
12.기본키/외래키 (0) | 2022.10.20 |
---|---|
11.정규화/JOIN/서브쿼리/WHERE/HAVING (0) | 2022.10.20 |
09.배열 vs ArrayList (0) | 2022.10.20 |
08.클래스 변수/인스턴스 변수/지역변수/매개변수 (0) | 2022.10.20 |
07.캡슐화/상속/다형성/추상화 (0) | 2022.10.20 |