본문 바로가기

GSITM_하이미디어/MySQL

[데이터베이스 이해] DB, DBMS, SQL의 개념

1. DB란?

· Database의 약자로, 데이터의 저장소를 의미, 데이터의 집합

· Database 설계
  1) 계획: 요구 사항 분석 (DATA)
  2) 분석: 개념적 데이터 모델링 (Entity Relational Diagram)
  3) 설계: 논리적 데이터베이스 설계, 테이블 설계서 작성 (TABLE, INDEX, VIEW 등)
  4) 구축: 물리적 데이터베이스 설계, 테이블 생성

 

2. DBMS란?

· DataBase Management System의 약자로, 데이터베이스를 운영하고 관리하는 소프트웨어
· 다수의 사용자들이 데이터베이스 내의 데이터를 접근 할 수 있도록 해주는 소프트웨어 도구의 집합
· 대표적인 DBMS: MySQL, 오라클(Oracle), PostgreSQL, SQL server, MariaDB 등

 

3. SQL이란?

· Structured Query Language (구조적 질의 언어)의 약자로, 

  관계형 테이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어

· SQL 문법의 종류
  1) DDL: 데이터 정의 언어, 테이블을 정의하기 위해 사용하는 언어 (CREATE, ALTER, DROP, RENAME, TRUNCATE)
  2) DML: 데이터 조작 언어, 데이터 관리를 위한 언어 (SELECT, INSERT, UPDATE, DELETE)
  3) DCL: 데이터를 관리하고 접근하는 권한을 다루는 언어 (GRANT, REVOKE)
  4) TCL: 트랜잭션을 제어하는 언어 (COMMIT, ROLLBACK, SAVEPOINT)

 

4. 데이터베이스 무결성

· 무결성이란? 데이터의 정확성과 일관성을 나타내며, 데이터에 결함이 없도록 유지하는 성질
  1) 개체 무결성: 테이블의 기본 키를 구성하는 속성은 Null 값이나 중복된 값을 가질 수 없음
  2) 참조 무결성: 참조하는 테이블의 기본 키 값과 동일해야 함
  3) 도메인 무결성: 속성들의 값은 정의된 도메인에 속한 값이어야 함
  4) 고유 무결성(Unique): 테이블의 특정 속성에 대해 각 레코드들이 갖는 값들이 서로 달라야 하는 조건
  5) NULL 무결성: 특정 속성 값에 NOT NULL 조건이 주어진 경우, NULL 값이 올 수 없음
  6) 키 무결성: 하나의 테이블에는 적어도 하나의 키가 존재해야 함

 

5. 제약조건

· 데이터의 무결성을 지키기 위해 입력받은 데이터에 제한된 조건을 두는 것!
· 제약조건의 종류_아래 제약 조건 설정 시
  1) NOT NULL: 해당 필드는 NULL 값을 저장할 수 없음
  2) UNIQUE: 해당 필드는 중복된 값을 저장할 수 없음
  3) PRIMARY KEY(PK): 데이터 각 행을 유일하게 식별해 주는 역할, NOT NULL과 UNIQUE 제약 조건의 특징을 가짐
  4) FOREIGN KEY(FK): 논리적 연관성이 있는 테이블을 연결해 주는 역할, 참조 무결성
  5) DEFAULT: 데이터 값을 전달하지 않으면, 자동으로 기본 값 저장

 

6. ERD

· Entity Relationship Diagram의 약자로 데이터들의 관계를 표현한 그림을 의미
· 테이블과 관계들을 시각화했기 때문에 설계 문제점 파악 가능

· 개체(Entity) - 사각형으로 표시
· 속성(Attribute) - 동그라미로 표시, 개체가 가지고 있는 요소 또는 성질
· 관계(Relationship) - 마름모형 혹은 표기법에 따라 다양하게 표현 가능, 1:1, 1:N, N:M 형태로 정의

 

< ERD의 예시_ draw.io 사용 >

 

7. MySQL 데이터 타입

1) 문자형 데이터 타입
· CHAR(n): 고정 길이 데이터 타입, 지정된 길이보다 짧은 데이터 입력될 시 나머지 공간 공백으로 채워짐
· VARCHAR(n): 가변 길이 데이터 타입, 지정된 길이보다 짧은 데이터 입력될 시 나머지 공간은 채우지 않음
2) 숫자형  데이터 타입
· INT(n): 정수형 데이터 타입
· BIGINT(n): 정수형 데이터 타입, 무제한 수 표현 가능
· DOUBLE(길이, 소수): 소수형 데이터 타입
· FLOAT(길이, 소수): 소수형 데이터 타입, 고정 소수점 사용 형태
3) 날짜형  데이터 타입
· DATE: 날짜 형태의 기간 표현 데이터 타입(년도, 월, 일)
· DATETIME: 날짜와 시간 형태의 기간 표현 데이터 타입
· TIMESTAMP 날짜와 시간 형태의 기간 표현 데이터 타입, 시스템 변경 시 자동으로 해당 날짜, 시간 저장

 

 

 

 

 

'GSITM_하이미디어 > MySQL' 카테고리의 다른 글

MySQL 서브 쿼리와 트랜잭션  (4) 2024.09.04
MySQL 제약 조건과 JOIN  (0) 2024.09.04
MySQL 내장 함수 종류  (0) 2024.09.03
MySQL 활용 기초편  (0) 2024.09.02
MySQL 설치 및 실습  (0) 2024.08.30