본문 바로가기

hololo/BASIC

2] MySQL

1. 데이터베이스 (DB : Database)

통합하여 관리되는 데이터의 집합체를 의미하며,
중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다.

데이터베이스의 특징은 다음과 같다.

- 사용자의 질의에 대한 즉각적인 처리와 응답
- 생성, 수정, 삭제를 통한 최신의 데이터 유지
-
원하는 데이터 동시 공유
- 주소가 아닌 내용에 따른 데이터 참조 가능

 

2. 관계형 데이터베이스 (Relational Database)

현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.

테이블로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다.
이처럼 데이터의 종속성을 관계로 표현하는 것이 관계형 데이터베이스의 특징이다.

관계형 데이터베이스

테이블은 이름을 가지고 있으며, (row)과 열(column) 그리고 각 행과 열에 대응하는 값을 가진다.

관계형 데이터베이스는,
- 빠른 데이터 분류, 정렬, 탐색 속도
- 높은 신뢰성과, 어떤 상황에서도 보장되는 데이터의 무결성(정확성과 일관성을 유지하고 보증하는 것)
- 기존에 작성된 스키마 수정이 어려움

- 데이터베이스의 부하를 분석하는 것이 어려움

<대표적인 용어>

1) (colum)
각각의 열은 유일한 이름을 가지고 있으며, 자신만의 타입을 가진다.
이러한 열을 필드(field) 또는 속성(attribute)라고 부른다.

2) (row)
관계된 데이터의 묶음을 의미하며, 한 테이블의 모든 행은 같은 수의 열을 가진다.
이러한 행을 튜플(tuple) 또는 레코드(record)라고 부른다.

3) (value)
테이블은 각 행과 열에 대응값을 가진다. 이 값은 열의 타입에 맞는 값을 가진다.

4) (key)
행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 한다.
이 키는 설계자가 지정한 속성을 의미한다.

5) 관계
테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눌 수 있다.
-
일대일
-
일대다
-
다대다
관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래 키라는 것을 사용한다.
외래 키는 한 테이블의 키 중에서 다른 테이블의 행을 식별할 수 있는 키를 의미한다.

6) 스키마
테이블을 디자인하기 위한 청사진(?)이라고 할 수 있다.
개체-관계 다이어그램이나 문자열로 표현할 수 있다.
(
아직 이해X)

 

3. SQL(Structured Query Language)

데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어이다.
목적에 따라 크게 세 가지로 구분한다.

 

-DDL : 데이터베이스나 테이블을 생성, 삭제, 구조 변경 (CREATE, ALTER, DROP)

-DML : 데이터베이스에 저장된 데이터를 처리하거나 조회, 검색 (INSERT, UPDATE, DELETE, SELECT)

-DCL : 데이터의 보안성 및 무결성 등을 제어 (CRANT, REVOKE)

 

ex 1)
CREATE TABLE My_table(
           my_field1 INT
           my_field2 VARCHAR(50),
           my_field3 DATE NOT NULL,
           PRIMARY KEY (my_field1, myfield2)
);
CREATE
는 데이터베이스에서 객체를 생성한다.

ex2) DROP TABLE My_table
DROP
은 데이터베이스에서 객체를 삭제한다.

4. MySQL

가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템이다.

MySQL은 오픈 소스이며, 다중 사용자와 다중 스레드를 지원한다.
또한 C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공하고 있다.

MySQL은 유닉스, 리눅스, 윈도우 등 다양한 운영체제에서 사용할 수 있으며, 특히 PHP와 함께 웹 개발에 자주 사용된다.

 

5. MySQL의 장점

- 오픈 소스 라이센스를 따르기에 무료로 사용 가능

- 다양한 운영체제에서 사용할 수 있으며, 여러 가지의 프로그래밍 언어를 지원

- 크기가 큰 데이터 집합도 빠르고 효과적으로 처리

- 널리 알려진 표준 SQL방식을 사용

- MySQL응용 프로그램을 사용자의 용도에 맞게 수정할 수 있음

 

[Reference]

http://tcpschool.com/mysql/mysql_intro_intro

'hololo > BASIC' 카테고리의 다른 글

생활코딩 React3(Create) 필기  (0) 2020.03.17
생활코딩 React2(Event) 필기  (0) 2020.03.10
생활코딩 React 필기  (0) 2020.02.24