0029

학교

DB03 - mysql

아젠다

- MySQL 소개

- SQL 미리보기

MySQL

1. MySQL은 SQL 기반의 관계형 데이터베이스 관리 시스템(DBMS)이다. -> RDBMS

1) 무료 및 오픈 소스 R-DBMS(GPL 하에 제공)이다.

(1) 오라클에서 소유하고 있다.

(2) 기술 지원을 포함한 상업적 버전의 MySQL도 제공된다.

(3) "My"는 공동 창립자인 마이클 와이디너스의 딸 이름에서 유래되었다.

- 참고: 마리아DB

2) 표준 SQL과 호환된다.

3) 상업 웹 서비스에 자주 사용된다.

2. MySQL을 사용하는 기업 (Enlyft의 연구(Enlyft))

1) "MySQL을 사용하는 199,498개(1,409,176개 중)의 기업에 대한 데이터가 있다."

2) 직원 수가 10-50명이고 수익이 100만~1000만 달러인 기업에서 자주 사용된다.

(1) 참고: 오라클 12는 50-200명의 직원과 10억 달러 이상의 수익을 가진 기업에서 가장 자주 사용된다.

3) MySQL을 사용하는 기업

3. 왜 MySQL인가?

1) 인기 있다.

(1) 인터넷 전역에서 활발한 논의가 이루어진다.

2) 다목적: Linux, Windows, Mac OS X, Solaris, FreeBSD 등에서 실행된다.

(1) 다양한 프로그래밍 언어(C/C++, Java, Python, .Net 등)를 지원한다.

3) 비용은 무료부터 시작한다.

4) 높은 성능(빠르고 신뢰할 수 있다).

DBMS 트렌드 인기

1. DB 엔진 순위

MySQL 특징

- 대량 데이터 처리: 테라바이트의 데이터를 처리할 수 있다.

- 편리함: 고급 쿼리 언어(SQL)를 지원한다.

- 다중 사용자: 동시 데이터 접근을 지원한다.

- 안전함: 트랜잭션을 지원한다.

- 효율적: 초당 수천 개의 쿼리를 처리할 수 있다. (TPS = transactions per seconds)

- 신뢰성: 많은 실제 제품에서 99.99%의 가동 시간을 기록한다.

MySQL 버전

1. MySQL 5.x와 8.x

1) 버전 5.x

- MySQL의 가장 인기 있는 버전이다.

- 더 안정적이고 전통적이다.

2) 버전 8.x

- 현재 버전이다.

- 최신 데이터베이스 기능을 제공한다(더 나은 저장 엔진, 더 빠르고 안전함).

3) 사진 참고

MySQL을 어디서 얻을 수 있나?

1. MySQL 다운로드

1) 무료로 제공되는 "커뮤니티" 버전을 찾아라.

2) "엔터프라이즈" 버전은 상업적 버전이다.

2. 본 과정에 사용할 도커 이미지를 준비했다.

1) 우분투 서버, MySQL, 강의 활동을 위한 예제 데이터베이스로 구성되어 있다.


아젠다

- MySQL 소개

- SQL 미리보기

구조적 쿼리 언어(SQL)

1. SQL: 구조적 쿼리 언어

1) 관계형 데이터베이스를 설명하고 조작하는 데 사용되는 주요 언어이다.

2) 매우 고급 언어이다.

(1) "어떻게 할 것인지"가 아니라 "무엇을 할 것인지"를 말한다.

(2) SQL은 데이터 조작 세부 사항을 지정하지 않는다.

(3) DBMS가 쿼리를 실행하는 "최선의" 방법을 결정한다.

- 이를 "쿼리 최적화"라고 한다.

3) SQL의 두 가지 측면

(1) 데이터 정의: 데이터베이스 스키마를 선언하기 위한 것(DDL)

(2) 데이터 조작: 데이터베이스에 대한 질문을 하거나 데이터베이스를 수정하기 위한 것(DML)

SQL 구성 요소

- DML - 데이터베이스에서 정보를 쿼리하고, 튜플을 삽입하고, 삭제하고, 수정하는 기능을 제공한다.

- 무결성 - DDL에는 무결성 제약 조건을 지정하는 명령이 포함되어 있다.

- 뷰 정의 - DDL에는 뷰를 정의하는 명령이 포함되어 있다.

- 트랜잭션 제어 - 트랜잭션의 시작과 종료를 지정하는 명령이 포함되어 있다.

- 임베디드 SQL 및 동적 SQL - SQL 문이 일반 프로그래밍 언어에 어떻게 삽입될 수 있는지 정의한다.

- 권한 - 관계 및 뷰에 대한 접근 권한을 지정하는 명령이 포함되어 있다.

간단한 역사

1. IBM SEQUEL(구조적 영어 쿼리 언어)은 시스템 R 프로젝트의 일환으로 개발되었다(챔벌린과 보이스, 1970년대 초).

1) 이후 SEQUEL은 SQL(구조적 쿼리 언어)로 이름이 변경되었다.

2) 시스템 R → 시스템/38(1979), SQL/DS(1981), DB2(1983)

2. Relational Software, Inc.는 VAX 컴퓨터용 SQL의 첫 상업적 구현인 Oracle V2를 출시했다.

1) Relational Software, Inc.는 현재 오라클 기업이다.

3. ANSI와 ISO가 SQL을 표준화했다:

1) SQL-86, SQL-89, SQL-92, SQL:1999, …, SQL:2011, SQL:2016(현재)

2) SQL-92는 대부분의 데이터베이스 시스템에서 지원된다.

기본 쿼리 구조

1. 일반적인 SQL 쿼리는 다음과 같은 형식을 가진다:

SQL
SELECT A1, A2, ..., An
FROM r1, r2, ..., rm
WHERE P

- Ai는 속성을 나타낸다.

- Ri는 관계를 나타낸다.

- P는 술어이다.

2. SQL 쿼리의 결과는 관계이다.

EOF

- 다음 내용: 구조적 쿼리 언어