λ°˜μ‘ν˜•
kkh1902
Steadily
kkh1902
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (151)
    • πŸ“š Study (1)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • πŸ’» Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • βš’οΈ Etc (4)
      • Error (3)
      • Trouble_Shooting (1)
    • πŸ“° News (0)
      • daily (7)
      • think (17)
    • πŸ“˜ Hobby (13)
      • English (13)
    • πŸ€– AI (7)
      • ML (7)

λΈ”λ‘œκ·Έ 메뉴

  • πŸ“‹ 이λ ₯μ„œ
  • ⚑️ κΉƒν—ˆλΈŒ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • git
  • gitaction
  • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 #projectλ§Œλ“€λ•Œ μ€‘μš”
  • SpringBootTest
  • junit5
  • React JS # μžμŠ΅μ„œ # Component와 Props
  • React JS #μžμŠ΅μ„œ
  • think #bootstrap을 μ¨μ•Όν•˜λŠ” 이유
  • React # JSX
  • React JS # 2 The Basic of React
  • testcode
  • Flutter
  • sourcetreee
  • db
  • Linear Regression
  • Qr_payment project # CSS 해석 # Basic λ§¨μœ„ 해석
  • git stash
  • Wonder # word
  • Reactλ₯Ό λ°°μ›Œμ•Όν•˜λŠ” 이유
  • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 # chapter1

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

250x250
hELLO Β· Designed By μ •μƒμš°.
κΈ€μ“°κΈ° / κ΄€λ¦¬μž
kkh1902

Steadily

πŸ’» Computer Science/DB

[섀계 및 ꡬ좕]PART 01 λ°μ΄ν„°λ² μ΄μŠ€ κ°œμš” 1μž₯

2022. 2. 2. 20:40
728x90
λ°˜μ‘ν˜•

ν•™μŠ΅ λͺ©ν‘œ

  • λ°μ΄ν„°λ² μ΄μŠ€μ˜ κΈ°λ³Έ κ°œλ…μ— λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.
  • μ •λ³΄μ‹œμŠ€ν…œμ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ˜ 역할에 λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.
  • μ •λ³΄μ‹œμŠ€ν…œ ꡬ좕 μ ˆμ°¨μ™€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ 섀계 μ ˆμ°¨μ™€μ˜ 관계성을 μ΄ν•΄ν•œλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ„€κ³„ν•œλ‹€λŠ” 것이 무엇인지λ₯Ό μ΄ν•΄ν•œλ‹€.
  • 좔상화 κ³Όμ •μœΌλ‘œμ„œμ˜ 데이터 λͺ¨λΈλ§μ— λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.

제 1μž₯ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ£Όμš” κ°œλ…

단원 λͺ©ν‘œ

  • λ°μ΄ν„°λ² μ΄μŠ€μ˜ ν•„μš”μ„±μ— λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.
  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ κΈ°λ³Έ μš©μ–΄λ₯Ό μ΅νžŒλ‹€.
  • 기본킀와 μ™Έλž˜ν‚€μ˜ κ°œλ…μ„ μ΄ν•΄ν•œλ‹€.
  • 기본적인 SQL 문법을 μˆ™μ§€ν•œλ‹€.

컴퓨터 λΆ„μ•Όμ—μ„œ μ–΄λ–€ κ°œλ…μ„ μ΄ν•΄ν•˜κ³ μž ν•  λ•Œ 쒋은 방법 μ€‘μ˜ ν•˜λ‚˜λŠ” κ·Έ κ°œλ…μ΄ λ‚˜μ˜€κ²Œ 된 λ°°κ²½κ³Ό 역사λ₯Ό μ‚΄νŽ΄λ³΄λŠ” 것이닀.

1.1. λ°μ΄ν„°λ² μ΄μŠ€μ˜ 역사

