Database
- 데이터를 저장 및 보존 하는 시스템
- 데이터를 장기간 저장 및 보존하기 위해 사용
- 데이터베이스는 크게 관계형과 비관계형 데이터베이스가 있음
관계형 데이터베이스 (RDBMS)
- 관계형 데이터 모델에 기초를 둔 데이터베이스 시스템
- 관계형 데이터: 서로 상호관련셩을 가진 형태로 표현한 데이터
1. Table
- 모든 데이터들은 2차원 table로 표현 한다.
- column: table의 각 항목(속성)을 뜻 함
- row: 각 항목의 실제 값을 표현
- primary key
-table을 만들 때 자동으로 생성 되는 table의 고유 키
- 보통 id라는 항목으로 생성
- id을 통해 해당 row을 찾거나 인용 할 수 있게 해줌
2. Table 관계
- one to one (1:1)
- one to many (1:N)
- many to many (N:N)
- many to many인 table 사이를 연결 해줄 중간 table이 필요
- Foreign key(외부키)
- table을 연결할 때 사용하는 키
- 다른 table의 고유키를 사용
- 항목의 이름은 보통 해당 table이름에 '_id'가 붙는다
=> uers라는 테이블을 참조하면 참조한 데이블의 항목은 user_id(FK)가 되고 이 값은 ㅕusers의 id 값
3. table끼리 연결이 필요한 이유
- 하나의 테이블에 모든 정보를 다 넣는 경우 중복된 데이터 저장되는 경우 발생
- 중복된 data는 memory를 더 차지하여 비효율적임
- 많은 data을 한 테이블에 저장 할 때 잘 못된 데이터를 저장할 가능성이 있음
비관계형 데이터베이스
- 비관계형 데이터를 저장하는 데이터베이스
- 데이터를 저장하기 전에 정의 할 필요 없음(테이블 이름, 테이블간에 관계 등)
- 데이터의 구조 변화에 유연
- 확장성이 좋음
- 비정형화 데이터를 저장하는데 유리(예: 로그데이터)