1. RDB 용어, SQL 용어
ㅇ 관계 (Relation) [수학적 용어] = 테이블 (Table) [관계형 데이터베이스 용어]
- 유사한 대상들을 함께 관련시키는 성질들의 특정 조합
. 데이터베이스 내에서 하나의 주제(Topic)를 표현함
- 사실상, 튜플들의 집합
- 테이블 유형
. 기본 테이블 : 명시적으로 사용되며, 영구 저장장치에 생성 기록되는 테이블
.. (데이터 조작(삽입,삭제,갱신)의 대상)
. 임시 테이블 : 임시 목적으로 메모리에 일시 저장
.. (세션 종료 또는 재기동시 사라짐)
. 가상 테이블 : 뷰(View)를 말함
.. (테이블 처럼 사용되지만, 실제 데이터를 갖지 않음)
.. (질의 시점에 참조 테이블로부터 생성됨)
- [참고] ☞ 관계, 관계 대수 참조
ㅇ 관계 (Relationship)
- 테이블 간에 그 속에 있는 레코드들이 연관될 때, 두 테이블 간에 상호의존 형태를 나타냄
- 관계 유형
. 1대1 관계 (one-to-one relationship)
.. 하나의 레코드가 다른 테이블의 하나의 레코드와만 대응
. 1대다 관계 (one-to-many relationship)
.. 하나의 레코드가 다른 테이블의 여러 레코드와 대응 (가장 일반적)
. 다대다 관계 (one-to-many relationship)
.. 여러 레코드가 서로 다수의 레코드와 대응 (중간 테이블로 구현)
ㅇ 개체 (Entity, 엔터티) [전산 용어] = 테이블 (Table) [관계형 데이터베이스 용어]
- 데이터 집합에 대한 논리적 표현 단위, 즉 구별 가능한 대상
. 현실 세계의 사물,개념,사건 등을 데이터로 표현한 것
- 속성(Attribute,Column)을 통해 개체의 특징을 정의함
· . 例)) 회원 개체 → id, password, 이름, 주민번호, 전화번호 등 속성
ㅇ 튜플 (Tuple) = 레코드 (Record) = 행 (Row)
- 테이블의 행
. 테이블을 구성하는 하나의 데이터 항목(레코드)
. 여러 속성(Attribute,Column)의 값을 나열한 리스트 형태
- 인스턴스(Instance)라고도 하며, 관계(릴레이션)의 실제 데이터 사례
ㅇ 속성 (Attribute) = 열 (Column)
- 테이블의 열
. 사물이나 개념의 특징을 설명할 수 있는 항목들
. 개체 또는 관계의 특징(성질)을 나타내는 데이터 항목
- 테이블에서 각 속성은, 특정 도메인(Domain)의 값을 가짐
ㅇ 도메인 (Domain) ☞ 도메인 무결성 참조
- 하나의 속성이 취할 수 있는 허가된 값의 집합 (그 속성의 가능한 타입)
. 프로그래밍 언어의 데이터 타입과 유사함
- 특징
. 각 속성의 도메인 값은 원자값(Atomic Value)이어야 함
. 동일한 도메인이 여러 속성에서 사용될 수 있음
. 복합 속성이나 다치 속성은 허용되지 않음
- 도메인의 필요성 : 데이터의 무결성과 일관성을 유지하기 위함
. 테이블 내 저장되는 데이터 값들이, 본래 의도했던 값들만 저장되고 관리하기 위함
- 例) 우편번호 : 5자리 정수 범위 (00000 ~ 99999)
ㅇ 카디날리티 (Cardinality)
- 행들의 수
ㅇ 차수 (Degree)
- 열들의 수
ㅇ 키 (Key)
- 테이블 내에서 튜플을 유일하게 구별할 수 있는 속성 모음
- 주요 키 종류
. 후보키(Candidate Key), 기본키(Primary Key), 대체키(Alternate Key), 외래키(Foreign Key),
슈퍼키(Super Key) 등
ㅇ 널 값 (Null)
- 값이 존재하지 않거나 미정의된 상태를 의미하는 특별한 값
. 0이나 공백(' ')과는 다름 (즉, 값이 "없음"을 의미)
ㅇ 뷰 (View)
- 1 이상의 테이블로부터 유도되는 가상 테이블
. 테이블 처럼 동작하지만 실제로는 데이터를 갖지 않는 테이블
.. 뷰가 참조하는 테이블 변경이 일어나면 뷰도 같이 변경됨
.. 외부 스키마에서 기본 테이블 및 뷰가 정의됨
.. 일단 정의된 뷰는 변경이 불가능하고 삭제 후 다시 생성해야만 됨
.. 뷰를 통한 검색은 가능하지만, 삽입,갱신,삭제 등은 제약을 받음
- 사용형식) create view 뷰명 as select문;
ㅇ 질의 (Query)
- 사용자가 데이터베이스로부터 원하는 정보를 요청하는 명령문
. 例) SQL의 SELECT, INSERT, UPDATE, DELETE 등의 문장 형태로 표현됨
ㅇ RQBE (Relational Query-By-Example)
- SQL 명령어에 익숙하지 않은 컴퓨터 사용자의 편의를 위해 화면에서 쉽게 보기를 제시해가며
자료를 조회(검색)할 수 있게 하고 그 결과를 SQL 문장으로 자동생성하는 도구
- IBM社에서 처음으로 사용한 바 있음
ㅇ SAG (SQL Access Group)
- 관계형 데이터베이스 및 데이타베이스 액세스 도구 제작업체들로 구성된 표준화 컨소시엄
. 이식성과 호환성을 높이기 위해, SQL 인터페이스 표준을 개발,보급함