충청권 ICT 교육 -1

김재현·2022년 11월 11일
0

충청권 ICT 교육

목록 보기
1/5

DBMS의 설치와 SQL 이해

학습 목표

  • 데이터베이스 시스템을 이해할 수 있다.
  • MySQL DBMS 설치를 수행할 수 있다.
  • 클라이언트와 서버를 설명할 수 있다.

데이터베이스 개요

  • 핵심 개념
    • 데이터베이스 / DBMS 개념 파악
    • 상용 데이터베이스 종류 구분
    • 데이터베이스의 역사/분류
    • SQL 언어 개념
    • MySQL

데이터베이스란?

  • 목적에 맞도록 관련된 데이터를 모아두기 위한 방법.
  • 목적성이 맞다는 것이 중요.
  • 목적성에 맞게 데이터를 정리하고, 저장소에 저장하게 된다.
  • 대분류 - 소분류 식으로 데이터베이스 안에도 작은 데이터베이스가 존재할 수 있다.

    데이터 모음을 관리 및 이용하도록 제공하는 데이터베이스 관리 시스템을 일반적으로 데이터베이스라고 부른다.

데이터베이스의 정의와 특징

  • 데이터베이스
    • 데이터의 집합
    • 여러 명의 사용자, 응용프로그램의 공유
    • 동시 접근이 가능해야
    • '데이터의 저장공간' 자체를 의미하기도 함.
  • DBMS
    • 데이터베이스를 관리/운영하는 역할.
    • 동시 사용 가능한 데이터 저장공간을 위한 시스템과 응용 프로그램.

DBMS/사용자/응용 프로그램 구성의 이해

  • 사용자-인터페이스-DBMS-File System.
  • 저장되어 있는 것을 사용자가 쓰기 위해서는 유틸리티 프로그램을 사용해야하고, 대표적인 것이 SQL.
  • SQL을 쓰는 DBMS 클라이언트 프로그램을 공부할 것.
  • SQL로 작성한 내용이 데이터베이스에 전달되기 위해서는 특정한 컴파일러가 필요하다.
  • 사용자가 SQL 등 쿼리를 입력하면, 그 내용이 컴파일러에서 변환(DBMS가 이해할 수 있는 언어로 변환하는 과정)되고, 변환된 명령어가 File System으로 전달, 데이터를 반환하게 된다.

데이터베이스의 기능적 특징

