1. DataBase Management System

: 데이터베이스를 관리하는 시스템

: CRUD(Create, Retrieve, Update, Delete) (생성, 검색, 수정, 삭제)

: 대량의 데이터를 처리하는 시스템

: 다양한 자료구조와 검색구조를 사용해 빠른 검색이 가능하다

* 정렬

: 빠른 검색을 위해서는 데이터가 반드시 정렬이 되어 있어야함.

: 정렬이 되어 있다면, 데이터를 빠른 시간안에 찾을 수 있음

: NlogN

: 퀵정렬/힙정렬 계열이 주로 사용됨

* 인덱스

: 인덱스 종류
    - 이진검색
    -B-Tree 계열
        - 사용 DBMS에서 가장 일반적으로 사용됨.

: 데이터를 추가/수정/삭제할 떄마다 정렬/인덱스 업데이트가 일어남.

* 이진탐색

: 데이터를 정렬후 'test'라는 단어를 검색하는 경우

: 한가운데 값을 찾고 좌측 또는 우측으로 다시 한가운데를 검색

: log_2의 N번으로 검색할 수 있게됨.

: 약 1000개의 데이터가 있을 때 10번만 찾으면 데이터를 찾을 수 있게됨.

: 데이터가 추가/삭제/변경될 때마다 한가운데 들의 값을 미리 계산해 둔다.

* B-트리

: 이진검색과 유사하지만, 한번에 비교를 2번한다.

: a<x<b 같은 방법으로 비교함.

: 이 기술은 R이 CUD보다 많다는 가정하에 사용되어짐.

* DBMS의 종류

: 계층형 데이터 베이스

: 네트워크형 데이터 베이스

: 관계형 데이터 베이스(RDBMS)

: 객체 지향 데이터 베이스

: 객체 관계형 데이터 베이스(ORDBMS)

: NoSQL(Not Only SQL)

2. RDBMS

* RDBMS란?

: 관계형 데이터베이스 시스템

: 테이블 기반의 DBMS

: 테이블-컬럼 형테의 데이터 저장 방식

: 테이블과 테이블간의 연관관계(주로 외래키의 형태)를 이용해 필요한 정보를 구하는 방식

: 모델링은 E-R(Entity Relationship)모델을 사용

: 테이블을 엔티티(기본)과 Relationship(유도)테이블로 구분하는 방식.

: 데이터를 테이블 단위로 관리

: 하나의 테이블은 여러개의 컬럼으로 구성됨

: 테이블끼리의 중복정보는 최소화 시킴

: 동일한 데이터가 중복되면 수정시 문제발생 확률이 높아짐

: 정규화 -> 정규형을 통해 해결한다.

: 사용방식

: 여러 테이블을 합쳐 큰 테이블을 생성

* 기본용어

: 스키마

: DB, 테이블 정의 내역

: SQL쿼리(SQL Query) Structured Query Language

: 관계형 DBMS를 사용하는 전용 질의 언어

: 대소문자 가리지 않음 / Interpreter 언어이다.

: 기본키(Primary Key:PK)

: 테이블에서 하나의 레코드를 지정할 수 있는 하나 이상의 컬럼집합

: 주민등록번호, SSN(Social Security Number) 같은 것들

: 외래키(Foreign Key:FK)

: 어떤 테이블의 기본키가 다른 테이블의 컬럼에 들어있을 경우

: 테이블(Table)

: 정보들의 묶음 단위

: 학교,학생, 교수 등등..

: 컬럼

: 테이블을 구성하는 정보들

: 학생테이블- 이름,주소,전화번호,나이,성별...

: 레코드(Record)

: 테이블에 들어있는 여러가지 인스턴스 하나하나를 지정

: 대학교의 학과 테이블

: 경영학과,미술학과, 수학과...

: 기본키로 구별가능

: 도메인 값(Domain Value)

: 각 컬럼에서 나올 수 있는 후보값

'프로그래밍 > RDBMS - MySQL' 카테고리의 다른 글

INDEX  (0) 2017.03.28
DCL(Data Control Language) 명령어  (0) 2017.03.27
DDL(Data Definition Language) 명령어  (0) 2017.03.27
SQL 기본 & DML(Data Manipulation Language) 명령어 모음  (0) 2017.03.27
3. SQL  (0) 2017.03.24

+ Recent posts