λͺ©λ‘μ 체 κΈ (1005)
π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
π©π» DCL (λ°μ΄ν° μ μ΄μ΄) : λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνλ κΆνμ κ΄λ¦¬νλ λ±μ λ°μ΄ν° μ μ΄ - GRANT : λ°μ΄ν°λ² μ΄μ€ κΆν λΆμ¬ - REVOKE : λ°μ΄ν°λ² μ΄μ€ κΆν νμ - COMMIT : νΈλμμ (λ°μ΄ν°λ² μ΄μ€λ₯Ό μ‘°μνλ μμ λ¨μ) μμ λ°μνμ¬ μ μ₯ - ROLLBACK : νΈλμμ μμ μ·¨μνμ¬ μ΄μ μνλ‘ λλ¦Ό => TCL (Transaction Control Language) π©π» μΈλ±μ€ (Index) : λ°μ΄ν° λ² μ΄μ€ ν μ΄λΈμ κ²μ μλλ₯Ό ν₯μ μν€κΈ° μν μλ£ κ΅¬μ‘° : λͺ¨λ λ°μ΄ν° μ‘°νν λ λΆνμ => SELECT * FROM ν μ΄λΈλͺ ; β μ₯λ¨μ : μΈλ±μ€λ₯Ό κ΄λ¦¬νκΈ° μν μΆκ° μμ νμ : μΈλ±μ€ μ μ₯ν μΆκ° μ μ₯ κ³΅κ° νμ : κ²½μ°μ λ°λΌ κ²μ μ±λ₯ μ ν β μ¬μ© μ λ΅ : κ·..
π©π» μ΄μ νμ (Anomaly) : μλͺ»λ λ°μ΄ν°λ² μ΄μ€ μ€κ³λ‘ λ°μνλ μ€λ₯ - μ½μ μ΄μ : λ°μ΄ν°λ₯Ό μ½μ ν λ λΆνμν λ΄μ©κΉμ§ μ½μ ν΄μΌ νλ λ¬Έμ - κ°±μ μ΄μ : μ€λ³΅λ λ°μ΄ν° μ€ μΌλΆλ§ κ°±μ λμ΄ λ°μνλ λ¬Έμ - μμ μ΄μ : μ΄λ€ λ°μ΄ν°λ₯Ό μμ ν λ λ€λ₯Έ μ μ©ν μ 보λ ν¨κ» μμ λλ λ¬Έμ β ν¨μ μ’ μμ± : μμ±λ€ κ°μ μ’ μ κ΄κ³ : μ΄λ€ μμ± Xμ ν κ°μ΄ λ€λ₯Έ μμ± Yμ μν νλμ κ°μλ§ λ§€νλλ κ²½μ° X λ κ²°μ μ, Yλ₯Ό μ’ μ π©π» μ κ·ν (Normalization) : μ΄μ νμμ μ κ±°νκΈ° μν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬ쑰ννλ κ³Όμ : λ°μ΄ν° κ°μ μ’ μμ± μ κ±°νμ¬ μ€λ³΅λλ λ°μ΄ν° μ€μ : λ°μ΄ν°μ μΌκ΄μ±κ³Ό λ¬΄κ²°μ± λ³΄μ₯ - 1μ°¨ μ κ·ν : ν μ΄λΈμ 컬λΌμ΄ νλμ κ°λ§ κ°λλ‘ λλ©μΈμ μμ..
π©π» ER Diagram (ERD, Entity-Relationship Diagram κ°μ²΄-κ΄κ³ λ€μ΄μ΄κ·Έλ¨) : νμ€ μΈκ³μ λ°μ΄ν°λ₯Ό κ°μ²΄μ κ΄κ³ ννμ λ€μ΄μ΄κ·Έλ¨μΌλ‘ λνλ΄λ κ² : νκΈ°λ² -> Peter Chen, IE β Peter Chen β Peter Chen κ΄κ³ μΆκ° : νλμ λ°μ΄ν°κ° λ€λ₯Έ ν μ΄λΈμ λͺ κ°μ λ°μ΄ν°μ κ΄κ³ κ°μ§λμ§ λνλ : N:M κ΄κ³λ ν μ΄λΈλ‘ νκΈ°νλ©° κ° κ°μ²΄μ κΈ°λ³Έν€λ₯Ό μΈλν€λ‘ κ° β IE (Information Engineering) : ν€λ₯Ό λνλ΄λ©° λ°μ΄ν° νμ κ³Ό μ μ½ μ‘°κ±΄ νκΈ° (κ½κ³λ₯Ό μΈλΆμ μΌλ‘ λνλ) : κΉλ§κ· λ°λ‘ νκΈ°λ²
π©π» ν€ (key) : 쑰건μ λ§μ‘±νλ ννμ μ°Ύκ±°λ, μ λ ¬ν λ κΈ°μ€μ΄ λλ μμ± β κΈ°λ³Έν€ : μλ‘ λ€λ₯Έ ννμ μ μΌνκ² μλ³ν μ μλ κΈ°μ€μ΄ λλ μμ± : μ€λ³΅λλ λ κ°μ§ μ X : λ κ° κ°μ§ μ X : ν μ΄λΈ λΉ 1κ°λ§ μ€μ => PRIMARY KEY β μΈλν€ : λ€λ₯Έ ν μ΄λΈμ κΈ°λ³Έν€λ₯Ό μ°Έμ‘°νλ μμ±μΌλ‘ ν μ΄λΈμ κ΄κ³ μ μ : μ°Έμ‘°λλ ν μ΄λΈμ κΈ°λ³Έν€μ μλ κ°μ μ§μ ν μ X => FOREIGN KEY (μ°Έμ‘°ν μμ±) REFERENCES μ°Έμ‘°λλ ν μ΄λΈ (μ°Έμ‘°λλ μμ±) β νλ³΄ν€ : κΈ°λ³Έν€κ° λ μ μλ ν€λ‘ μ μΌμ±κ³Ό μ΅μμ± λ§μ‘± ( κΈ°λ³Έν€ < νλ³΄ν€ ) β λμ²΄ν€ : νλ³΄ν€ μ€μ κΈ°λ³Έν€κ° μλ ν€ ( λμ²΄ν€ < νλ³΄ν€ ) β μνΌν€ : ννμ μλ³ν μ μλ μ μΌμ±μ λ§μ‘±νμ§λ§ μ΅μ..
π©π» SQL (Structured Query Language) : κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό νμ©νκΈ° μν΄ μ¬μ©νλ νμ€ μΈμ΄ β λ°μ΄ν° μ μμ΄ (DDL, Data Definition Language) : ν μ΄λΈκ³Ό κ°μ λ°μ΄ν° ꡬ쑰 μ μ β λ°μ΄ν° μ‘°μμ΄ (DML, Data Manipulation Language) : λ°μ΄ν° μ‘°ν λ° κ²μ β λ°μ΄ν° μ μ΄μ΄ (DCL, Data Control Language) : λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνλ κΆν κΆλ¦¬ π©π» λ°μ΄ν° νμ μλ£ν μλ―Έ VARCHAR(n) nBytes ν¬κΈ°μ κ°λ³ κΈΈμ΄ λ¬Έμμ΄ λ°μ΄ν° INT μ μν μ«μ λ°μ΄ν° (4Bytes) FLOAT 4Bytes ν¬κΈ°μ λΆλ μμμ λ°μ΄ν° DATETIME λ μ§μ μκ° ννμ κΈ°κ° λ°μ΄ν° (YYYY-MM-DD HH:M..
π©π» λ°μ΄ν°λ² μ΄μ€ (λ°μ΄ν°λ€μ μ§ν©) : ν μ‘°μ§ μμμ μ¬λ¬ μ¬μ©μμ μμ© νλ‘κ·Έλ¨μ΄ 곡λμΌλ‘ μ¬μ©νλ λ°μ΄ν°λ€μ ν΅ν©νμ¬ μ μ₯νκ³ μ΄μνλ λ°μ΄ν° β λ°μ΄ν° : νμ€ μΈκ³μμ μμ§λ λ¨μν μ¬μ€κ³Ό κ°λ€μ λͺ¨μ λμ κ² β μ 보 : λ°μ΄ν°λ₯Ό νΉμ λͺ©μ μ μν΄ ν΄μνκ±°λ κ°κ³΅ν νν β νμμ± - λ°μ΄ν° κ΅¬μ‘°κ° λ°λλ©΄ μμ© νλ‘κ·Έλ¨ κ΅¬μ‘°λ λ°λμ΄μΌ ν¨ - λ°μ΄ν° μ€λ³΅μ λ¬Έμ - λ°μ΄ν°μ λ¬΄κ²°μ± μ§ν¬ μ μμ β νΉμ§ - μ€μκ° μ κ·Όμ± - μ§μμ μΈ λ³ν - λμ 곡μ - λ΄μ©μ λν μ°Έμ‘° β μ’ λ₯ - RDB (Relational Database) : κ΄κ³ν λͺ¨λΈμ κΈ°λ°μΌλ‘ SQL μ΄μ©ν΄ λ°μ΄ν° κ΄λ¦¬ => κ΄κ³ν (Relational database) λ°μ΄ν°λ² μ΄μ€ : λ°μ΄ν°λ₯Ό νκ³Ό μ΄μ κ°μ§λ ν μ΄λΈ : ..
=> CRUD App With Image Upload Using NodeJs, ExpressJs, MongoDB & EJS Templating Engine π₯ μ΄λ―Έμ§ μ λ‘λ (multer) μν€κ³ λ©μΈ νμΌλ‘ redirect π§ routes/routes.js const express = require("express"); const router = express.Router(); const User = require("../models/user"); const multer = require("multer"); // image upload var storage = multer.diskStorage({ // νμΌμ΄ μ λ‘λλ κ²½λ‘ μ€μ destination: function (req, file, cb) { c..
=> CRUD App With Image Upload Using NodeJs, ExpressJs, MongoDB & EJS Templating Engine π₯ λ©μΈ νμ΄μ§ μλ¨ λͺ©λ‘ ν μ‘κΈ° π§ views/index.ejs ID Image Name E-mail Phone Action 1 gani gani@test.com 010-1234-1234