Wecode 2nd week
1. Database by 멘토 소헌님 (오후 세션1)
데이터베이스란?
컴퓨터 시스템에 저장된 정보 또는 데이터의 집합.
오랜 기간 저장 및 보존 하기 위해서 데이터 베이스를 사용한다.
RDBMS란? 왜 관계형 테이블을 쓰는가?
서로 상호관련성을 가진 형태로 표현한 데이터를 말한다. ex) MySQL, Postgres, Oracle DB
1. 데이터는 칼럼과 로우로 표현된 테이블로 표현한다.
2. 각 로우는 저만의 고유 키(Primary Key)가 있다.
3. Primary key를 통해서 해당 로우를 찾거나 인용(reference)한다.
-> 인용한 칼럼은 foreign key라고 한다.
- One to One
테이블 A의 로우와 테이블 B의 로우가 정확히 일대일 매칭이 되는 관계
- One to Many
테이블 A의 로우가 테이블 B의 여러 로우와 연결이 되는 관계
-> Customer 테이블과 order 테이블은 1:N 관계에 있다.
-> Order 테이블의 customer_id 컬럼이 customer 테이블의 primary key를 참조하고 있다.
- Many to Many
테이블 A의 여러 로우가 테이블 B의 여러 로우와 연결이 되는 관계
- normalization 정규화
중복 데이터를 저장하지 않음으로 디스크를 더 효율적으로 쓰고, 같은 데이터지만 부분적으로 내용이 다른 데이터가 생기지 않도록 한다.
(참고) Normalization rules
트랜잭션이란? ACID는 무엇인가?
- Commit
모든 작업을 정상적으로 처리하겠다고 확정하는 명령어. 하나의 트랜젝션 과정을 종료한다.
-> 변경된 내용을 영구 저장할 때 사용한다.
- Rollback
작업 중 문제가 발생했을 때, 트랜젝션의 처리 과정에서 발생한 변경 사항을 취소하고, 트랜젝션 과정을 종료시킨다.
-> 변경되기 이전 상태로 되돌릴 때 사용한다.
- ACID (Atomicity, Consistency, Isolation, Durability)
- 원자성: 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않도록 보장한다.
- 일관성: 트랜잭션이 실행을 성공적으로 완료하면, 언제나 일관성 있는 데이터베이스 상태로 유지한다.
- 고립성: 트랙잭션 수행 시 다른 트랜잭션의 작업이 끼어들지 못하도록 한다.
- 지속성: 성공적으로 수행된 트랜잭션은 시스템문제, DB일관성 체크를 하더라도 유지되어야 한다.
관계형 데이터베이스와 비관계형 데이터베이스의 차이는?
- 데이터를 체계적으로 저장, 관리할 수 있다.
- 정형화된 데이터, 데이터의 완전성이 중요한 데이터를 저장하는데 유리하다. ex) 전자상거래 정보, 은행 계좌 정보 등
- 테이블 구조가 미리 정의되어 있어 단순히 서버를 늘리는것 만으로 확장하기가 쉽지않다.
- 데이터 구조를 미리 정의하지 않아도 되므로 데이터 구조 변화에 유연하다.
- 확장하기가 쉽고, 방대한 양의 데이터를 저장하기에 유리하다. ex) 로그데이터
- 트랜잭션이 안되거나 비교적 불안정하다.
2. DOM & Event by 멘토 신영님(오후 세션2)
- HTML 마크업
head 문서에 대한 정보, body 브라우저에 보여지는 것을 태그로 표현한 것
DOM
JS에서 HTML에 접근해서 요소를 생성하고, 클래스를 부여하고, 스타일을 수정하고, 내용을 추가한다.
- querySelector('') 클래스, id, 태그를 모두 가져올 수 있다. 가장 첫번째 요소를 반환한다.
- getElementsByclassName('') 배열로 가져오기 때문에 인덱스가 필요하다.
- getElementsByTagName('') 배열로 가져오기 때문에 인덱스가 필요하다.
- getElementByIdName('') ID는 중복사용할 수 없기 때문에 단수형으로 쓴다.
westagram Project 스타뜨
- flex를 활용하자
justify-content와 align-items의 차이 알기!