[데이터베이스 첫걸음] 5장

    728x90

    디비디비딥 스터디 시리즈

    더보기

    [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장

    [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장

    5장 DBMS를 조작할 때 필요한 기본 지식

    MySQL 설치

    생략

    MySQL 과 커넥션, 그리고 전화걸기

    커넥션(Connection)

    • 로그인을 통해 프롬프트가 표시된 것 → 사용자와 MySQL이 접속되었다. (연결되었다.)

    커넥션과 전화

    • 커넥션은 로그인에 실패하면 전화의 잘못된 번호 와 같은 안내를 받는다.
    • 전화와는 달리 1대1이 아닌 복수의 사용자가 동시에 커넥션 할 수 있다.
    • 전화를 끊는 것은 로그오프

    세션(Session)

    • 커넥션의 시작과 종료 사이에 DBMS와 다양한 교환을 진행하는데, 그 교환의 시작과 종료까지의 단위
    • 기본적으로 커넥션과 섹션은 1:1 대응되어 커넥션 성립 시 암묵적으로 세션이 시작되고, 세션을 끊으면 커넥션도 끊어지는 경우가 많으므로 세션과 커넥션을 잘 구분하지 않는다.

    SQL과 관리명령의 차이

    • 데이터베이스를 조작하는 수단은 SQL 외에도 관리 명령이 있다.
    • SQL: 관계형 데이터베이스의 데이터를 조작하는 도구
    • 관리 명령: SQL 이외 다양한 용도의 명령어
      • DBMS가 정상적으로 동작하는지 감시 또는 DBMS가 이상한 동작을 할 때 문제 해결을 위한 정보수집 등의 용도
      • 관리 명령의 종류나 문법은 DBMS에 따라 다르다.

    관리 명령과 SQL문의 구분방법

    • SQL문은 반드시 SELECT INSERT DELETE UPDATE 중 하나의 단어로 시작한다.
    • 이 외의 단어로 시작한다면 관리 명령

    관계형 데이터베이스의 계층

    • 인스턴스 > 데이터베이스 > 스키마 > 오브젝트(테이블, 인덱스, 저장 프로시저 등)
    • 트리 구조

    인스턴스(Instance)

    • 물리적 개념. DBMS의 동작 단위
    • 메모리나 CPU를 사용하는 존재로 OS에 존재하는 실체
    • OS 입장에서는 프로세스라고도 부름
    • DBMS에 따라 서버 프로세스, 서버라고 부르기도 함
    • 인스턴스 아래에 여러 개의 데이터베이스 존재 가능
    • 한 개의 OS에서 인스턴스가 복수로 존재 하는 멀티 인스턴스 구성 가능
      • 원칙적으로 (물리 자원이 충분하다면) 가능
      • DBMS는 일반적으로 기동 시에 최저 한계의 메모리 공간을 확보하려고 하기 때문
      • 1대의 인스턴스 내에 여러 데이터베이스를 만들거나, 가상화 환경을 사용하면 되므로 잘 사용하지 않음

    데이터베이스(Database)

    • '데이터베이스'는 데이터를 관리하는 기능의 집합체라는 의미 뿐만 아니라 '계층'을 표시하는 의미도 가짐
    • 데이터베이스 아래에 여러 스키마 존재 가능

    스키마(Schema)

    • 스키마를 통해 테이블을 용도별로 나누거나 권한 관리 수행 가능
    • 스키마 아래에 여러 테이블 존재 가능

    오브젝트(Object)

    • 최하위 계층
    • 테이블(Table), 인덱스(Index), 저장 프로시저(Stored Procedure) 등

    DBMS별 계층 구조

    • 3계층 구조 : 스키마와 데이터베이스의 한 계층을 생략
      • MySQL: 데이터베이스와 스키마를 동일한 것으로 간주 (동의어)
      • Oracle: 4계층 구조로 되어있긴 하지만 인스턴스 아래에 데이터베이스를 한 개만 만들 수 있어 실질적으로 3계층 구조
    • 4계층 구조
      • SQL Server, DB2, PostgreSQL
    • ANSI 표준으로 정해진 것은 4계층 구조
    • 개발사의 의향에 따라 바뀔 수 있음
     

    'Book' 카테고리의 다른 글

    [데이터베이스 첫걸음] 7장  (0) 2023.09.09
    [데이터베이스 첫걸음] 6장  (0) 2023.09.09
    [데이터베이스 첫걸음] 4장  (0) 2023.09.01
    [데이터베이스 첫걸음] 3장  (0) 2023.09.01
    [데이터베이스 첫걸음] 2장  (0) 2023.08.31

    댓글