DataBase

    [MSSQL] 제약조건(CONSTRAINT)이란 ?

    [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

    [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'컬럼..

    [SQLD/SQLP] SELECT 절

    [SQLD/SQLP] SELECT 절

    데이터베이스에서 행을 검색하고 SQL Server에서 하나 이상의 테이블에서 하나 이상의 행 또는 열을 선택할 수 있도록 한다. SELECT 문의 전체 구문은 복잡하지만 절은 아래와 같이 요약할 수 있다. ● SELECT ::= [ TOP ( top_expression ) ] [ ALL | DISTINCT ] { * | column_name | expression } [ ,...n ] [ FROM { table_source } [ ,...n ] ] [ WHERE ] [ GROUP BY ] [ HAVING ] [ ORDER BY ] [ OPTION ( [ ,...n ] ) ] 위의 구문은 SQL Server Docs에 명시된 내용이다. ● SELECT 문의 논리적 처리 순서 SELECT 문의 논리적 처리 ..

    [SQLD/SQLP] SQL 이란?

    [SQLD/SQLP] SQL 이란?

    SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터를 제어하기 위해 사용하는 언어다. 사용자들은 데이터들을 집합에서 필요로 하는 데이터를 꺼내서 조회하고 새로운 데잍터를 입력, 수정, 삭제하는 행위를 통해 데이터베이스와 대화하게 된다. 그리고 SQL은 이러한 대화를 가능하도록 매개 역할을 한다. 결과적으로 SQL문장을 배우는 것이 곧 관계형 데이터베이스를 배우는 기본 단계라 할 수 있다. SQL 문장의 종류 명령어의 종류 명령어 설명 데이터 조작어 (DML, Data Manipulation Language) SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명렁어로 RETRIEVE라고도 한다. INSERT UPDATE ..

    [MSSQL] 데이터베이스 파일그룹 정리

    [MSSQL] 데이터베이스 파일그룹 정리

    SQL Server 데이터베이스에는 2가지의 데이터 파일과 로그 파일 총 3가지의 파일로 데이터베이스를 운영합니다. 데이터 파일 : 테이블, 인덱스, 저장 프로시저 및 뷰 등의 개체와 데이터를 저장합니다. 로그 파일 : 데이터베이스의 모든 트랜잭션을 복구하는 데 필요한 정보를 저장합니다. 로그 파일은 트랜잭션 로그 파일이라고 흔히 부릅니다. 데이터 파일은 할당 및 관리를 간편하게 수행하기 위해 파일 그룹으로 그룹화하여 관리 할 수 있습니다. ● 데이터베이스 파일 파일 설명 Primary File (.mdf) 데이터베이스의 시작 정보를 포함하며 데이터베이스의 나머지 파일을 관리합니다. 모든 데이터베이스에는 Primary File이 있습니다. 데이터 파일 확장명은 .mdf입니다. Secondary File ..

    [MSSQL] CentOS MSSQL 설치하기

    [MSSQL] CentOS MSSQL 설치하기

    이번 포스트에서는 CentOS에 SQL Server를 설치해볼 예정이다. 무작정 따라 하기 콘셉트로 작성된 포스트이니.... 오류 발생 시엔 메모를 남기도록 하겠다... SQL Server 실행 패키지 설치 아래 명령어를 따라 하자 $ sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 232 100 232 0 0 416 0 --:--:-- --:--:-- --:--:..

    [MSSQL] 슬라이딩 윈도우:테이블 파티셔닝 기법

    [MSSQL] 슬라이딩 윈도우:테이블 파티셔닝 기법

    이번에는 슬라이딩 윈도 알고리즘을 통한 테이블 파티셔닝 슬라이딩 윈도 기법에 대해 포스트 할 예정이다. 로그성 데이터와같이 데이터가 계속 쌓이는 테이블의 경우 기간이 늘어날수록 데이터는 점점 방대해진다. 테이블의 행 데이터가 매우 많은 대용량 데이터베이스의 경우에 INSERT, UPDATE, SELECT 등의 작업은 갈수록 느려지게 마련이다. 이럴 경우, 테이블을 분할하는 것이 시스템 성능에 큰 도움이 된다. ● 윈도우 슬라이딩 프로세스 윈도 슬라이딩을 사용하는 상황은 무엇이 있을까? 아래 그림과 같이 6개월간의 데이터들이 모여있다고 하자. SysEndTime 테이블은 최근 6개월의 데이터만 보관한다. 6개월 초과된 데이터는 오래된 데이터를 모아두는 테이블에 보관한다. 최근 6개월의 데이터를 보관하기 위..