λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

⭐ Personal_Study/Database9

ν”„λ‘œμ νŠΈ μ‹œ DB 섀계 방법 Project DB 섀계 1. DB μ„€κ³„μ˜ λͺ©μ  βœ” ν”„λ‘œμ νŠΈ, λͺ…μ„Έμ„œ λ“±μ˜ 정보 μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•œ μ •ν™•ν•œ 이해 βœ” λΆ„μ„μž, 개발자, μ‚¬μš©μž κ°„μ˜ μ›ν• ν•œ μ˜μ‚¬ μ†Œν†΅ μˆ˜λ‹¨ βœ” 데이터 μ€‘μ‹¬μ˜ 뢄석 방법 βœ” ν˜„ν–‰ μ‹œμŠ€ν…œλ§Œμ΄ μ•„λ‹Œ μ‹ κ·œ μ‹œμŠ€ν…œ 개발의 기초 제곡 βœ” 섀계λ₯Ό λŒ€μΆ©ν•˜λ©΄ κΈ°λŠ₯이 좔가될 λ•Œλ§ˆλ‹€ DB와 κ΄€λ ¨λœ 이미 개발된 ν”„λ‘œκ·Έλž¨λ„ ν•¨κ»˜ λœ―μ–΄κ³ μ³μ•Όν•˜λŠ” 경우 λ°œμƒ!! 2. 섀계λ₯Ό μœ„ν•œ μš”κ΅¬ 사항 뢄석 βœ” 데이터 λ² μ΄μŠ€μ— λŒ€ν•œ μ‚¬μš©μžμ˜ μš”κ΅¬ 사항을 μˆ˜μ§‘ν•˜κ³  λΆ„μ„ν•΄μ„œ μ•„λž˜μ™€ 같은 μš”κ΅¬μ‚¬ν•­ (κΈ°λŠ₯) λͺ…μ„Έμ„œ μž‘μ„± μ˜ˆμ‹œ: μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έ μƒ˜ν”Œ: 항곡사 DB νšŒμ›μœΌλ‘œ κ°€μž…ν•˜λ €λ©΄ 아이디, λΉ„λ°€λ²ˆν˜Έ, μ„±λͺ…, μ‹ μš©μΉ΄λ“œ 정보λ₯Ό μž…λ ₯ν•΄μ•Ό ν•œλ‹€. νšŒμ›μ˜ μ‹ μš©μΉ΄λ“œ μ •λ³΄λŠ” μ—¬λŸ¬ 개λ₯Ό μ €μž₯ν•  수 μžˆλ‹€. μ‹ μš©μΉ΄λ“œ 번호, μœ νš¨κΈ°κ°„μ„ μ €μž₯ν•  수.. 2023. 3. 8.
λ°˜μ •κ·œν™” DB λ°˜μ •κ·œν™” 2. λ°˜μ •κ·œν™”(μ—­μ •κ·œν™”)λž€? βœ” μ •κ·œν™”λœ μ—”ν‹°ν‹°νƒ€μž…, 속성, 관계λ₯Ό μ‹œμŠ€ν…œμ˜ μ„±λŠ₯ν–₯상, 개발과 운영의 λ‹¨μˆœν™”λ₯Ό μœ„ν•΄ λͺ¨λΈμ„ ν†΅ν•©ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€ μ •κ·œν™” λͺ¨λΈ 이상적인 논리 λͺ¨λΈμ€ λͺ¨λ“  μ—”ν‹°ν‹°νƒ€μž…, 속성 관계가 λ°˜λ“œμ‹œ ν•œ 개만 μ‘΄μž¬ν•˜λ©°, λ”°λΌμ„œ μž…λ ₯, μˆ˜μ • , μ‚­μ œλ„ ν•œ κ΅°λŒ€μ—μ„œλ§Œ λ°œμƒν•˜λ―€λ‘œ 데이타 값이 λ³€μ§ˆλ˜κ±°λ‚˜ μ΄μ§ˆν™”λ  κ°€λŠ₯성이 μ—†λ‹€. 반면 μ—¬λŸ¬ ν…Œμ΄λΈ”μ΄ μƒμ„±λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ SQLμž‘μ„±μ΄ μš©μ΄ν•˜μ§€ μ•Šκ³  κ³Όλ‹€ν•œ ν…Œμ΄λΈ” 쑰인이 λ°œμƒν•˜μ—¬ μ„±λŠ₯이 μ €ν•˜λ  κ°€λŠ₯성이 λ†’λ‹€. λ°˜μ •κ·œν™” λͺ¨λΈ λ°˜λŒ€λ‘œ λ°˜μ •κ·œν™”λ₯Ό ν•˜λ©΄ μ—¬λŸ¬ 개의 ν…Œμ΄λΈ”μ΄ λ‹¨μˆœν•΄μ§€λ―€λ‘œ SQLK μž‘μ„±μ΄ μš©μ΄ν•˜κ³  μ„±λŠ₯이 ν–₯상될 κ°€λŠ₯성이 λ§Žλ‹€. κ·ΈλŸ¬λ‚˜ 같은 데이터가 μ—¬λŸ¬ ν…Œμ΄λΈ”μ— 걸쳐 μ‘΄μž¬ν•˜λ―€λ‘œ 무결성이 깨질 μš°λ €κ°€ μžˆλ‹€. βœ” κ³ΌλΆ€ν•˜κ°€ λ°œμƒν•˜λŠ” μ •ν™•ν•œ κΈ°.. 2023. 3. 7.
M:N Relationship Many to many relationship M:N 관계 βœ” Many-to-many relationships βœ” ν•œ ν…Œμ΄λΈ”μ˜ 0개 μ΄μƒμ˜ λ ˆμ½”λ“œκ°€ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ 0개 μ΄μƒμ˜ λ ˆμ½”λ“œμ™€ κ΄€λ ¨λœ 경우 βœ” μ–‘μͺ½ λͺ¨λ‘μ—μ„œ N:1 관계λ₯Ό 가진닀. κ°œμš” βœ” 병원에 λ‚΄μ›ν•˜λŠ” ν™˜μžμ™€ μ˜μ‚¬μ˜ μ˜ˆμ•½ μ‹œμŠ€ν…œ ꡬ좕 βœ” ν™˜μž μ˜μ‚¬ 관계 데이터 λͺ¨λΈλ§ μš©μ–΄ 정리 βœ” Target model 관계 ν•„λ“œλ₯Ό 가지지 μ•Šμ€ λͺ¨λΈ βœ” Source model 관계 ν•„λ“œλ₯Ό 가진 λͺ¨λΈ N:1 λͺ¨λΈμ˜ ν•œκ³„ βœ” λ™μΌν•œ ν™˜μžκ°€ λ‹€λ₯Έ μ˜μ‚¬μ—κ²Œ μ˜ˆμ•½ν•˜κΈ° μœ„ν•΄μ„œλŠ” 객체λ₯Ό ν•˜λ‚˜ 더 λ§Œλ“€μ–΄μ„œ μ˜ˆμ•½μ„ 진행해야 ν•œλ‹€. βœ” μ™Έλž˜ ν‚€ μ»¬λŸΌμ— '1, 2' ν˜•νƒœλ‘œ μ°Έμ‘°ν•˜κΈ° λΆˆκ°€λŠ₯ μ€‘κ°œ λͺ¨λΈ μž‘μ„±μ„ ν†΅ν•œ ν•΄κ²° βœ” ν™˜μžμ™€ μ˜μ‚¬ λ‘˜λ‹€μ— λŒ€ν•΄μ„œ N:1 관계λ₯Ό κ°€μ§€λŠ” λ³„λ„μ˜ μ˜ˆμ•½.. 2022. 10. 16.
N:1 Relationship Relational Database - N:1 관계 RDBμ—μ„œμ˜ 관계 1:1 βœ” ν•œ ν…Œμ΄λΈ”μ˜ λ ˆμ½”λ“œ ν•˜λ‚˜κ°€ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ λ ˆμ½”λ“œ 단 ν•œ κ°œμ™€ κ΄€λ ¨ N:1 βœ” ν•œ ν…Œμ΄λΈ”μ˜ 0개 μ΄μƒμ˜ λ ˆμ½”λ“œκ°€ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ λ ˆμ½”λ“œ ν•œ κ°œμ™€ κ΄€λ ¨λœ 경우 N:N βœ” ν•œ ν…Œμ΄λΈ”μ˜ 0개 μ΄μƒμ˜ λ ˆμ½”λ“œκ°€ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ 0개 μ΄μƒμ˜ λ ˆμ½”λ“œμ™€ κ΄€λ ¨λœ 경우 βœ” μ–‘ μͺ½ λͺ¨λ‘ N:1 관계λ₯Ό 가짐 N:1 κ΄€κ³„μ˜ μ˜ˆμ‹œ βœ” 고객 ν…Œμ΄λΈ”μ˜ PKλ₯Ό μ£Όλ¬Έ ν…Œμ΄λΈ”μ— FK둜 집어 λ„£μ–΄ 관계λ₯Ό ν‘œν˜„ Foreign Key βœ” μ™Έλž˜ ν‚€(μ™ΈλΆ€ ν‚€) βœ” κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ ν•œ ν…Œμ΄λΈ”μ˜ ν•„λ“œ 쀑 λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ 행을 식별할 수 μžˆλŠ” ν‚€ βœ” μ°Έμ‘°ν•˜λŠ” ν…Œμ΄λΈ”μ—μ„œ 1개의 킀에 ν•΄λ‹Ήν•˜κ³ , μ΄λŠ” μ°Έμ‘°λ˜λŠ” μΈ‘ ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ ν‚€(Primary Key)λ₯Ό 가리킴 βœ” μ°Έμ‘°ν•˜λŠ” .. 2022. 10. 8.
Relational Database RDB βœ” Relational Database βœ” 데이터λ₯Ό ν…Œμ΄λΈ”, ν–‰, μ—΄ λ“±μœΌλ‘œ λ‚˜λˆ„μ–΄ ꡬ쑰화 βœ” 자료λ₯Ό μ—¬λŸ¬ ν…Œμ΄λΈ”λ‘œ λ‚˜λˆ„μ–΄μ„œ κ΄€λ¦¬ν•˜κ³ , 이 ν…Œμ΄λΈ” κ°„ 관계λ₯Ό μ„€μ •ν•΄ μ—¬λŸ¬ 데이터λ₯Ό μ‰½κ²Œ μ‘°μž‘ κ°€λŠ₯ ν…Œμ΄λΈ”κ°„ 관계 μ„€μ • βœ” λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μžˆλŠ” 데이터λ₯Ό μ–΄λ–»κ²Œ κ°€μ Έμ˜¬ 것인가... βœ” μ°Έμ‘°ν•˜λŠ” 데이터 ν…Œμ΄λΈ”μ˜ idλ₯Ό 좔가적인 column으둜 관리! RDB의 κΈ°λ³Έ ꡬ쑰 1. μŠ€ν‚€λ§ˆ βœ” ν…Œμ΄λΈ”μ˜ ꡬ쑰 βœ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 자료의 ꡬ쑰, ν‘œν˜„ 방법, 관계 λ“± μ „λ°˜μ μΈ λͺ…μ„Έλ₯Ό κΈ°μˆ ν•œ 것 2. ν…Œμ΄λΈ” βœ” ν•„λ“œμ™€ λ ˆμ½”λ“œλ₯Ό μ‚¬μš©ν•΄ 쑰직된 데이터 μš”μ†Œλ“€μ˜ 집합 βœ” 관계(Relation)이라고도 뢀름 βœ” ν•„λ“œ(Field): 속성, column βœ” λ ˆμ½”λ“œ(Record): νŠœν”Œ, row PK (Primary Key) βœ” κΈ°λ³Έ .. 2022. 10. 8.
DML (Data Manipulation Language) DML DMLμ΄λž€? βœ” Data Manipulation βœ” DML을 톡해 데이터 μ‘°μž‘ (CRUD) βœ” INSERT, SELECT, UPDATE, DELETE Simple query βœ” SELECT문을 μ‚¬μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ 단일 ν…Œμ΄λΈ”μ—μ„œ 데이터 μ‘°νšŒν•˜κΈ° SELECT statement βœ” 'Query data from a table' βœ” νŠΉμ • ν…Œμ΄λΈ”μ—μ„œ 데이터λ₯Ό μ‘°νšŒν•˜κΈ° μœ„ν•΄ μ‚¬μš© βœ” 문법 κ·œμΉ™ SELECTμ ˆμ—μ„œ 컬럼 λ˜λŠ” μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ 컬럼 λͺ©λ‘μ„ 지정 FROM 절(clause)μ—μ„œ 데이터λ₯Ό κ°€μ Έμ˜¬ ν…Œμ΄λΈ”μ„ 지정 βœ” λ‹€μ–‘ν•œ 절과 ν•¨κ»˜ μ‚¬μš©ν•  수 μžˆμ–΄ 맀우 볡작 μ˜ˆμ‹œ Sorting rows βœ” ORDER BYμ ˆμ„ μ‚¬μš©ν•˜μ—¬ 쿼리의 κ²°κ³Όλ₯Ό μ •λ ¬ βœ” SELECT문에 μΆ”κ°€ν•˜μ—¬ κ²°κ³Όλ₯Ό μ •λ ¬ βœ” ORDER절 λ‹€μŒμ— 'A.. 2022. 10. 8.