전체 글 99

내장 함수

이번에는 SQL의 내장함수에 대해 알아보는 시간을 가져볼 것입니다. 수학에서 함수 y = f(x) 는 값 x를 함수 f에 넣으면 y값을 결과로 반환한다는 의미입니다.SQL 에서도 수학의 함수처럼 특정 값이나 열의 값을 입력받아 그 값을 계산하여 결과 값을 돌려주는 개념을 사용합니다.SQL 에서 사용하는 함수에는 DBMS가 제공하는 내장 함수와 사용자가 직접 만든 사용자 정의 함수가 있습니다. SQL 내장 함수는 다음과 같이 SELECT 절, WHERE 절, UPDATE 절 등에서 모두 사용할 수 있습니다.SELECT 함수명(인자1,인자2,인자3,...)FROM 테이블이름WHERE 열이름 = 함수명(인자1,인자2,인자3,...); UPDATE 테이블이름SET 열이름 = 함수명(인자1,인자2,인자3,...)..

Database/MS-SQL 2024.08.15

[MS-SQL] 인덱스 (INDEX)란?

이번 시간에는 인덱스에 대해서 공부해보는 시간을 가져보겠습니다.  INDEX란?인덱스는 무작위로 저장된 데이터 집합에서 원하는 데이터를 쉽고 빠르게 찾을 수 있도록 제공되는 하나의 오브젝트입니다. 조건에 맞춰서 테이블을 검색할 때 테이블 전체의 데이터를 읽어가며 찾아내는 것이 아니라,인덱스의 키로 조건을 탐색하고 함께 저장된 행의 주소값을 통해 테이블의 다른 열을 참조하는 방식으로 수행합니다. 예를 들어, 책의 목차로 비유하면 책 속의 원하는 내용을 찾을 때 목차를 통해 페이지 번호를 쉽게 알아낼 수 있습니다.(목차가 세분화될수록 원하는 페이지를 정확하게 찾아낼 수 있음) 위의 예시와 마찬가지로 인덱스도 상세할 수록 데이터를 더 정확히 찾아낼 수 있습니다. 인덱스를 생성하는 기본 구문은 아래와 같습니다...

Database/MS-SQL 2024.08.12

[SQL] WHERE 절의 IN 연산자

데이터베이스에서 특정 조건일 때의 데이터를 조회하고 싶을 때 OR 문을 사용하는 경우가 많을 것입니다. 그런데SELECT [컬럼명]FROM [테이블명]WHERE [컬럼명] = [조건1] OR [컬럼명] = [조건2] OR [컬럼명] = [조건3] OR [컬럼명] = [조건n...] 이런식으로 조건이 많을 경우 눈에 보기 어려운 경우가 있을 것입니다.그럴 때는 IN 연산자를 활용하면 훨씬 간편하게 사용할 수 있습니다. 그리고 IN 연산자는 OR 연산자 보다 처리 속도가 빠르기 때문에 방대한 데이터에 접근할 경우, 성능면에서 유리합니다.또한, IN 연산자 안에 하위 쿼리를 작성할 수 있습니다. 아래는 IN 연산자의 예시입니다. SELECT [컬럼명]FROM [테이블명]WHERE [컬럼명] IN ('조건1',..

Database/MS-SQL 2024.08.01

정규화 (Normalization) 란?

정규화란 데이터베이스의 데이터를 구성하는 프로세스입니다.중복과 일관성 없는 종속성을 제거하여 데이터베이스를 보다 유연하게 만듭니다.=> 중복된 데이터를 없애는 과정을 통해 무결성(Integrity)을 유지할 수 있으며,데이터베이스의 저장 용량 또한 줄일 수 있습니다. 정규화 진행 단계로는 다음과 같이 있습니다.  제1 정규화제1 정규화란 테이블의 컬럼이 원자값 (Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것입니다. 예시) => 여기서 조승연은 게임, 축구 2개의 취미를 가지고 있기 때문에 제1 정규형을 만족하지 못합니다. 위의 테이블에서 제 1 정규화를 진행하면 위와 같이 조승연의 게임, 축구가 2개의 필드로 분리되는 것을 확인할 수 있습니다.  제2 정규화제2 정규화란 제1 정규화..

Database/MS-SQL 2024.08.01

해시 (Hash) 함수란?

먼저, 해시 함수에 대해 알아보기 전에 해시에 대해서 알아보는 시간을 가져보겠습니다. 해시(Hash)데이터를 효율적으로 관리하기 위해, 임의의 길이 데이터를 고정된 길이의 데이터로 매핑하는 것입니다.해시 함수를 구현하여 데이터 값을 해시 값으로 매핑합니다.Lion -> 해싱함수 -> 5Tiger -> 해싱함수 -> 3Dog -> 해싱함수 -> 2...Bird -> 해싱함수 -> 5 // Lion과 해싱값 충돌 위와 같이 데이터가 많아지면, 다른 데이터가 같은 해시 값으로 충돌되는 현상이 발생합니다.이것을 'Collision' 현상이라고 부릅니다.  그래도 해시 테이블을 쓰는 이유는 뭘까요???적은 자원으로 많은 데이터를 효율적으로 관리하기 위해서입니다.하드디스크나, 클라우드에 존재하는 무한한 데이..

카테고리 없음 2024.07.31

SAM 파일이란?

SAM (Sequential Access Method)-> 순차 접근 방법정보의 항목들을 저장된 순서대로 접근하는 방법이 방법을 이용하면 다음에 읽어 올 자료를 예측할 수 있다.일반적으로 연속된 대량 자료에 접근하고자 할 때 이용된다.데이터를  기억 장치에 입력시키거나 기억 장치로부터 판독할 때, 입력이나 판독이 되는 기억 장소에 이어지는 다음 기억 장소에 입력 또는 판독할 수 있도록 하는 방법예시 ) Data Format : 학번(8), 이름(10) 이렇게 구성되어 있으면11111111홍길동enter22222222홍길똥enter-> 이렇게 구현한다...

