๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โญ Personal_Study97

(N:1) Article - User Relationship Django Relationship fields (N:1) (Article - User) User ๋ชจ๋ธ ์ฐธ์กฐ Django ์—์„œ User ๋ชจ๋ธ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ• settings.AUTH_USER_MODEL get_user_model() 1. settings.AUTH_USER_MODEL โœ” ๋ฐ˜ํ™˜๊ฐ’: 'accounts.User' (๋ฌธ์ž์—ด) โœ” User ๋ชจ๋ธ์— ๋Œ€ํ•œ ์™ธ๋ž˜ ํ‚ค ๋˜๋Š” M:N ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•  ๋–„ ์‚ฌ์šฉ โœ” models.py์˜ ๋ชจ๋ธ ํ•„๋“œ์—์„œ User ๋ชจ๋ธ์„ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉ 2. get_user_model() โœ” ๋ฐ˜ํ™˜๊ฐ’: User Object(๊ฐ์ฒด) โœ” ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ User ๋ชจ๋ธ ๋ฐ˜ํ™˜ โœ” models.py ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ณณ์—์„œ ์œ ์ € ๋ชจ๋ธ์„ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉ ๋ชจ๋ธ ๊ด€๊ณ„ ์„ค์ • 1. model.py 2. ma.. 2022. 10. 9.
(N:1) Comments - Article Relationship Django Relationship fields (N:1) (Comments - Article) Django Relationship fields ์ข…๋ฅ˜ OneToOneField() - 1:1 ForeignKey() - N:1 ManyToManyField() - N:N ForeignKey(to, on_delete, **options) โœ” N:1 relationship์„ ๋‹ด๋‹นํ•˜๋Š” Django์˜ ๋ชจ๋ธ ํ•„๋“œ ํด๋ž˜์Šค โœ” Django ๋ชจ๋ธ์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์™ธ๋ž˜ ํ‚ค ์†์„ฑ์„ ๋‹ด๋‹น โœ” 2๊ฐœ์˜ ํ•„์ˆ˜ ์œ„์น˜ ์ธ์ž ์ฐธ์กฐํ•˜๋Š” model class on_delete์˜ต์…˜ on_delete โœ” ์™ธ๋ž˜ ํ‚ค๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์กŒ์„ ๋•Œ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ง€๋ฅผ ์ •์˜ โœ” ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด์„œ ์ค‘์š”ํ•œ ์„ค์ •! โœ” ์˜ต.. 2022. 10. 9.
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.
DDL (Data Definition Language) DDL DDL์ด๋ž€? โœ” 'Data Definition' โœ” DDL์€ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๊ด€๋ฆฌ: CREATE, ALTER, DROP CREATE TABLE statement Data Type ์ข…๋ฅ˜ Null: ์ •๋ณด๊ฐ€ ์—†๊ฑฐ๋‚˜ ์•Œ ์ˆ˜ ์—†์Œ Integer: ์ •์ˆ˜ Real: ์‹ค์ˆ˜ Text: ๋ฌธ์ž BLOB(Binary Large Object): ์ž…๋ ฅ๋œ ๊ทธ๋Œ€๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ (๋Œ€์šฉ ํƒ€์ž… ์—†์Œ) Boolean Type...? โœ” SQLite์—๋Š” ๋ณ„๋„์˜ boolean ํƒ€์ž… ์—†์Œ โœ” 0(False), 1(True)๋กœ ์ €์žฅ Date & Time ...? โœ” SQLite์—๋Š” ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ„๋„์˜ ํƒ€์ž… x โœ” ๋Œ€์‹  builtin 'Date And Time Functions'๋กœ TEXT, REAL, ๋˜๋Š” INTE.. 2022. 10. 7.