본문내용
1. 데이터 처리와 활용
1.1. 데이터베이스 기본 개념
1.1.1. 개체(entity)와 개체 타입(entity type)
개체(entity)는 사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체를 말한다. 실세계의 구별 가능한 모든 사물이 개체에 해당한다. 개체 타입(entity type)은 개체(entity)들의 집합이라고 할 수 있으며, 데이터 구조를 설명하는 기본 구성 요소이다. ER 다이어그램에서는 개체 타입이 네모로 표현된다.
예를 들어, 학생이라는 개체 타입에는 학번, 이름, 학과, 주소와 같은 속성들이 있으며, 각각의 학생들은 개별적인 개체가 된다. 또한 회사라는 개체 타입에는 회사명, 주소, 사업분야 등의 속성이 있고, 각 회사가 개별적인 개체가 된다. 이처럼 개체 타입은 데이터베이스의 기본 단위가 되며, 실세계의 정보를 모델링하는 데 핵심적인 역할을 한다.
1.1.2. 개체 무결성(entity integrity)
개체 무결성(entity integrity)은 기본 키를 구성하는 애트리뷰트가 NULL값을 가져서는 안되며 관계형 데이터베이스 내에 오직 하나의 값만 존재해야 한다는 것을 의미한다. 즉, 기본 키는 테이블의 각 행을 유일하게 식별할 수 있어야 한다.
관계형 데이터베이스에서 개체 무결성 규칙은 기본 키 속성 값이 null이 되면 안 되고, 중복되는 값도 없어야 한다는 것을 의미한다. 이를 위해서는 기본 키로 선정된 속성이 고유하고 비null 값을 가져야 한다. 개체 무결성이 지켜지지 않으면 데이터의 정확성과 정합성을 보장할 수 없기 때문에 데이터베이스 설계 시 반드시 고려해야 할 사항이다.
예를 들어, 학생 테이블의 기본 키를 학번으로 설정했다면 학번 속성의 값은 반드시 고유하고 null이 아니어야 한다. 만약 학번 속성 값이 중복되거나 null이 허용된다면 개체 무결성 규칙을 위반하게 된다. 이는 데이터베이스 무결성을 저해하므로 바람직하지 않다.
따라서 개체 무결성은 데이터베이스의 정확성과 일관성을 보장하기 위해 매우 중요한 개념이며, 관계형 데이터베이스 설계 시 반드시 지켜져야 한다.
1.1.3. 데이터베이스 질의어(query)
데이터베이스 질의어(query)는 데이터베이스에 정보를 요청하는 것으로서, 특정한 정보를 사용자 요청에 의해 처리하는 것이며 검색을 조회할 수 있는 기능을 지원한다."
데이터베이스 질의어는 데이터베이스 관리 시스템(DBMS)에 사용자가 요구하는 정보를 요청하는 언어이다. 질의어를 통해 데이터를 검색, 입력, 수정, 삭제할 수 있으며, 데이터베이스의 구조를 정의하고 제어할 수 있다. 대표적인 데이터베이스 질의어로는 SQL(Structured Query Language)이 있다. SQL은 관계형 데이터베이스 관리 시스템(RDBMS)에서 널리 사용되는 표준 질의어로, 데이터 조작, 정의, 제어 등 다양한 기능을 제공한다.
SQL을 이용하면 SELECT, INSERT, UPDATE, DELETE 등의 명령어를 통해 데이터를 효과적으로 관리할 수 있다. SELECT 명령어를 통해 데이터를 검색할 수 있고, INSERT, UPDATE, DELETE 명령어를 통해 데이터를 입력, 수정, 삭제할 수 있다. 또한 CREATE, ALTER, DROP 등의 명령어를 통해 데이터베이스 객체인 테이블, 뷰, 인덱스 등을 생성, 수정, 삭제할 수 있다.
데이터베이스 질의어는 데이터베이스 관리에 필수적인 도구로, 사용자가 원하는 정보를 효율적으로 추출하고 데이터베이스 구조를 효과적으로 제어할 수 있게 해준다.
1.1.4. 스키마(schema)
스키마(schema)는 데이터베이스 안에 저장되는 데이터 구조와 제약 조건 등을 정의한 것으로서, 데이터베이스의 정적인 구성뿐만 아니라 동적인 유지 조건까지를 포함한다.
스키마는 데이터베이스 내부의 데이터 구조와 관계를 기술한 것으로, 데이터베이스 관리 시스템(DBMS)이 데이터를 효율적으로 관리할 수 있도록 해준다. 즉, 스키마는 데이터베이스의 논리적 구조를 정의한 것이다.
스키마에는 데이터베이스에 포함된 테이블, 필드, 관계, 제약조건 등이 정의되어 있다. 스키마에 따라 데이터베이스 관리 시스템(DBMS)은 데이터를 효율적으로 관리할 수 있다. 따라서 스키마는 데이터베이스 설계의 핵심 요소라고 할 수 있다.
스키마의 종류에는 외부 스키마, 개념 스키마, 내부 스키마가 있다. 외부 스키마는 사용자가 사용하는 데이터베이스의 논리적 구조를 정의한 것이며, 개념 스키마는 데이터베이스 전체의 논리적 구조를 정의한 것이고, 내부 스키마는 데이터베이스의 물리적 저장 구조를 정의한 것이다.
스키마는 데이터베이스 설계 과정에서 중요한 역할을 한다. 데이터베이스 설계 시 스키마를 통해 데이터의 구조, 데이터 간의 관계, 데이터에 대한 제약 조건 등을 정의할 수 있다. 이를 통해 데이터베이스의 무결성과 일관성을 유지할 수 있다.
또한 스키마는 데이터베이스 관리 시스템(DBMS)이 데이터를 효율적으로 관리할 수 있도록 해준다. DBMS는 스키마 정보를 이용하여 데이터를 저장, 검색, 수정, 삭제 등의 작업을 수행한다.
따라서 스키마는 데이터베이스 설계와 관리 측면에서 매우 중요한 역할을 하며, 데이터베이스 시스템의 핵심 요소라고 할 수 있다.
1.1.5. 도메인(domain)
도메인(domain)은 속성이 가질 수 있는 값의 집합을 의미한다. 즉, 한 속성의 도메인은 그 속성에 허용되는 값들의 집합이다. 예를 들어, 사람 테이블의 "성별" 속성은 "남성"과 "여성"의 값을 가질 수 있으므로, 이 속성의 도메인은 {"남성", "여성"}이 된다. 도메인은 데이터베이스 설계 시 속성의 값 범위를 정의하는 데 사용된다.
도메인은 데이터 무결성을 보장하는 데 중요한 역할을 한다. 속성의 도메인을 명확히 정의함으로써 속성 값의 유효성을 검사할 수 있고, 잘못된 값이 입력되는 것을 방지할 수 있다. 또한 도메인은 데이터 타입 정의, 기본값 설정, 유효성 검사 등의 데이터베이스 제약 조건 정의에 활용된다.
데이터베이스 설계 시 도메인을 정의할 때는 다음과 같은 사항을 고려해야 한다:
- 속성의 데이터 타입(숫자, 문자, 날짜 등)
- 값의 범위(최소값, 최대값 등)
- 문자형 데이터의 경우 문자의 길이
- 값의 형...