본문 바로가기

Software 공부/Software Web Knowledge

[Software][Knowledge] DB, DBMS, Table, SQL

반응형

DB : 데이터 베이스 (Database)

 

개념

  - 공유 목적으로 통합 관리되는 자료의 집합

  - 논리적으로 연관된 하나 이상의 자료 모음으로 내용을 구조화 하여 검색과 갱신의 효율화한 것

  - 중복을 없애 자료를 구조화하여 기억시켜 놓은 자료의 집합체

  - 내가 생각한 정리

      "널려 있는 데이터들을 중복없이 저장되어 있는 저장 집합"

특징

  - 실시간 접근성 (Real-time Accessability)

      요구(Query)를 실시간 처리 및 응답

  - 지속적인 변화 (continuous Evolution)

      정확한 값을 유지하기 위해 동적인 작업을 통해서 지속적 갱신 가능 

  - 동시 공유 (Concurrent Sharing)

      여러 사람이 동일한 데이터에 접근 및 이용 가능

  - 내용에 대한 참조 (Content Reference)

      저장한 데이터 코드의 위치나 주소가 아닌 데이터 값에 따라 참조 가능


DBMS : 데이터베이스 관리 시스템 (Ddatabase Management System)

 

개념

  - 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어

  - 사용자 or 다른 프로그램의 요구를 처리하고 응답하여 데이터를 사용할 수 있도록 하는 것

  - 내가 생각한 정리

      "데이터 집합체(데이터베이스)를 사용자에 맞게 접근하는 시스템"

DBMS를 DB로 부르는 이유

  - 일반적으로 DBMS도 DB로 부름

  - 사용자 관점에서 DBMS와 DB의 차이 없음

  - 데이터를 가져오는 장소를 의미하기에 DBMS지만 DB라고 말해도 문제가 발생하지는 않는다.

장단점

  - 장점

     데이터 중복 최소화

     데이터 독립성 확보

     데이터 동시 공유

     데이터 보안 향상

     데이터 무결성 유지

     장애 발생시 회복 가능

  - 단점

     비용이 많이 발생

     백업과 회복 방법이 복잡

     중앙 집중 관리로 인한 취약점 존재

기능

  - 조건에 맞춰 만들어서 데이터 검색, 추가, 삭제 등을 통해 관리하고 이러한 기능을 제한 및 관리

  - 정의

     응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해

     데이터베이스에 저장될 데이터의 형과 구조에 대한 정의, 이용방식, 제약 조건 등을 명시하는 기능

  - 조작

     데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해

     사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능

  - 제어

     데이터 베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어

     데이터의 무결성이 유지되도록 제어

종류

  - Oracle

  - MySQL

  - Microsoft SQL Server

  - PostgreSQL 

  - SQLite

  - MongoDB

  - Redis


Table : 테이블

개념

  - 데이터베이스 안에 실제 데이터가 저장되는 형태

  - 일반적으로 익숙한 엑셀 화면에서 보이는 행과 열의 Sheet로 이해하면 쉬움

Relation (관계), Row (행), Column(열)


SQL : 구조적 질의 언어 (Structured Query Language)

DDL : 데이터 정의 언어 (Data Definition Language)

  각 릴레이션을 정의 하기 위해 사용하는 언어

  - Create : table을 만드는 명령어

  - Alter : 특정 컬럼을 삭제하거나 변경할 때 사용하는 명령어

  - Drop, truncate : 모든 데이터를 삭제하는 명령어

DML : 데이터 조작 언어 (Data manipulation Language)

  데이터를 추가/수정/삭제하기 위한 데이터 관리를 위한 언어

  - Insert : 새로운 데이터를 집어넣는 명령어

  - Update : 데이터를 변경하는 명령어

  - Delete : 데이터를 삭제하는 명령어

  - Merge : 코드를 튜닝하는 작업시간을 줄일 때 사용

DCL : 데이터 제어 언어 (Data Control Language)

  사용자 관리 및 사용자 별로 리레이션 또는 데이터를 관리하는 접근하는 권한을 다루기 위한 언어

  - Grant : 데이터베이스 사용자 권한 부여

  - Revoke : 데이터베이스 사용자 권한 회수

반응형