[DB] πŸ•΅οΈ ν…Œμ΄λΈ”(Table) μš©μ–΄ 정리

ν•΄λ‘±κ·ΈΒ·2023λ…„ 4μ›” 24일
0

λ°μ΄ν„°λ² μ΄μŠ€

λͺ©λ‘ 보기
4/9

ν…Œμ΄λΈ” κ΄€λ ¨ μš©μ–΄

듀어가기에 μ•žμ„œ..

πŸ’‘ Relationκ³Ό Table의 차이

μ–΄λ–€ μ±…μ˜ 경우 "λ¦΄λ ˆμ΄μ…˜ = ν…Œμ΄λΈ”" 이라고 λ˜μ–΄μžˆλ‹€. ν•˜μ§€λ§Œ 사싀상 λ¦΄λ ˆμ΄μ…˜μ€ ν…Œμ΄λΈ”κ³ΌλŠ” μ•½κ°„ λ‹€λ₯΄λ‹€. 결둠적으둜 λ§ν•˜μžλ©΄ λ¦΄λ ˆμ΄μ…˜μ€ λͺ¨λ‘ ν…Œμ΄λΈ”μ΄μ§€λ§Œ, λͺ¨λ“  ν…Œμ΄λΈ”μ΄ λ‹€ λ¦΄λ ˆμ΄μ…˜μ€ μ•„λ‹ˆλΌλŠ” 이야기닀.

ν…Œμ΄λΈ”μ΄ λ¦΄λ ˆμ΄μ…˜μ΄ 되기 μœ„ν•΄μ„œλŠ” ν…Œμ΄λΈ”μ˜ 행듀이 κ°œμ²΄μ— λŒ€ν•œ 데이터λ₯Ό μ €μž₯ν•΄μ•Όν•˜κ³ , ν…Œμ΄λΈ”λ“€μ˜ 열이 κ·Έ κ°œμ²΄λ“€μ˜ νŠΉμ„±μ— λŒ€ν•œ 데이터λ₯Ό μ €μž₯ν•΄μ•Ό ν•œλ‹€. λ¦΄λ ˆμ΄μ…˜μ€ ν•œ μ—΄μ˜ λͺ¨λ“  값듀이 λ™μΌν•œ μ’…λ₯˜μ—¬μ•Ό ν•œλ‹€.

예λ₯Ό λ“€μ–΄ μ–΄λ–€ λ¦΄λ ˆμ΄μ…˜μ˜ 첫번째 ν–‰μ˜ λ‘λ²ˆμ§Έ 열이 FirstName을 가진닀면 κ·Έ λ¦΄λ ˆμ΄μ…˜μ˜ λͺ¨λ“  ν–‰μ˜ λ‘λ²ˆμ§Έ 열도 FistName을 κ°€μ Έμ•Ό ν•œλ‹€. λ˜ν•œ μ—΄μ˜ 이름은 μœ μΌν•΄μ•Ό ν•œλ‹€. 즉 동일 λ¦΄λ ˆμ΄μ…˜μ— μ†ν•œ 두 열은 같은 이름을 κ°€μ§ˆ 수 μ—†λ‹€.
λ¦΄λ ˆμ΄μ…˜μ˜ 각 Cell은 λ‹¨μΌν•œ κ°’ λ˜λŠ” ν•­λͺ©λ§Œ 가진닀. 닀쀑 ν•­λͺ©μ€ ν—ˆμš©λ˜μ§€ μ•ŠλŠ”λ‹€. (제 1 μ •κ·œν™”)
λ§ˆμ§€λ§‰μœΌλ‘œ 주어진 ν…Œμ΄λΈ”μ΄ λ¦΄λ ˆμ΄μ…˜μ΄ 되기 μœ„ν•΄μ„œλŠ” λ™μΌν•œ 행이 μ‘΄μž¬ν•˜λ©΄ μ•ˆλœλ‹€.

κ°„λ‹¨ν•œ 예λ₯Ό λ“€λ©΄

