
โ Chapter 2 ๊ด๊ณํ ๋ชจ๋ธ ์๊ฐ
Relational Terminology ์ ๋ฆฌ
- Database: ๊ณ ์ ํ ์ด๋ฆ์ ๊ฐ์ง ํ ์ด๋ธ/๋ฆด๋ ์ด์ ์ ๋ชจ์
- Relation = table
- schema: ๋ ผ๋ฆฌ์ ์ค๊ณ (๋ฉํ ๋ฐ์ดํ, ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ), ๋ณํ์ง ์๋๋ค
- instance: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ์ ์ค๋ ์ท, ์์ฃผ ๋ณํ๋ค.
- Attribute = Column = Field
- Tuple = Record = Row
์ฑ ์์ ์ฌ์ฉํ๋ terminoloy ์ ๋ฆฌ - Relational Algebra (๊ด๊ณ ๋์)

์ ํ ์ฐ์ฐ(selection) = ๊ทธ๋ฆฌ์ค ์๋ฌธ์ ์๊ทธ๋ง(ฯ) // ์ฐธ๊ณ ๋ก ์๊ทธ๋ง์ ๊ทธ๋ฆฌ์ค ๋๋ฌธ์๋ โ ์ด๋ค
์ถ์ถ ์ฐ์ฐ(project) = ๊ทธ๋ฆฌ์ค ๋๋ฌธ์ ํ์ด(ฮ )
- unary operation that returns its argument relation, with certain attributes left out
์กฐ์ธ ์ฐ์ฐ(join) = โฮธ // Natural join = โ Theta join = โฮธ
- ์ ํ๊ณผ ์นดํฐ์ ๊ณฑ์ ํ๋์ ์ฐ์ฐ์ผ๋ก ํฉ์น ๊ฒ
- r โฮธ s = ฯฮธ(r ร s)
- ฯinstructor.ID=teaches.ID(instructor ร teaches) ์ด๊ฑด instructor โinstructor.ID=teaches.ID teaches ์ด๊ฒ๊ณผ ๋์ผํ๋ค
์งํฉ ์ฐ์ฐ(set)
- ํฉ์งํฉ(union) = โช
- โง : conjunction ๊ธฐํธ์ด๊ณ and ๋ก ์ฝ์ ์ ์๋ค
- ํฉ์งํฉ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ ค๋ฉด, 1. ๋ฆด๋ ์ด์ r๊ณผ s๋ ๊ฐ์ ์์ ์์ฑ์ ๊ฐ์ ธ์ผ ํ๋ฉฐ, 2. ๋ฆด๋ ์ด์ r์ i๋ฒ์งธ ์์ฑ์ ๋๋ฉ์ธ๊ณผ ๋ฆด๋ ์ด์ s์ i๋ฒ์งธ ์์ฑ์ ๋๋ฉ์ธ์ ์๋ก ๊ฐ์์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๋ฆด๋ ์ด์ ์ ํธํ ๊ฐ๋ฅํ ๋ฆด๋ ์ด์ (compatible relation)์ด๋ผ๊ณ ํ๋ค
- ์ธ์(arity) : ๋ฆด๋ ์ด์ ์์ ์์ฑ์ ๊ฐ์
- ๊ต์งํฉ(intersection) = โฉ
- ์ฐจ์งํฉ(set-difference) = โ
๋ฐฐ์ ์ฐ์ฐ(assignment) = โ
์ฌ๋ช ๋ช ์ฐ์ฐ(rename) = ๊ทธ๋ฆฌ์ค ์๋ฌธ์ rho(ฯ)
โ Chapter 3, 4, 5 SQL
check ์
- check(p) ์ ์ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํํ์ด ์ถฉ์กฑํด์ผ ํ๋ ์ ์ด P๋ฅผ ๋ช ์ํ๋ค
- ์๋ฅผ ๋ค์ด, check (semester in ('Fall', 'Winter', 'Spring', 'Summer')) ์ด๋ ๊ฒ semester๊ฐ ์ ์๋ ์ด๊ฑฐํ ํ์ (enumerated type)์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ ๋ ์๋ ์๋ค
coalesce ํจ์
- ์ง์ ๊ฒฐ๊ณผ์์ ์ด๋ป๊ฒ null ๊ฐ์ ์ถ๋ ฅํ ์ง ์ ํํ ์ ์๋ค
- ์) select ID, coalesce(salary, 0) as salary ๋ ๊ธ์ฌ๊ฐ null์ผ ๊ฒฝ์ฐ 0์ผ๋ก ํ์ํ๋ค
- coalesce ํจ์์ ํ๊ณ๋ ๋ชจ๋ ์ธ์๊ฐ ๋์ผํ ํ์ ์ด์ด์ผ ํ๋ค
์ธ๋ฑ์ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฆด๋ ์ด์ ์์ฑ์ ํน์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ํํ์ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํํ์ ์ดํด๋ณด์ง ์๊ณ ๋ ํจ๊ณผ์ ์ผ๋ก ์ฐพ์ ์ ์๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค
- ์ค๋ณต ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ ์คํค๋ง๊ฐ ์๋ ๋ฌผ๋ฆฌ ์คํค๋ง์ ์ผ๋ถ์ด๋ค

'์คํฐ๋ > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS186] Introduction to Database Systems - Week 6 (0) | 2023.06.03 |
---|---|
[CS186] Introduction to Database Systems - Week 5 (0) | 2023.05.27 |
[CS186] Introduction to Database Systems - Week 4 (0) | 2023.05.20 |
[CS186] Introduction to Database Systems - Week 3 (0) | 2023.05.13 |
[CS186] Introduction to Database Systems - Week 2 (0) | 2023.05.06 |
๋๊ธ