본문 바로가기
멀티캠퍼스 풀스택 과정/데이터베이스

데이터베이스1-2 데이터베이스 모델링과 구조, DBMS 언어(DDL, DML, DCL, TCL)

by 이쟝 2022. 1. 16.

데이터분석 모델링

- 현실세계에서 사용되는 데이터를 MySQL에 어떻게 옮겨 놓을 것인지를 결정하는 과정

-> 분석과 설계 과정 중에서 가장 중요한 과정 중의 하나가 데이터베이스 모델링이다.

-> 데이터(정보)들은 단편적으로 저장하는 게 아닌 테이블이라는 형식에 맞춰서 넣어야 한다.

 

MySql 데이터베이스 구조와 관련 용어

 

 

계정 하나에 데이터베이스가 여러 개 있을 수 있음 데이터베이스 안에 테이블들이 원하는 만큼(프로젝트에 따라서) 있음 테이블의 집합 == 데이터베이스

 

데이터 하나하나의 단편적인 정보, 정보는 있으나 아직 체계화 되지 못한 상태
레코드(=로우=) 실질적인 데이터를 말하며 하나의 행으로 행 데이터라고도 부른다.
필드(=컬럼=) 같은 종류의 데이터를 표시.
각 테이블은 열로 구성된다.
회원테이블의 경우에는 아이디, 회원명, 연락처, 이메일, 주소 5개의 열로 구성되어 있다.
데이터 형식 열의 데이터 형식. 데이터 형식은 테이블을 생성할 때 열 이름과 함께 지정해야 한다.
PK(Primary Key):
기본 키 열
기본 키(또는 주키)열은 각 행을 구분하는 유일한 열을 말한다.
기본 키 열은 중복되어서는 안되고, 비어 있어서도 안된다.
각 테이블에는 기본 키가 하나만 지정되어 있어야 한다.
테이블 회원이나 제품의 데이터를 입력하기 위해, 표 형태로 표현한 것
데이터베이스(DB) 테이블이 저장되는 저장소(주로 원통 모양으로 표현)
각 데이터베이스는 서로 다른 고유한 이름을 가지고 있어야 한다.
DBMS 데이터베이스를 관리하는 시스템 또는 소프트웨어(My SQLDBMS)

 

데이터 + 데이터 = 레코드 + 필드 = 테이블

데이터의 집합 -> 레코드의 집합 -> 테이블의 집합 -> 데이터베이스

 

 


DBMS 언어

1. 데이터 정의언어: DDL(Data Definition Language)

- 데이터베이스의 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로(생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말한다.

 

SQL 내용
CREATE 데이터베이스 객체를 생성한다.
DROP 데이터베이스 객체를 삭제한다.
ALTER 기존에 존재하는 데이터베이스 객체를 다시 정의하는 역할을 한다.
RENAME 기존에 존재하는 테이블명을 변경한다.
TRUNCATE 테이블 또는 테이블의 지정된 파티션에서 모든 행을 제거한다.

 

2. 데이터조작언어: DML(Data Manipulation Language)

- 스키마객체의 데이터를 입력, 수정, 조회, 삭제한다.

-> CRUD (모든 데이터를 조작할 수 있다.)

 

SQL 내용
INSERT 데이터베이스 객체에 데이터를 입력한다. ( C -> create )
DELETE 데이터베이스 객체의 데이터를 삭제한다. ( Delete ) 레코드를 삭제한다.
UPDATE 기존에 존재하는 데이터베이스 객체의 데이터를 수정한다. ( Update )
SELECT 데이터베이스 객체로부터 데이터를 검색한다. ( Read )

 

3. 데이터제어언어: DCL(Data Control Language)

- 권한의 설정과 회수

 

SQL 내용
GRANT 데이터테이스 사용자 권한 설정
REVOKE 데이터베이스 사용자 권한 회수

 

4. 데이터제어언어: TCL(Transaction Control Language)

- 트랜잭션의 처리

 

SQL 내용
COMMIT 데이터베이스 트랜잭션의 내용의 업데이트를 영구적으로 확정한다.
ROLLBACK 데이터베이스에서 업데이트 오류가 발생할 때, 이전상태로 되돌리는 것을 말한다.
SAVEPOINT 특정부분에서 트랜잭션을 취소시킬 수 있다.