관리 메뉴

ilovechoonsik

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

STARTERS 4기 🚉/TIL 👶🏻

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

춘시기좋아 2023. 2. 16. 17:50

 

📖 오늘 내가 배운 것

 

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로 데이터를 다루기 전, 데이터 베이스에 데이터가 저장될 때 일어나는 과정들

  1. 개념적 모델-ER 다이어그램 : 현황에 대한 이해를 바탕으로 데이터의 관계를 정의/분류
  2. 개념적 모델을 바탕으로 논리적 모델화
  3. 실제 데이터 베이스 스키마-테이블로 물리 모델링
  4. 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이 동작하는 환경을 전반적으로 이해하는 것 또한 중요하다는 생각이 들었고, 탄탄히 하고 갈 수 있어 유익했다🫠

 

 

#유데미, #유데미코리아, #유데미부트캠프, #취업부트캠프, #부트캠프후기, #스타터스부트캠프, #데이터시각화 #데이터분석 #태블로

Comments