[Pre-course] 2021. 10. 12

GYUBIN ·2021년 10월 19일
0

Terminal

터미널 명령어

pwd : Print Working Directory = 현재 위치(경로) 출력

~ : home Directory (ex. cd ~)

ls : List Segments = 현재 위치 파일 목록 출력

cd : Change Directory = 디렉토리(폴더) 이동

mkdir : Make Directory = 디렉토리(폴더) 생성

touch : 파일 생성, touch .파일명으로 생성 시 숨김파일로 생성

rm : remove = 파일 삭제

rm -r : remove -recursive = 디렉토리(폴더) 삭제 ( rm -rf * 하면 큰일 남 )

vi : ex. vi models.py 파일을 편집할 수 있는 에디터 활성화

  • i : insert, 편집모드
  • esc : 편집모드 종료
  • : wq : write & quite (저장 & 종료)



Database


데이터베이스 ?

: 컴퓨터 안에 기록되어 있는 숫자 == 데이터, 데이터들의 집합 == 데이터베이스
 일반적으로 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 데이터의 집합

데이터 보존과 체계적 관리 용이

Database Management System(DBMS) ?

: 데이터베이스를 효율적으로 관리하는 소프트웨어 (!= 데이터베이스)

생산성 향상(C.R.U.D), 기능성(복수유저, 대용량 데이터 등)과 신뢰성(확장성, 부하 분산 등) 확보 목적
 *C(create 추가), R(read 데이터검색), U(update 갱신), D(delete 삭제)

대표적인 DBMS에는 오라클(Oracle), MySQL, MSSQL, MariaDB 등이 있다
해당 시리즈에서는 MySQL 사용



Relational Database

One to One

: 테이블 A와 B가 1대1로 연결

One to Many

: 테이블 A가 테이블 B의 여러 데이터와 연결

Many to Many

: 테이블 A가 테이블 B의 여러 데이터와 연결, B도 A의 여러 데이터와 연결
 각자 다른 테이블의 여러 데이터와 연결될 때는 데이터가 조합된 중간 테이블이 생성된다

Foreign key(외래 키, 외부 키)

: 관계형 데이터베이스에서 한 테이블의 필드(attribute) 중 다른 테이블의 행(row)을 식별할 수 있는 키
 참조하는 측의 관계 변수는 참조되는 측의 테이블의 키를 가리킨다
 밑의 스타벅스 예시에서 다시 살펴보자

ACID

원자성(Atomicity) : 부분적으로 실행되다가 중단되지 않도록 하는 특성

일관성(Consistency) :언제나 일관성 있는 데이터베이스 상태로 유지하는 특성

고립성(Isolation) : 다른 트랜잭션 작업이 끼어들지 못하도록 보장하는 특성

영구성(Durabiltiy) : 수행된 트랜잭션의 내용은 영구히 반영되는 특성
 *트랜잭션(Transaction) : ACID를 보장하면서 일련의 작업들이 하나의 작업처럼 취급되어 모두 성공 or 실패 하는 것



스타벅스 모델링


페이지

모델링 완성본

설계

Category

Menu_id FK : Menu와 one to many 관계

Product

Category_id FK : Category와 one to many 관계
제품 이름 (한/영), 설명 컬럼 생성

Allergy

1) many to many 사용 시 : Product와 Allergy의 id를 many to many로 연결
2) 중간 테이블 생성 시 : products_allergies 테이블 생성 후 Product_idFK, Allergy_idFK 각각 one to many로 연결

0개의 댓글

관련 채용 정보