- docker
- Unity
- merge sort
- MethodArgumentNotValidException
- node js
- mysql
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Spring
- Data Structure
- java error
- @CreatedDate
- Java
- spring์ผ๋ก https ์ ์ฉ
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- RP 2๊ธฐ
- GIT
- aligoapi
- C++
- spring ์์ ๋ก๊ทธ์ธ
- SQL
- SSL
- Rp2๊ธฐ
- ์์คํ ์ํํธ์จ์ด
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- MAKE US
- DATABASE
- datagrip
- Quick Sort
- OpenAPI
- ํจ์คํธ์บ ํผ์คX์ผ๋์
๋ชฉ๋กDATABASE (4)
YS's develop story
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ (Referential Integrity)์ด๋ ๋ฌด์์ธ๊ฐ? ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์์ 2๊ฐ์ ๊ด๋ จ ์๋ ๊ด๊ณ ๋ณ์ ๊ฐ์ ์ผ๊ด์ฑ์ ๋งํฉ๋๋ค '์ฃผ์ด์ง ์์ฑ ์งํฉ์ ๋ํด ํ ๊ด๊ณ์ ๋ํ๋๋ ๊ฐ์ด ๋ค๋ฅธ ๊ด๊ณ์์ ํน์ ์์ฑ ์งํฉ์ ๋ํด์๋ ๋ํ๋๋๋ก ๋ณด์ฅํด์ผ ํ๋ค'๋ผ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ต์ฌ์ ๋์ ์๋ค์. ์ฆ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด๋ ๊ธฐ๋ณธํค์ ์ฐธ์กฐ ํค ๊ฐ์ ๊ด๊ณ๊ฐ ํญ์ ์ ์ง๋๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด ๊ต์ ํ ์ด๋ธ์ departmentName์ด Foreign key์ด๊ณ ๊ทธ ๊ฐ์ด 'Biology'์ด๋ฉด ์ค์ ๋ก ํ๊ณผ ํ ์ด๋ธ์ 'Biology'๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ ํญ์ ๊ฐ์์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ด๊ณ๊ฐ ์ ์ง๋๋๋ก ํ๋ ๊ฒ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด๋ผ๊ณ ํฉ๋๋ค. ์์ ๊ฐ์ ํํ์ ์ถ๊ฐํ..
Select์ ์์ ์ฌ์ฉํ ์ ์๋ ์๋ธ ์ฟผ๋ฆฌ Scalar Subquery Scalar Subquery ํน์ง ํ ๊ฐ์ single value๋ฅผ ๋ฐํํ๋ Select์ ์ ์๋ธ ์ฟผ๋ฆฌ์ ๋๋ค. ๋ง์ฝ Scalar Subquery๋ฅผ ์ด์ฉํ์ฌ ํ ๊ฐ ๋ณด๋ค ๋ง์ column์ ์ถ๋ ฅํ๊ณ ์ ํ๋ค๋ฉด Runtime error๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. Scalar Subquery๋ ํ ์ด๋ธ์์ column ๊ฐ์ ์กฐํํ ๋ ๋ถํ์ํ Join์ ํ์ง ์๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. Scalar Subquery๋ ํด๋นํ๋ ๊ฐ์ด ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ null์ ๋ฐํํฉ๋๋ค. Scalar Subquery ์์ ์๋์ ๊ฐ์ด ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์์ต๋๋ค. Community ํ ์ด๋ธ CommunityReply ํ ์ด๋ธ SELECT contentName, (SELECT..
Cartesian Product SELECT * FROM instructor, teaches from์ ์ ์์ ๊ฐ์ด ํ ์ด๋ธ์ ๋ ๊ฐ ์ฐ๊ฒ ๋๋ค๋ฉด ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ผ๋ก ํ ์ด๋ธ์ ์ด์ด ๋ถ์ฌ์ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค. ์ผ์ชฝ์ classroom ํ ์ด๋ธ, ์ค๋ฅธ์ชฝ์ department ํ ์ด๋ธ์ ๋๋ค. classroom๊ณผ departmentํ ์ด๋ธ์ Cartesian product๋ฅผ ์งํํ์ต๋๋ค. SELECT * FROM classroom,department Cartesian Product๋ ์ด ๊ธฐ๋ฅ ํ๋๋ง์ผ๋ก ์ ์ฉํ์ง ์์ต๋๋ค. ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ผ๋ก ํ ์ด๋ธ์ ์ด์ด ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ฐ์๋ ํํ๋ค์ด ๋ง์ด ์์ฑ๋ฉ๋๋ค. ํ์ง๋ง Whereํค์๋์ ํจ๊ป ์ฌ์ฉํ๋ค๋ฉด ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋..
ํธ๋์ญ์ ์ ์๋ฏธ ๋ฐ Node MySQL Transactions ์ ์ฉํด๋ณด๊ธฐ 3ํ๋ ์ ๊ณต ํ์๊ณผ๋ชฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค.. ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ธ Transactions์ ๋ํด ์์๋ด ์๋ค transaction์ ์ฌ๋ฌ ๊ฐ์ ์ฐ์๋ ์ฟผ๋ฆฌ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ํ๋์ ์์ ์ฒ๋ผ ์๋ํด์ผ ํฉ๋๋ค. SQL standard๋ SQL ๋ฌธ์ด ์คํ๋ ๋ ํธ๋์ญ์ ์ด ์์์ ์ผ๋ก ์์๋๋๋ก ์ง์ ํด์ค๋๋ค. ํธ๋์ญ์ ์ ์๋์ ์์ ์ค ํ๋์ ์ํ๋ก ๋๋์ผ ํฉ๋๋ค. Commit work ํธ๋์ญ์ ์ด ์์๋ถํฐ ๋๋ ๋ ๋๊น์ง ์ํ๋์๋ ๋ชจ๋ ์ฟผ๋ฆฌ๋ฌธ๋ค์ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ Rollback work ํธ๋์ญ์ ์ด ์์๋ถํฐ ๋๋ ๋๊น์ง ์ํ๋์๋ ์์ ๋ค์ ๋ชจ๋ ์ทจ์ํ๋ ๊ฒ ํธ๋์ญ์ ์ ์์์ฑ ์์ ํ ์คํ๋๊ฑฐ๋ (Commit) ๋ฐ์ํ์ง ์..