데이터? DB? DBMS?
- 데이터 : 데이터는 정보를 나타내는 숫자, 문자, 이미지, 오디오 등의 형태로 표현된 값들의 집합입니다. 데이터는 컴퓨터 시스템에서 처리되고 저장되며, 의미 있는 내용이나 패턴을 갖는 경우에 정보로서 가치를 가집니다.
- 데이터베이스: 데이터베이스는 정리된 방식으로 데이터를 저장하고 관리하는 저장소입니다. 데이터베이스를 사용하면 데이터를 효율적으로 검색, 추가, 수정, 삭제할 수 있으며, 데이터의 일관성, 무결성, 보안 등을 보장할 수 있습니다.관계형 데이터베이스(RDBMS) 안에는 테이블(Table)과 컬럼(Colume)이 존재합니다
테이블(Table): 테이블은 데이터베이스에서 정보를 구조화하고 저장하는 데 사용되는 가장 기본적인 개체입니다. 테이블은 행(row)과 열(column)로 구성되며, 데이터를 표 형식으로 저장합니다. 각 행은 테이블 내의 하나의 레코드(Record)를 나타내고, 각 열은 특정 속성(Attribute) 또는 필드(Field)를 나타냅니다. 테이블은 데이터의 구조와 관계를 정의하며, 데이터의 일관성과 무결성을 유지하는 데 중요한 역할을 합니다. 컬럼(Column): 컬럼은 테이블의 열을 나타내는 데이터 요소입니다. 각 컬럼은 특정 유형의 데이터를 저장하는 데 사용됩니다. 예를 들어, 사용자 테이블의 컬럼으로는 "이름", "나이", "이메일"과 같은 속성이 포함될 수 있습니다. 각 컬럼은 데이터의 유형을 지정하는 데이터 유형(Data Type)을 가지며, 해당 데이터 유형에 맞는 값만 저장할 수 있습니다. 데이터 유형에는 정수, 문자열, 날짜, 불린 값 등이 포함될 수 있습니다. |
- DBMS: 데이터베이스 관리 시스템(DBMS)은 데이터베이스를 생성, 조작 및 관리하기 위한 소프트웨어입니다. DBMS는 데이터의 안전한 보관과 효율적인 액세스를 제공하며, 데이터베이스의 구조와 조작을 관리합니다.
정리하자면, 컴퓨터에서 처리되는 데이터를 정보로서 사용하기 위해 데이터베이스라는 저장소를 사용하는데, 이런 데이터베이스라는 저장소를 조작,관리하기 위해서 DBMS(데이터베이스 관리 시스템)을 사용합니다.
DBMS의 대표적인 예로는 Oracle, MySQL, Microsoft SQL Server, PostgreSQL 등이 있습니다.
DBMS는 Oracle, MySQL 등을 많이 사용합니다.
예시로 MariaDB로 설치 및 실행을 해보겠습니다.
MariaDB
MariaDB??
MariaDB는 관계형 데이터베이스 관리 시스템(RDBMS)으로, 오픈 소스로 개발된 데이터베이스 시스템입니다. MariaDB는 MySQL 데이터베이스의 포크(Fork)로 시작되었으며, MySQL의 대체 제품으로 사용될 수 있습니다.
특징으로는, 무료로 오픈되어 있어서, MySQL의 고급 기능들을 사용해볼 수 있습니다.
설치 및 실행
마리아DB 다운로드
원하는 버전을 선택 후 다운받는다.
Mirror의 경우, 2022.09 이후로 Korea가 사라졌습니다. Taipei나 Japan같은 가까운 곳으로 선택해주면 됩니다.
다운로드 받은 후 C드라이브에 dev라는 폴더를 만들어서 압축을 풀어주었다.
그리고 위의 경로를 클릭하고 cmd를 치면 바로 해당 폴더의 cmd창으로 바로 연결할 수 있다,
cd bin으로 bin폴더로 이동한다.
bin폴더안에 mariadb_install-db.exe 라는 파일이 존재한다. 이 파일로 MariaDB를 실행합니다.
이 파일에 --help옵션을 붙이면 MariaDB의 이용방법이나 옵션을 알 수 있다.
아래와 같은 옵션을 이용해서 서비스의 이름과 패스워드를 설정해준다.
mariadb-install-db -S (서비스이름) -p (패스워드) |
이렇게 만든 서비스는 작업관리자의 서비스에서 확인해볼 수 있다.
sc start RacconDB(만든 서비스이름) |
위 명령어로 서비스에 접속가능하게 만든다.
요구사항
- DB에 접속할 때, 원격접속, 로컬접속을 하는 방법이 있다. 원격으로 서버에 접속하기 위해서는 ip주소와 포트(port)번호와 같은 정보가 필요하다.
- 그외에도 계정, 비밀번호, 인스턴스가 필요하다.
접속
- MiraDB실행시 자동으로 실행되는 mysql.exe가 있다. 이건 DB에 접속하기위한 클라이언트다.
현재 포스팅에서는 로컬로 접속하고, 서비스를 생성할 때 넣은 비밀번호만을 이용해서 실행해본다.
-u(유저) 는 root로 접속하고, -p(패스워드)는 아까 만든 서비스의 패스워드를 쳐서 MariaDB에 접속한다.
-h(주소), -p(포트)같은 기본 옵션은 로컬(localhost)로 접속할 것이기 때문에 안써도 된다.
명령어
- MariaDB는 앞서 얘기했던대로 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
RDBMS에서는 sql를 사용해서 데이터를 조작, 조회, 관리하기 위해 사용되는 표준화된 언어입니다. SQL은 데이터베이스와 상호작용하기 위해 사용되는 명령어와 쿼리를 작성하는 데에 사용됩니다.
- 다음의 명령어를 통해서 MariaDB안에서 기능을 사용할 수 있다.
SELECT VERSION(); -- 현재 MariaDB 서버의 버전을 확인할 수 있습니다.
CREATE DATABASE [db명]; -- 지정한 이름의 데이터베이스를 생성합니다.
SHOW DATABASES; -- 존재하는 모든 데이터베이스의 목록을 확인할 수 있습니다.
USE [DB명]; -- 지정한 데이터베이스를 사용합니다. 이후의 쿼리는 해당 데이터베이스에서 실행됩니다.
- 다음의 명령어를 통해서 데이터베이스 안에서 생성, 조작, 관리를 할 수 있습니다.
SHOW TABLES; -- 선택한 데이터베이스 내의 모든 테이블의 목록을 확인할 수 있습니다.
SELECT Host, User, Password FROM user; -- user 테이블에서 호스트, 사용자 이름, 비밀번호와 같은 정보를 조회할 수 있습니다. 이는 MariaDB 사용자 계정과 관련된 정보를 확인할 때 사용할 수 있습니다.
SELECT column1, column2 FROM table_name; -- 특정 테이블에서 지정한 열(column)의 데이터를 조회합니다.
INSERT INTO table_name (column1, column2) VALUES (value1, value2); -- 특정 테이블에 새로운 데이터를 삽입합니다.
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; -- 특정 테이블에서 조건에 맞는 데이터의 열 값을 수정합니다.
DELETE FROM table_name WHERE condition; -- 특정 테이블에서 조건에 맞는 데이터를 삭제합니다.
SELECT column1, column2 FROM table1 INNER JOIN table2 ON table1.column = table2.column; -- 두 개의 테이블을 조인하여 데이터를 조회합니다.
ALTER TABLE table_name ADD column_name data_type; -- 특정 테이블에 새로운 열(column)을 추가합니다.
CREATE TABLE table_name (column1 data_type, column2 data_type); -- 새로운 테이블을 생성합니다.
DROP TABLE table_name; -- 특정 테이블을 삭제합니다.
SELECT COUNT(column) FROM table_name; -- 특정 테이블의 행(row) 수를 조회합니다.
SELECT column1, COUNT(column2) FROM table_name GROUP BY column1; -- 특정 열(column)을 기준으로 그룹화하여 데이터를 집계합니다.
'Backend > 개념,공부' 카테고리의 다른 글
OOP란 대체 무엇일까?? (1) | 2023.12.31 |
---|---|
Nginx란? (1) | 2023.12.28 |
Redis? (0) | 2023.12.08 |