충청권 ICT 교육 -2

김재현·2022년 11월 11일
0

충청권 ICT 교육

목록 보기
2/5

DBMS 설치와 SQL 이해 3

학습 목표

  • Database와 Schema를 이해 할 수 있다.
  • Schema와 Table을 알 수 있다.
  • SQL 언어의 구조를 설명할 수 있다.

DB와 Schema

Schema와 Table

  • Database 라는 구조물을 Schema라고 부르기도 함.
  • 논리 구성을 갖은 데이터베이스는 Schema로 구성되고, Schema 안에는 Table, View 등 기능들로 구성된다.

Schema

  • 물리적 공간 : DBMS에 저장되는 공간.
  • 논리적 공간 : 저장 공간의 영역.
  • Schema 안에 속성을 갖는 여러가지 테이블을 넣을 수 있다.
    • 논리적으로 스키마가 구분돼서 저장됨.
  • 스키마 = 논리적인 데이터베이스, 혹은 테이블을 보관하는 장소. 실제 데이터를 저장하는 테이블을 여러 개 저장하는 공간.
    • 테이블은 실제 데이터를 저장하는 공간.

Schema 내부에 Table이 존재

  • Table
    • 논리적, 물리적으로 구성된 스키마 안에 실제 데이터가 저장되는 최소한의 공간.
    • Table 안에 실제 데이터가 저장된다.
    • 데이터베이스는 테이블 기반으로 구성.
    • 테이블은 하나 이상의 열로 구성.
    • 저장되는 데이터를 구분하기 위해 테이블은 행과 열로 구분된다.
    • 행은 가로 속성, 열은 세로 속성.
    • 행과 열 사이의 하나하나의 칸에 들어가는 실제 데이터를 필드, 혹은 튜플이라고 부르기도 한다.
    • 테이블에 데이터가 들어갈 때 행 단위로 들어가서 열로 구분되어 필드로 정리된다.

관계형 DBMS에서 Table의 개념

  • RDBMS의 가장 기본적이고 중요한 구성
  • 관계대수에 의해 데이터를 효율적으로 저장하기 위한 구조
  • Entity Relation에 의해
    • 불필요한 공간 낭비를 줄이고 데이터의 저장 효율성 보장
    • Entity는 본질. 데이터가 갖는 본질, 성질 등.
  • 테이블의 관계(Relation)
    • 기본 키(Primary Key)와 외래 키(Foreign Key)를 사용해 관계를 맺어줌.
    • 두 테이블을 부모-자식 관계로 묶어 줌.
    • SQL의 조인(JOIN) 기능 이용.

ERD(Entity Relation Diagram)로 분석 및 모델링

  • 데이터를 수학적으로 바꾸기 위해서는 뛰어난 분석이 필요하다.
  • 현실세계의 내용을 분석을 하기 위해 개념적 모델링을 위해 Entity Relation Diagram 분석으로 하게 된다.
  • 분석을 통해 데이터베이스 화 되는 과정은 ERD를 사용한다.

  • 제일 근간에 있는 개념이 관계대수.
    • 하지만 관계대수를 모든 개발자, 사용자가 이해하는 것은 불가능에 가깝다.
    • 때문에 그렇기에 나온것이 다이어그램.
  • 엔티티로 현실세계에서 구현하고 싶은 대상 설정, 실제 테이블화 해서 저장되는 구조.
    • 세부적으로는 행, 데이터타입, 제약조건 등이 결정된다.
  • 테이블이란 DBMS 실제 데이터가 저장되는 기본적인 구조. 테이블이 속한 곳이 스키마.
    테이블은 컬럼과 로우라는 2차원 적인 구조로 저장되고, 이것을 구분하는 제약조건으로 외/내부 조건값(Key)가 사용된다.
  • 행을 레코드라고 부르기도 함.
    컬럼에 들어가는 단독 데이터를 필드라고 한다.

SQL 언어

핵심 개념

  • SQL 언어 개념
    • DML
    • DDL
    • DDL

SQL과 Query

  • 관계형 데이터베이스를 사용할 때 RDBMS에게 보내는 요청을 쿼리(Query, 질의)라고 한다.

SQL 특징

독립성

  • DBMS 제작 회사와 독립적
    • 제작 회사는 표준 SQL에 맞춰 DBMS 개발
    • 표준 SQL은 대부분의 DBMS 제품에서 호환된다.

이식성

  • 다른 시스템으로 이식성이 좋다.
  • SQL 표준은 DBMS 간 상호 호환성이 뛰어나 다른 시스템으로 이식이 쉽다.

표준이 계속 발전

대화식 언어

  • SQL은 질의 후 바로 결과를 얻는 대화식 언어
  • 대표적인 대화식이며, 쿼리 언어.
    • DBMS에 질의를 보내 결과를 받는 방식.

분산형 클라이언트/서버 구조

  • 클라이언트에서 질의
  • 서버에서 그 질의를 받아서 처리
  • 다시 클라이언트에게 전달

주의할 점

  • 모든 DBMS의 SQL 문이 완벽하게 동일하지는 않다.
    • 특화된, 맞춤형 SQL이 있다.
  • 자신의 제품에 특화시킨 SQL이 존재.

SQL 명령어

DML(Data Manipulation Language)

  • 데이터 조작어로 검색 및 수정 제공

    SEELECT, INSERT, UPDATE, DELETE, MERGE

DDL(Data Definition Language)

  • 데이터 구조를 생성, 변경, 삭제 등의 기능 제공

    CREATE, ALTER, DROP, RENAME

DCL(Data Control Language)

  • 데이터에 대한 권한 관리 및 트랜잭션 제어
    - 보안에 관련된 명령어

    GRANT, REVOKE

SQL 주요 기능

데이터 검색

  • 관계형 데이터베이스에서 특정 데이터 가져올 수 있음

데이터 조작(추가/삭제/수정)

  • 기존 테이블에 새로운 데이터 추가, 특정 데이터 삭제
  • 이미 있는 데이터 수정

데이터베이스/테이블 작성

  • 새로운 데이터베이스나 테이블 작성.

Query 작성 규칙

  • 원칙적으로 로마자
  • 주석 및 ''(작은따옴표) 안에서 한글을 쓸 수 있음
  • ''(작은따옴표) 는 ""(큰따옴표)로 표기함.
  • 주석을 지원함.
    • /* */ 로 둘러싸 프로그램에 반영하고 싶지 않은 설명을 주석처리 할 수 있다.
    • //로 한줄 주석도 사용 가능.
  • 예약어
    • SQL에 있어서 특별한 의미를 갖는 키워드
    • 테이블명이나 열 이름 등에 사용할 때는 []로 둘러싼다.

0개의 댓글