데이터베이스
-
[데이터베이스] SQL 테이블 값 생성자 VALUES()데이터베이스와 SQL 2022. 10. 29. 18:29
테이블 값 생성자: Values() 행 집합을 선언한 후에 테이블 값을 입력할 때 사용한다. 구현 1 ) FROM ()의 파생 테이블 이전에는 임의의 값을 생성할 때 Union (all)을 이용해서 생성했다면, 현재는 Values를 생성하여 임의의 테이블을 생성할 수 있다. SELECT * FROM (VALUES (1), (2), (3)) AS d(num) 구현 2) INSERT ... VALUES DECLARE @products TABLE ( productName varchar(80), UnitPrice money ); INSERT INTO @products VALUES ('후추', \1000), ('구름', \2000), ((SELECT ProductName FROM dbo.Products WHERE..
-
[데이터베이스] MSSQL 난수(random data)데이터베이스와 SQL 2022. 10. 22. 14:07
랜덤 데이터 생성 함수 1) RAND([seed]) 함수 (부동소수점, 0~1 사이의 값 중 생성) 쿼리 당 호출 정확한 의미의 난수 값은 아님 => Pseudo Random 값 동일 seed 에 동일한 결과로 동일 순서로 생성됨 SELECT RAND (); -- RAND() 함수는 쿼리당 한번 호출 (행 단위가 아님) SELECT TOP (5) object_id FROM sys.objects ORDER BY RAND(); -- 초기 값에 대해 반환된 결과는 항상 동일함 SELECT RAND(3); -- 한 connection에 대해 seed 를 지정하게 되면, 모든 후속은 최초 RAND()를 바탕으로 생성 SELECT RAND(3), RAND(), RAND(); -- 최종 1~ 최대값 SELECT CA..
-
[데이터베이스] SQL의 핵심 기능, CASE문과 TOP데이터베이스와 SQL 2022. 10. 20. 21:26
CASE 문은 행 단위의 조건 처리를 위한 Transaction SQL 기능 중 하나이다. 나는 실제 실무에서 데이터 검증을 위해서도 CASE 문을 자주 쓰는 편이다. CASE 문은 SQL 이 아닌 다른 언어에서 IF문과 비슷한 기능을 한다고 볼 수 있다. CASE 문을 사용할 때 참고 및 주의 사항은 다음과 같다. 서로 다른 데이터 형을 반환 하는 경우는 명시적으로 변환 하는 것을 권장한다. ELSE 절이 없는 경우에는 NULL을 반환하는데, SUM()과 같은 집계 작업에 활용할 수 있다. CASE 문 평가 전에 내부 식이 먼저 계산되는 경우, 원치 않는 결과가 나올 수 있음. -> 오류 발생 할 수 있다면 해결 코드 추가가 필요하다. 아래 쿼리는 명시적으로 형 변환이 필요한 이유를 보여주는 쿼리이다...
-
데이터베이스의 개체 - 인덱스, 스토어드 프로시저, 트리거데이터베이스와 SQL 2022. 9. 16. 22:27
데이터베이스에서 '테이블'은 가장 기본이 되는 요소이다. 하지만 테이블 외에도 데이터베이스를 구성하는 중요한 개체들이 있는데 바로 인덱스, 스토어드 프로시저, 트리거, 함수, 커서 등이다. 이 부분에 대해서는 나도 아직 모르는 부분이 많아서, 상세한 내용은 더 공부를 한 후에 포스팅 하도록 하고, 이 포스팅에서는 각각의 개체들에 대해 간단한 개념만 정리하고자 한다. 1. 인덱스 (Index) 인덱스는 흔히 책이나 논문 의 맨 마지막 페이지에서 본 적이 있을 것이다. 책에서 특정 단어가 나오는 내용을 찾고자 할 때 인덱스에서 해당 단어에 해당하는 페이지를 확인하면, 바로 그 단어를 찾을 수 있다. 책이 두꺼울 수록 그 효과는 증대된다. 즉, 인덱스를 활용하여 우리는 훨씬 빠른 속도로 정보를 찾을 수 있다...
-
데이터베이스 모델링, SQLD의 기본 개념데이터베이스와 SQL 2022. 9. 14. 23:30
SQLD 자격증을 딴 지도 약 1년이 되어간다. 실무에서 SQL을 직접 사용하면서 SQL 의 기본적인 개념 역시 매우 중요하다는 것을 느끼고 있다. 그런 의미에서 SQLD 자격증을 준비할 때 공부했던 이론들을 다시 복습해 보기로 했다. 가장 먼저 데이터베이스 모델링에 대한 부분이다. 언뜻 쉽기도 하고, 지루하기도 한 내용이지만 해당 부분에 대한 개념을 확실히 잡아야 나중에 데이터 관리할 때 이상한 값들이 있는지 쉽게 파악할 수 있다. 데이터베이스 모델링? 데이터베이스 모델링이란, 현실 세계의 복잡한 데이터를 추상화, 단순화, 명확화를 통해 DBMS(DataBase Managemenet System) 에 옮겨 넣는 방법을 결정하는 과정이라고 할 수 있다. 쉽게 예를 들자면, 온라인 쇼핑몰에 들어가는 회원 ..