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. 불변성 : 주식별자가 특정 엔터티에 지정되면 그 값은 변하면 안 됨
'문과생의 SQL' 카테고리의 다른 글
[MY SQL] where ~ in 사용법 (0) | 2024.08.01 |
---|