๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

STUDY/DATABASE

MYSQL -DDL(๋ฐ์ดํ„ฐ ์ •์˜์–ด)

๋ฐ˜์‘ํ˜•
DDL    : creat, alter, drop, truncate
   ๊ฐ์ฒด(object)๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด
   ๊ฐ์ฒด ์ข…๋ฅ˜ - table, view, index ๋“ฑ
  DDL๊ตฌ๋ฌธ์€ autocommit์„ ๋‚ดํฌํ•จ => ์ทจ์†Œ x

1. ํ…Œ์ด๋ธ” ์ƒ์„ฑ(create table)

   ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ ํ•„์ˆ˜ ์ •๋ณด : ํ…Œ์ด๋ธ” ๋ช…, ์ปฌ๋Ÿผ๋ช…, ๋ฐ์ดํ„ฐ ํƒ€์ž…(์ปฌ๋Ÿผ์‚ฌ์ด์ฆˆ)

   ์˜ต์…˜ : default ๊ฐ’, ์ œ์•ฝ ์กฐ๊ฑด

 

1-1. ์ œ์•ฝ์กฐ๊ฑด ์—†์ด default ๊ฐ’์œผ๋กœ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

 

1-2. default ๊ฐ’์ด ์„ ์–ธ๋œ ์ปฌ๋Ÿผ์— insert ์ž‘์—…ํ•˜๊ธฐ 

      & default ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

1-3. default ๊ฐ’์„ ์•”์‹œ์ ์œผ๋กœ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

1-4. default ๊ฐ’์ด ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ปฌ๋Ÿผ์— default ์˜ต์…˜ ์‚ฌ์šฉ ์‹œ => null

 

1-5.  default๊ฐ’ ์‚ฌ์šฉํ•ด์„œ update ์ž‘์—…

 

* ์„œ๋ธŒ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•œ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์ž‘์—…(ํ…Œ์ŠคํŠธ์šฉ, ๋ฐฑ์—…์šฉ์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ)

 

* ํ˜•ํƒœ๋งŒ ๋ณต์‚ฌํ•˜๊ธฐ

 


2. ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •(alter table)

   ์ œ์•ฝ์กฐ๊ฑด ์œ ํ˜• : not null, unique, primarty, foreign key, check

 

2-1. not null ์ œ์•ฝ์กฐ๊ฑด

     : ์ปฌ๋Ÿผ์— null ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ œ์•ฝ์กฐ๊ฑด = > ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•˜๋Š” ์ปฌ๋Ÿผ์— ์ง€์ •

     : null ๊ฐ’ ์ €์žฅ ์‹œ ๊ณ ์ • ๊ธธ์ด ๋ฌธ์žํ˜•(char)์€ ๊ณต๊ฐ„์„ ๋ชจ๋‘ ์ฐจ์ง€,

     : ๊ฐ€๋ณ€๊ธธ์ด ๋ฌธ์žํ˜•(varchar)๋Š” ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜์ง€ x => null ๊ฐ’์ด ๋งŽ์ด ์ž…๋ ฅ๋˜๋Š” ์ปฌ๋Ÿผ์€ varchar์‚ฌ์šฉ์„ ๊ถŒ์žฅ

 

2-2. unique ์ œ์•ฝ์กฐ๊ฑด

      : ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’์„ ์ž…๋ ฅ

      : ์•„์ด๋””, ์ฃผ๋ฏผ๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ๋“ฑ์— ์‚ฌ์šฉ๋จ

 

2-3. primary key ์ œ์•ฝ์กฐ๊ฑด

      : ํ…Œ์ด๋ธ” ํ–‰์„ ์‹๋ณ„ํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š” ์ปฌ๋Ÿผ์— ์„ ์–ธํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด => ๋Œ€ํ‘œ์ปฌ๋Ÿผ

      : not null + unique

 

 * ์ปฌ๋Ÿผ, ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ๋ฌธ๋ฒ•

    ์ปฌ๋Ÿผ ๋ ˆ๋ฒจ ๋ฌธ๋ฒ• : not null, primary key, unique, check

    ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ๋ฌธ๋ฒ• : primary key, unique, check, foreign key

 

2-5. foreign key ์ œ์•ฝ์กฐ๊ฑด

      : ๋‘ ํ…Œ์ด๋ธ” ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์„ ์–ธ=> ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ด ์คŒ

      : ์ž๊ธฐ์ž์‹  ํ…Œ์ด๋ธ” or ๋‹ค๋ฅธํ…Œ์ด๋ธ”์˜ ํŠน์ • ์ปฌ๋Ÿผ์„ ์ฐธ์กฐ

      : primary key, unique ์ œ์•ฝ์กฐ๊ฑด์ด ์„ ์–ธ๋œ ์ปฌ๋Ÿผ๋งŒ ์ฐธ์กฐ ํ•  ์ˆ˜ ์žˆ์Œ

      : foregin key(์ปฌ๋Ÿผ๋ช…) references ์ฐธ์กฐํ•  ํ…Œ์ด๋ธ” ๋ช…(์ฐธ์กฐํ•  ์ปฌ๋Ÿผ๋ช…)

 

2-6. check ์ œ์•ฝ์กฐ๊ฑด

     : ํ•ด๋‹น ์ปฌ๋Ÿผ์ด ๋งŒ์กฑํ•ด์•ผํ•˜๋Š” ์กฐ๊ฑด์„ ์ง€์ •

   


๋‘ ์ปฌ๋Ÿผ ์กฐํ•ฉ ๊ฐ’์— primary key ์„ค์ •

  1. title ํ…Œ์ด๋ธ” ์ƒ์„ฑ

  *check ์ œ์•ฝ์กฐ๊ฑด

 

title_copy ํ…Œ์ด๋ธ” ์ƒ์„ฑ

2. copy_id์™€ title_id ์˜ ์กฐํ•ฉ ๊ฐ’์— primary key ๊ฐ’ ์ƒ์„ฑ

   constraint ์กฐํ•ฉ ๊ฐ’ ๋„ค์ด๋ฐ primary key(์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2)

๋ฐ˜์‘ํ˜•

'STUDY > DATABASE' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MYSQL - DDL(VIEW)  (0) 2022.05.13
MYSQL - ALTER  (0) 2022.05.10
MYSQL - ์—ฐ์Šต๋ฌธ์ œ(DML)  (0) 2022.05.02
MYSQL - TCL(ํŠธ๋žœ์žญ์…˜์ œ์–ด์–ด)  (0) 2022.05.02
MYSQL - DML_๋ฐ์ดํ„ฐ ์‚ญ์ œ(delete)  (0) 2022.05.02