- 현장에서 대화가 되어야 합니다.
- 특히, BE 와 FE 가 협업을 하는데 의사소통이 안되면 곤란함.
- 실제 애플리케이션에는 많은 데이터를 관리한다.
- 데이터를 잘 분류하고, 데이터를 잘 보관해야 한다.
- 수월하게 데이터를 조회할 수 있어야 함.
- 수월하게 데이터를 수정할 수 있어야 함.
- 수월하게 데이터를 삭제할 수 있어야 함.
- 그래서, 어떻게 분류해서, 어떻게 저장할지, 어떻게 관리하지를 설계하는 행위.
- 위의 사항을 줄여서 회의에서
데이터베이스모델링,DB설계라고 칭함.
- 협업이 수월함.
- ERD(Entity Relation Diagram)를 볼 수 있다.
- 효율적으로 데이터를 저장하는 것에 대한 고민을 하게 됨.
- 백엔드 개발자 분들은 정말 많은 데이터를 관리함.(필수)
- 프론트 개발자 분들도 현재는 필수 교양입니다. (취업요구사항)
- RDBMS : MySQL, MariaDB, Oracle, PostgreSql, SQLite 등
- SQL 언어는 엑셀의 표와 같은 즉,
테이블에 데이터를 관리한다. - NoSQL 언어는 json형태 즉,
문서에 데이터를 관리한다.(FireBase, MogoDB) - 관계형이란
데이터 테이블과데이터 테이블의 연결을 관리
- 테이블은 엑셀의
표라고 생각하자. - 회원 테이블 만들기
- 제품 테이블 만들기
- 예제) https://docs.google.com/spreadsheets/d/1HJt8aqNbd1cGLUItIU4Pqiqd933S_uzg4pW_zsl0Zcc/edit?usp=sharing
- 흔히
PK라고 하면 의사소통됨. - 수 많은 데이터를 구별해 주기 위해서 기본키가 필요함.
- 절대
중복되면 안됨그리고,값이 비어서도 안됨 Auto increment옵션을 주어서 1씩 자동 증가 또는UUID로 랜덤값으로 셋팅함.- 칼럼명을
id또는uid라고 하는 경우 많음.
FK라고 통상 침함게시글 테이블과사용자 테이블생성- 예제) https://docs.google.com/spreadsheets/d/1HJt8aqNbd1cGLUItIU4Pqiqd933S_uzg4pW_zsl0Zcc/edit?usp=sharing
- FK 를 요약하면, 다른 테이블의 데이터와 관계를 연결시키는 키를 말함.
- 장점은 잘못된 FK 즉, 외래 키를 연결하면 오류를 일으켜 준다.
- 데이터가 오류가 없음을 백엔드 분들은
참조 무결성이라고 칭합니다.
- 운영체제에서는 대, 소문자를 구별하는 경우와 그렇지 않은 경우 존재합니다.
- 운영체제와 상관없도록 반드시
소문자를 규칙으로 하면 좋다.
- 테이블 명, 칼럼 명을 여러 단어로 작성할때
소문자_소문자로 작성한다.
userName // Bad
user_name // Good
- 여러 명이서 DB 를 관리한다.
- 규칙을 지키는 것을 신경써야 한다.
- 직관적일 수록 업무 진행이 원할하다.
u_name // Bad
user_name // Good
- 실제로 sql 명령어는 대소문자를 구별하지 않음.
- 가독성을 위해서 대문자를 활용하자.
- 아래는 소문자로 구성함.
select name, age
from users
where age = 20
and name = '홍길동';- 아래는 대문자로 구성함. (권장)
SELECT name, age
FROM users
WHERE age = 20
AND name = '홍길동';- 데이터가 여러개 임을 의미해 줌.
- 회사마다 다릅니다.
- 하지만, 지켜주시면
일관성을 유지해 주자. (섞어서 이름짓지 말자) - 실습은
복수형으로 진행함.
user
users
post
posts