공부/DATABASE (8) 썸네일형 리스트형 트랜잭션(Transaction)이란? 트랜잭션 (Transaction)데이터베이스의 하나의 논리적인 작업 단위트랜잭션이란 ?데이터베이스의 하나의 논리적인 작업 단위로, 데이터베이스의 상태를 변경시키는 작업 SELECT, UPDATE, INSERT, DELETE와 같은 쿼리를 날린 연산 수행들을 의미한다.트랜잭션의 4가지 특성 (ACID)Atomicity (원자성)트랜잭션 내 모든 작업이 모두 수행되거나, 전혀 수행되지 않아야 함Consistency (일관성)트랜잭션이 완료되면 데이터베이스는 항상 일관된 상태를 유지해야 함 (데이터 무결성)Isolation (격리성)여러 트랜잭션이 동시에 수행 될 때 서로 간섭하지 않아야 함Durability (지속성)트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 반영되어야 하며 시스템 장애가 나도 복구.. 데이터베이스 구조 OLTP와 OLAP 데이터베이스OLTP(Online Transaction Processing)- 주로 트랜잭션 처리를 위한 용도로 사용OLAP(Online Anlytical Processing)- 대량의 데이터를 체계화하고 요약하여, 데이터에 대한 빠른 평가와 분석을 목적으로 사용 시스템 데이터베이스master- 데이터베이스에 대한 정보를 저장하는 데이터베이스- SQL Server의 여러 가지 환경 정보와 로그인 정보, 관리되는 모든 데이터베이스에 대한 정보들을 저장- 만일 master 데이터베이스가 손상된 상태라면 SQL Server 서비스는 시작 불가model- 모든 데이터베이스의 원형tempdb- 자동 또는 사용자에 의해 만들어지는 임시 테이블 저장소- SQL Server 서비스가 재시작 될 때 초.. 데이터베이스 복원 복원 옵션옵션기능기존 데이터베이스 덮어쓰기(WITH REPLACE)- 복원 대상 데이터베이스가 이미 존재 할 시 강제로 덮어씀복제 설정 유지(WITH KEEP_REPLICATION)- 복제와 연관된 데이터베이스 관련 설정을 유지복원된 데이터베이스에 대한 엑세스 제한(WITH RESTRICTED_USER)- 복원 후 일반 사용자가 접근 할 수 없도록 제한- 관리자 권한의 계정만 접근 허용- DB속성에서 모든 사용자 접근 허용 설정 가능 복구 상태옵션기능RESTORE WITH RECOVERY- 커밋 되지 않은 트랜잭션 롤백- 데이터베이스를 사용할 수 있는 상태로 유지- 백업 파일을 추가로 복원 불가RESTORE WITH NORECOVERY- 데이터베이스를 복원 중 상태로 유지- 커밋되지 않은 트랜잭션을 롤백.. 데이터베이스 백업의 이해 : 전체 백업, 차등 백업, 트랜잭션 로그백업 데이터베이스 백업이란?데이터 손실이나 손상 시 데이터를 복구할 수 있도록 미리 데이터베이스의 사본을 만드는 과정으로대표적인 백업에는 전체백업, 차등백업, 트랜잭션 로그백업이 있다.1. 전체 백업 (Full Backup)- 데이터베이스를 구성하는 모든 데이터 파일을 백업하고, 백업이 진행되는 동안 기록된 트랜잭션 로그를 백업하는 방식- 전체 백업 없이는 차등 백업이나 트랜잭션 로그 백업을 할 수 없다.[ 전체 백업 ]┌──────┐│ Day1 │ → 데이터 전체 백업└──────┘BACKUP DATABASE TO DISK = WITH NAME = , COMPRESSION, STATS = 10GO-- COMPRESSION : 백업 압축 옵션 -- STATS = 10 : 백업 진행 상황을 ssms .. [MSSQL] varchar / nvarchar 차이 차이를 알아보기 전,위와 같은 오류로 인해 데이터들의 크기(길이)를 살펴 보며 두 데이터 타입의 차이점에 대한 궁금증이 생겨 글을 쓰게 되었다. 해당 오류는 데이터 길이보다 넣으려는 데이터 길이가 길 때 발생하는 오류로, 해결방법은 아래와 같다.1. 데이터 길이에 맞는 값을 넣는다. (넣으려는 데이터 길이 축소)2. 데이터 길이를 늘린다. (칼럼 길이 확장)넣으려는 데이터 칼럼이 다양하여 칼럼마다 len()함수를 사용하여 데이터 길이를 확인하였다.그 중 한 칼럼의 길이는 12로 nvarchar 형을 띄고 있었고, 넣으려는 데이터 길이는 7이었다. varchar와 nvarchar의 차이점을 모르는 경우 문제 없어보이는 데이터지만 nvarchar타입이라는 것을 확인하여야 한다. varchar 와 nvarch.. 데이터 무결성과 트랜잭션 데이터 무결성데이터 무결성이란 데이터베이스 안의 데이터의 정확성, 일관성, 유효성이 유지 되도록 변경 또는 수정에 제한을 두어 안전성을 해치는 요소를 막아 데이터들을 옳게 유지하는 것을 의미한다. 도메인 무결성 : 테이블에 존재하는 필드의 무결성을 보장하기 위한 것으로 필드의 타입, NULL값 허용에 대한 사항을 정의하고 올바른 데이터가 입력 되었는지 확인한다.Check, Default개체 무결성 : 모든 테이블에 기본 키로 지정된 필드가 있어야 하며, 기본 키로 선택된 필드는 고유한 값을 가져야 한다.Primary key, Unique참조 무결성 : 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지한다.Foreign key, Trigger 트랜잭션트랜잭션이란 데이터베이스의.. [MS-SQL] 기초 문법 USE [Grizzly]; -- Grizzly 데이터베이스 사용 PRINT 'Hello World!'; /* SQL문은 문자열을 나타낼 때 작은따옴표(') 사용 */ USE : 해당 데이터베이스로 작업 영역을 선택. 명시되어 있지 않다면 현재 데이터베이스를 기본으로 함 PRINT : DB 쿼리 실행 시 출력되는 콘솔 영역에 문자열을 출력 -- : 한 줄 주석 (주석이란? 실제 코드에 영향이 가지 않는 개발자의 코드 설명 및 참고 문구) /* */ : 범위 주석, 해당 범위 내의 구문 모두 주석 처리 CREATE TABLE Grizz ( var1 VARCHAR(10), var2 INT, var3 NUMERIC(18, 0) IDENTITY ); DROP TABLE Grizz; CREATE TABLE [테이블.. [Oracle DB] Foreign key (외래키) 추가, 삭제 1. Foreign key ADD ALTER TABLE [외래키를 추가 할 테이블명] ADD CONSTRAINT [제약조건명] FOREIGN KEY (컬럼명) REFERENCES [부모테이블명](PK컬럼명) [ON DELETE CASCADE / ON UPDATE CASECADE] ON DELETE CASCADE 부모테이블의 PK가 삭제될 때 이를 참조하고 있는 Key가 포함된 모든 행을 삭제한다. ON UPDATE CASCADE 부모테이블의 PK가 Update될 때 이를 참조하고 있는 Key가 포함된 모든 행의 FK의 값을 수정된 PK의 값으로 수정한다. 2. Foreign key Delete ALTER TABLE [테이블명] DROP CONSTRAINT [제약조건명]; 이전 1 다음