1.1.1 파일 μ‹œμŠ€ν…œμ˜ μœ„κΈ°

  • νŒŒμΌμ‹œμŠ€ν…œ: νŒŒμΌμ— κΈ°μ΄ˆν•˜μ—¬ μžλ£Œλ‚˜ 정보λ₯Ό μ²˜λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ
  • κ°œλ³„ μ‘μš©ν”„λ‘œκ·Έλž¨μ΄ 직접 νŒŒμΌμ— μ ‘κ·Όν•˜μ—¬ 기둝, κ°±μ‹ , μ‚­μ œλ₯Ό ν•  수 있으며, νŒŒμΌμ— μžˆλŠ” λ°μ΄ν„°μ˜ μ˜¬λ°”λ₯Έ κ΄€λ¦¬μ—¬λΆ€λŠ” μ „μ μœΌλ‘œ μ‘μš©ν”„λ‘œκ·Έλž¨μ— λ‹¬λ €μžˆλ‹€.
  • 문제점
    • 데이터 쒅속성 (data dependency)
      • 데이터λ₯Ό μ‚¬μš©ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ˜ ꡬ쑰가 데이터 ꡬ쑰(파일 ꡬ쑰)의 영ν–₯을 λ°›λŠ”λ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.
      • λ°μ΄ν„°μ˜ ꡬ쑰 변화에 따라 μ‘μš©ν”„λ‘œκ·Έλž¨μ΄ 영ν–₯을 받을 λ•Œ ‘ν”„λ‘œκ·Έλž¨μ΄ 데이터에 μ’…μ†λ˜μ–΄ μžˆλ‹€’ 라고 λ§ν•œλ‹€.
    • 데이터 무결성 (data integrity)의 μΉ¨ν•΄
      • μ €μž₯된 λ°μ΄ν„°μ˜ λ‚΄μš©μ΄ 본래 μ˜λ„ν–ˆλ˜ λ°μ΄ν„°μ˜ ν˜•μ‹, λ²”μœ„λ₯Ό μ€€μˆ˜ν•΄μ•Ό ν•œλ‹€λŠ” μ„±μ§ˆμ΄λ‹€.
    • 데이터 쀑볡성 (data redundancy)
      • 같은 λ‚΄μš©μ˜ 데이터가 μ—¬λŸ¬ 곳에 μ€‘λ³΅ν•˜μ—¬ μ €μž₯λ˜λŠ” 것을 μ˜λ―Έν•œλ‹€.
    • 데이터 뢈일치 (data inconsistency)
      • 쀑볡 μ €μž₯된 데이터듀이 μ„œλ‘œ μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 것을 μ˜λ―Έν•œλ‹€.
    • 데이터 ν‘œμ€€ν™” (data standard)의 어렀움
    • 데이터 λ³΄μ•ˆμ„± (data security)의 κ²°μ—¬

1.1.2 λ°μ΄ν„°λ² μ΄μŠ€μ˜ λ“±μž₯

μ² ν•™

  1. 파일 ν˜•νƒœλ‘œ 여기저기에 흩어져 μžˆλŠ” 데이터,정보듀을 ν•˜λ‚˜λ‘œ λͺ¨μ•„ κ΄€λ¦¬ν•˜μž.
  2. μ‘μš©ν”„λ‘œκ·Έλž˜λ¨Έλ“€μ΄ 운영체제λ₯Ό 톡해, μ‹œμŠ€ν…œ μžμ›μ„ μ΄μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ λͺ¨μ•„놓은 데이터듀을 κ΄€λ¦¬ν•˜κ³  μ‚¬μš©μž(μ‘μš©ν”„λ‘œκ·Έλž¨)와 데이터 사이에 μΈν„°νŽ˜μ΄μŠ€ 역할을 ν•  수 μžˆλŠ” S/Wλ₯Ό λ§Œλ“€μžλŠ” 것이닀. → μ΄λ•Œ λͺ¨μ•„놓은 λ°μ΄ν„°μ˜ μ§‘ν•©: λ°μ΄ν„°λ² μ΄μŠ€(database)
  3. λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ(DBMS: Database Management System): 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” S/W
  4. λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œ : λ°μ΄ν„°λ² μ΄μŠ€μ— κΈ°μ΄ˆν•΄μ„œ λ°μ΄ν„°λ‚˜ 정보λ₯Ό μ²˜λ¦¬ν•˜λŠ” 체제

λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ˜ νŠΉμ§•

  1. 데이터 독립성(independency) 지원
  2. 데이터 무결성 μœ μ§€
    1. λ°μ΄ν„°λ² μ΄μŠ€ 내에 μ €μž₯될 데이터에 λŒ€ν•˜μ—¬ λ°μ΄ν„°μ˜ νƒ€μž…, 길이, κ°’μ˜ λ²”μœ„ 등에 λŒ€ν•œ 정보λ₯Ό κ°€μ§€κ³  μžˆλ‹€.
  3. 데이터 쀑볡성 및 뢈일치 μ΅œμ†Œν™”
  4. 데이터 ν‘œμ€€ν™”μ˜ μš©μ΄μ„±
  5. 높은 데이터 λ³΄μ•ˆμ„±
  6. 데이터 곡유(data sharing)의 μš©μ΄μ„±

