데이터 베이스, mySQL에 관한 내용이다.
# 데이터베이스(DataBase)란?
데이터베이스는 데이터를 저장하는 곳 이라는 의미를 가지고 있다. 구조화되어있지 않은 정보 혹은 자료는 그 정보들이 산발적으로 흩어져있어서 조회하고 열람하기 어렵고 가독성이 떨어진다.
그러나 일목요연하게 구조화된 자료는 자료에 관한 내용을 확인하고 열람하기 쉬우며 재사용함에 있어서도 상당히 유리하게 이용할 수 있다는 장점이 있다.
# 데이터베이스의 구조
데이터베이스는 마이크로소프트사의 엑셀과 상당히 유사한 면모를 가지고 있다. 열과 행에 저장하고자 하는 정보를 구조화하여 작성하고 저장하는 것이 그 것인데, 엑셀과 데이터베이스의 차이점은 다음과 같다.
데이터베이스는 엑셀과는 다르게 쿼리(Query)라는 것을 이용하여 여러가지 작업을 할 수 있다는 것이 엑셀과 가장 큰 차이점 이라고 할 수 있다.
여기서 쿼리(Query)란, 데이터베이스 안에 저장되어 있는 정보를 수정하거나 추가하거나 삭제하는 등의 기능을 하는 명령어를 뜻한다.
# 데이터베이스 서버와 클라이언트
웹에는 웹서버와 웹클라이언트가 있다. 데이터베이스에도 이와 마찬가지로 데이터베이스 서버와 데이터베이스 클라이언트가 존재한다.
따라서 데이터베이스 서버안에 데이터를 저장하고, 저장된 데이터를 수정하거나 삭제, 정의하는 등의 작업을 할 수 있고, 데이터베이스 클라이언트는 서버에게 요청을해서 여러가지 명령을 하거나 어떤 데이터를 가져온다거나 데이터베이스 서버의 상태를 체크한다거나 하는 등의 행위를 할 수 있는 것이 데이터베이스 클라이언트이다.
데이터베이스 클라이언트에는 mySQL-client, PHPmyAdmin, Navicat 등이 있다.
데이터베이스 서버는 실제로 무언가를 하고 있긴 하지만 데이터베이스를 사용하는 사람의 입장에 있어서는 실체가 보이지가 않는다. 다만, 사용자는 데이터베이스 클라이언트라는 것을 이용하여 데이터베이스 서버에 접속하여 데이터를 열람하고 수정하는 등의 작업을 할 수 있게 되는것이다.
데이터 베이스 서버가 있고 그 밑에 데이터베이스 가 있는 것이다. 데이터베이스 서버는 데이터베이스를 저장하고 제어하는 것이 역할이다. 데이터베이스는, 테이블 이라는 것을 카테고리라이징 한 것이다.
# 테이블이란?
데이터를 행과 열로 나누어 저장해 놓은 것을 테이블이라고 한다.
품명 | 가격 | 재고 |
가위 | 3,000 | 3 |
풀 | 500 | 5 |
상기의 표에서 품명이라는 정보가 들어있는 열을 Column이라고 읽는다. 또한 가위에 대한 내용이 들어있는 행은 row라고 읽는다.
테이블은 각각 열과 행으로 이루어져있다. 행은 row고 열은 column이라고 부른다. 행은 데이터에 대한 내용이 나와있는 것이고 열은 데이터들의 성격에 대한 그룹이다. 각각의 칸은 필드라고 한다.
각각의 필드에 접속하기 위해서는 , 그 값을 찾기 위해서는 행과 열로서 접근하여야 한다. 즉 품명이 가위인 물건의 가격은 3천원이고 재고는 3개가 있다. 와 같이 품명에서 가위를 찾고, 가위의 가격과 재고를 찾는 순으로 가는 것 처럼, row와 column으로서 각각의 filed에 접속하는 식이다.
또한 레코드라는 개념이 있는데 레코드는 한개의 정보의 구체적인 정보들이다. 예를들면 가위는 3천원이며 재고가 3개가 있다. 라는 것을 레코드라고 한다. row와 흡사하다
#데이터 관리 :: SQL 이란?
SQL은 Structured Query Language의 약자로서 데이터베이스에서 데이터를 저장하거나 얻기 위해서 사용하는 표준화된 언어라는 뜻을 갖고있다. 관계형 데이터베이스들을 관리하거나 제어할 때 주로 사용하는 언어이다. 해당 언어를 이용해서 데이터베이스에게 명령을 내려 데이터를 추가하거나 삭제하거나 조회하거나 하는 것들을 할 수 있게 되는 것이다.
SQL이라는 것은 표준화 되어있기 때문에 SQL을 배워두면 mySQL 혹은 ORACLE등에서도 사용할수 가 있는 장점이 있다.
#데이터베이스 생성
본 장은 데이터베이스와 테이블을 만드는 법에 대해서 소개하려고 한다. 데이터베이스 서버안에는 여러가지 데이터 베이스들이 올 수 있다. 각각의 데이터베이스는 다시 여러개의 테이블을 가질 수 있다. 그리고 실제로 데이터가 적재(저장)되는 곳은 테이블이고, 데이터베이스는 이 테이블들을 연관되어 있는 것들 끼리 묶어서 여러가지 관리의 편의성 등을 제공하는 것이다.
데이터베이스는 디렉토리이고 데이터베이스는 폴더이고 테이블은 파일 정도로 비유할 수 있을 것이다.
데이터 베이스를 생성하는 명령어는 다음과 같다.
CREATE DATABASE '데이터베이스 명' CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `데이터베이스명` CHARACTER SET utf8 COLLATE utf8_general_ci;
데이터베이스(DATABASE)를 '데이터베이스명'으로 생성(CREATE)할 것이라는 명령어이다.
# SQL 명령어 실습
다음은 SQL명령어로 데이터베이스를 생성하고 삭제하는 실습을 진행한 코드이다.
CREATE DATABASE `테스트` CHARACTER SET utf8 COLLATE utf8_general_ci;
SHOW DATABASES;
DROP DATABASE `테스트`;
SHOW DATABASES;
'Language > mySQL' 카테고리의 다른 글
공부 내용 정리 mySQL :: 예제 정리 2 (0) | 2021.05.18 |
---|---|
공부 내용 정리 mySQL :: 예제 정리 1 (0) | 2021.05.18 |
공부 내용 정리 mySQL :: 기초 IV (0) | 2021.05.18 |
공부 내용 정리 mySQL :: 기초 III (0) | 2021.05.17 |
공부 내용 정리 mySQL :: 기초 II (0) | 2021.05.17 |