반응형

Database/SQL Server 81

MS SQL - 뷰란 ? What is a View?

뷰란 ? What is a View? 뷰는 그냥 저장된 쿼리이다. 가상 테이블정도로 생각하면 된다. A view is nothing more than s saved SQL query. A view can also be considered as a virtual table. 뷰 수정 To modify a view ALTER VIEW statement 뷰 삭제 To drop a view DROP VIEW vWName 뷰의 장점 Advantages of views 뷰는 데이터베이스의 스키마의 복잡성을 줄일 수 있다. Views can be used to reduce the complexity of the database schema 뷰는 행과 열의 보안 수준을 구현하는 메커니즘으로 활용 될 수 있다. View..

Database/SQL Server 2020.12.05

MS SQL - 인덱스의 장점 & 단점 / Advantages and disadvantages of indexes

장점 쿼리를 사용하여 테이블의 데이터를 찾는 속도가 인덱스로 인해 매우 빨라질 수 있다. 적은 양의 데이터일 때보다 많은 양의 데이터를 처리할 때에 빨라짐의 체감은 더 커진다. Indexes are used by queries to find data quickly 단점 추가적인 저장 공간(비클러스터만 그렇지만 일단 index의 단점) 업데이트나 삭제할 때 인덱스가 있음으로 느려진다. (성능의 저하를 일으킴) 자주 바뀌는 테이블 같은 경우 인덱스의 재정립이 필요할 수도 있다. 인덱스만으로 결과를 얻기 때문에 다른 컬럼의 정보를 보려면 추가적인 작업을 해야할 때가 있다. Additional Disk Space Insert Update and Delete statements can become slow Cov..

Database/SQL Server 2020.12.04

MS SQL - 유니크 인덱스 / 비 유니크 인덱스(Unique index / Non Unique index)

유니크 인덱스 Unique index 유니크 인덱스는 키 값의 고유성을 지켜준다(?). 기본키(Primary Key)는 기본적으로 unique clustered index로 된다. 고유성은 인덱스의 성질느낌으로 클러스터 유무에 상관없이 적용이 가능하다. Unique index is used to enforce uniqueness of key values in the index. By default, Primary Key constraint, creates a unique clustered index. Uniqueness is a property of an index, and both CLUSTERED and NON-CLUSTERED indexes can be UNIQUE. 고유 제약 조건(Unique c..

Database/SQL Server 2020.12.04

MS SQL - 암호화 와 스키마바인딩, 임시 테이블(로컬, 글로벌)[Encrypting & Schema binding], Temporary tables(Local , Global)]

암호화 함수나 프로시저를 보호하고 싶을 때 암호화를 하면 된다. EX) CREATE FUNCTION Fn_GetNameById(@Id int) Returns nvarchar(30) with ENCRYPTION as .... 스키마 바인딩(Schemabinding) 스키마를 묶는다는 의미같은데 일단 쿼리를 쓸 때에 '*'을 쓸 수 없다. 컬럼명을 직접 지정해줘야한다. 그리고 From뒤에 테이블 이름을 넣을 때에도 절대 경로(?) 절대 이름을 넣어줘야한다. 뷰를 묶어서 저장시킨다는 개념인데 왜 굳이 그러냐 하면 인덱스를 넣을 수 있어서 이다. 로컬 임시 테이블(Local Temporary tables) 테이블 이름 앞에 #(샾)을 붙이면 된다. 이렇게 해서 Created 된 테이블은 tembdb에 tempo..

Database/SQL Server 2020.12.04

MS SQL - 결정적 함수 와 비결정적 함수(Deterministic and Nondeterministic)

- 결정적 함수 데이터베이스의 상태가 같을 경우 특정 입력 값 집합으로 호출될 때마다 항상 동일한 결과를 반환합니다. Always return the same result any time they are called with a specific set of input values and given the same state of the database Ex) Square(), Power(), Sum(), AVG() and Count() - 비결정적 함수 액세스하는 데이터베이스의 상태가 동일하게 유지되더라도 특정 입력 값 집합으로 호출될 때마다 다른 결과를 반환할 수 있습니다. 예를 들어 AVG 함수는 항상 위에서 설명된 조건 May return different results each time they ..

Database/SQL Server 2020.12.04

MS SQL-사용자 지정 함수(스칼라, 인라인 테이블, 다중 테이블)

사용자 지정 함수의 종류(User Defined Functions Type) 1. 스칼라 사용자 지정 함수(Scalar User Defined functions) 스칼라 값만 리턴하는 함수 2. 인라인 테이블 반환 사용자 지정 함수(Inline Table Valued Functions) 테이블을 리턴하는 함수 비긴(Begin)과 엔드(END)를 쓰지 않음 예) CREATE FUNCTION Fn_EmployeeByGender(@Gender nvarchar(10)) RETURNS TABLE AS RETURN (Select Id, Name, Gender From tableEmployees where Gender = @Gender) 3. 다중 테이블 반환 사용자 지정 함수(Multistatement Table ..

Database/SQL Server 2020.12.04

MS SQL Query 내장 함수(문자열, 숫자, 시간 관련 )

String Functions ASCII(Character_Expression): 글자를 숫자로 변환시킴 CHAR(Integer_Expression): 숫자를 글자로 변환시킴 LTRIM(Character_Expression): 왼쪽 공백을 지움 RTRIM(Character_Expression): 오른쪽 공백을 지움 LOWER(Character_Expression): 소문자로 변환시킴 UPPER(Character_Expression): 대문자로 변환시킴 REVERSE('Any_String_Expression'): 글자를 뒤집어서 나열한 것을 리턴함. LEN(String_Expression): 글자 개수를 리턴함. LEFT(String_Expression, Integer_Expression): 왼쪽부터 주어..

Database/SQL Server 2020.12.04

SQL Server-트리거 생성, ID 확인(Identity), 유니크 키 만들기, 조인 Join, having 과 where , stored procedure 프로시저 , 암호화(Encryption)

트리거 생성 / Create Trigger Create Trigger trForInsert on Test1 for Insert as Begin Insert into Test2 Values('YYYY') End ID확인하는 세가지 방법 Select SCOPE_IDENTITY() Select @@IDENTITY Select IDENT_CURRENT('Test2') DENT_CURRENT는 임의의 세션과 범위에 있는 특정 테이블에 대해 생성된 마지막 ID 값을 반환합니다. @@IDENTITY는 전체 범위에 걸쳐 현재 세션에 있는 임의의 테이블에 대해 생성된 마지막 ID 값을 반환합니다. SCOPE_IDENTITY는 현재 세션과 현재 범위에 있는 임의의 테이블에 대해 만들어진 마지막 ID 값을 반환합니다. [펌..

Database/SQL Server 2020.12.03

MS SQL Server - 데이터베이스 생성/변경/삭제 , 테이블 생성/변경/삭제, 제약조건 생성

데이터베이스 만들기 Creating a Database Create Database Database_Name 데이터베이스 이름 바꾸기 Altering a Database Alter database DatabaseName Modify Name = NewDatabaseName 데이터베이스 삭제 Deleting a database Drop Database 삭제하고픈DB이름 만약 다른 유저가 연결 되어있어 삭제가 안될때 If other users are connected, we need to put the database in single user mode and drop the database. Alter Database DatabaseName Set SINGLE_USER With RollBack Immedi..

Database/SQL Server 2020.12.01
반응형