μœ„μ˜ ν‘œλŠ” ν…Œμ΄λΈ”μ΄μ§€λ§Œ λ¦΄λ ˆμ΄μ…˜μ€ μ•„λ‹ˆλ‹€.
μ‚¬μ›λ²ˆν˜Έ 300의 μ˜€λŒμ΄κ°€ 볡수둜 ν…Œμ΄λΈ” μ•ˆμ— μ €μž₯λ˜μ–΄ 있기 λ•Œλ¬Έμ΄λ‹€.
λ¦΄λ ˆμ΄μ…˜μ˜ νŠΉμ„±μ—μ„œ "μ–΄λ–€ λ‘κ°œμ˜ 행도 λ™μΌν•˜μ§€ μ•ŠμŒ" 을 μœ„λ°°ν–ˆλ‹€.

또 ν•˜λ‚˜μ˜ 예λ₯Ό λ“€λ©΄

이 ν‘œλ„ μ—­μ‹œ ν…Œμ΄λΈ”μ΄μ§€λ§Œ λ¦΄λ ˆμ΄μ…˜μ€ μ•„λ‹ˆλ‹€.
λ¦΄λ ˆμ΄μ…˜μ˜ νŠΉμ„±μ—μ„œ "ν…Œμ΄λΈ”μ˜ 셀은 단일 값을 ν¬ν•¨ν•œλ‹€."λ₯Ό μœ„λ°°ν–ˆλ‹€.

λ¦΄λ ˆμ΄μ…˜

νŠœν”Œ(ν–‰)λ“€μ˜ μ§‘ν•©μœΌλ‘œ, 데이터 κ°„μ˜ 관계λ₯Ό ν…Œμ΄λΈ”(Table) ꡬ쑰둜 λ‚˜νƒ€λ‚΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€
ν‘œ = λ¦΄λ ˆμ΄μ…˜

  • 각 λ¦΄λ ˆμ΄μ…˜μ€ 였직 ν•˜λ‚˜μ˜ λ ˆμ½”λ“œ νƒ€μž…λ§Œ 포함 (ν–‰ μ΄λ‹ˆκΉŒ..)
  • ν•œ μ• νŠΈλ¦¬λ·°νŠΈ λ‚΄μ˜ 값듀은 λͺ¨λ‘ 같은 μœ ν˜•μ΄λ©° μœ μΌν•œ 이름을 가짐
  • 각 μ• νŠΈλ¦¬λ·°νŠΈμ˜ 이름은 ν•œ λ¦΄λ ˆμ΄μ…˜ λ‚΄μ—μ„œλ§Œ κ³ μœ ν•˜λ©΄ 됨
  • μ• νŠΈλ¦¬λ·°νŠΈ(μ—΄)λ“€μ˜ μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŒ : μ§‘ν•©μ—μ„œ μˆœμ„œλŠ” 의미 X !!
  • νŠœν”Œ(ν–‰)λ“€μ˜ μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŒ
  • μ–΄λ–€ λ‘κ°œμ˜ νŠœν”Œλ„ λ™μΌν•˜μ§€ μ•ŠμŒ -> ν‚€κ°€ 쑴재!
  • ν•œ νŠœν”Œμ˜ 각 μ• νŠΈλ¦¬λ·°νŠΈλŠ” μ›μžκ°’(리슀트)λ₯Ό 가짐

λ¦΄λ ˆμ΄μ…˜ ν‚€

각 νŠœν”Œμ„ κ³ μœ ν•˜κ²Œ 식별할 수 μžˆλŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ• νŠΈλ¦¬λ·°νŠΈλ“€μ˜ λͺ¨μž„

  • 두 λ¦΄λ ˆμ΄μ…˜μ„ μ„œλ‘œ μ—°κ΄€μ‹œν‚¬ λ•Œ μ‚¬μš©
  • 인덱슀λ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©

λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ(relation schema) - 내포

λ¦΄λ ˆμ΄μ…˜μ˜ 이름과 λ¦΄λ ˆμ΄μ…˜μ˜ μ• νŠΈλ¦¬λ·°νŠΈ(속성)λ“€μ˜ 집합
ν‘œκΈ°λ²• : λ¦΄λ ˆμ΄μ…˜μ΄λ¦„(속성1, 속성2, ..., 속성n)

λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€(relation instance) - μ™Έμ—°

λ¦΄λ ˆμ΄μ…˜μ˜ μ–΄λŠ μ‹œμ μ— λ“€μ–΄μžˆλŠ” νŠœν”Œλ“€μ˜ 집합, μ‹œκ°„μ˜ 흐름에 따라 계속 변함
일반적으둜 λ¦΄λ ˆμ΄μ…˜μ—λŠ” ν˜„μž¬μ˜ μΈμŠ€ν„΄μŠ€λ§Œ μ €μž₯!
⭐⭐⭐⭐⭐⭐⭐
내포 = μŠ€ν‚€λ§ˆ
μ™Έμ—° = μΈμŠ€ν„΄μŠ€

⭐⭐⭐⭐⭐⭐⭐

Tuple(=Record)

ν…Œμ΄λΈ”μ—μ„œ 행을 μ˜λ―Έν•˜λ©°, νŠœν”Œμ€ λ¦΄λ ˆμ΄μ…˜μ—μ„œ 같은 값을 κ°€μ§ˆ 수 μ—†λ‹€.
νŠœν”Œμ˜ 수 = 카디널리티(Cardinality)

Attribute(=Field)

ν…Œμ΄λΈ”μ—μ„œ 열을 μ˜λ―Έν•˜λ©°, μΉΌλŸΌμ΄λΌκ³ λ„ 함
μ• νŠΈλ¦¬λ·°νŠΈμ˜ 수 = 디그리(Degree, 차수)

Domain(도메인)

ν•œ μ• νŠΈλ¦¬λ·°νŠΈμ— λ‚˜νƒ€λ‚  수 μžˆλŠ” κ°’λ“€μ˜ 집합
λ™μΌν•œ 도메인이 μ—¬λŸ¬ μ• νŠΈλ¦¬λ·°νŠΈμ—μ„œ μ‚¬μš©λ  수 있음

Cardinality(카디널리티, 기수)

λ¦΄λ ˆμ΄μ…˜μ˜ νŠœν”Œμ˜ 개수
μœ νš¨ν•œ λ¦΄λ ˆμ΄μ…˜μ€ 카디널리티 0을 κ°€μ§ˆ 수 있고, μ‹œκ°„μ— 지남에 따라 κ³„μ†ν•΄μ„œ 변함 (데이터 μΆ”κ°€, μ‚­μ œν•˜λ©΄ λ³€λ™λ˜λ‹ˆκΉŒ!)

Degree(디그리, 차수)

ν•œ λ¦΄λ ˆμ΄μ…˜(ν…Œμ΄λΈ”)에 λ“€μ–΄μžˆλŠ” μ• νŠΈλ¦¬λ·°νŠΈμ˜ 수
μœ νš¨ν•œ λ¦΄λ ˆμ΄μ…˜ μ΅œμ†Œ μ°¨μˆ˜λŠ” 1이고(속성은 μ—†μœΌλ©΄ μ•ˆλ¨!! 무쑰건 1개 이상!), μ°¨μˆ˜λŠ” 자주 λ°”λ€Œμ§€ μ•ŠμŒ (정해놓은 속성을 자주 λ°”κΎΈμ§€λŠ” μ•ŠμœΌλ‹ˆκΉŒ)

NULL κ°’μ˜ 3가지 의미

  1. λΆ€μ μ ˆν•œ κ°’
  2. μ μ ˆν•˜μ§€λ§Œ, μ•Œλ €μ§€μ§€ μ•Šμ€ κ°’
  3. μ μ ˆν•œ 값이고 μ•Œλ €μ§„ κ°’μ΄μ§€λ§Œ, λ°μ΄ν„°λ² μ΄μŠ€μ— μž…λ ₯ν•˜μ§€ μ•Šμ€ κ°’

Reference
좜처: ν…Œμ΄λΈ”/λ¦΄λ ˆμ΄μ…˜ 차이점
좜처: μš©μ–΄ 정리

profile
μ‚¬λž‘μ•„ 컴퓨터해 ~

0개의 λŒ“κΈ€