문과생의 SQL

[SQL] MYSQL 구조, 데이터모델링

DorYi 2024. 8. 2. 17:46

1. MySQL 기본 구조

 

구분 내용 명령어  설명
DML
(data manipulation language)
데이터 조작 언어 SELECT, INSERT, UPDATE, DELETE 데이터 조회, 삽입, 변경, 삭제
DDL
(data definition language)
데이터 정의 언어 CREATE, DROP, ALTER 테이블 삭제, 수정
DCL
(data control language)
데이터 제어 언어 GRANT, REVOKE 테이블 접근 권한 관리
정보 조회 명령어   SHOW, DESC, DESCRIBE, EXPLAIN 테이블 조회, 설명
제어 명령어   USE 데이터베이스 선택

 

용어

스키마 (schema = database) : 서로 연관된 테이블을 그룹화한 일종의 폴더

데이터서버 : 여러 개의 스키마들이 저장되는 곳

 

2. MYSQL 시스템 명령어

1. CRETAE DATABASE {데이터베이스이름} : 데이터베이스 생성

2. USE {데이터베이스이름} :특정한 데이터베이스 선택하여 보기

3. SHOW 명령어

 3-1. SHOW DATABASES; 데이터 베이스보기

 3-2. SHOW TABLES; 현재 선택한 데이터베이스의 테이블보기

 3-3. SHOW COLUMNS FROM {table_name} : 특정한 테이블의 컬럼 정보 보기

 3-4. SHOW TABLES; 테이블 보기

4. SELECT * FROM information_schema.TABLES;

*information_schema : 데이터베이스 메타데이터 제공 (테이블, 컬럼, 인덱스, 사용자 권한 등)

5. SELECT * FROM mysql.user; : 서버의 기본 구성 및 사용자 권한 정보

6. SELECT * FROM performance_schema.events_waits_summary_global_by_event_name; : 서버 성능 모니터링 및 분석

7. SELECT * FROM sys.user_summary; : 작동하는 뷰와 성능, 운영상태 모니터링

 

3. '데이터 모델링'

: 데이터의 구조와 관계를 정의하고 문서화하는 과정

데이터 모델링 과정

1. 개념적 데이터 모델링 : 핵심 entity와 그들간의 관계를 발견하고 ER다이어그램을 생성함.

2. 논리적 데이터 모델링 : 비즈니스 정보의 구조와 규칙을 표현 (ER다이어그램을 활용한 관계 스키마 모델 생성)

3. 물리적 데이터 모델링 : 컴퓨터에 어떻게 저장될 것인가(저장 구조, 저장 장치 등)에 대한 정의 (관계 스키마 모델의 물리적 구조를 정의, 구현)

 

*용어

용어 설명
엔터티 (entity) 객체, 실체, 정보를 저장할 수 있는 어떠한 것(thing), 관리하고자 하는 대상 (ex. 사람)
속성 (attribute) 엔터티의 성질을 나타내는 것 (ex. 사번, 핸드폰번호)
관계 (relationship) 두 개 이상의 엔터티의 연결이나 연관 (ex. 1:1 관계, 1:2 관계)
식별자 (identifier) 엔터티를 고유하게 식별하는 속성 (ex. 사번, 주민등록번호)

 

식별자의 특징

1. 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함

2. 대표성 : 엔터티를 대표해야 함

3. 유일성 : 엔터티의 행을 유일하게 식별해야 함

4. 불변성 : 주식별자가 특정 엔터티에 지정되면 그 값은 변하면 안 됨

ERD(entity relationship diagram)

'문과생의 SQL' 카테고리의 다른 글

[MY SQL] where ~ in 사용법  (0) 2024.08.01