온라인강의
Ch1. 데이터베이스의 기본 개념
1-1 데이터베이스 정의
데이터베이스의 정의 : 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해 저장한 운영 데이터의 집합
데이터베이스의 특징: 실시간 접근 기능, 세속적으로 변화, 동시 공유 가능, 저장된 주소가 아닌 내용으로도 참조 가능
데이터의 유형:
정형 데이터 - 엑셀 스프레드 시트. 관계 데이터베이스의 테이블
반정형데이터 - self describing data: HTML,XML. JSON
비정형데이터 - text 멀티미디어데이터, 정해진 구조가 없이 저장된 데이터
DBMS : DataBase Manegement Sytstem
실제 데이터에 직접 접근하는 게 아니라 관리 시스템이라는 소프트웨어를 사용
중복문제, 종치대여, 종속성 문제 등을 해결
단순한 프로그램을 할 수 있게 제공
즉, 데이터베이스 관리 시스템은 응용프로그램과 데이터 연결을 도와주며 데이터와 데이터에 대한 기본 처리를 담당하는 추가 소프트우웨어를 마련한다고 할 수 있다.
1-2 데이터베이스 관리 시스템
데이터베이스 관리 시스템 DBMS
파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어 데이터베이스의 생성과 관리 담당
모든 응용프로그램은 데이터베이스 공유 가능.
DBMS통해 데이터 삽입, 삭제, 수정
동시성제어기능제공
1-3. 데이터베이스 시스템
데이터베이스에 데이터를 저장하고 저장된 데이터를 관리하여 조작에 필요한 정보를 생성해주는 시스템
DB와 DBMS를 모두 칭하는 용어
스키마: 데이터베이스에 저장되는 데이터의 논리적 구조와 제약 조건을 정의한 것, 어떤 구조인지
인스턴스: 정의된 스키마에 따라 DB에 실제로 저장된 값
3단계 데이터베이스 구조 3level database architecture
스키마
내부 스키마 physical level- Internal schema:
실제 데이터가 데이터베이스에 어떻게 저장되는지 기술
파일에 저장되는 레코드의 구조, 압축방법, 암호화 등
개념스키마 Coneotual level - Conceptual Schema
일반적인 스키마
DB를 개념적으로 표현
테이블 간의 관계를 기술
물리적 데이터 독립성
외부스키마 External level - External Schema
사용자가 보는 view level
사용자에게 view의 형태로 필요한 정보만 보여주는 단계
데이터베이스 하나에 여러 개의 외부 스키마 가능
개념 스키마와 논리적 데이터 독립성
1-4. 데이터베이스 시스템 언어
데이터정의어 DDL - 스키마 구조와 제약 조건등을 정의, 삭제, 수정
데이터 조작어 DML - 삽입, 삭제, 수정, 검색
데이터 제어어 DCL- 내부적으로 필요한 규칙 (보안, 무결성 체크 ) 등을 정의하는 데이터 언어
데이터베이스를 백업하거나 백업 이미지로 회복recover하는 명령어
내부적으로 각각의 언어를 처리하는 모듈이 있다
DDL interpreter : ddl로 작성된 스키마의 정의를 해석, 데이터딕셔너리 catalog 에 저장
DML Compiler: DML로 작성된 데이터 처리 요구를 processing engine 이 이해할 수 있는 코드로 해석하여 plan을 작성
DML(Query) Processsing Engine : 컴파일된 plan 을 데이터베이스에 실제로 실행
Ch2. 관계형 데이터 모델
2-1 데이터 모델링
데이터모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터 베이스로 옮기는 과정
DB모델링 3단계 :
개념적 모델링 - 현실세계를 추상화해 중요 데이터를 개념 세계로 추출해가는 과정
결과물로는 E-R모델
논리적 모델링 - 새념적 모델링 데이터를 가지고 관계형 데이터로 변경
물리적 모델링 - 논리 데이터 모델이 실제 데이터 베이스 저장소에 저장되는 구조로 (테이블, 컬럼) 로 변경
실제적으로 데이터베이스를 만드는 과정
2-2 관계형 데이터 모델
릴레이션 특징 :
튜플의 유일성: 중복 튜플 불가
튜플의 무순서: 튜플 사이 순서는 무의미
속성(애트리뷰트)의 무선서: 속성 사이의 순서는 무의미
속성의 뭔자성 atomatic :애트리뷰츠 값으로 하나 (나누어지지 않는 ) 값만 가짐
Key: 릴레이션 튜플을 구별하는 역할을 하는 속성 또는 속성의 집합
Super key: 튜플을 구별하기 위해 유일성을 제공할 수 있는 속성 또는 속성의 집합
Candidate Key: super key 중에서 개수가 가장 작은 키
Primary Key: candidate key 중 디자인을 고려하여 선택된 키
Forign Key: 다른 릴레이션의 primary key 를 참조하는 속성 또는 속성의 집합
관계 데이터 모델의 제약 조건
도메인 무결성 제약조건 domain intergrity coontraint : 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야 한다
개체 무결성 제약 조건 : entity intergrity constraint : 기본 키를 구성하는 모든 속성의 null을 가질 수 없다
참조 무결성 제약 조건 referential intergrity constraint : forign key 는 참조하는 릴레이션의 primary key 속성 값 중 하나여야한다. null 가능하다.
Ch 3. 관계대수
Formal Query language
수학 기호를 사용해 데이터 처리를 기술하는 언어
새로운 언어의 개념과 유용성을 검증하는 기준
관계대수 Relational algerbra
언어에 대한 개념과 유용성 검증
관계 대수로 만들어진 모든 질의의 sql을 통해 표현이 되는지 검등
관계대수연산자 Relational Algebra Operations
피연산자로 하나 또는 두 개의 릴레이션
각 연산자의 연산 결과는 새로운 릴레이션 연산의 합성 & 체이닝 가능
연산자 종류: select, project, union 합집합, diffrence 차집합, intersection 교집합 두개의 릴레이션에 모두 있는 것을 반환, certesain, productm natural join, theta join, outer join
Commerical language
수학적 원리를 기반으로 사용하기 쉽게 만들어진 언어
-----------------------------------------------------------------------
실시간 강의:
데이터베이스란 :
검증 완료된, 정형화된, 무결한 데이터들의 집합
데이터베이스가 필요한 이유:
빠르고 쉽고 효율적인 사용을 위해
관리 용이
무결성 데이터가 일관적이고 정확함
결함이 없음
중복, 보안, 업데이트, 정확, 동시성
'데이터 베이스 > Bootcamp 데이터베이스' 카테고리의 다른 글
SQL - CREATE TABLE , PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE (1) | 2024.03.23 |
---|---|
트랜잭션 (0) | 2024.03.22 |