MySQL & SQL에 대해 알아보자.

윤태영·2024년 1월 23일
0
post-thumbnail

이미지 출처 : https://076923.github.io/posts/mysql-1/
이미지 출처 : https://www.needpix.com/photo/download/833250/database-data-computer-network-cloud-storage-server-security-icon

어떤 프로그래밍 언어와 프레임워크를 사용하든, 대부분의 소프트웨어는 제작과 운영에 있어 데이베이스를 필요로 합니다. SQL을 사용하면 DB의 데이터를 자유자재로 다루고 효율적으로 사용할 수 있기 때문에 어떤 분야의 개발자든 SQL을 다룰 줄 아는 것은 강력한 스펙이 됩니다.

프로그래밍 공부를 하시는 분들은 sql이라는 단어를 한번쯤을 들어 보셨을텐데요.
그렇다면 MySQL은 무엇일까요.🤔🤔

먼저 RDBMS을 먼저 알아봅시다.

RDMBS(Relational Database Management System) 💻

  • 관리형 데이터베이스 관리 시스템
  • 데이터를 테이블 형식으로 저장하는 데이터베이스모델
  • 테이블은 행과 열로 구성
  • 행은 레코드 / 열은 필드
  • 데이터베이스를 생성, 관리, 조회, 갱신하는데 사용되는 소프트웨어

제공하는 기능

  • 데이터베이스 생성 및 관리 -> 생성 및 삭제, 입력 및 수정, 백업 및 복원
  • 데이터 조회 -> 데이터 검색
  • 데이터 갱신 -> 데이터 업데이트
  • 데이터 제어 -> 무결성(정확성, 일관성, 유효성) 유지, 보안

사용되는 곳

  • 은행 : 고객 계좌 데이터 저장
  • 소매 : 제품 재고 데이터 저장
  • 웹사이트 : 사용자 데이터 저장

장점

  • 데이터의 구조화 -> 테이블 형식으로 저장되어 쉽게 이해하고 관리할 수 있음
  • 데이터의 무결성 -> 데이터의 일관성 유지
  • 데이터의 보안 -> 데이터에 접근 제어
  • 데이터를 효율적으로 저장하고 관리할 수 있는 강력한 도구

가장 널리 사용되는 RDBMS

  • Oracl, MySQL, PostgreSQL, SQL server

주요 특징과 개념

테이블(Table)

  • 데이터는 하나 이상의 테이블에 저장됩니다.
  • 각 테이블은 특정 주제나 업무 영역과 관련된 데이터를 나타내며, 행과 열로 구성됩니다.

행(Row)

  • 테이블의 각 행은 레코드를 나타냅니다.
  • 레코드는 특정 데이터 항목의 집합으로 표현됩니다.

열(Column)

  • 테이블의 각 열은 특정 속성(데이터 유형)을 나타냅니다.
  • 열은 특정 종류의 데이터, 예를 들어 문자열, 숫자, 날짜 등을 저장합니다.

기본키(Primary Key)

  • 각 행을 고유하게 식별하는 데 사용되는 열의 집합입니다.
  • 기본키는 중복을 방지하고 효율적인 데이터 검색을 지원합니다.

외래키(Foreign Key)

  • 두 테이블 간의 관계를 설정하는 데 사용되는 열입니다.
  • 외래 키는 다른 테이블의 기본 키와 관련이 있습니다.

기본키(Relationship)

  • 여러 테이블 간에 정의된 관계를 통해 데이터 간의 연결성을 유지합니다.
  • 데이터의 무결성을 유지하고 정규화된 데이터베이스 구조를 구축할 수 있습니다.

데이터 무결성(Data Integrity)

  • RDBMS는 데이터의 무결성을 보장하기 위한 다양한 제약 조건을 지원합니다.
  • 데이터의 정확성과 일관성을 유지하는데 도움이 됩니다.

트랜잭션(Transaction)

  • RDBMS는 여러 SQL 명령문을 하나의 논리적 단위로 그룹화하여 실행하는 트랜잭션 개념을 지원합니다.
  • 데이터베이스 일관성을 유지하고 데이터 손실을 방지할 수 있습니다.

