조직의 모든 응용 프로그램이 공유하기위해 통합 저장한 운영 데이터 operational data의 집합이다.
데이터베이스를 관리하는 SW
High-end(mainframe): SQL, Oracle
Mid-Range: workstation, UNIX server, X86 server
Low-end: MySql, Access
DBMS, Database, 사용자 모두 포함하는 system
Casual user (end user)
Application programmer
DBA(Database Administrator)
Databasee designer
투플을 유일하게 구별하기 위해 모든 속성을 이용하는 것보다 일부 속성만 이용하는 것이 효율성을 높일 수 있다. 릴레이션에 포함된 투플들을 유일하게 구별해주는 역할은 속성 또는 속성들의 집합인 키가 담당한다.
후보키 (candidaye key): 유일성과 최소성을 만족하는 속성 또는 속성의 집합
기본키 (primary key): 후보키 중 기본적으로 사용할 키
슈퍼키(super key): 유일성의 특성을 만족하는 속성 또는 속성들의 집합
외래키(foreign key): 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키
대체키(alternate key): 기본키로 선택되지 못한 후보키
정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다.
1차 정규화: 테이블 컬럼이 하나의 값(원자값)을 갖도록 하는 것
2차 정규화:
제3 정규화:
BCNF (Boyce-Codd Normal Form): 제3 정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것
4차 정규형:
A->B 일 때 하나의 A값에 여러 개의 B값이 존재하면 다치 종속성을 가진다고 하고 A↠B라고 표시한다
최소 3개의 칼럼이 존재한다.
R(A, B, C)가 있을 때 A와 B 사이에 다치 종속성이 있을 때 B와 C가 독립적이다.
5차 정규형:
제약조건이란 데이터의 무결성을 지키기위해 입력받은 데이터에 대한 제한을 두는 것을 의미합니다.
FOREIGN KEY: 한 테이블을 다른 테이블과 연결하여 외래키를 지정하는 제약조건으로, 해당 테이블은 다른 테이블에 의존
CHECK: 값의 패턴이나 범위를 지정하는 제약조건