1.1.3 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ λͺ¨λΈ

  • νŠΉμ§•: 데이터가 ν…Œμ΄λΈ” ν˜•νƒœλ‘œ ν‘œν˜„

1.2 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€ μš©μ–΄

  • λ¦΄λ ˆμ΄μ…˜(relation)
    • ν…Œμ΄λΈ”μ΄λΌκ³  μ§€μΉ­ν–ˆμ „ κ²ƒμœΌλ‘œ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 정보λ₯Ό κ΅¬λΆ„ν•˜μ—¬ μ €μž₯ν•˜λŠ” κΈ°λ³Έ λ‹¨μœ„κ°€ λœλ‹€.
  • 속성(attribute)
    • ν‘œν˜„ν•  개체의 ꡬ체적인 정보 ν•­λͺ©μ— ν•΄λ‹Ήν•˜λŠ” 것이닀.
  • νŠœν”Œ(tuple)
    • κ°œμ²΄μ— μ†ν•œ ꡬ성원듀 개개인의 정보λ₯Ό ν‘œν˜„ν•œλ‹€.
  • 도메인(domain)
    • λ¦΄λ ˆμ΄μ…˜μ— ν¬ν•¨λœ 각각의 속성듀이 κ°€μ§ˆ 수 μžˆλŠ” κ°’λ“€μ˜ 집합이닀.

1.3 기본킀와 μ™Έλž˜ν‚€

후보킀: ν…Œμ΄λΈ”μ—μ„œ 각 νŠœν”Œμ„ κ΅¬λ³„ν•˜λŠ” 데 기쀀이 λ˜λŠ” ν•˜λ‚˜ ν˜Ήμ€ κ·Έ μ΄μƒμ˜ μ»¬λŸΌλ“€μ˜ 집합이닀.(ν›„λ³΄ν‚€λŠ” ν…Œμ΄λΈ”μ— μžˆλŠ” 각 νŠœν”Œμ„ κ³ μœ ν•˜κ²Œ 식별할 수 μžˆμ–΄μ•Ό ν•œλ‹€.)

  • λŒ€μ²΄λ‘œ λ°μ΄ν„°μ˜ 길이가 μ§§κ³  ν˜„μ‹€μ„Έκ³„μ—μ„œ 빈번히 μ΄μš©ν•˜λŠ” μ»¬λŸΌμ„ κΈ°λ³Έν‚€λ‘œ μ‚¬μš©ν•œλ‹€.
  • 볡합킀: 두 개 μ΄μƒμ˜ 컬럼이 λͺ¨μ—¬ ν‚€μ˜ 역할을 ν•˜λŠ” 경우
  • μ™Έλž˜ν‚€: ν…Œμ΄λΈ” κ°„μ˜ λ°μ΄ν„°μ˜ μΌμΉ˜μ™€ 무결성을 λ³΄μ¦ν•΄μ£ΌλŠ” μˆ˜λ‹¨

DBMS의 λͺ‡ κ°€μ§€ 쑰치

  • μ œν•œ
  • 연쇄
  • λ„κ°’μœΌλ‘œ λŒ€μ²΄(nulify)

1.4 λ·°

  • λ·°λŠ” λ‹¨μ–΄μ˜ 뜻 κ·ΈλŒ€λ‘œ ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”, μ—¬λŸ¬ ν…Œμ΄λΈ”μ— λŒ€ν•˜μ—¬ νŠΉμ • μ‚¬μš©μžλ‚˜ 쑰직의 κ΄€μ μ—μ„œ 데이터λ₯Ό 바라볼 수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” μˆ˜λ‹¨μœΌλ‘œμ„œ 가상 ν…Œμ΄λΈ”μ΄λΌκ³ λ„ λΆ€λ₯Έλ‹€.
  • 뷰의 λͺ©μ 
    • ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— λŒ€ν•˜μ—¬ μ—¬λŸ¬ λΆ€μ„œμ—μ„œ μ„œλ‘œ λ‹€λ₯Έ κ΄€μ μœΌλ‘œ 보기λ₯Ό 원할 λ•Œ
    • 일반 μ‚¬μš©μžμ—κ²ŒλŠ” 감좔어야 ν•  컬럼이 μžˆμ„ λ•Œ 그것을 μ œμ™Έν•˜κ³  λ·°λ₯Ό λ§Œλ“€μ–΄ μ œκ³΅ν•¨μœΌλ‘œμ¨ λ³΄μ•ˆμ„ μœ μ§€ν•  ν•„μš”κ°€ μžˆμ„ λ•Œ
    • 자주 μ‚¬μš©ν•˜λŠ” λ³΅μž‘ν•œ μ§ˆμ˜λ¬Έμ„ 미리 뷰둜 μ •μ˜ν•˜μ—¬ 두고 κ°„νŽΈν•˜κ²Œ μ“°κ³ μž ν•  λ•Œ

