Thanks to visit codestin.com
Credit goes to github.com

Skip to content

devdorong/til_db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

데이터베이스의 이해

  • 현장에서 대화가 되어야 합니다.
  • 특히, BE 와 FE 가 협업을 하는데 의사소통이 안되면 곤란함.

1. 데이터베이스 모델링이란?

  • 실제 애플리케이션에는 많은 데이터를 관리한다.
  • 데이터를 잘 분류하고, 데이터를 잘 보관해야 한다.
  • 수월하게 데이터를 조회할 수 있어야 함.
  • 수월하게 데이터를 수정할 수 있어야 함.
  • 수월하게 데이터를 삭제할 수 있어야 함.
  • 그래서, 어떻게 분류해서, 어떻게 저장할지, 어떻게 관리하지를 설계하는 행위.
  • 위의 사항을 줄여서 회의에서 데이터베이스모델링, DB설계 라고 칭함.

2. 데이터베이스 모델링 배우면 좋은점

  • 협업이 수월함.
  • ERD(Entity Relation Diagram)를 볼 수 있다.
  • 효율적으로 데이터를 저장하는 것에 대한 고민을 하게 됨.
  • 백엔드 개발자 분들은 정말 많은 데이터를 관리함.(필수)
  • 프론트 개발자 분들도 현재는 필수 교양입니다. (취업요구사항)

3. 관계형 데이터베이스관리 (Relation DataBase Manage System)

  • RDBMS : MySQL, MariaDB, Oracle, PostgreSql, SQLite 등
  • SQL 언어는 엑셀의 표와 같은 즉, 테이블에 데이터를 관리한다.
  • NoSQL 언어는 json형태 즉, 문서에 데이터를 관리한다.(FireBase, MogoDB)
  • 관계형이란 데이터 테이블데이터 테이블의 연결을 관리

4. 테이블에 대한 이해

4.1. 기본키(Primary Key)

  • 흔히 PK 라고 하면 의사소통됨.
  • 수 많은 데이터를 구별해 주기 위해서 기본키가 필요함.
  • 절대 중복되면 안됨 그리고, 값이 비어서도 안됨
  • Auto increment 옵션을 주어서 1씩 자동 증가 또는 UUID 로 랜덤값으로 셋팅함.
  • 칼럼명을 id 또는 uid 라고 하는 경우 많음.

4.2. 외래키(Foreign Key)

5. 데이터베이스의 네이밍 규칙

5.1. 반드시 테이블 명 및 컬럼 명은 소문자로 작성한다.

  • 운영체제에서는 대, 소문자를 구별하는 경우와 그렇지 않은 경우 존재합니다.
  • 운영체제와 상관없도록 반드시 소문자를 규칙으로 하면 좋다.

5.2. snake_case 를 사용한다.

  • 테이블 명, 칼럼 명을 여러 단어로 작성할때 소문자_소문자로 작성한다.
userName // Bad
user_name // Good

5.3. 축약어를 사용하지 않는다.

  • 여러 명이서 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. 테이블의 이름을 지을 때는 가능하면 복수형을 선택하자. (권장)

  • 데이터가 여러개 임을 의미해 줌.
  • 회사마다 다릅니다.
  • 하지만, 지켜주시면 일관성 을 유지해 주자. (섞어서 이름짓지 말자)
  • 실습은 복수형으로 진행함.
user
users

post
posts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published