본문 바로가기

Programming

데이터베이스 권한관련 명령어 로그인 이름 생성CREATE LOGIN [로그인 이름] WITH PASSWORD = ' [비밀번호]' , default_database=[대상 데이터베이스] 사용자를 설정CREATE USER [사용자 이름] FOR LOGIN [대응되는 로그인 이름] WITH default_schema=[기본스키마, dbo] 권한 허가, 해제 허가GRANT 권한 ON 객체 TO 사용자 (WITH GRANT OPTION) 해제 REVOKE 권한 ON 객체 FROM 사용자 (CASCADE)권한 - DELETE, INSERT, SELECT, UPDATE, REFERENCES WITH GRANT OPTION은 해당 사용자의 권한 부여가 가능해진다.CASCADE는 해당 사용자가 부여한 다른 사용자의 권한까지 연쇄적으로 취소하는 옵.. 더보기
동시성 제어 동시성 제어공유를 목적으로 하는 데이터베이스의 특성상 가능 한 많은 트랜잭션을 동시에 수행시켜야 한다. 동시에 수행되는 트랜잭션은 다른 트랜잭션이 같은 데이터를 공유고 있다는 사실을 모를 수 있기 때문에 일관성이 훼손될 수 있다. 이때, 일관성을 해치지 않도록 트랜잭션의 데이터 접근을 제어하는 DBMS의 기능을 동시성 제어라고 한다. 갱신손실두 개 이상의 트랜잭션이 한 개의 데이터를 동시에 갱신할 때 발생한다. 특정 데이터에 여러개의 트랜잭션의 작업이 이루어질 경우 특정 트랜잭션의 갱신 작업을 무효화시키는 문제이다.해결방법락 (lock) - 데이터의 사용여부를 알리는 방법. 락을 할 경우 다른 트랜잭션은 잠금이 풀릴 때까지 기다린다. 오손읽기읽기 작업을 하는 트랜잭션 1이 쓰기 작업을 하는 트랜잭션 2가.. 더보기
트랜잭션 트랜잭션의 정의트랜잭션은 DBMS에서 데이터베이스를 다룰 때 사용하는 작업의 단위로, 일반 프로그램과 달리 데이터베이스의 데이터를 다루기 때문에 데이터베이스의 무결성을 유지해야 한다. 또한 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다(all or nothing). * 데이터베이스에서 데이터를 다룰 때 장애가 일어나는 경우가 있다. 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위가 된다.* 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때가 있다. 트랜잭션은 이 작업을 서로 분리하는 단위가 된다. 트랜잭션의 수행과정트랜잭션은 데이터베이스에 저장된 테이블을 읽어와 주기억장치 버퍼에 저장하고, 버퍼에 저장된 데이터를 수정한 후 최종적으로 데이터베이스에 다시 저장한다. BEGIN TR.. 더보기
Unity 용어정리 텍스처(Texture) 텍스처란 3D 모델의 표면에 그려지는 이미지 파일을 지칭한다. 마네킹에 다양한 옷을 입힐 수 있는 것처럼 3D 모델에 텍스처를 입힌다고 표현하면 이해하기 쉽다. 유니티는 텍스처의 원본을 보존한 상태로 압축하는 기능을 제공하며,텍스처의 크기는 가로세로가 2n 형태일 때 압축을 지원하며 속도가 가장빠르다. 머티리얼(Material) 텍스처는 3D 모델에 적용하기 위한 이미지 파일로, 중간에 머티리얼이라는 매개체가 필요하다. 머티리얼은 3D 모델에 적용할 텍스처의 다양한 속성을 설정하는 역할을 한다. *텍스처 적용 방법 Material 생성 -> 텍스처 이미지를 Material에 적용 -> Material을 게임오브젝트에 적용 셰이더(Shader) 셰이더는 머티리얼에 적용한 텍스처를 렌.. 더보기
정규화 이상현상 ( 異狀 )* 삭제이상 - 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상이다. * 삽입이상 - 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상이다. * 수정이상 - 투플 수정시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상이다.정규화 ( Normalization )이상현상을 해결하기 위해 잘못 설계된 테이블을 수정하여 정상으로 만드는 과정이다. 함수 종속성릴레이션의 각 속성 사이에는 의존성이 존재한다. 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 '속성 B는 속성 A에 종속한다' 혹은 ' 속성 A는 속성 B를 결정한다'라고 한다. 이는 A -> B 로 표기하며, 이때 A는 B의 결정자이다.※ .. 더보기
데이터 모델링 데이터 모델링데이터 모델링이란 현실 세계의 업무적인 프로세스를 물리적으로 데이터베이스화 하기 위한 과정이다. 개념적 모델링개념적 모델링은 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정이다. 여기서 핵심적인 개념을 구분한다는 것은 개체를 추출하고 각 개체들 간의 관계를 정의하여 ER 다이어그램(ERD)을 만드는 과정까지를 말한다. 논리적 모델링논리적 모델링은 개념적 모델링에서 만든 ERD을 알맞게 매핑하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정이다. 이 과정에서 실제 필요한 모든 속성을 추출하고, 정규화를 수행한다. 그리고 관계 스키마로 표현된다. 물리적 모델링물리적 모델링은 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위해.. 더보기
프로시저, 트리거, 사용자 정의 함수 프로시저프로시저는 일반 프로그래밍 언어에서 사용하는 함수와 비슷한 개념으로, 작업 순서가 정해진 독립된 수행 단위이다. 프로시저의 정의 방법① 변수와 매개변수는 @ 기호로 식별한다. ② 매개변수는 저장 프로시저가 호출될 때 그 프로시저에 전달되는 값이다. ③ 변수는 저장 프로시저나 트리거 내에서 사용되는 값이다. ④ 주석은 /* */ 그리고 -- 로 기술한다.USE tempdb 더보기
뷰(View) 뷰(View)뷰는 하나 이상의 테이블을 합하여 만든 가상의 테이블이다. 여기서 합한다는 것은 SELECT 문을 써서 얻은 최종결과를 뜻하며, 뷰는 이러한 결과를 가상 테이블로 정의하여 실제 테이블처럼 사용할 수 있도록 만든 데이터베이스 개체이다. 뷰의 장점① 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. ② 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해 놓을 수 있다. ③ 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있다. 뷰의 생성 CREATE VIEW 뷰이름 (열이름 ... ) 더보기