1.5 SQL μ–Έμ–΄

  • κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ μž₯점 쀑 ν•˜λ‚˜λŠ” μ‚¬μš©μžλ“€μ΄ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” SQL(Structured Query Language) μ–Έμ–΄λ₯Ό μ œκ³΅ν•œλ‹€λŠ” 것이닀.
  • λΉ„μ ˆμ°¨μ  언어이닀.
  • μ‚¬μš©μžλŠ” μžμ‹ μ΄ μ›ν•˜λŠ” 것 λ§Œμ„ λͺ…μ‹œν•˜λ©°, μ›ν•˜λŠ” 것을 DBMSκ°€ μ–΄λ–»κ²Œ μ²˜λ¦¬ν• μ§€λŠ” λͺ…μ‹œν•  ν•„μš”κ°€ μ—†λ‹€.
  • μžμ—°μ–΄μ™€ λΉ„μŠ·ν•œ 문법체계λ₯Ό κ°€μ§€κ³  있기 λ•Œλ¬Έμ— 처음 λ³΄λŠ” μ‚¬λžŒλ„ SQL문의 의미λ₯Ό μ΄ν•΄ν•˜λŠ” 것이 μ–΄λ ΅μ§€ μ•Šλ‹€.

λͺ…λ Ήμ–΄λ“€

  • SELECT : ν…Œμ΄λΈ”μ— μ €μž₯된 정보λ₯Ό μ‘°νšŒν•˜λŠ” 데 μ‚¬μš©ν•œλ‹€.
  • INCERT : ν…Œμ΄λΈ”μ— νŠœν”Œμ„ μ‚½μž…ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
  • UPDATE : ν…Œμ΄λΈ”μ— μ €μž₯λ˜μ–΄ μžˆλŠ” νŠœν”Œμ˜ 값을 λ³€κ²½ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
  • DELETE : ν…Œμ΄λΈ”μ— μžˆλŠ” νŠœν”Œμ„ μ‚­μ œν•  λ•Œ μ‚¬μš©ν•œλ‹€.
  • CREATE : ν…Œμ΄λΈ”, λ·°, μ‚¬μš©μž λ“± λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ˜ 객체듀을 μƒμ„±ν•˜λŠ” 데 μ‚¬μš©λœλ‹€.
  • DROP : CREATE의 λ°˜λŒ€ 역할을 ν•˜λŠ” λͺ…λ Ήμ–΄λ‘œ λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ˜ 객체λ₯Ό μ œκ±°ν•˜λŠ” 역할을 ν•œλ‹€.
728x90
λ°˜μ‘ν˜•

'πŸ’» Computer Science > DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[섀계 및 ꡬ좕]PART 02 논리적 λ°μ΄ν„°λ² μ΄μŠ€ 섀계 3μž₯  (0) 2022.02.02
[섀계 및 ꡬ좕] PART 01 λ°μ΄ν„°λ² μ΄μŠ€ κ°œμš” 2μž₯  (0) 2022.02.02
[λ°μ΄ν„°λ² μ΄μŠ€ 개둠] Ch6 관계 데이터 μ—°μ‚°  (0) 2022.01.24
[λ°μ΄ν„°λ² μ΄μŠ€ 개둠] Ch5 관계 데이터 λͺ¨λΈ  (0) 2022.01.24
[λ°μ΄ν„°λ² μ΄μŠ€ 개둠] Ch4 데이터 λͺ¨λΈλ§  (0) 2022.01.22
    'πŸ’» Computer Science/DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [섀계 및 ꡬ좕]PART 02 논리적 λ°μ΄ν„°λ² μ΄μŠ€ 섀계 3μž₯
    • [섀계 및 ꡬ좕] PART 01 λ°μ΄ν„°λ² μ΄μŠ€ κ°œμš” 2μž₯
    • [λ°μ΄ν„°λ² μ΄μŠ€ 개둠] Ch6 관계 데이터 μ—°μ‚°
    • [λ°μ΄ν„°λ² μ΄μŠ€ 개둠] Ch5 관계 데이터 λͺ¨λΈ
    kkh1902
    kkh1902
    1Day 1 Commit λͺ©ν‘œ κ³΅λΆ€ν•œκ²ƒλ“€ 맀일 κΈ°λ‘ν•˜κΈ°

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”