공부했던 자료 정리하는 용도입니다.

재배포, 수정하지 마세요.

 

 

 

 

관계형 데이터 베이스의 구성요소

  ■ 테이블

  관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리한다. 이 표 형태의 데이터 저장공간을 테이블(table)이라고 한다. 가로줄을 행(row), 세로줄을 열(column)이라고 부른다.

 

  관계형 데이터베이스의  관계(relation)  : 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나를 의미

 

행과 열의 정의



 

키(Key)

  ■ 기본키(PK : Primary Key)

  : 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키 

  중복되지 않는 유일한 값이라는 특성을 가졌기 때문에 하나 or 여러 열의 조합으로 만들 수 있다.

 

기본키의 속성

1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.
2. 값의 중복이 없어야 한다.
3. NULL값을 가질 수 없다.

 

 

  ■ 보조키

  : 대체키(alternate key)라고도 하며 후보키(candidate key)에 속해있는 키이다. 그리고 후보키 중에서 기본키로 지정되지 않은 열이다. 유일한(중복되지 않은) 데이터를 가지고 있고 NULL값이 없는 열은 기본키가 될 수 있는 후보키이다. 

 

 후보키는 기본키가 될 수 있는 모든 키를 의미한다. 따라서 기본키도 후보키에 속한다. 이 후보키들 중에서 기본키로 지정되지 않은 키를 보조키 or 대체키라고한다.

 

 

  ■ 외래키(FK : Foreign Key)

  : 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 의미

 

  관계형 데이터베이스에서는 엑셀처럼 여러 행에 걸쳐 특정 열을 병합하는 것이 기본적으로 불가능하다. 그래서 외래키는 데이터의 중복을 피하고 테이블 사이의 관계를 규명하기 위한 필수 요소이다.

 

 하지만 실무에서 데이터베이스를 활용하여 응용 프로그램을 만들 때 데이터의 구조 및 설계가 외래키를 사용해 너무 엄격하게 정의하면 응용 프로그램의 제작과 테스트 진행에 걸림돌이 되기도 한다. 그래서 테이블 사이의 관계에서 개념적으로 외래키가 필수인 상황일지라도 효율 및 편의를 위해 외래키를 따로 정의하지 않고, 테이블 사이의 관계를 '느슨하게' 설계하여 이를 응용 프로그램 영역에서 처리하는 경우도 있다. 

 

 

  ■ 복합키(composite key)

  : 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 의미한다. 적게는 두세 개, 많게는 열 개가 넘는 열을 조합하기도 한다.(하나의 열 만으로는 행을 식별하는 것이 불가능하여 두 개 이상의 열 값을 함께 사용해야 각 행이 유일한 데이터로서 가치를 지니기 때문이다.)

 

 

 

 

 


오라클 데이터베이스(Oracle Database)

오라클 데이터베이스는 오라클 사가 만든 DBMS 제품이다.

 

 

 

자료형(data type)

데이터베이스에 저장하는 데이터 형태를 의미한다. 오라클 데이터 베이스는 여러 자료형을 제공하고 있으며, 대표적인 자료형은 아래의 표와 같다. 

 

자료형(data type) 설  명
VARCHAR2(길이) 4000byte만큼의 가변 길이 문자열 데이터를 저장할 수 있다. (최소 크기는 1byte)
NUMBER(전체 자리수, 소수점이하 자리수) ±38자리수의 숫자를 저장할 수 있다.
NUMBER(p, s)와 같이 표기할 경우 s자리만큼 소수점 이하 자리수를 표현하고, 이 소수점 자리를 포함한 전체 p자리만큼 숫자 데이터를 저장한다.
DATE 날짜 형식을 저장하기 위해 사용하는 자료형
세기, 연, 월, 일, 시, 분, 초 저장이 가능하다.
CHAR(길이) 4000byte만큼의 고정 길이 문자열 데이터를 저장할 수 있다.(최소 크기 1byte)
NVARCHAR2(길이) 4000byte만큼의 가변 길이 국가별 문자 세트 데이터를 저장할 수 있다.(최소 크기는 1byte)
BLOB 최대크기 4GB의 대용량 이진 데이터를 저장할 수 있다.
CLOB 최대크기 4GB의 대용량 텍스트 데이터를 저장할 수 있다.
BFILE 최대크기 4GB의 대용량 이진 데이터 파일을 저장할 수 있다.

자료형은 테이블을 구성하는 열에 지정한다.(ex  NUMBER(4) 로 지정한 열이 있다면 네 자리 숫자만 저장할 수 있다.) 하나의 자료형에 맞춰 한 종류의 데이터를 저장할 수 있는 자료형을 스칼라(scalar)형이라고 한다. 한 번에 여러 데이터를 저장할 수 있는 VARRAY, NESTED TABLE같은 컬렉션(collection)형도 있다.

 

 

 

객체

객체는 오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성 요소이다. 

 

객  체 설  명
테이블(table) 데이터를 저장하는 장소
인덱스(index) 테이블의 검색 효율을 높이기 위해 사용
뷰(view) 하나 or 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 해준다.
시퀀스(sequence) 일련 번호를 생성해 준다.
시노님(synonym) 오라클 객체의 별칭(다른 이름)을 지정한다.
프로시저(procedure) 프로그래밍 연산 및 기능 수행이 가능함(반환값 X)
함수(function) 프로그래밍 연산 및 기능 수행이 가능함(반환값 O)
패키지(package) 관련 있는 프로시저와 함수를 보관함
트리거(trigger) 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함

 

 

 

PL/SQL

오라클 데이터베이스에서 제공하는 데이터 관리를 위한 별도의 프로그래밍 언어를 PL/SQL(Procedural Language extension to SQL)라고 한다. 오라클 데이터베이스 프로그래밍이라고 하면 SQL문과 PL/SQL을 사용하여 프로그램을 제작하는 것을 의미한다. 

 

 

 

+ Recent posts