๋ฐ์ดํฐ๋ฒ ์ด์ค(28)
-
[Database] Transaction๊ณผ Trigger
1. Transaction ํธ๋์ญ์ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ์ํ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ๋ค์ ์๋ฏธํ๋ค. ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์์ด๋ค. 2. Transaction ํน์ง 1๏ธโฃ ์์์ฑ Automicity ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋ ํน์ ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค. 2๏ธโฃ ์ผ๊ด์ฑ Consistency ํธ๋์ญ์ ์ด ์คํ์ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋ณํํ๋ค. ํธ๋์ญ์ ์ ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ ํญ์ ์ผ๊ด์ฑ ์์ด์ผ ํ๋ค. 3๏ธโฃ ๋ ๋ฆฝ์ฑ, ๊ฒฉ๋ฆฌ์ฑ (Isolation) ๋ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ๋ณํ ์คํ๋๋ ๊ฒฝ์ฐ ์ด๋ ํ๋์ ํธ๋์ญ์ ..
2021.10.13 -
[Database] ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํค ์ข ๋ฅ (๊ธฐ๋ณธํค, ํ๋ณดํค, ์ธ๋ํค, ์ํผํค, ๋์ฒดํค)
1. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํค (key) ๋? ํค (key) ๋ ํค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ์ ์ฐพ๊ฑฐ๋ ์์๋๋ก ์ ๋ ฌํ ๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ๋งํ๋ค. ํค๋ ์ฃผ์ด์ง ๋ฆด๋ ์ด์ ์์ ๋ชจ๋ ์ธ์คํด์ค ๊ฐ์ด๋ฐ ์ ์ผํจ์ ๋ณด์ฅํด์ฃผ๋ ํ๋ ์ด์์ ์์ฑ ์งํฉ์ผ๋ก, ์๋ณ์๋ผ๊ณ ๋ ํ๋ค. 2. ํค์ ์์ฑ ํค๋ ์ฐ์ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ด๋ผ๋ ์์ฑ์ด ์๋ค. - ์ ์ผ์ฑ (Uniqueness) : ํ๋์ ํค ๊ฐ์ผ๋ก ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ฑ์ง์ ์๋ฏธํ๋ค. - ์ต์์ฑ (Minimality) : ํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค ๊ผญ ํ์ํ ์ต์ํ์ ์์ฑ๋ค๋ก๋ง ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ฑ์ง์ ์๋ฏธํ๋ค. 3. ํ๋ณดํค (Candidate key) ํ๋ณดํค๋ ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค์์ ํํ์ ์ ์ผํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ๋ถ๋ถ์ง..
2021.10.13 -
[Database] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ๋?
DB ๊ณต๋ถ๋ฅผ ๋ค์ ์์ํ๋ฉด์ ๊ธฐ๋ณธ์ธ ์ ๊ทํ๋ฅผ ๊ณต๋ถํ๋ค. 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ๋? ์ ๊ทํ (Normalization) ์ด๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ, ์ต์ํ์ ๋ฐ์ดํฐ ์ค๋ณต, ์ต๋ํ์ ๋ฐ์ดํฐ ์ ์ฐ์ฑ์ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๊ณผ์ ์ ๋งํ๋ค. ์ฆ, ์ ๊ทํ์ ๊ธฐ๋ณธ ๋ชฉํ๋ ํ ์ด๋ธ ๊ฐ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์์์ผ๋ก์จ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋๋ฐ์ ์๋ค. 2. ์ 1 ์ ๊ทํ ์ 1 ์ ๊ทํ์ ํ ์ด๋ธ์ ์ปฌ๋ผ์ด ์์๊ฐ(Automic Value) , ํ๋์ ๊ฐ์ ๊ฐ๋๋ก ํ ์ด๋ธ์ ๋ถํดํ๋ ๊ฒ์ด๋ค. ์ฌ์ง์ ํ์์ ๋ณด๋ฉด ์๊ฐ Table ์ 201700001๊ณผ 201700004 ํ๋ฒ์ ์์ ์ด ๋๊ฐ์ฉ ์กด์ฌํ๋ ๊ฒ์ ๋ณผ ์์๋ค. ํ ์ด๋ธ์ด ์์๊ฐ์ ๊ฐ๊ธฐ ์ํด์ ์์ ํ ์ด๋ธ ์ฒ๋ผ ๋ฐ๊ฟ์ค์ผํ๋ค. 3. ์ 2 ์ ๊ทํ ์ 2 ์ ๊ทํ์ ๋ถ๋ถ ํจ์ ์ข ์์ฑ..
2021.10.13 -
Eclipse(์ดํด๋ฆฝ์ค)์์ ERMaster ํ๋ฌ๊ทธ์ธ ์ค์นํ๋ ๋ฐฉ๋ฒ
JDBC๋ฅผ ๊ณต๋ถํ๋ฉด์ ER ๋ค์ด์ด๊ทธ๋จ ์์ฑ์ ์ํด์ ERMaster ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์ Eclipse์์ ํ๋ฌ๊ทธ์ธ ์ค์น๋ฅผ ํด์ผํ๋ค. 1. ์ดํด๋ฆฝ์ค์ ๋ค์ด๊ฐ์ Help -> Install New Software ํด๋ฆญํ๋ค. 2. ์ฌ์ง์ Grop items by category ์ฒดํฌํ์๋๊ฑธ ํด์ ํ๊ณ Add ๋ฒํผ ๋๋ฅด๊ธฐ 3. Name์ "ERMaster" Locationdp "https://justinkwony.github.io/ermaster-nhit/update-site/" ์ ๋ ฅ ํ Add ๋ฒํผ ํด๋ฆญ 4. Next ๋ฒํผํด๋ฆญํ๋ฉด ์ค์น ์์ํ๋ค! ์ค๊ฐ์ ๊ฒฝ๊ณ ? ๊ฐ ํ๋ฒ ๋ฐ๊ฑด๋ฐ install anyway ๋๋ฅด๋ฉด ๋๋ค ใ ใ 5. ํ ์ด๋ธ ์์ฑํด๋ณด๊ธฐ ์ฌ๊ธฐ์ ์ํ๋ ํ์๋๋ก ์ ๋ ฅํ๊ณ ok ๋ฒํผ ๋๋ฅด..
2021.03.24