RDBMS

Part 4. ๋ฐ์ดํ„ฐ์˜ ์ดํ•ด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค(FastCampus)์˜ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์˜ฌ์ธ์› ํŒจํ‚ค์ง€ Online์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

0. Data Type

  • numeric
  • data/time
  • character/string
  • unicode character/string
  • binary
  • miscellaneous

1. Relational Database(RDB)

  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ 2์ฐจ์›์˜ ํ…Œ์ด๋ธ”๋กœ ํ‘œํ˜„
  • ํ•˜๋‚˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑ
  • Entity-Relationship ๋ชจ๋ธ
  • Normalization (Reduce Redundacy)

2. AWS ํด๋ผ์šฐ๋“œ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

  • aws.amazon.com > RDS > ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
  • Templates > Free Tier๋กœ ์„ค์ • (๊ณผ๊ธˆ ์˜ˆ๋ฐฉ)
  • Public Access ํ—ˆ์šฉํ•˜๊ธฐ
  • VPC์—์„œ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— MySql ์ถ”๊ฐ€ํ•˜๊ธฐ

3. ํ„ฐ๋ฏธ๋„์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ

(Windows ๊ธฐ์ค€)

  • mysql client workbench ๋‹ค์šด๋กœ๋“œ
  • MySQL Workbench๋ž‘ AWS๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ๊ทธ๊ฒƒ์„ termianl(powershell)๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฒ•
  • termianl์—์„œ ์•„๋ž˜์˜ ์ปค๋งจ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์ด์–ด์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
mysql -h {hostname} -P 3306 -D {Default Schema} -u {username} -p

4. MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์—์„œ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

1
2
CREATE TABLE people (first_name VARCHAR(20), last_name VARCHAR(20), age INT);
SHOW TABLES;

5. ์—”ํ„ฐํ‹ฐ ๊ด€๊ณ„๋„(ERD)

  • Entity Relationship Diagram
  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์„ค๊ณ„ ๊ณผ์ •์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ
  • ์•ฝ์†๋œ ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
ERD์˜ ๊ธฐ๋ณธ์š”์†Œ
  • Entities: ๊ฐœ์ฒด
  • Attributes: ์—”ํ„ฐํ‹ฐ์˜ ์†์„ฑ
  • Relationship: ์—”ํ„ฐํ‹ฐ ๊ฐ„์˜ ๊ด€๊ณ„

Relationship Cardinality


ERD example

6. Primary Key & Unique Key

Primary Key
  • ํ…Œ์ด๋ธ”์— ํ•˜๋‚˜ ๋ฐ–์— ์—†๋Š” ์œ ๋‹ˆํฌํ•œ ๊ตฌ๋ณ„ ๊ฐ’
  • Null ๊ฐ’ ์•ˆ ๋จ
Foreign Key
  • ํ•œ ๊ฐœ ์ด์ƒ ๊ฐ€๋Šฅ
  • NULL ๊ฐ’๋„ ๊ฐ€๋Šฅ
Unique Key
  • Primary Key์ฒ˜๋Ÿผ ์œ ๋‹ˆํฌํ•˜๊ธด ํ•˜๋‹ค.
  • ํ•˜์ง€๋งŒ, Null ๊ฐ’์€ ํ•˜๋‚˜๋Š” ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ ์ด์ƒ์˜ ์œ ๋‹ˆํฌ ํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • Primary Key๋ณด๋‹ค๋Š” index๋กœ์„œ์˜ ์„ฑ๋Šฅ์€ ๋‚ฎ๋‹ค.
  • ex) Primary Key: ์ˆ˜ํ—˜๋ฒˆํ˜ธ, Unique Key: ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