일반/데이터베이스

    권한 및 역할

    데이터베이스 권한 관리 DBMS는 데이터베이스의 보안을 유지하기 위해 접근 제어 기능을 제공한다. DBMS는 데이터베이스 관리자를 통해 새로운 사용자의 계정과 암호를 생성하고, 기존 사용자의 계정을 변경 및 제거할 수 있다. 로그인을 하더라도 데이터베이스 내부의 모든 데이터를 사용할 수 있는 것은 아니다. DBMS에서 보안을 적용할 수 있는 단위는 데이터베이스 전체부터 특정 테이블의 특정 행과 열 위치에 있는 특정 데이터 값에 이르기까지 매우 다양하다. 데이터베이스 내부의 테이블이나 뷰는 기본적으로 해당 객체를 생성한 사용자만 사용 권한을 가진다. 따라서 데이터베이스 관리자로부터 데이터베이스에 대한 접근 권한을 부여 받아도 자신이 생성하지 않은 테이블, 뷰는 사용할 수 없는 것이 기본 설정이라 할 수 있..

    정규화

    출처 : 데이터베이스 개론 E-R 모델을 사용해 개념적인 설계를, 그리고 E-R 모델을 릴레이션 스키마로 변환하는 과정을 통해 데이터베이스의 논리적인 설계에 대해 배울 수 있었다. 논리적인 설계를 하는 방법에는 E-R 모델을 변환하는 것만 존재하는게 아니다. 정규화를 사용해서도 논리적인 설계를 진행할 수 있다. E-R 모델 변환과 정규화를 통해 만들어지는 릴레이션 스키마는 대동소이 하기 때문에 각자 상황에 맞는 방식으로 데이터베이스 설계를 진행하면 된다. 또한, 정규화는 릴레이션 스키마를 만드는 것만이 아니라 생성된 릴레이션 스키마를 검증하기 위해서도 사용할 수 있다. 데이터베이스 설계가 잘못되었을 경우, 불필요한 데이터가 같은 릴레이션에 포함되어 중복 문제가 발생할 수 있다. 이를 이상 현상이라 부르는..

    SQL을 이용한 데이터 정의

    데이터 정의는 관계형 데이터베이스에서 사용하는 테이블을 생성하고 변경, 제거하는 기능을 제공해준다. 테이블의 생성 데이터베이스에서 사용할 테이블을 만들 때 테이블의 이름과 테이블을 구성하는 속성의 이름을 의미 있게 정해야 한다. 그리고 나서 각 속성이 가지고 있는 특징에 맞게 데이터 타입(= 도메인)을 정해주어야 한다. 테이블을 생성하는 SQL 명령어는 `CREATE TABLE`이다. 해당 명령어와 함께 테이블의 이름, 속성과 함께 제약 사항 및 제약조건 등에 대한 정의를 함께 입력해야 한다. 기본적인 형식은 다음과 같다. CREATE TABLE 테이블_이름 ( 1. 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본_값] 2. [PRIMARY KEY(속성 리스트)] 3. [UNIQUE (속..