02-1. 건물을 짓기 위한 설계도 : 데이터베이스 모델링
- 개념적으로 파악만
🎨 데이터베이스 모델링
- 설계도를 그리는 과정
- 건물을 실제로 짓기 전에 설계도를 그려야함
- 데이터베이스를 구축하는 것이 목적
- DB를 구축하기 위한 설계도
🧩 프로젝트 진행 단계
- 현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정
- 소프트웨어: 현실 세계를 컴퓨터 시스템 안에 옮겨 놓은 과정
- 프로젝트: 소프트웨어를 만들기 위한 전체 과정
- 간단한 소프트웨어는 한 두명이 가능함
- 복잡한 소프트웨어는 혼자 작업이 현실적으로 불가능
- 철저한 규정과 절차에 의해 분업해서 이루어짐
✅ 폭포수 모델
- 폭포수가 떨어지듯이 작업
- 단계별로 이어짐
- 프로젝트를 계획
- 어떤 업무를 소프트웨어로 만들건지 분석
- 설계도를 그리는 작업
- 코딩, 데이터베이스 구축
- 잘 되는지 테스트
- 앞으로 유지보수 진행
🧩 데이터베이스 모델링
- 시스템 설계에 해당
- 우리가 살고 있는 현실 세계를 데이터 베이스 안으로 넣기 위한 작업
- Ex) 슈퍼마켓
- 직원, 고객, 진열된 물건이 있음
- 고객이 물건을 구매하고 나가는 과정
- 현실세계에서 온 테이블들이 데이터베이스 안에 들어감
- 직원 → 직원 테이블 / 고객 → 회원 테이블 / 물건 → 물품 테이블
- 각각의 특징들을 테이블로 만드는 것. (제품의 이름, 가격, 제조일자, 제조 회사, 제고량 등..)
"데이터베이스 모델링이란 현실 세계를 데이터베이스 안에 넣기 위해서 테이블을 결정하는 과정"
- 정답은 없다!
- 모범 답안은 있다
- 어떻게든 구축은 되겠지만 좋은 모델링과 나쁜 모델링은 분명히 존재한다
🧩 전체 데이터베이스 구성도
✅ DBMS
- 바깥 네모
- 데이터베이스를 운영하고 관리하는 소프트웨어
✅ 데이터베이스
- 원통 모형
- 데이터의 저장소
- 컴퓨터의 폴더와 개념이 약간 비슷함
- 테이블이 파일 정도
✅ 테이블
- 하나의 데이터베이스 안에 여러개가 들어갈 수 있다
- 이차원 구조로 이루어짐
- 행과 열
✅ 열이름
- 세로 라인 이름
- 맨 위에 지정
✅ 행(row)
- 데이터를 넣을 때는 열(column)별로 쭉 넣는 것이 아니라 데이터 단위로 넣는다
- 행 = 데이터
- 회원테이블의 행이 4개다 = 회원 테이블의 회원이 4명이다
- 행 데이터
✅ 데이터
- jyp라는 아이디 하나, 박진영이라는 이름 하나가 각각 데이터이다
- 그런데 행 데이터와 헷갈리니 그냥 행 한 줄이 데이터 한 건으로 생각하면 됨
✅ 기본키
- PK (Primary Key)
- 각각의 행을 구분하는 유일한 값
- 네이버 회원가입할 때 ID 설정
- 중복 불가
- ID만 있으면 어떤 회원인지 구분 가능
- DB 관리/개발하는 사람이 설정하는 것
- 전제 조건1. 중복 불가
- 전제 조건2. 꼭 존재해야함 (Null 불가)
- 두 조건 모두 성립해야함
- 열에 지정하는 것
- 테이블 당 하나만 지정할 수 있다
✅ 데이터 형식
- 문자열
- 제품 이름, 회원 이름, ID 등..
- 숫자
- 가격,
- 날짜
- 제조일자, 가입일자, ...
- 테이블 만들 때 열마다 지정해줘야함
🧩 SQL
- 어떤 열을 넣고, 데이터 형식은 무엇이고.. 등 우리가 정한 내용을 DBMS가 알아 듣도록 전달해주는 문법
- 데이터베이스 언어
- 위 그림의 개념을 구현하기 위해 배워야 한다.
출처: https://youtu.be/j2DAiY-OXGs?si=EbkZf3a6y7JBTTwx
'MySQL > 혼공SQL' 카테고리의 다른 글
[SQL 기초 강의] 6강. SQL 기본 문법(SELECT ~ FROM ~ WHERE) (0) | 2023.11.07 |
---|---|
[SQL 기초 강의] 5강. 데이터베이스 개체(인덱스, 뷰, 스토어드 프로시저) (1) | 2023.11.07 |
[SQL 기초 강의] 4강. 데이터베이스 만들기 (1) | 2023.11.03 |
[SQL 기초 강의] 2강. MySQL 설치 방법과 정상 작동 확인하기 (1) | 2023.10.31 |
[SQL 기초 강의] 1강. 데이터베이스 알아보기 (0) | 2023.10.30 |