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 |