* 데이터, 정보, 지식 차이?
1. 데이터- 정형화되고 기록할 만한 가치가 있다고 판단되는 현상, 사진 아이디어 묘사
2. 정보- 데이터를 포함하면서 이들 로부터 유도될 수 있는 유추된 사실들 포함
3. 지식- 정적인 데이터나 정보를 처리하는 방법이나 어떤 근거에 의한 판단을 내리는데 필요한 분석과 규칙, 법칙 포함
현실세계에서 데이터 추출, 데이터 처리한 게 정보, 정보에서 지식으로 추론
* 데이터베이스
: 정형화되고 조작가능한 컴퓨터에 저장된 데이터의 모임, 특정목적을 위해 데이터 처리작업 수행
* DBMS (데이터 베이스 관리 시스템)
: 컴퓨터에 저장되는 데이터베이스 관리 (창고의 관리인 역할)
데이터모델-정보를 관리하는 양식, 하나의 응용 프로그램의 독점이 아닌 여러 곳의 공유
동시성문제 때문에 하나의 프로그램이 일을 마칠 때까지 해당 데이터 독점 가능
* 파일시스템- 컴퓨터 시스템에서 사용되는 모든 자료를 운영체제가 편리하고 효과적으로 디스크에 쓰고 읽을 수 있도록 지원
* 최종사용자(=일반사용자) -인터페이스 이용하여 해당 응용분야 업무처리
기술적 사항 알 필요 없지만 DBMS 숙련된 최종 사용자라면 응용프로그램 통하지 않고도 DBMS자체 제공 인터페이스 이용 가능
* 데이터모델- 현실세계를 단순하고 정형화된 형태로 표현하는 하나의 방식 혹은 규범
실제 데이터가 갖는 특성을 살리면서 목적에 맞게 관심있는 정보만 단순화하여 표현
(단, 데이터에 대한 조작 가능해야 함)
* 관계형 데이터 모델(relational data model)
- 테이블(=릴레이션) 이용하여 데이터 정의
릴레이션 구성하는 각 열 -> 필드(컬럼, 속성) : ex)이름 ,전화번호
릴레이션 구성하는 행 -> 레코드 (튜플, 행) : 각 속성에서 정의된 값 이용하여 구성
* 도메인 : 각 필드에서 입력 가능한 값의 범위, 더 이상 분리 할 수 없는 원자값 이어야 함
* 필드의 null값: 값을 알지 못하거나 정해지지 않아 입력 못하는 값, 아스키코드 0(숫자 0이랑 다름)
* 테이블 스키마
: 테이블의 정의에 따라 만들어진 데이터 구조
R(A1, …., An) // R은 테이블 이름, An은 필드의 이름 -> R스키마 ,N항 테이블
* 테이블 인스턴스: 테이블 스키마에 현실세계의 데이터를 레코드로 저장한 형태(레코드들의 집합)
* 기수 : 레코드의 수 (인스턴스의 개수)
* 테이블 특성
-중복X, 순서는 의미X(집합 같은 개념), 모든 필드는 원자값 가짐
* key
* 키 : 일부만으로도 각 레코드를 식별 할 수 있는 필드 ex) 학번, 군번, 주민번호
* 복합키: 두개 이상의 필드로 구성된 키 ex) (학번, 주민번호)
* 수퍼키: 아무런 제약 조건 없이 레코드를 식별 할 수 있는 집합
* 후보키: 최소한의 필드만으로 구성된 키 ex)주민번호
* 기본키: 후보키중 식별자로 지정 가능한 하나의 키, 기본키는 null이 될 수 없음
* 외래키: 필드의 값이 다른 필드의 값의 기본키가 되는 것 (테이블간의 관계를 맺어주는 값)
외래키(FK)의 필드들은 기본키(PK)와 동일한 도메인(같은 타입)을 갖는다
* 관계대수
:관계형 데이터베이스에서의 질의어, 관계해석보다는 절차적, 기존언어보다는 비절차적
* 기본연산
-선택연산 (데이터 검색) -> σ <조건식> (테이블 이름)
선택연산에서의 NULL-> 알지 못하는 값이라 A도 아니고 A의 여집합도 아니다
* 추출연산 (필드 검색) -> π <필드리스트> (테이블이름)
중복을 제거해야 하지만 대부분의 실제DBMS에서는 중복 허용
* 재명명 연산 (관계대수의 연산결과로 생성되는 테이블에 이름 부여 /변경 해줌)
P <테이블명1> (테이블명2) //테이블명2를 1로 변경
P <테이블명1>(<필드리스트>) (<테이블명2>) //테이블명 변경 + 필드명 변경
* 집합 연산
-합집합
-교집합
-차집합
-카티션 프로덕트
(각각의 레코드들을 서로 결합하여 가능한 모든 조합을 테이블로 만듦) -> <테이블명1> x <테이블명2>
* 추가연산
- 조인(세타조인) : 특정조건을 만족하는 레코드들을 하나로 결합
<테이블이름1> ▷◁<조건식> <테이블이름2> //테이블끼리는 외래키로 관련되어있음
(동등비교 연산하는 세타 조인을 동등조인이라 함)
- 자연조인 : 동일한 이름을 갖는 필드 중 같은 값 갖는 레코드만 선택, 동일 필드중 하나 제외
서로 일치되지 않는 레코드 제외
<테이블이름1> ▷◁ <테이블이름2>
- 외부조인 : 조인조건에 만족되지 않은 레코드까지 포함
왼쪽(=▷◁), 오른쪽(▷◁=) ,완전 외부조인(=▷◁=) 존재
부합하는 레코드 없으면 null값 입력
* 지정연산 :복잡한 질의를 단계적으로 분해
'개인공부 > db' 카테고리의 다른 글
8장 (물리적 저장 구조와 인덱스) (0) | 2023.07.20 |
---|---|
7장 (함수적 종속과 정규화) (0) | 2023.07.20 |
6장 (데이터베이스 설계) (0) | 2023.07.20 |
5장 (무결성과 보안) (0) | 2023.07.20 |
3장 (오라클) (0) | 2023.07.20 |