[MySQL] MySQL 이란?

2022. 8. 9. 12:27Mysql

※ MySQL은?

  • MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템이다.
  • 오픈 소스이고, 다중 사용자와 다중 스레드를 지원한다.
  • C, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 API를 제공한다.
  • 유닉스, 리눅스, 윈도우 등 다양한 OS에서 사용 가능하다는 장점을 가진다.

 

※ 데이터베이스?

  • 데이터의 저장소 또는 통합되어 관리되는 데이터의 집합체 의미
  • 중복 데이터 제거, 자료 구조화, 효율적 처리를 위해 관리됨.
  • 응용 프로그램과 다른 별도의 미들웨어에 의해 관리된다.
  • 데이터베이스를 관리하는 미들웨어를 DBMS(데이터베이스 관리 시스템)라 한다.
  • 사용자의 쿼리(SQL)에 대해서 즉각적 처리와 응답이 이루어진다. (CRUD)
  • 사용자가 원하는 데이터를 동시에 공유할 수 있고 주소가 아닌 내용에 따라 참조한다.

 

※ SQL?

  • 데이터베이스에서 데이터를 저장하거나 얻기 위해 사용하는 표준화된 언어

▷ DML (Data Manipulation Language)

  • 데이터 조작 언어
  • 데이터를 선택(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 데 사용되는 언어
  • 트랜잭션이 발생하는 SQL도 이 DML에 속한다.

▷ DDL (Data Definition Language)

  • 데이터 정의 언어
  • 데이터베이스, 테이블, 뷰, 인덱스 등의 데이터
  • 트랜잭션을 발생시키지 않고 ROLLBACK, COMMIT 사용 또한 불가
  • DDL 문은 실행 즉시 MySQL에 적용
  • CREATE/DROP/ALTER

▷ DCL (Data Control Language)

  • 데이터 제어 언어
  • 사용자에게 어떤 권한을 부여하거나 빼앗을 때 사용하는 구문
  • GRANT/REVOKE/DENY

 

※ 관계형 데이터베이스?

  • 관계형 데이터베이스는 테이블로 이루어져 있고, 이 테이블은 key와 value의 관계를 나타낸다.
  • 데이터 종속성을 관계로 나타내는 것이 관계형 DB의 특징이다.
  • 데이터의 분류, 정렬, 탐색 속도가 빠르고, 신뢰성이 높으며 데이터의 무결성을 어떠한 상황에서도 보장한다.
  • 기존의 작성된 스키마를 수정하기 어렵고, 데이터베이스의 부하를 분석하는 것이 어렵다.

 

※ 관계형 데이터베이스 용어

  • 열(column) : 유일한 이름을 가지고 자신만의 타입을 가진다. 필드(field) 또는 속성(attribute)라고도 불린다.
  • 행(row) : 관계된 데이터의 묶음으로 한 테이블의 모든 행은 같은 수의 열을 가진다. 튜플(tuple) 또는 레코드(record)라고도 불린다.
  • 값(value) : 테이블은 각각의 행과 열에 대응하는 값을 가지고 있어야 한다. (열의 타입에 맞아야함)
  • 키(key) : 테이블에서 행의 식별자로 활용되는 열이다. 키 또는 기본 키(Primary Key, PK) 라고 불린다. 테이블에 저장된 레코드를 고유하게 식별하는 후보 키 중 DB 설계자가 지정한 속성을 의미
  • 관계(relation) : 일대일, 일대다, 다대다 관계가 있다. 이러한 관계를 나타내기 위해 외래 키(Foreign Key, FK) 라는 것을 사용한다.
  • 스키마(schema) : 테이블의 각 열에 대한 항목과 타입 뿐 아니라 기본 키와 외래 키도 나타낸다. 개체-관계 다이어그램이나 문자열로 표현한다.

 

※ MySQL의 장점?

  • 오픈 소스 라이센스를 따르기 때문에 무료로 사용 가능하다.
  • 다양한 OS에서 사용할 수 있고, 다양한 프로그래밍 언어를 지원한다.
  • 크기가 큰 데이터 집합도 아주 빠르고 효과적으로 처리할 수 있다.
  • 널리 알려진 표준 SQL 형식을 사용한다.
  • MySQL 응용 프로그램을 사용자의 용도에 맞춰 수정할 수 있다.

 

 

 

 

[출처]

코딩의 시작, TCP School

 

'Mysql' 카테고리의 다른 글

[MySQL] MySQL 문법  (0) 2022.08.09