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