DB(133)
-
DB/Database Knowledge
2018.08.13
1
[DB기초] 데이터베이스 설계시 고려사항
데이터베이스 설계 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는것이다. 데이터베이스 설계 시 고려사항 1. 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야함 2. 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 3. 회복 : 시스템에 장애가 발생했을 떄 장애 발생 직전의 상태로 복구할 수 있어야 함 4. 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 5. 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의..
-
DB/Database Knowledge
2018.08.12
1
[DB기초] 데이터 모델의 개념과 구성요소
데이터모델이란? 1. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다. 2. 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다. 3. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다. 4. 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다. 데이터모델의 종류 개념적 데이터 모델 1. 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 2. 개념적 데이터 모델은 속성들로 기술된 개..
-
DB/Database Knowledge
2018.08.11
1
[DB기초] 데이터베이스 언어란 무엇인가 (DDL,DML,DCL)
데이터베이스 언어란? 1. 데이터베이스 언어(Database Language)는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단이다. 2. 데이터베이스 언어는 DBMS를 통해 사용되며, 기능과 사용 목적에 따라 데이터 정의 언어, 데이터 조작 언어, 데이터 제어 언어로 구분된다. 데이터 정의 언어(DDL) 1. 데이터 정의 언어(DDL)는 DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다. 2. 데이터 정의 언어는 번역한 결과가 데이터 사전(DataDictionary)이라는 특별한 파일에 여러개의 테이블로서 저장된다. 데이터 정의 언어(DDL)의 기능 1. 외부 스키마 명세를 정의한다. 2. 데이터베이스의 논리적, 물리적 구조 및 구조 간의..
-
DB/Database Knowledge
2018.08.10
7
[DB기초] 스키마란 무엇인가?
스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다. 스키마의 특징 1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다. 2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다. 3. 스키마는 시간에 따라 불변인 특성을 갖는다. 4. 스키마는 데이터의 구조적 특성을 ..
-
DB/Database Knowledge
2018.08.09
1
[DB기초] DBMS의 기능 및 DBMS가 필요한 이유
DBMS가 필요한 이유 DBMS란? 1. DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 2. DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다. 3. DBMS는 데이터베이스의 구성, 접근방법 , 유지관리에 대한 모든 책임을 진다. 데이터베이스 데이터구성 데이터베이스를 이용하는 방식에서는 각 업무 처리에 필요한 자료들의 중복을 최소화 하여 한 곳에 모아서 구성한다. DBMS사용시 효과 1. 데이터의 논리적 물리적 독립성이 보장된다. 2. 데이터의 중복을 피할 수 있어 기억공간이 절약된다. 3. 저장된 자료를 ..
-
DB/Database Knowledge
2018.08.08
1
[DB기초] 데이터베이스의 정의와 특징
데이터베이스의 정의 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다. 1. 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임이다. 2. 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다. 3. 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다. 4. 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다. 데이터베이스의 특징 1. 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능..
-
DB/Database Knowledge
2018.08.06
3
[DB기초] 자료와 정보의 차이점과 정보시스템
자료와 정보 자료(Data) : 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 결과값으로 가공되지 않은 상태를 말한다. 정보(Information) : 의사 결정에 도움을 줄 수 있는 유용한 형태로, 자료를 가공(처리)해서 얻을 수 있는 결과이다. 정보시스템의 정의 1. 정보시스템이란 조직체에 필요한 Data를 수집, 저장해 두었다가 필요시에 처리해서 의사결정에 유용한 정보를 생성하고 분배하는 수단을 말한다. 2. 정보시스템은 사용하는 목적에 따라 경영 정보 시스템, 군사 정보 시스템, 인사 행정 정보 시스템, 의사 결정 지원 시스템등으로 구분되어 사용된다. 자료 처리 시스템 자료 처리 시스템은 사용할 자료를 처리하는 정보 시스템의 서브 시스템으로, 처리 형태에 따라 세 가지로 분류할 수 있..
-
DB/MSSQL
2018.04.10
[MSSQL] 동적 피벗 테이블 만들기
이번 포스팅에서는 앞선 두 포스팅에서 배웠던 문자열 합치기 : STUFF, FOR XML PATH 문자열 구분자 추가 : QUOTENAME 기법들을 활용해 동적 피벗테이블을 만들어보도록 하겠습니다. 동적 피벗 테이블 만들기 예제 테이블 DEPT, EMP를 이용해서 연도별(DT) 부서 입사 현황을 조회한다 (회사코드(COMPANY):0327, 사업장코드(BIZAREA):1000 데이터로 한정함) 1. PIVOT을 이용해 년도를 칼럼으로 표시 2. 동적컬럼 생성 시 STUFF, QUOTENAME 함수를 이용하여 입사자가 있는 년도만 표시 결과 화면 예시 동적 피벗 만들기 DECLARE @COL AS NVARCHAR(MAX) --변수선언 DECLARE @QUERY AS NVARCHAR(MAX) --변수에 쿼리..
-
DB/MSSQL
2018.04.09
3
[MSSQL] STUFF와 FOR XML PATH를 활용한 문자열 합치기
MSSQL에서 문자열을 합치는 방법은 여러가지가 있습니다. 이번 포스팅에서는 테이블을 Select 해온 결과값을 문자열로 쉽고 간편하게 만들 수 있는 방법을 소개해 드리도록 하겠습니다. STUFF, FOR XML STUFF : 지정된 문자열의 시작위치와 크기를 지정하여 원하는 문자로 치환하는 함수입니다. 사용법 STUFF('[문자열]','[시작위치]','[크기]','[치환문자]') FOR XML : 쿼리의 실행 결과를 XML형식으로 만들어줍니다. 모드 1. RAW : 행 집합의 각 행마다 SELECT문으로 반환되는 단일 행(ROW)를 생성합니다. 2. AUTO : SELECT문의 결과 XML에서 중첩된 구조를 생성합니다. 3. EXPLICIT : XML모양을 자신의 의지대로 특성과 요소를 혼합할 수 있습..
-
DB/MSSQL
2018.04.06
[MSSQL] 문자열 구분자 추가 (QUOTENAME) 함수 사용법 & 예제
QUOTENAME란? 문자열을 합치다 보면 가끔 문자열 앞에 따옴표 혹은 쉼표를 붙여준다거나 대괄호로 묶어줘야 할 경우가 있습니다. 그럴 때 유용하게 쓰이는 함수가 바로 QUOTENAME이라는 함수인데요 QUOTENAME이라는 함수는 문자열 앞뒤로 구분자를 넣어주는 기능을합니다. 구분자를 입력하지 않았을경우에는 대괄호가 추가되는 함수입니다. 사용법 --문법-- QUOTENAME ( '대상문자열' ,구분자 ) --EX-- PRINT(QUOTENAME ('ABCD')) ==> [ABCD] PRINT(QUOTENAME ('ABCD','''')) ==> 'ABCD' 예제 테이블 EX_TABLE에는 다음과같이 DT칼럼의 데이터 7개가 있다. 이 데이터를 대괄호로 묶어서 한 줄로 출력하시오 DECLARE @COL ..
-
DB/Database Knowledge 2018.08.13 1[DB기초] 데이터베이스 설계시 고려사항 데이터베이스 설계 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는것이다. 데이터베이스 설계 시 고려사항 1. 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야함 2. 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 3. 회복 : 시스템에 장애가 발생했을 떄 장애 발생 직전의 상태로 복구할 수 있어야 함 4. 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 5. 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의..
-
DB/Database Knowledge 2018.08.12 1[DB기초] 데이터 모델의 개념과 구성요소 데이터모델이란? 1. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다. 2. 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다. 3. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다. 4. 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다. 데이터모델의 종류 개념적 데이터 모델 1. 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 2. 개념적 데이터 모델은 속성들로 기술된 개..
-
DB/Database Knowledge 2018.08.11 1[DB기초] 데이터베이스 언어란 무엇인가 (DDL,DML,DCL) 데이터베이스 언어란? 1. 데이터베이스 언어(Database Language)는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단이다. 2. 데이터베이스 언어는 DBMS를 통해 사용되며, 기능과 사용 목적에 따라 데이터 정의 언어, 데이터 조작 언어, 데이터 제어 언어로 구분된다. 데이터 정의 언어(DDL) 1. 데이터 정의 언어(DDL)는 DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다. 2. 데이터 정의 언어는 번역한 결과가 데이터 사전(DataDictionary)이라는 특별한 파일에 여러개의 테이블로서 저장된다. 데이터 정의 언어(DDL)의 기능 1. 외부 스키마 명세를 정의한다. 2. 데이터베이스의 논리적, 물리적 구조 및 구조 간의..
-
DB/Database Knowledge 2018.08.10 7[DB기초] 스키마란 무엇인가? 스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다. 스키마의 특징 1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다. 2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다. 3. 스키마는 시간에 따라 불변인 특성을 갖는다. 4. 스키마는 데이터의 구조적 특성을 ..
-
DB/Database Knowledge 2018.08.09 1[DB기초] DBMS의 기능 및 DBMS가 필요한 이유 DBMS가 필요한 이유 DBMS란? 1. DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 2. DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다. 3. DBMS는 데이터베이스의 구성, 접근방법 , 유지관리에 대한 모든 책임을 진다. 데이터베이스 데이터구성 데이터베이스를 이용하는 방식에서는 각 업무 처리에 필요한 자료들의 중복을 최소화 하여 한 곳에 모아서 구성한다. DBMS사용시 효과 1. 데이터의 논리적 물리적 독립성이 보장된다. 2. 데이터의 중복을 피할 수 있어 기억공간이 절약된다. 3. 저장된 자료를 ..
-
DB/Database Knowledge 2018.08.08 1[DB기초] 데이터베이스의 정의와 특징 데이터베이스의 정의 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다. 1. 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임이다. 2. 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다. 3. 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다. 4. 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다. 데이터베이스의 특징 1. 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능..
-
DB/Database Knowledge 2018.08.06 3[DB기초] 자료와 정보의 차이점과 정보시스템 자료와 정보 자료(Data) : 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 결과값으로 가공되지 않은 상태를 말한다. 정보(Information) : 의사 결정에 도움을 줄 수 있는 유용한 형태로, 자료를 가공(처리)해서 얻을 수 있는 결과이다. 정보시스템의 정의 1. 정보시스템이란 조직체에 필요한 Data를 수집, 저장해 두었다가 필요시에 처리해서 의사결정에 유용한 정보를 생성하고 분배하는 수단을 말한다. 2. 정보시스템은 사용하는 목적에 따라 경영 정보 시스템, 군사 정보 시스템, 인사 행정 정보 시스템, 의사 결정 지원 시스템등으로 구분되어 사용된다. 자료 처리 시스템 자료 처리 시스템은 사용할 자료를 처리하는 정보 시스템의 서브 시스템으로, 처리 형태에 따라 세 가지로 분류할 수 있..
-
DB/MSSQL 2018.04.10[MSSQL] 동적 피벗 테이블 만들기 이번 포스팅에서는 앞선 두 포스팅에서 배웠던 문자열 합치기 : STUFF, FOR XML PATH 문자열 구분자 추가 : QUOTENAME 기법들을 활용해 동적 피벗테이블을 만들어보도록 하겠습니다. 동적 피벗 테이블 만들기 예제 테이블 DEPT, EMP를 이용해서 연도별(DT) 부서 입사 현황을 조회한다 (회사코드(COMPANY):0327, 사업장코드(BIZAREA):1000 데이터로 한정함) 1. PIVOT을 이용해 년도를 칼럼으로 표시 2. 동적컬럼 생성 시 STUFF, QUOTENAME 함수를 이용하여 입사자가 있는 년도만 표시 결과 화면 예시 동적 피벗 만들기 DECLARE @COL AS NVARCHAR(MAX) --변수선언 DECLARE @QUERY AS NVARCHAR(MAX) --변수에 쿼리..
-
DB/MSSQL 2018.04.09 3[MSSQL] STUFF와 FOR XML PATH를 활용한 문자열 합치기 MSSQL에서 문자열을 합치는 방법은 여러가지가 있습니다. 이번 포스팅에서는 테이블을 Select 해온 결과값을 문자열로 쉽고 간편하게 만들 수 있는 방법을 소개해 드리도록 하겠습니다. STUFF, FOR XML STUFF : 지정된 문자열의 시작위치와 크기를 지정하여 원하는 문자로 치환하는 함수입니다. 사용법 STUFF('[문자열]','[시작위치]','[크기]','[치환문자]') FOR XML : 쿼리의 실행 결과를 XML형식으로 만들어줍니다. 모드 1. RAW : 행 집합의 각 행마다 SELECT문으로 반환되는 단일 행(ROW)를 생성합니다. 2. AUTO : SELECT문의 결과 XML에서 중첩된 구조를 생성합니다. 3. EXPLICIT : XML모양을 자신의 의지대로 특성과 요소를 혼합할 수 있습..
-
DB/MSSQL 2018.04.06[MSSQL] 문자열 구분자 추가 (QUOTENAME) 함수 사용법 & 예제 QUOTENAME란? 문자열을 합치다 보면 가끔 문자열 앞에 따옴표 혹은 쉼표를 붙여준다거나 대괄호로 묶어줘야 할 경우가 있습니다. 그럴 때 유용하게 쓰이는 함수가 바로 QUOTENAME이라는 함수인데요 QUOTENAME이라는 함수는 문자열 앞뒤로 구분자를 넣어주는 기능을합니다. 구분자를 입력하지 않았을경우에는 대괄호가 추가되는 함수입니다. 사용법 --문법-- QUOTENAME ( '대상문자열' ,구분자 ) --EX-- PRINT(QUOTENAME ('ABCD')) ==> [ABCD] PRINT(QUOTENAME ('ABCD','''')) ==> 'ABCD' 예제 테이블 EX_TABLE에는 다음과같이 DT칼럼의 데이터 7개가 있다. 이 데이터를 대괄호로 묶어서 한 줄로 출력하시오 DECLARE @COL ..