분류 전체보기
[MSSQL] DBCC SHRINKFILE - DB 데이터/로그 파일 축소하기 - 2편
해당 포스트는 총 2편으로 작성되어있고 스토리가 이어져있다. DBCC SHRINKFILE - DB 데이터/로그 파일 축소하기 - 1편 ( 파일의 초기 사이즈, 자동 증가, 자동 감소?? ) [MSSQL] DBCC SHIRINGFILE - DB 데이터/로그 파일 축소하기 - 1편 SQL Server의 데이터베이스는 파일 그룹으로 이루어져 있다. 파일 그룹은 데이터 파일들이 저장될 그룹을 의미하는데 이 그룹은 또 데이터 파일(MDF or NDF) + 로그 파일(LDF)을 의미한다. 해당 포스트 developjuns.tistory.com 1편 포스트에서는 아래를 확인하였다. 파일그룹, 파일, 테이블을 생성하고, 초기 사이즈를 확인하였다. 실제로 아무 데이터가 없어도 파일을 초기사이즈만큼 운영체제에게 할당받았다..
[MSSQL] DBCC SHRINKFILE - DB 데이터/로그 파일 축소하기 - 1편
SQL Server의 데이터베이스는 파일 그룹으로 이루어져 있다. 파일 그룹은 데이터 파일들이 저장될 그룹을 의미하는데 이 그룹은 또 데이터 파일(MDF or NDF) + 로그 파일(LDF)을 의미한다. 해당 포스트는 총 2편으로 작성할 생각이다. DBCC SHRINKFILE - DB 데이터/로그 파일 축소하기 - 1편 ( 파일의 초기사이즈, 자동증가, 자동감소?? ) DBCC SHRINKFILE - DB 데이터/로그 파일 축소하기 - 2편 ( 데이터파일을 축소하기. ) 파일의 크기/자동 증가 파일그룹, 파일, 테이블생성 데이터베이스를 생성할 때 아래의 쿼리 또는 사진을 한 번쯤은 무조건 보았을 것이다. CREATE DATABASE JJH ON PRIMARY ( NAME='JJH_PRIMARY' , FI..
[MSSQL] 집합 연산자
집합 연산자란? 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 중에 또 다른 방법이 있는데 그 방법이 바로 집합 연산자(Set Operator)를 사용하는 방법이다. 집합 연산자는 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용한다. 즉, 집합 연산자는 2개 이상의 질의 결과를 하나의 결과로 만들어 준다. 일반적으로 집합 연산자를 사용하는 상황은 아래 두 가지이다. 1. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 2. 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용할 수 있다. 집합 연산자를 사용하기 위해서는 다음 제약조건을 만족해야 한다. SELECT 절의 칼럼 수가 동일하고 SELECT 절..
[MSSQL] 파일 그룹별로 디스크 할당량, 사용량, 할당 가능량 조회 쿼리
SELECT a.[NAME] as '파일 그룹명' , b.size*8 /1024 as 'PhysicalSize (MB)' ,(b.Size - sum(total_pages))*8/1024 as 'UnAllocationSize (MB) ' , sum(total_pages) * 8 /1024 as 'TotalAllocation (MB)' , sum(used_pages)*8 /1024 as 'UsedAllocation (MB)' , sum(data_pages) *8/1024 as 'DataSize (MB)' , sum(total_pages-used_pages)*8/1024 as 'FreeSize (MB)' FROM SYS.filegroups a with (nolock) INNER JOIN ( SELECT dat..
[MSSQL] 서브 쿼리 SubQuery
서브 쿼리(SubQuery)란 하나의 SQL 문안에 포함돼 있는 또 다른 SQL 문을 말한다. 조인과 서브쿼리의 차이점. 조인은 집합간의 곱(Product)의 관계이다. 즉 1:1 관계의 테이블이 조인하면 1(= 1 * 1) 레벨의 집합이 생성되고, 1:M 관계의 테이블을 조인하면 M(= 1 * M) 레벨의 집합이 생성된다. 예를 들어 조직(1)과 사원(M)의 테이블을 조인하면 결과는 사원 레벨(M)의 집합이 생성된다. 그러나 서브 쿼리는 서브 쿼리 레벨과는 상관없이 항상 메인 쿼리 레벨로 결과 집합이 생성된다. 위의 예를 들어 메인 쿼리로 조직(1), 서브 쿼리로 사원(M) 테이블을 사용하면 결과 집합은 조직(1) 레벨이 된다. 서브 쿼리를 사용할 때 다음 사항에 주의해야 한다. 1. 서브 쿼리는 괄호..
[SpringBoot] JPA Entity Listener 엔티티 이벤트 리스너
YOPLE서비스를 개발하면서 Entity가 저장될 때 또는 조회할 때의 이벤트를 캐치하여 처리를 해야 하는 이슈가 발생했다. 그러던 중 JPA에서 아주 편안한 기능을 제공한다는것을 알게 되었고 포스트로 기록을 남긴다. JPA에서는 Entity에 이벤트가 발생할 때 특정 처리를 할 수 있게 지원한다. Entity Listener Chapter 6. Entity listeners and Callback methods @PostPersistExecuted after the entity manager persist operation is actually executed or cascaded. This call is invoked after the database INSERT is executed. docs.jb..
[MSSQL] 제약조건(CONSTRAINT)이란 ?
제약 조건 ( Constraint )이란 데이터의 무결성을 지키기 위해 제한된(한) 조건을 말한다. 즉, 데이터를 삽입, 수정 등을 할 때 무조건 삽입하고 수정하는 것이 아니고 제한된 조건을 만족해야지만 삽입하고 수정하여 무결성을 지키는 것이다. SQL Server에서 정의된 제약조건에는 아래와 같다. Primary Key Constraint : PK 조건에 만족하는가? Foreign Key Constraint : FK 조건에 만족하는가? UNIQUE Constraint : 유니크한 Value인가? CHECK Constraint : 체크로직에 만족하는가? (ex) Value > 100 DEFAULT Constraint : Default 값을 부여하는 제약조건. ● Primary Key Constraint..
[MSSQL] 테이블 컬럼 추가, 수정, 삭제 ALTER TABLE
테이블에 칼럼을 추가, 수정, 삭제하는 작업은 테이블을 수정하는 즉, 테이블 스키마를 정의하는 명령이다. ● 컬럼 추가 -- VARCHAR(100) 자료형을 가지는 'COL_NAME' 컬럼 추가. ALTER TABLE COL_ADD_TBL ADD COL_NAME VARCHAR(100) -- BIGINT 자료형을 가지는 'COL_NAME'컬럼 추가. ALTER TABLE COL_ADD_TBL ADD COL_NAME BIGINT -- BIGINT 자료형을 가지고 NULL 허용 안하는 'COL_NAME'컬럼 추가. ALTER TABLE COL_ADD_TBL ADD COL_NAME BIGINT NOT NULL -- BIGINT, NULL 허용 안하고, 1부터 1씩 증가하는 IDENTITY 'COL_NAME'컬럼..