Week 2 - Database (1)

Cein1·2022년 9월 25일
0

Database

목록 보기
1/4

학습목표
1. 데이터베이스(Database)의 개념을 이해합니다.
2. 관계형 데이터베이스(RDBMS)가 무엇이며, 왜 사용하는지 이해합니다.
3. 테이블(Table)이 무엇인지 이해하고, Column, Row를 설명할 수 있습니다.
4. 테이블(Table)의 관계 - One to One, One to Many, Many to Many 예시를 나열할 수 있습니다.
5. Primary KeyForeign Key의 관계를 설명하고, 테이블에 지정할 수 있습니다.
6. 관계형 데이터베이스비관계형 데이터베이스의 차이를 알 수 있습니다.
7. ERD 구성도로 데이터 관계를 모델링할 수 있습니다.

1. 데이터베이스(Database)

1) DB 정의

  1. 데이터를 가득 모아놓은 베이스. 우리가 사용하는 정보의 총 집합.
  1. Oracle introduces a database as ...
    컴퓨터 시스템에 전자적으로 저장된, 구조화된 정보나 데이터의, 구조화된 집합
const DB systems 또는 const DB
= [Data, DataBase Management System, 이와 관련된 Application]

2) DB가 필요한 이유

데이터를 체계적으로, 오랜기간 저장/보존/관리하기 위한 목적입니다.

2. 관계형 데이터베이스 (RDBMS, Relational DataBase Management System)

관계란?
테이블(tables) 사이의 관계를 대상으로 합니다.
RDBMS에서 모든 데이터는 2차원 테이블(table)로 표현할 수 있습니다.

1) 관계형 DB 정의

각 Table들이 상호관련성을 가지고 연결되어 있는 DB입니다.
각 Table들이, 즉 Table A와 Table B가 완전히 독립적인 대상이 아니라, 상호연관되어 있음을 의미합니다.

2) 관계형 DB가 필요한 이유 (미완)

동일한 속성/항목이 여러 테이블에 저장되면 불필요한 메모리를 사용하게 됩니다.
참조를 통해 이를 방지할 수 있습니다.

DB는 수백, 수천개의 Table들로 구성됩니다. 원하는 정보를 추출하려면 어떻게 해야 할까요?
Primary Key를 통해서 특정 Row(행)을 찾거나, 인용(reference)할 수 있습니다.

2-1. 테이블(Table): Column, Row

  • Column (열): 테이블의 각 속성/항목(id, 책 제목, 작가, 출판사, 가격)을 의미합니다. 테이블의 첫 Column은 항상 id입니다.
  • Row (행): 각 항목들의 실제 값입니다. 각 Row별 고유키(Primary Key)인 id가 있습니다.

2-2. 테이블(Table) 사이의 관계

  1. One To One 또는 일대일 관계
    : 테이블 A의 a row와 테이블 B의 a row가 서로 one and only인 관계라면 서로 일대일 관계다 라고 말할 수 있습니다.
  • 테이블 Users: 한국 사람들의 이름 정보를 갖고 있는 테이블
  • 테이블 Identification numbers: 한국 사람들의 주민등록번호를 갖고 있는 테이블. user_id Column(열)은 해당 주민등록번호가 누구의 것인지 알려주기 위한 목적에서, 주인인 사람의 id를 기록해둔 Column입니다.

이 때, Identification numbers 테이블user_id
Users 테이블id(고유키, PK)를 참조한다고 말할 수 있습니다.
여기서 user_id는 외래키(Foreign Key)입니다.

일대일 관계(1:1)의 경우 한 테이블의 하나의 row에 다른 테이블의 하나의 row만 연결될 수 있습니다.

테이블 관계 설명
대한민국 사람은 주민등록번호를 단 하나만 가질 수 있습니다.
반대로, 주민등록번호는 오로지 한 사람만 가리킵니다.

예시
Identification numbers 테이블에서 id1인 row의 user_id3 입니다.
이는 1번 주민등록번호가 Users 테이블id3번인 사람, 즉 송코딩님의 데이터라는 것을 알려주는 정보가 됩니다.

0개의 댓글