데이터베이스 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
데이터베이스와 RDBMS(MySQL)
Database/RDBMS/Database Schema/SQL 개념 정리
Database
데이터베이스란?
데이터베이스는 논리적으로 연관된 하나 이상의 자료 모음으로, 여러 응용 시스템들의 통합된 정보를 저장하여 운영할 수
있는 공용 데이터 묶음이다. 데이터를 고도로 구조화함으로써 검색/갱신 등의 데이터 관리 효율성을 높일 수 있다.
RDBMS
RDBMS란?
RDBMS는 데이터베이스의 한 종류로 역사가 오래되어 가장 신뢰성이 높고 데이터 분류, 정렬, 탐색 속도가 빨라서
가장 많이 사용되는 데이터베이스 관리 시스템이다.
2차원 테이블(Table) 형식을 이용하여 데이터를 정의하고 설명하는 모델로, 데이터 속성과 데이터 값으로 구조화 된다.
데이터를 구조화한다는 것은 속성(Attribute)과 데이터 값(Attribute Value) 사이에서 관계(Relation)를 찾아내고,
이를 테이블 모양의 구조로 도식화하는 것을 의미한다.
Primary Key는 한 테이블(Table)의 각 로우(Row)를 유일하게 식별해주는 칼럼(Column)으로 각 테이블마다
Primary Key가 반드시 존재해야 하며, NULL 값을 허용하지 않고, 각 로우(Row)마다 유일한 값이어야 한다.
Foreign Key는 한 테이블(Table)의 필드(Attribute) 중 다른 테이블의 행(Row)을 식별할 수 있는 키(Key)이다.
Database Schema
데이터베이스 스키마란?
데이터베이스 스키마(Schema)는 데이터베이스의 테이블 구조, 형식, 관계 등의 정보를 형식 언어로 기술한 것이다.
관계형 데이터베이스를 사용하여 데이터를 저장할 때, 가장 먼저 할 일은 데이터의 공통 속성을 식별하여 칼럼으로
정의하고 테이블을 만드는 것이다. 통상적으로 하나의 에티블이 아닌 여러 개의 테이블을 만들고, 각 테이블의 구조와
형식, 관계를 정의한다. 이를 스키마(Schema)라고 하며 일종의 데이터베이스 설계도로 이해하면 된다.
데이터베이스마다 스키마를 만드는 언어가 존재하며, 해당 스키마만 있으면 동일한 구조의 데이터베이스를 만들 수 있다.
SQL
SQL이란?
SQL은 관계형 데이터베이스 관리 시스템에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어이다.
데이터베이스 스키마(Schema)의 생성 및 수정, 테이블 관리, 데이터 추가, 수정, 삭제, 조회 등 데이터베이스와 관련된
거의 모든 작업을 위해 사용된다.
데이터베이스마다 약간의 문법 차이가 존재하지만, 표준 SQL을 기본으로 하며 관계형 데이터베이스(RDBMS)를
다루기 위해서는 필수적으로 알아야 한다.
SQL은 아래와 같이 크게 세 가지 종류로 나뉜다.
1. 데이터 정의 언어(DDL, Data Definition Language, 데이터 구조 정의)
- 테이블(Table), 인덱스(Index) 등의 개체를 만들고 관리하는데 사용되는 명령
- CREATE, ALTER, DROP 등이 있음
2. 데이터 조작 언어(DML, Data Manipulation Language, 데이터 CRUD)
- INSERT : 테이블(Table)에 하나 이상의 데이터 추가
- UPDATE : 테이블(Table)에 저장된 하나 이상의 데이터 수정
- DELETE : 테이블(Table)의 데이터 삭제
- SELECT : 테이블(Table)에 저장된 데이터 조회
3. 데이터 제어 언어(DCL, Data Control Language, 데이터 핸들링 권한 설정 및 데이터 무결성 처리 등 수행)
- GRANT : 데이터베이스 개체(테이블, 인덱스 등)에 대한 사용 권한 설정
- BEGIN : 트랜잭션(Transaction) 시작
- COMMIT : 트랜잭션(Transaction) 내의 실행 결과 적용
- ROLLBACK : 트랜잭션(Transaction)의 실행 취소
'Database' 카테고리의 다른 글
MySQL - pandas & pymysql 라이브러리 (0) | 2021.11.10 |
---|---|
MySQL - 파일로 실행하는 SQL (0) | 2021.11.10 |
MySQL - 파이썬으로 다루는 MySQL (0) | 2021.11.10 |
MySQL - SQL 기초 문법(2) (0) | 2021.11.06 |
MySQL - SQL 기초 문법(1) (0) | 2021.11.05 |
댓글