ilovechoonsik
[STARTERS 4기 TIL] 데이터 베이스 배경, SQL 활용 조작 (230215) 본문

📖 오늘 내가 배운 것
1. RDBMS 소개/설치와 개발환경 소개
1.1 데이터베이스란?

다양한 목적에 맞게 데이터를 수집하고, 해당 데이터를 저장, 관리하기 위함
다음의 경우 일반화된 용어로 데이터 베이스로 사용
- 데이터를 수집/저장/관리하는 시스템 자체
- 데이터가 저장되는 장소
1.2 데이터베이스 정의 및 특징

1.3 DBMS/사용자/응용 프로그램 구성

1.4 데이터베이스 기능적 특징

1.5 데이터베이스 종류

- NoSQL?
시시각각 변하는 데이터의 모습, 형태를 기존 데이터 베이스에 넣고 관리하기 불편함이 있었음.
그래서 데이터를 정리하지 않고, 형태 구현하지 않고 즉시 조회/추출 하는 등의 목적을 가지고 써보자! 하는 게 NoSQL
1.6 관계형 DBMS란?

2. workbench 환경 세팅! schema 다루기
2.1 root 사용자를 통해 새로운 사용자 생성


2.2 새로운 사용자가 사용할 간단한 DBMS SCHEMA 생성
- 새롭게 생성한 user1 사용자로 Schemas 확인!
- 오잉 근데 root 사용자일 때 보이던 SCHEMA가 안 보인다
- DMBS에 접근하는 권한 자체가 제한되어 있어서 그렇다!


2.3 DCL 사용하는 접근 권한을 확인해보고 변경
- 다시 root 사용자로 돌아가 확인

- user1이 접근할 수 있는 권한을 정의해준다
- 우선 world라는 shema 권한을 줘보자
- 그리고 해당 schema에서 수행할 수 있는 명령들 추가

user1로 다시 접속해서 확인해보면 world schema가 추가되어있는 것을 확인할 수 있따

2.4 새로운 schema 생성

i 아이콘으로 정보 확인
테이블 아이콘으로 정보 확인


+ 2.5 테이블 CREATE
- 테이블을 생성하면 테이블 우측에 i 아이콘을 통해 정보를 확인할 수 있다.
- 그 중 DDL에는 물리적으로 생성될 때 작성된 구문이 들어가 있는데, 여러가지 속성 설정까지 확인할 수 있다.

3. Schema, Table 구성 이해, SQL 언어 DDL과 DML 소개
3.1 Schema?
schema : 논리적 저장 공간, Table 보관하는 장소

3.2 Table?

Table : 실제 데이터가 저장되는 공간! (테이블 간 관계는 기본키 ←→외래키 사용하여 정의)
col : 특정 데이터 타입 및 크기 가지는 구조
row : column 들 값의 조합! 제약사항 적용
field : col과 row의 교차점
3.3 관계형 데이터 베이스에서 Table 개념

수학, 영어 특기반 속한 학생들
본질은 학생 : Entity
학생들의 관계 : Entity Relation
→ 기본 키, 외래 키라는 기본적인 제약 조건을 통해 관계를 맺어줌
3.4 ERD?

ERD?
→ 데이터 들의 관계를 정의/분류하는 기법
SQL로 데이터를 다루기 전, 데이터 베이스에 데이터가 저장될 때 일어나는 과정들
- 개념적 모델-ER 다이어그램 : 현황에 대한 이해를 바탕으로 데이터의 관계를 정의/분류
- 개념적 모델을 바탕으로 논리적 모델화
- 실제 데이터 베이스 스키마-테이블로 물리 모델링
- SQL 사용하여 다루기
Entity와 실제 Table에 저장되는 과정을 연관 지어 알아보자

ERD를 통해 도출되는, 하나의 단위로써 구분되는 Entity
쇼핑몰 고객 - 주문 정보 - 상품 분류로 구성된 schema가 있다면 각각이 Entity
예시
고객이라는 Entity를 4가지 속성으로 구분할 수 있다고 분석이 됐다면?
이게 테이블 화 되면 column 요소들로 들어가게 됨
각 row에는 데이터타입, 제약조건이 달리는 형태로 구성
ERD | DB |
Entity (Table) | Col |
Attribute (Column) | Row |
3.5 Table 구성

- col, row로 구성되어 데이터를 저장하는 기본적인 2차 원적 구조
- col, row의 데이터를 구분하는 제약조건으로 기본키, 외래키 사용
records : row
field : column에 들어가는 하나의 값
3.6. SQL 언어
SQL과 Query?
: 관계형 데이터베이스를 사용할 때 RDBMS에게 보내는 요청 (SELECT * FROM DB)

SQL 명령어

DDL, DML 예시

4. DDL 이용 스키마 생성, DML 구문 사용하기
4.1 SHOW
- SHOW 명령 : 데이터베이스 관련 대부분의 정보를 얻을 수 있음
SHOW statement
- 어떤 데이터베이스가 있는지 확인
- Database 전체 목록/테이블 목록 확인
4.2 DDL 명령 사용
DDL 명령 | CREATE | Schema, Table 생성 | |
ALTER | Table 속성 변경 | ||
DROP | Table 제거 |
DDL을 통해 생성된 DB에 DCL 명령 : 사용자 추가/수정/삭제 및 권한 처리 → 수업에서는 Workbench로 다룸!
Table 관련 명령 |
CREATE | 테이블 구조를 신규 생성 |
ALTER | 테이블 구조 변경 | |
RENAME | 테이블 명을 변경 | |
DROP | 테이블 구조를 삭제 |
데이터 속성 지정 : 데이터 타입, NULL 허용, 중복 허용, 기본키/외래키 지정 등등
- DROP : 테이블의 구조와 데이터 모두 삭제
- DESCRIBE : DDL로 생성한 테이블의 구성, 속성 출력
4.3 Constraint(제약조건)
(1) 제약 조건?

→ TABLE 수준에서의 특정한 규칙!
- 중복 배제, 일관성을 지키기 위함.
- 관계 대수의 핵심 내용 중 하나가 중복 배제
- 사용자가 실수를 할 수 있으니까! 제약 하는 것
(2) 제약 조건 다양한 예시

4.4 DML 명령

💪🏻 좋았던 점, 앞으로 개선해야 할 점 (추가로 배워야 할 점)
📌 SQL 쿼리에 대해서만 학습해본 적 있고 그 배경에 대해 학습하는 것은 처음이었는데,
금일 학습하며 SQL이 동작하는 환경을 전반적으로 이해하는 것 또한 중요하다는 생각이 들었고, 탄탄히 하고 갈 수 있어 유익했다🫠
#유데미, #유데미코리아, #유데미부트캠프, #취업부트캠프, #부트캠프후기, #스타터스부트캠프, #데이터시각화 #데이터분석 #태블로
'STARTERS 4기 🚉 > TIL 👶🏻' 카테고리의 다른 글
[STARTERS 4기 TIL] SQL 집계, VIEW, 통계, 순위 (230217) (0) | 2023.02.18 |
---|---|
[STARTERS 4기 TIL] SQL 다양한 문법 및 활용 (230216) (0) | 2023.02.18 |
[STARTERS 4기 TIL] 공공 데이터 분석 #2 (230214) (0) | 2023.02.14 |
[STARTERS 4기 TIL] 데이터 시각화 #2 (230213) (0) | 2023.02.13 |
[STARTERS 4기 TIL] 데이터 시각화 (230210) (0) | 2023.02.10 |