Today I Learned (TIL)/SQL

[TIL] SQL 챌린지 - 1회차

신짜린 2024. 7. 15. 20:03

1. 데이터베이스 서비스와 개념

- MySQL

 관계형 데이터베이스가 1970년에 개발된 이후 기조의 레거시 기업들은 Oracle 데이터베이스를 많이 사용하고 있으며, 여전히 대기업들은 많이 사용한다.

- 클라우드 데이터베이스 종류

 1) 클라우드

 ▷ 클라우드를 활용하면 같은 데이터를 실시간으로 확인 가능하기 때문에 미스 커뮤니케이션을 줄일 수 있음

 ▷ 프로젝트 진행 시 클라우드 데이터베이스를 사용하는 것을 권장하며 대표적으로 GOOGLE - BigQuery, AMAZON - REDSHIFT 등이 있음

 2) ON - PREMISE

 ▷ MySQL, ORACLE, PostgreSQL 이 대표적

- 데이터 가져오기

 정확하게 접속하고 싶은 DB가 있다면 정보를 알아야 한다. DBeaver는 데이터베이스를 연결하는 하나의 방법 중 하나로, vscode코드와 같은 다른 코드 에디터로도 접속이 가능하다.

 

2. MySQL 기본 구조

- MySQL의 기본 명령어

명령어 설명 구분
SELECT, INSERT,UPDATE,DELTE 데이터 조회, 데이터 삽입, 변경, 삭제 DML(Data Manipulation Language)
CREATE, DROP, ALTER 테이블 삭제, 수정 DDL(Data Definition Language)
GRANT, REVOKE 테이블 접근권한 관리 DCL(Data Control Language)
SHOW, DESC, DESCRIBE, EXPLAIN 테이블 조회, 테이블 설명 정보 조회 명령어
USE 데이터베이스 선택 제어 명령어

 

- MySQL 시스템 명령어

명령어 설명
CRETAE DATABASE {데이터베이스이름} 데이터베이스 생성
USE {데이터베이스이름} 특정한 데이터베이스 선택하여 보기
SHOW DATABASES 데이터 베이스보기
SHOW TABLES 현재 선택한 데이터베이스의 테이블보기
SHOW COLUMNS FROM {table_name} 특정한 테이블의 컬럼 정보 보기
SELECT * FROM information_schema.TABLES 데이터 베이스 메타데이터 제공, 테이블, 컬럼, 인덱 스, 사용자 권한 등 관리

 

3. 데이터모델링이란

- 데이터베이스와 데이터모델링

 데이터베이스란 현실세계에 있는 정보를 약속된 표기법으로 문서화한 결과물을 말한다. 

 데이터모델링이란 데이터의 구조와 관계를 정의하고 문서화하는 과정(개념적 모델링 → 논리적 모델링  물리적 모델링)을 뜻한다. 분석가가 직접 하는 역할은 아니지만 데이터 설계 구조를 읽을 줄 알아야 효과적인 데이터 분석이 가능하다. 대표적인 개념은 개체(Entity), 속성(Attribue), 관계(Relationship)로 구성되어 있다.

- 인사(Human Resource) 데이터를 이용한 설명

 1) 행/열 표현법

방향 엑셀/사무 데이터베이스 통계
가로 행(Row) 레코드(Record) 관측치(observation)
세로 열(Column) 속성(Attribute) 변수(Variable)

 

 2) 데이터모델링 용어 정리

용어 설명
엔터티(Entity) 데이터베이스에서 정보를 저장하는 기본 구별 가능한 실체, 관리하고 자 하는 대상(사원)
속성(Attirbute) 엔터티의 성질을 나타는 것(사번, 성, 핸드폰번호)
관계(Relationship) 두 개 이상의 엔터티의 연결이나 연관, 1:1, 1:N 등 다양한관계가 있음 (사번과 직원은 1:1, 직무와 직원은 1:N 관계)
식별자(Identifier) 엔터티를 고유하게 식별하는 속성(사번, 주민등록번호)

 

 3) 엔터티간 관계차수 표현

 

4. 데이터 설명서 ERD

 데이터 베이스에는 기본적으로 Entity, Attribute, Relationship을 포함한 관 계를 표기한 그림이 존재하는데 이걸 Entity Realionship Diagram이라고 부른다.