전체 글 93

격리수준 (ISOLATION)

격리수준(ISOLATION)이란?트랜잭션이 수행될 때 다른 트랜잭션으로부터 영향을 받지 않게 고립성을 유지시키는 트랜잭션 특징입니다.다른 트랜잭션에 영향을 받지 않도록 잠금(Lock)을 사용하며 트랜잭션 작업에 대한 고립성을 유지하기 위해 다양한 격리 수준으로 잠금의 유형을 정의합니다.즉, 여러 트랜잭션이 동시에 수행될 때 한 트랜잭션에서 조회 또는 변경되는 데이터에 대해 다른 트랜잭션에서 접근 가능한 수준을 정하는 것입니다 기본 격리 수준은 READ COMMITTED 이며, 격리 수준 옵션을 지정하는 구문은 다음과 같습니다.SET TRANSACTION ISOLATION LEVEL{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ |SNAPSHOT | SERI..

Database/MS-SQL 2024.09.24

부속 질의 ( 스칼라 서브쿼리, 인라인 뷰)

2. 스칼라 부속질의 - SELECT 부속질의 스칼라 부속질의 Scalar Subquery는 SELECT 절에서 사용되는 부속질의로, 부속질의의 결과 값을단일행, 단일열의 스칼라값으로 반환합니다. 만약 결과 값이 다중행이거나 다중열이라면DBMS는 그 중 어떠한 행, 어떠한 열을 출력해야 하는지 알 수 없어 에러를 출력합니다.또한 결과가 없는 경우에는 NULL 값을 출력합니다.스칼라 부속질의는 원칙적으로 스칼라값이 들어갈 수 있는 모든 곳에 사용 가능하며,일반적으로 SELECT 문과 UPDATE SET 절에 사용됩니다.주 질의와 부속질의와의 관계는 상관/비상관 모두 가능합니다.  예제 ) 고객별 판매액을 보이시오 (고객이름과 고객별 판매액 출력) SELECT (SELECT name FROM C..

Database/MS-SQL 2024.09.09

부속 질의 ( 서브 쿼리 )

부속 질의 (SubQuery) 는 SQL 문 안에 다른 SQL 문이 중첩된 질의를 말합니다. 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용합니다.예를들어서 고객 이름과 주문내역을 같이 보려면 Orders 테이블과 Customer 테이블을 연관시켜야합니다. 두 테이블의 관계를 토대로 특정 고객의 주문 내역을 확인하려면 조인 또는 부속 질의를 사용하면 됩니다. 조인을 사용할 경우 :  Customer 테이블과 Orders  테이블의 고객번호로 조인한 후 필요한 데이터를 추출한다.부속질의를 사용할 경우 : Customer 테이블에서 특정 고객의 고객 번호를 찾고, 찾은 고객번호를 바탕으로 Orders 테이블에서 확인한다.[ 부속질의의 종류 ]명칭위치영문 및 동의어설명중첩질의..

Database/MS-SQL 2024.09.02

내장함수 (2) | Null 함수

날짜 및 시간 함수 날짜는 단순히 문자열로 저장하여 관리할 수 있지만 날짜형 데이터로 저장하여 관리하면 편리합니다.날짜를 더하거나 차이를 구하는 연산을 쉽게할 수 있기 때문입니다.     DATEADD 함수 DATEADD()는 입력된 날짜에 사용자가 원하는 날짜만큼 더한 날짜를 반환하는 함수입니다.아래는 DATEADD 함수를 활용한 예시입니다. SELECT orderid "주문번호", orderdate "주문일", DATEADD(dd, 10, orderdate) "확정"FROM Orders;   SYSDATETIME 함수 SYSDATETIME() 함수는 SQL Server의 현재 시간을 반환하는 함수입니다. SELECT SYSDATETIME();-- 현재시간 SELECT DAY(SYSDATETIME())..

Database/MS-SQL 2024.08.26

내장 함수

이번에는 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-> 이렇게 구현한다...

카테고리 없음 2024.07.21