정규화 (Nomalization) 함수 종속성을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해서 이상현상이 발생하지 않는 바람직한 릴레이션을 만들어가는 과정이다. 정규화를 통해 릴레이션은 무손실 분해 (nonloss decomposition) 되어야 한다. 릴레이션은 의미적으로 동등한 릴레이션들로 분해되어야 하고 분해로 인한 정보 손실이 발생하지 않아야 한다. 분해된 릴레이션들을 자연조인하면 (pk를 기준으로 조인 & 중복 컬럼은 제거) 전의 릴레이션으로 복원 가능해야 한다. 정규형 (Nomal Form) 릴레이션이 정규화된 정도 각 정규형마다 제약조건이 존재한다. 정규형이 높아질 수록 제약조건이 많아지고 엄격해지며 마찬가지로 릴레이션의 데이터 중복이 줄어 이상현상이 발생하지 않는 바람직한..
이상현상 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 정규화 이상현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정 이상현상 종류 삽입이상 : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 예시 {학번, 수업, 가격} 투플을 갖는 수강 테이블이 존재한다고 가정. class Table; 100, c, 10000 101, java, 20000 102, python, 30000 103, c#, 40000 삭제이상 발생 100번 학생이 c 수업을 취..
관계대수 - Relation Algebra 릴레이션을 내부적으로 처리하기 위한 연산들의 집합 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법을 기술하는 언어 검색 질의를 기술하는 언어 사용자는 SQL을 사용하여 관계 데이터베이스에 릴레이션을 정의하고, 관계 데이터베이스에서 정보를 검색하고, 조작하고, 무결성 제약조건을 명시할 수 있다. 집합연산 집합 연산은 두 개의 릴레이션을 대상으로 하는 이항 연산자로 카티전 프로덕트를 제외한 3개의 연산은 두개의 릴레이션의 차수 및 도메인과 속성의 순서가 동일해야 한다. 즉, 속성의 개수가 같고, 속성의 도메인이 같고, 속성의 순서가 동일해야 합병 가능 (Union compatible) 하다. Union _ 합집합 두 릴레이션의..
관계 데이터 모델 Relational Data Model 정의 관계 데이터 모델은 릴레이션으로 표현하고, 릴레이션에 대한 제약조건과 관계 연산을 위한 관계 대수를 정의한다. 테이블 형태의 릴레이션 구조에 데이터를 저장하는 방식이다. 1. 릴레이션 릴레이션이란? 행과 열로 이뤄진 테이블 구조이다. 릴레이션은 스키마와 인스턴스로 구성된다. 스키마 관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의한다. 테이블의 첫 행인 헤더에 나타나고, 각 데이터의 특징을 나타내는 속성, 자료 타입 등의 정보를 갖는다. 스키마는 속성(attribute)로 구성된다. 속성은 릴레이션 스키마의 column이다. 속성의 개수 : 차수 (degree) 속성이 가질 수 있는 값의 범..
데이터베이스의 개념 및 특징 Q. 데이터베이스란? A. 조직이 관리하는 공용의 중복을 최소화하여 통합, 저장한 운영 데이터의 집합 통합된 데이터 (Integrated data) 여러곳에서 사용하던 데이터를 통합하여 하나로 저장. 데이터의 중복을 최소화하여 중복 저장으로 인한 데이터 불일치 최소화 -> 데이터 무결성 저장된 데이터 (Stored data) 컴퓨터 저장장치에 저장된 데이터를 의미한다. 운영 데이터 (Operational data) 조직의 목적을 위해 사용되는 데이터. 업무를 위해 검색을 할 목적으로 저장된 데이터를 말한다. 공용 데이터 (Shared data) 한사람만을, 한 업무만을 위한 데이터가 아니라 공동으로 사용되는 데이터를 의미. 어느 순간에라도 동시에 여러 사용자에 의해 사용될 수..
- Total
- Today
- Yesterday