JAVA를 잡아라!...

SQL - 1. 데이터베이스와 SQL의 기초 본문

DBMS_SQL/Oracle

SQL - 1. 데이터베이스와 SQL의 기초

onivv 2023. 12. 21. 20:27

#1 데이터베이스(database, DB) 의 기본 개념

▶ 정의

  • 데이터 : 컴퓨터가 처리할 수 있는 자료
  • 연관된 데이터를 모아 일정한 형태로 저장해 놓은 것
  • 여러 시스템 or 사용자가 데이터를 동시에 공유하고 사용하기 위해 통합 저장한 데이터의 집합

  목적

  • 데이터 중복을 최소화해서 조직의 목적에 맞게 효율적으로 관리하기 위해 사용

  데이터베이스 관리 시스템(database management system, DBMS)

  • 데이터의 입력, 수정, 삭제 등 다양한 기능을 제공하는 별도의 소프트웨어
  • DB는 데이터를 담는 통, DBMS는 이 통을 관리하는 소프트웨어
  • DB에 데이터를 저장하거나 삭제하는 모든 작업은 DBMS를 거쳐야함

#2 데이터베이스 종류

DB는 저장 방법에 따라 계층법, 네트워크형, 키-값, 관계형으로 분류

 

계층형 데이터베이스

  • 데이터가 부모와 자식 관계를 이루는 트리 구조
  • 부모 레코드가 여러 자식 레코드를 가짐
  • 레코드 : 데이터베이스 테이블에 저장된 값들의 모임으로 행(row)라고도 불림
  • 단점 : 데이터 중복 발생이 쉬움, 데이터가 상하 종속 관계라서 프로세스 변경이 어려움

네트워크형 데이터베이스

  • 데이터를 노드로 표현한 모델
  • 노드는 네트워크상에 있으며 서로 대등한 관계임
  • 레코드 간의 관계를 일대다 or 다대다로 표현
  • 단점 : 종속성 문제가 생기기 쉬워 데이터베이스 구조를 변경하기 어려움

 키-값 데이터베이스

  • 키-값을 일대일 대응해 데이터를 저장하는 비관계형 데이터베이스 유형
  • 데이터 중복이 발생하며 비정형 데이터 저장에 유리함

관계형 데이터베이스

  • 데이터를 열(column)과 행(row)으로 구성한 테이블로 정리
  • 고유키(primary key)가 각 행을 식별
  • 데이터는 행 단위로 저장되며, 각 항목의 속성은 열이라고 표현
  • 열 속성에 따라 데이터 유형이 정해짐
각 열은 고유한 이름을 가지며 자신만의 타입을 가짐
열은 필드(field) or 속성(attribute)라고도 함
관계된 데이터의 묶음
한 테이블의 모든 행은 같은 수의 열을 가짐
행은 튜플(tuple) or 레코드(record)라고도 함
테이블 행과 열 값들의 모음
도메인 특성에 따라 데이터를 논리적으로 그룹화해 놓은 것

 

 

#3 SQL이란 무엇인가

관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하는 프로그래밍 언어

 

DBMS 종류에 따른 SQL 종류

DBMS SQL 명칭
SQL Server Transact-SQL(T-SQL)
Oracle PL/SQL
MySQL SQL
국제 표준 ANSI SQL

 

SQL 문법 종류

   1) 데이터 정의 언어(DDL) : 데이터베이스를 정의하는 언어

  • CREATE : 데이터베이스 또는 테이블 생성
  • ALTER : 테이블 수정
  • DROP : 데이터베이스 또는 테이블 삭제
  • TRUNCATE : 테이블 초기화

   2) 데이터 조작 언어(DML) : 데이터베이스에 입력된 데이터를 검색, 입력, 수정, 삭제

  • SELECT : 데이터 검색
  • INSERT : 데이터 입력
  • UPDATE : 데이터 수정
  • DELETE : 데이터 삭제

   3) 데이터 제어 언어(DCL) : 데이터베이스에 접근하거나 객체에 권한을 부여하는 등의 역할

  • GRANT : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 부여
  • REVOKE : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 삭제
  • COMMIT : 트랜잭션 자겁을 완료하는 역할
  • ROLLBACK : 트랜잭션 작업을 취소하거나 이전 상태로 복구하는 역할

 

#4 SQL을 배워야 하는 이유

  • 대부분의 데이터는 SQL을 사용할 수 있는 RDBMS에 저장됨
  • RDBMS에 저장된 데이터를 추출하려면 SQL 문법을 사용해 컴퓨터에 명령을 내려야 함
  • RDBMS가 아닌 시스템에도 SQL과 비슷한 문법을 사용해 데이터 추출 가능
  • 데이터 분석의 시작은 데이터 추출