ETC 2024.07.21

조인 (2) - 물리적 조인

이번시간에는 물리적 조인에 대해 알아보는 시간을 가져볼 것이다.  물리적 조인 ( Physical Join)이란?DBMS에 의해 내부적으로 발생하는 테이블 결합 방식이다. 물리적 조인을 처리하기 위한 방법으로는 다음과 같은 3가지 방식이 있다.Nested Loop Join (NL Join)Merge JoinHash Join  Nested Loop Join ( NL Join ) 이란?중첩된 반복 조인이다.선행 테이블의 결과 집합을 한 건씩 후행 테이블에 조인하고 이를 반복하여 최종 결과 집합을 만들어낸다.선행 테이블의 결과 집합 건수만큼 조인이 반복되기 때문에 결과 집합의 크기에 따라 조인의 전체 일량이 결정된다.  NL Join의 SQL 구문 및 처리 과정 SELECT e.ENAME, e.Sal, d.D..

카테고리 없음 2024.07.21

JOIN

오늘은 JOIN 구문에 대해서 알아보는 시간을 가져볼 것이다. 조인이란?조인은 관계가 있는 두 개 이상의 테이블을 주어진 조건으로 결합하여 하나의 결과 집합으로 출력하는 기능이다.  구문 예시 ) SELECT *FROM 테이블명 a JOIN 테이블명 bON 조인조건 CROSS JOIN 을 제외한 조인들은 결과 집합을 만들기 위해 테이블 간의 관계를 갖는 조건이 요구되는데, ON 절에 기술된 열이 조인의 관계로 사용되는 키가 된다.    직원의 정보를 저장하는 Employee 테이블과 부서 정보를 저장하는 Department 테이블이 있다.두 테이블은 Dept_NO 라는 부서 코드 열로 관계를 가지는데, 다음과 같이 쿼리를 작성하면 특정 직원의 부서 이름을 출력할 수 있다.SELECT e.Name, d.D..

Database/MS-SQL 2024.07.11

SQL 개념 정리 (DDL, DML, DCL, TCL)

오늘은 SQL 문법의 개념과 종류에 대해서 알아보는 시간을 가져보고 다양한 예제를 보여주려한다. 참고로 Sample Data는 아래 사이트에서 가져왔다. https://www.sqlservertutorial.net/getting-started/load-sample-database/ Load SQL Server Sample DatabaseThis tutorial shows you step by step how to load a sample database BikeStores into the SQL Server for practicing.www.sqlservertutorial.net SQL 문법은 DDL, DML, DCL, TCL로 구분 지을 수 있다. DDL (Data Definition Language)..

Database/MS-SQL 2024.07.04

와일드 카드를 이용한 SELECT

오늘은 데이터를 SELECT 할 때 사용하는 LIKE 연산자에 대해서 알아보고,검색 조건으로 쓰이는 와일드 카드에 대해 알아보는 시간을 가질 것이다.  와일드 카드란?-> LIKE 연산자를 통해 특정한 값을 검색하는데, 이때 쓰이는 연산자를 의미한다. 종류로는 아래와 같이 구성되어있다.와일드 카드%모든 문자를 의미한다. _ 한 개의 문자를 대신한다. [ ] 대괄호 안에 일치시킬 문자와 범위를 지정할 수 있다.  예시SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A%'-> A로 시작하는 모든 문자열SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '%A%'-> A가 포함된 모든 문자열SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A%Z'-> A로 시작..

Database/MS-SQL 2024.06.20