기능적 특징

  • 데이터 정의 : 구조 정의하고 삭제 및 변경 기능 수행
  • 데이터 조작 : 조작하는 소프트웨어(프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업 지원
  • 데이터 추출 : 사용자가 조회하는 데이터 혹은 프로그램의 데이터 추출
  • 데이터 제어 : 데이터베이스 사용자를 생성, 모니터링하며 접근을 제어하고, 백업과 회복, 동시성 제어 등의 기능 지원.
    • 어떤 도메인에서는 접근 가능, 어떤 도메인에서는 불가능하게 하는..

수행 보장을 위한

  • 트랜잭션의 실현성 보장
  • DBMS가 자체적으로 제공하는 백업/복원 가능
  • 데이터 손실 시 복원/복구

데이터베이스의 발전

1. 오프라인으로 관리

  • 종이에 수입/지출을 기록해왔던 과거의 데이터 형태
  • 현재에도 소수 회사에는 수기 기록

2. 파일 시스템의 사용

  • 메모장이나 엑셀의 형태 이용 - 데이터 작성이 빨라짐.
  • 응용 프로그램 하나 당 데이터 파이 하나 필요 → 데이터 수정 시 데이터 불일치 위험.

3. 데이터베이스 관리 시스템(DBMS)

  • Database Management System
  • 대량의 데이터를 보다 효율적으로 관리, 운영 → 파일 시스템의 단점 보완.
  • 데이터의 집합인 '데이터베이스'를 잘 관리/운영하기 위한 시스템이나 소프트웨어

데이터베이스의 종류

  • 관계형 데이터베이스(RDB = Relational Database)
    • 데이터를 키와 값(key, value)의 관계로 구성한 테이블로 구성해 관계대수 조좍.
    • SQL이라는 표준 질의어를 통해 데이터를 조작, 조회할 수 있음.
  • 객체지향 데이터베이스(OODB = Object Oriented Database)
    • 정보를 객체의 형태로 표현하는 데이터베이스
    • 객체 모델이 적용, 데이터 모델을 그대로 응용프로그램에 적용
  • 관계객체형 데이터베이스(ORDB = Object Relation Database)
    • 관계형 + 객체지향

관계형 데이터베이스는 텍스트 기반.
하지만 동영상 같은 파일들은 바이너리 언어 기반이고 SQL로 처리하는 데 불편함이 있었다.

그래서 나온 것이 객체지향 데이터베이스.

  • NoSQL
    • 대용량 데이터, 비정형 데이터의 웹 서비스와 SNS, 클라우드 컴퓨팅의 확대 보급과 대중화로 최근 주목받고 있는 데이터베이스 기술.
    • 실시간(스마트폰 등)으로 처리되는 데이터, 시시각각 변화하는 데이터들을 관계형 데이터베이스에 정리해 집어넣는 것은 쉽지 않은 일.
    • 때문에 정리하지 않고, 형태 구현도 하지 않고 즉시 넣었다, 추출 혹은 사용을 해보자는 목적으로 만들어진 데이터베이스 형태. SQL 없이(No) 사용해보자.
    • 상용 데이터베이스에서도 NoSQL의 장점을 받아들이고 있다.

관계형 DBMS란?

관계형 DBSM

  • Relational DBMS, RDBMS
  • 현재 사용되는 DBMS 중 가장 많이 사용.
  • 네 가지 기능 지원.
  • 데이터 무결성
    • 신뢰성 있는 데이터를 처리해야 함.
  • 데이터 독립성
    • 다른 사람이 동시에 입력해도, 내가 입력한 데이터와는 분리되어야 함.
  • 보안
    • 누구나 접근할 수 있지만, 동시에 접근권한으로 제어할 수 있어야 함.
  • 데이터 중복 최소화
    • 중복 처리가 일어나면 안된다.
  • SQL 언어 (Structured Query Language )

MySQL 소개

MySQL

  • Open source DB로 탄생
  • LAMP/SAMP stack 기반으로 사용층 확보.
    • Linux/Apache/MySQL/PHP
  • 상용 DB대비 DB관리와 TCO에 유리.
  • 최상의 신뢰성과 보안성 제공하는 오픈 소스 데이터베이스
  • Stored procedure, Trigger, View 등 RDBMS로서의 기본 기능에 충실.
    • 상용 DB에 버금가는 기능 지원.
  • Pluggable Storage Engine 제공.
  • 다양한 Third 파트 엔진 지원
  • 다양한 관리자용 GUI 툴
    • Administration, Migration, Backup, Workbench, Query Browser 등
  • 중앙 집중 관리
    • 보안, 스키마 관리, Replication, 성능 모니터링
  • 다양한 Platform 지원
    • 가격 대비 최대 성능 효과의 TCO 절감 DBMS
  • 대부분의 프로그래밍 언어에서 모두 사용할 수 있는 API 제공.

TCO?
TCO는 총소유비용을 의미한다. 데이터 스토리지의 경우, 조직은 IT 인프라를 구매, 설치, 실행 및 유지 관리하는 과정에서 발생하는 모든 비용을 평가해야 한다. 총소유비용(TCO)에는 하드웨어 및 소프트웨어, 관리 및 실무, 스토리지 용량 및 컴퓨트 리소스 그리고 다운타임 중에 발생하는 모든 기회 비용이 포함될 수 있다.

라이센스

  • Community Adition 사용해야 함.
  • Maria DB

MySQL Commynity Edition

  • MySQL Server + GUI Tools + API

MySQL 8 특징

  • SQL, JSON 및 GIS 와 같은 분야의 요청 새로운 기능 제공.
  • Emojis를 저장할 수 있는 UTF8MB4가 default characher set
    • 유니코드를 지원했었으나, 이모지 등을 포함한 문자 셋 지원.
  • NoSQL Document Store
    • 기존 SQL 관계형 + NoSQL 문서 데이터베이스 가능
  • SQL WINDOW 함수, Common Table, NOWAIT 및 SKIP LOCKED, 내림차순 인덱스, Grouping, 정규식 등..
  • JSON Extended 구문, 새로운 기능, 향상된 정렬 및 부분 업데이트, JSON TABLE 함수 사용하면 JSON 데이터 용 SQL machinery 사용 가능.
  • 8 이전 버전에 비해 보안적인 측면에서 많이 강화됨.

DBMS 설치와 SQL 이해 2

학습 목표

  • MySQL Community Edition 설치
  • MySQL Workbench 설치
  • 쿼리 사용

MySQL Community Edition 설치하기

검색해서 접속하기

  • 커뮤니티 서버를 다운받아 설치하면 나머지 유틸리티도 다 딸려온다.

  • 두 가지 버전.
    위에 것은 네트웤 인스톨러 : 인스톨러 프로그램만 있는거.
    서버+몇 가지 패키지.
  • 위에 것 받자.

  • 로그인 같은 것은 하지 않는다.

  • 설치 프로그램을 시작하면 나오는 화면
    일단 Developer Default를 선택한다.

  • following products설치가 필요. Execute버튼을 눌러주자.
  • 에러가 나는 항목이 있을 수 있는데, Try again을 클릭해 다시 다운로드 해주면 된다.

  • 다운로드가 다 되었는데도 Next>가 활성화되지 않는다면 프로그램 추가/제거에 가서 프로그램을 싹 삭제하고 다시 다운로드 하자.

  • 다시 Execute가 활성화된다. 준비된 프로그램 다운로드. 시간이 조금 걸린다.

  • 다 되면 Next

  • MySQL 서버의 기본 구성이 필요하다.

  • MySQL 서버의 기본 구성을 해주는 화면.
  • MySQL 서버는 클라이언트 서버 프로그램이기 때문에 포트 3306으로 설치된다.
    사용자 보안은 디폴트인 패스워드로 사용.

  • Root 사용자 패스워드 정해주는 화면

  • 윈도우는 백그라운드 서비스로 등록되기 때문에, 컴퓨터가 재시작하더라도 MySQL 서비스를 재시작할 수 있어야한다.

  • 오류해결 참고
    이상하게 에러가 너무 많이 뜬다.

Workbench

  • CLI로 처리해야하되는 명령을 GUI로 사용할 수 있게 하는 툴.

0개의 댓글