데이터베이스에 데이터 보관
데이터베이스는 데이터를 분류할 수 있는 설계부터 진행
전기도 필요하고, 돈도 들고 복잡한 셋팅 같은게 필요함.
데이터 기반 서비스란?
데이터 기반 서비스 = 데이터 필요한 서비스 = 우리가 사용하는 모든 서비스 (네이버, 인스타그램 등)
데이터의 CRUD란?
CRUD = 데이터를 저장하고, 불러오고, 수정하고, 삭제하기와 같은 데이터 관련 행위를 묶어서 일컫는 말
Creat(생성)
Read(읽기)
Update(갱신)
Delete(삭제)
예시
<네이버>
정보를 검색하는 서비스 = 정보를 불러온다 Retrieve
블로그, 카페글 작성 Create
볼로그, 카페글 수정 Update
블로그, 카페글 삭제 Delete
<인스타그램>
사진을 올리고 Creat
팔로우하고 Creat
언팔로우하고 Delete
해시태그로 검색하고 Retrieve
내 친구들 둘러보는 서비스 Retrieve
내가 얘를 팔로우한다 라는 데이터가 생성되는 거고, 내가 언팔로우한다 내가 예를 언팔로우한다는 데이터 삭제함.
어떤 서비스내에서 일어나는 여러 행위들은 다 데이터의 CRUD로 표현될 수 있다
데이터베이스는 왜 필요할까?
데이터를 보관함에 있어서 데이터베이스에 보관해야하는 이유
1. 무결성 : 실제 데이터와 정확하게 일치하고, 유효한지 등 일관성에 대한 보증
2. 안정성 : 날리지 않게 백업
3. 보안성 : 보안이 중요 해킹 방지 권한 관리 등
4. 확장성 : Scale up 시 용이한 확장
데이터베이스와 스프레드 시트 차이점
|
데이터베이스 |
스프레드시트 |
공통점 |
행X열 구조 |
차이점 |
무결성, 확장성 |
상관없음 (에러 뱉지 않음 ; 무결성) |
보안성 높음, 안정성(백업) 높음 |
보안성 낮음, 안정성 보통 |
SQL : 데이터베이스 전용 언어
SQL: 관계형 데이터베이스 위해 설계된 구조화된 (Structured) 질의(Query) 요청을 하는 언어(Language) 다.
SQL의 종류 : DDL, DML
< DDL : Data Definition 데이터 정의어: 틀 자체를 제작하는 언어>
어떤 형태의 데이터베이스를 만들껀지? 칸을 얼만큼 설계할건지 등 틀 자체를 만드는 언어
칸을 얼만큼 설계할건지, 틀 자체를 만드는 언어를 DDL이라고 함.
< DML: Data Manipulation 데이터 조작어: CRUD에 대핟하는 데이터 조작하는 언어>
틀을 만든다음에 틀 안에서 데이터 생성하고, 가져오거나 수정하거나 없애는
CRUD에 해당하는 데이터 조작어를 DML이라고 함 DML: Data Manipulation
DDL를 이용해서 테이블 구조를 직접 설계하고, 테이블에 맞는 데이터를 CRUD에 맞는 DML
을 통해서 불러오고, 수정하고 삭제하고 생성하고 이런 과정을 거친다고 할 수 있음.
SQL 의 구체적인 명령어 & 핵심적인 문법 (7가지)
DDL: CREATE 문, ALTER 문, DROP 문
DML: INSERT 문(Creat), SELECT문(Retrieve), UPDATE문, DELETE문
ORM이란?
다소 복잡한 SQL문...
문법들 배워야하고, 그러다보니 힘들어할 수 있을 것 같은데
웹 프레임워크에서는 SQL 안배워도 데이터 조작할 수 있게 준비해놓은 것을 ORM 이라고 함. (Object Related Management)
ORM은 복잡해보이는 SQL문을 파이썬 언어 그대로 사용할 수 있도록 해주는 브릿지 역할을 하는 도구임.
쉽게 이야기하면 파이썬 같은 서버 사이드 언어로도 SQL이 하는 일을 하게 해준다.
SQL 안쓰고도 DB 컨트롤 할 수 있게 해준다.
ㅡ
2021.10.03 - [직장에서 살아남기] - [개발 기초 지식] Back-end : 웹 서비스
2021.10.03 - [직장에서 살아남기] - [개발 기초 지식] 웹 문서 특징 (Front End)
2021.10.03 - [직장에서 살아남기] - [개발 기초 지식] 웹 브라우저와 DNS, 웹 서비스 동작 원리와 순서
※본 내용은 탈잉 '비전공자를 위한 기초탄탄개발입문' 강의를 직접 듣고 참고해서 노트테이킹함