Computer Science/Database

SQL | # 1 관계형 데이터베이스와 오라클

토마토. 2022. 1. 26. 09:10

모두의 SQL 1장 정리


관계형 데이터베이스와 SQL

이제는 데이터의 시대

<1>

* 왜 SQL(Structured Query Language)을 배워야하는가? 

원하는 데이터에 원하는 방향으로 접근하기 위해서

* 데이터 분석의 과정

- 문제 인식 > 데이터 수집과 가공(전처리) > 데이터 분석 > 분석 결과 실행

- 데이터 수집과 가공, 데이터 분석이 SQL 적용 가능 범위

* SQL 수행 목표는? 

SQL으로 기술 통계(기초 산술, 평균, 분산, 표준편차) 정도를 자유롭게 처리하는 수준

 

<2>

* 정형 데이터와 비정형 데이터

정형 데이터

- 틀이 있는 데이터, 체계화된 데이터

- 업무용 데이터베이스

- 높은 안정성, 유연하지 못한 구조

비정형 데이터

- 틀이 잡혀있지 않고, 사전 정의가 없는 데이터

- 다양하고 방대한 양의 데이터

- 텍스트, 이미지, 음원, 빅데이터

이 책에서 다루는 오라클은 정형 데이터, 관계형 데이터베이스를 다룬다. 

 

<3>

* 데이터베이스란? 

데이터는 기록 정보이고,

데이터베이스는 이러한 데이터를 모아둔 것. 

데이터베이스는 [DB(DataBase)]와 [DBMS(DataBase Management System)]으로 구분한다. 

DBMS는 오라클, MySQL, MS SQL 등이 있고, 모두 SQL이라는 데이터베이스 조작 언어로 관리한다. 

* 데이터베이스의 종류

- 관계형 데이터베이스

열과 행을 갖는 2차원 테이블을 중심으로 설계된 데이터베이스

데이터를 key, 관계라는 연결 고리로 연결해서 데이터를 조회 / 가공하는 데이터베이스

오라클, MySQL, 등등이 있다. 

- 계층형 데이터베이스

개인 컴퓨터 저장 장치에서 사용하는 방식. 직관적이나, 기업용에서는 쓰이지 않음. 

- 객체 지향 데이터베이스

객체, 객체 식별자, 속성과 매소드, 클래스, 클래스 계층 및 상속, 복합 객체 등 객체 지향 데이터 모델을 지원하는 데이터베이스. 

자바, C++ 같은 객체 지향 언어의 OOP에 적합한 데이터베이스

- XML 데이터베이스

XML 표준 문서 구조를 계층형 트리 형태로 저장/관리하는 데이터베이스. 

XML 문서 형태로 저장/검증. 문서 단위, 요소 단위 검색 기능, 검색어 색인 저장 기술 활용함

XQuery를 사용한다. 

 

<4> SQL이란? 

* SQL이란?

데이터베이스 관리 시스템(DBMS)와 통신하기 위한 언어

SEQUEL을 기초로 만들어졌다. 

 

* SQL 특징

사용하기 쉬움

비절차적 언어

RDB의 데이터를 조작할 수 있다. 표준 언어다. 

 

* SQL 명령어의 종류

네 가지가 있음 : DML(데이터 조작어), DDL(데이터 정의어), DCL(데이터 제어어), TCL(트랜잭션 제어어)- DML Data Manipulation Language명령어는 SELECT, INSERT, UPDATE, DELETE데이터 베이스에서 데이터를 검색(SELECT)하고, 데이터 베이스 테이블에 새로운 행을 삽입(INSERT)하고, 기존 행을 수정(UPDATE)하거나 삭제(DELETE)한다. - DDL Data Definition Language명령어는 CREATE, ALTER, DROP, RENAME, TRUNCATE테이블의 데이터를 정의하고, 구조를 생성하거나 수정 또는 제거- DCL Data Control Language명령어는 GRANT, REVOKE데이터베이스에 대해 접근 권한을 부여하거나 제거함- TCL Transaction Control Language명령어는 COMMIT, ROLLBACK, SAVEPOINTDML로 실행한 변경 사항을 저장/관리한다. 

 

* SQL 활용 영역

애플리케이션 개발

데이터 추출 수집 가공

데이터 검색 분석

 

관계형 데이터베이스의 구성 요소와 테이블

관계형 데이터베이스 모델은 데이터를 '관계'로 표현하는 모델이다. 

데이터 설계가 유연하고 사용하기 쉽다. 

그 중 대표적인 기업이 Oracle

 

* 관계형 데이터베이스의 구성 요소

- 특징

테이블, 뷰, 인덱스 등의 객체로 구성됨

데이터를 저장하는 개체, 관계들의 집합

일관성, 정확성, 신뢰성을 위한 트랜잭션, 무결성, 동시성 제어 등의 개념 존재함

- 객체의 종류

테이블 TABLE : 행과 열로 구성된 기본적인 데이터 저장 단위

뷰 VIEW : 하나 이상의 테이블로부터 데이터를 선택하여 만든 부분 집합, 가상의 테이블

인덱스 INDEX : 행의 주소

시퀀스 SEQUENCE : 고유한 번호를 자동으로 생성한다. 키를 생성하는 데 사용한다. 

동의어 SYNONYM : 객체의 별칭

 

* 테이블 : 데이터 저장과 관리의 핵심

- 테이블의 역할

데이터를 저장/관리함

데이터의 접근을 통제하고 검색/삽입/수정/삭제를 위한 체계 제공