Database 개념 이해

yunseul·2024년 5월 13일

DB

목록 보기
1/4

Database (DB) 란?

“데이터의 집합” 으로, 카카오톡의 메시지, 인스타그램에 등록되어 있는 사진, 대중교통에서 사용하는 교통카드 등의 정보가 저장소에 저장되는 것

Database 정의

공유 데이터 : 특정 조직의 여러 사용자가 함께 사용하고 이용할 수 있는 공유 데이터

통합 데이터 : 최소한의 중복과 통제 가능한 중복만 허용하는 데이터

저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저v장된 데이터

운영 데이터 : 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터

Database 특징

실시간 접근 : 사용자의 데이터 요구에 실시간으로 응답

계속 변화 : 데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터 유지

동시 공유 : 서로 다른 데이터의 동시 사용 뿐만 아니라 같은 데이터의 동시 사용도 지원

내용 기반 참조 : 데이터가 저장된 주소나 위치가 아닌 내용을 참조

DBMS (Database Management System) 란?

데이터가 저장되어 있는 Database 를 관리 및 운영할 수 있도록 여러 명의 사용자가 동시에 접근할 수 있도록 하는 소프트웨어

DBMS 종류

DBMS제작사지원 운영체제기타
MySQLOracleUnix, Linux, Windows, Mac오픈소스 (무료), 사용
MariaDBMariaDBUnix, Linux, Winows오픈 소스 (무료), MySQL 초기 개발자들이 독립해서 만든 것
PostgreSQLPostgreSQLUnix, Linux, Windows, Mac오픈 소스 (무료)
OracleOracleUnix, Linux, Winodws,사용 시장 점유율 1위
SQL ServerMicrosoftWindows중/대형급 시장에서 주로 사용
DB2IBMUnix, Linux, Winodws메인프레임 시장 점유율 1위
AccessMicrosoftWinodwsPC용
SQLiteSQLiteAndroid, IOS모바일 전용, 오픈 소스 (무료)

DBMS 유형

DBMS 에는 계층형, 망형, 관계형, 객체지향형, 객체관계형 등으로 분류되며, 현재 주로 사용되는 것은 관계형

계층형 DBMS

  • 처음 등장한 DBMS 개념
  • 처음 구성 후, 수정이 어려움
  • 비효율적인 구성으로 지금은 사용하지 않음

네트워크형 DBMS

  • 계층형 DBMS의 문제점을 개선
  • 계층형에 비해 상대적으로 유연한 구조
  • 프로그래머가 모든 구조를 이해하고 있어야 효율적으로 사용 가능한 한계로 지금은 사용하지 않음

관계형 DBMS (RDBMS)

  • 대부분의 DBMS의 형태가 RDBMS
  • Table 이란 최소 단위로 구성
  • Table 은하나 이상의 열(column) 과 행 (row) 로 구성

테이블 사용 방법

테이블 생성 ( Create Table)

  • 데이터베이스에 새로운 데이터를 추가할 때, CREATE 문 사용
  • 데이터베이스 테이블에 새로운 레코드를 추가할 때, 사용
# Database 생성
CREATE DATABASE "데이터베이스 이름";

# Database 를 사용하도록 설정
USE "데이터베이스 이름";

# Table 생성
CREATE TABLE '테이블 이름' {
		'열의 이름' '데이터 유형' NOT NULL,
		'name' VARCHAR(10) NOT NULL,
		'학과' VARCHR(10) NOT NULL
);

# Tables 확인
SHOW TABLES;

테이블 읽기 (ReadTable)

  • 데이터베이스에서 데이터를 읽고 조회할 때, SELECT 문 사용
  • 데이터베이스 테이블에서 특정 조건에 맞는 데이터를 검색하거나 모든 데이터를 검색할 때, 사용
SELECT * FROM '테이블 이름' WHERE 조건;

테이블 삭제 (Drop Table)

  • 데이터베이스 객체를 삭제할 때, DROP 문 사용
    • 여기서 객체란 ? 테이블, 뷰, 인덱스 또는 데이터베이스 자체를 포함
  • 특정 테이블이나 다른 객체를 삭제할 때, 사용
# Table 삭제
DROP TABLE '테이블 이름';

# View 삭제
DROP VIEW '뷰 이름';

# Index 삭제
DROP INDEX '인덱스 이름' ON '테이블 이름';

# Database 삭제
DROP DATABASE '데이터베이스 이름';

테이블 데이터 삽입 (Insert INTO)

  • 데이터베이스 테이블에 새로운 레코드를 삽입할 때, INSERT 문 사용
  • 테이블에 새로운 데이터를 추가할 때, 사용
# 열1 에 값1 을 삽입
INSERT INTO '테이블 이름' (1,2,3, ...) VALUES (1,2,3, ...);

# student 라는 테이블에 stuednt_id, name, 학과 에 값1,2,3 삽입
INSERT INTO student (student_id, name, 학과) VALUES (1,2,3);

데이터 삭제 (Delete)

  • 데이터베이스에서 저장된 데이터를 제거할 때, DELETE 문 사용
  • 데이터베이스 테이블에서 특정 레코드를 삭제할 때, 사용
# 삭제하려고 하는 테이블을 확인
SELECT * FROM '테이블 이름' ;

# 데이터 삭제
DELETE FROM '데이터베이스 이름' WHERE '테이블 이름' = '지우고자 하는 값';

데이터 변경 (Update)

  • 데이터베이스에 저장된 기존 데이터의 값을 수정할 때, UPDATE 문을 사용합니다.
  • 데이터베이스 테이블에서 특정 레코드의 값을 변경하고자 할 때 사용
UPDATE '데이터베이스 이름' SET name = '변경할 데이터' WHERE '테이블 이름' = '변경할 값';

참고 자료

profile
새로운 것을 시도하고 도전하는 것을 좋아하는 Engineer 입니다..

0개의 댓글