인덱스(Index)

  • 데이터 검색 속도를 향상시키기 위해 사용되는 구조로, 특정 열에 대한 빠른 엑세스를 제공합니다.

데이베이스라는 말은 들어보셨나요?

예를 들어 어떤 어떤 학교에서 학생들의 신상정보랑 성적같은 자료를 어디 하드나 서브에다가 데이터로 저장 해뒀다가 거기 있는 정보들을 학교 사이트에서도 쓰고 학생 앱에서도 쓰는 것입니다. 한 곳에 저장된 정보들을 원하는 어떤 곳에서든 사용할 수 있다는 것, 특정 소프트웨어나 프로그램에 종속되지 않고 독립된 정보의 집합 저장소입니다.

하지만 이 데이터베이스라는 것 자체는 빈창고처럼 별다른 기능이 없습니다. 여기에 정보를 저장,및 수정 삭제 기능을 넣어서 만들면 그것이 RDMS 데이터베이스 관리 시스템이 되는 겁니다.

그리고 여러 RDMS중에서도 가장 많이 사용하고 널리 알려져 있는 것이 MySQL입니다.🙄😏

이미지 출처: https://dri.es/colophon#license

MySQL에 속하는 종류의 데이터베이스들은 엑셀표와 비슷한 형식으로 데이터를 저장합니다. 표 형태의 데이터베이스에 정보를 넣고 빼고 조작하고 사용하는데 이때 사용되는게 바로 구조화 지리 언어 SQL입니다.

이미지 출처 : https://commons.wikimedia.org/wiki/File:SQL-Abfrage.png

SQL(Structured Query Language) 💻

  • 관계형 데이터베이스 관리스템(RDBMS)에서 데이터를 관리하고 조작하기 위한 표준화된 언어
  • 데이터의 저장, 검색, 수정, 삭제등 다양한 작업 수행

SQL의 기본 개념 💻

데이터 베이스(Database)

  • 데이터의 집합을 나타내며, 데이터베이스는 하나 이상의 테이블로 구성됩니다.

테이블(Table)

  • 데이터의 구조를 정의하고 데이터를 저장하는 데 사용되는 구조입니다.
  • 각 테이블은 열(필드)과 행으로 구성됩니다.

열(Column 또는 Field)

  • 테이블에서 각 데이터 요소를 나타냅니다.
  • 열은 특정 유형의 데이터를 저장합니다.

향(Row 또는 Record)

  • 테이블에서 하나의 레코드를 나타냅니다.
  • 각 행은 테이블에 저장된 개별 데이터 항목입니다.

기본키(Primary key)

  • 각 행을 고유하게 식별하는 데 사용되는 열의 조합입니다.

SQL 주요명령어 💻

SELECT : 데이터베이스에서 데이터를 검색합니다.

INSERT : 새로운 데이터를 테이블에 추가합니다.

UPDATE : 테이블의 기존 데이터를 수정합니다.

DELETE : 테이블에서 데이터를 삭제합니다.

CREATE : 새로운 테이블, 데이터베이스, 뷰 등을 생성합니다.

ALTER : 테이블 구조를 수정합니다.

DROP : 테이블, 데이터베이스, 뷰 등을 삭제합니다.

JOIN : 두 개 이상의 테이블을 연결하여 데이터를 결합합니다.

WHERE : 검색 조건을 지정합니다.

AND, OR : 여러 조건을 결합하여 검색 조건을 정의합니다.

ORER BY : 결과를 정렬합니다.

보통 규모가 있는 기업에서는 Oracle을 사용하고, 작은 규모나 개인용도로는 MySQL을 많이 사용합니다. 관계형 데이터베이스들마다의 SQL 언어들은 세부 기능을 제외하고 거의 비슷하기에 MySQL의 사용법을 배우면 다른 데이터베이스들도 쉽게 익힐수 있습니다. 앞으로 SQL 코드를 보면서 실습해보겠습니다.

profile
ice blue

0개의 댓글