본문 바로가기

Database/SQL Server

(16)
<SQL Server> 08. 테이블과 뷰 - 1 테이블과 뷰 - 1테이블 생성SSMS의 개체 탐색기에서 테이블을 생성•개체 탐색기에서 데이터 베이스 우클릭하여 새 데이터베이스 선택•데이터베이스 이름에 tableDB 입력 후 확인 버튼•개체 탐색기 → 데이터베이스 → tableDB → ‘테이블’ 우클릭 → 새로 만들기 → 테이블 클릭•컬럼명, 데이터 형식, Null 허용 여부 입력•userID 우클릭하여 기본키 설정•저장 버튼 클릭 → 테이블 이름 입력 후 확인•같은 방식으로 buyTBL도 생성, num(Primary key)•buyTBL → num 컬럼에 IDENTITY 속성 지정, ID 사양을 “아니요” 에서 → “예” 로 변경테이블간의 관계 설정•개체 탐색기의 buyTBL 우클릭 → 디자인 → userid 컬럼 우클릭하여 관계(H) 클릭••추가 버..
<SQL Server> 07. Transact SQL 고급 - 4 Transact SQL 고급 - 4SQL 프로그래밍T-SQL에서도 다른 프로그래밍 언어와 비슷한 분기, 흐름 제어, 반복의 기능이 있다. 이러한 기능과 변수들을 함께 잘 활용한다면 강력한 SQL 프로그래밍이 가능하다.IF ELSE조건에 따라 분기한다. 한 문장 이상이 처리되어야 할 때는 BEGIN … END와 함께 묶어줘야만 하며, 습관적으로 실행할 문장이 한 문장뿐이라도 BEGIN … END로 묶어주는 것이 좋다.*형식IF [부울 표현식] BEGIN SQL 문장들1.. END ELSE BEGIN SQL 문장들2.. ENDSQL간단한 구조다. 부분이 참 True 이면 ‘SQL문장들1’을 수행하고, 거짓False 이라면 ’SQL 문장들2’를 수행한다. 물론, SQL문장들1 또는 SQL 문장들2가 한 개의 ..
<SQL Server> 06. Transact SQL 고급 - 3 Transact SQL 고급 - 3조인조인Join조인^{Join}조인Join이란 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것을 말한다. 데이터베이스의 테이블은 중복 공간 낭비를 피하고 데이터의 무결성을 위해서 여러 개의 테이블로 분리하여 저장한다. 그리고 이 분리된 테이블들은 서로 관계를 맺고 있다. 그중에서 가장 많이 사용되는 보편적인 관계가 sqlDB의 userTbl과 buyTbl의 관계인 ‘일대다’의 관계다. 이 데이터베이스는 간단한 가상의 쇼핑몰에서 운영하는 데이터베이스라고 가정한 것이며 그 중에서 회원의 기본 정보(userTbl)와 회원이 구매한 구매 정보(buyTbl)만 표시한 것이다. 일대다 관계란 한쪽 테이블에는 하나의 값만 존재해야 하지만, 다른 한쪽 테이블에..
<SQL Server> 05. Transact SQL 고급 - 2 Transact SQL 고급 - 2스칼라 함수SQL Server는 많은 기본 제공 함수를 포함하고 있다. 기본 제공 함수는 크게 행 집합 함수, 집계 함수, 순위 함수, 스칼라 함수로 분류할 수 있다. 그중 스칼라 함수는 단일 값에 적용되어 단일 값의 결과를 돌려주는 함수다. SQL Server에서 제공하는 기본 제공 스칼라 함수의 종류는 구성 함수, 변환 함수, 커서 함수, 날짜 및 시간 함수, 수치 연산 함수, 메타 데이터 함수, 보안 함수, 문자열 함수, 시스템 함수, 시스템 통계 함수, 텍스트 및 이미지 함수 등으로 나눠진다.CAST(), CONVERT()는 시스템 함수로 분류되고, TRY_CONVERT(), PARSE(), TRY_PARSE() 등은 변환 함수로 분류된다.*구성 함수 : 현재 구..
<SQL Server> 04. Transact SQL 고급 - 1 Transact SQL 고급 - 1SQL Server의 데이터 형식 Data Type은 데이터 형식, 데이터형, 자료형, 데이터 타입 등 다양하게 불릴 수 있지만, SQL Server의 도움말에서 ‘데이터 형식’으로 표기하고 있음SELECT 문을 더욱 잘 활용하고 테이블을 효율적으로 생성하려면 데이터 형식을 이해해야 한다.SQL Server에서 지원하는 데이터 형식의 종류SQL Server에서 데이터 형식의 종류는 30개 가까이 된다. 이를 모두 외우는 것은 무리이며, 거의 쓰이지 않는 것도 있으니 그럴 필요도 없다. 또한, 각각의 바이트 수나 숫자의 범위를 외우는 것도 당장 SQL Server를 학습하는 데 큰 도움이 되는 것은 아니다 (필요 없다는 얘기가 아니라, 당장 모두 외울 필요가 없다는 의미다..
<SQL Server> 03. Transact-SQL 기본 Transact-SQL 기본Transact-SQL 정의국제 표준화 위원회에서는 ANSI/ISO SQL이라는 명칭의 SQL의 표준을 관리하고 있으며, 이 중에서도 1992년에 제정된 ANSI-92 SQL과 1999년에 제정된 ANSI-99 SQL 이라는 명칭의 표준이 대부분의 DBMS 회사에서 적용하는 기준이 되고 있다.그러나 ANSI-92/99 SQL이 모든 DBMS 제품의 특성을 반영할 수가 없기 때문에, 각 회사들은 자신들의 제품을 특성하는 sql에 별도의 이름을 붙였다. 일례로, SQL Server에서는 Transact-SQL(줄여서 T-SQL)이라고 명명한 SQL문을 사용하고, Oracle에서는 PL/SQL 이라는 이름의 SQL문을 사용한다.SELECT 문SELECT 문은 다양한 옵션으로 인해서 ..
<SQL Server> 02. SQL Server 툴, 유틸리티 SQL Server Management Studio SQL Server Management Studio(줄여서 SSMS)는 SQL Server 2005부터 제공되는 통합된 SQL Server의 클라이언트 툴이다. SSMS는 간단히 말하면 SQL Server 엔진에 접속하기 위한 클라이언트 도구다. 가장 많이 사용되는 기능으로 개체 탐색기에서 서버를 관리하거나, 쿼리창에서 SQL을 입력하고 실행하는 기능이 대표적이다. SQL Server Management Studio의 실행 SQL Server 2019을 설치한 후 Windows의 [시작] → [모든 앱] → [Microsoft SQL Server 2019] → [SQL Server Management Studio]를 선택하면 아래와 같은 SQL Serv..
<SQL Server> 01. 데이터베이스 모델링 데이터베이스 모델링 개념 아래 그림처럼 현실세계의 고객, 물건, 직원 등은 데이터베이스의 각각의 테이블이라는 개체로 변환이 된다(물론, 일부는 테이블 외의 다른 개체로도 변환되기도 한다) 데이터베이스 모델링 실습 실습 1 새로운 쇼핑몰을 오픈했다고 가정하자. step1. 고객의 방문한 내역은 다음과 같이 기록될 것이다. 이 기록이 메모장 또는 엑셀에 기록되어 있다고 가정하자. step2. 기록된 내용에서 물건을 구매한 적이 없는 고객을 위쪽으로 다시 정렬해보자. 이러한 것을 L자형 테이블이라는 용어를 쓴다. L자형 테이블의 문제는 공간의 낭비에 있다. 위 표에서도 구매한 물건 정보 부분이 많이 비어 있는데도, 그 공간을 사용하지 않고 있다. step3. L자형 테이블을 빈칸이 있는 곳과 없는 곳으로 분리..