๐Ÿ˜Ž
Onemorebottlee's TIL
  • ๐Ÿค“Introduce
  • ๐Ÿ“–DevLog
    • ๐Ÿ’ฃError
      • npm ERR! Cannot read properties of null (reading 'edgesOut')
      • git
        • src refspec main does not match any
      • NextJS
        • No img element
        • ReferenceError : document is not defined
        • `next/image` Un-configured Host
  • ๐Ÿ“บLecture
    • Nomad Coders
      • ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ๋ฆฌ๋•์Šค 101
        • #0 Introduction
        • #1 PURE REDUX: COUNTER
        • #2 PURE REDUX: TO DO LIST
        • #3 REACT REDUX
        • #4 Redux Toolkit
      • ๋ฐ”๋‹๋ผ JS๋กœ ๊ทธ๋ฆผ ์•ฑ ๋งŒ๋“ค๊ธฐ
      • React JS ๋งˆ์Šคํ„ฐ ํด๋ž˜์Šค
        • #2 Styled Componnents
        • #3 TypeScript
        • #4 Crypto Tracker
        • #5 State Management
        • #6 Trello
        • #7 ANIMATIONS
      • Next.js ์‹œ์ž‘ํ•˜๊ธฐ
        • #0 INTRODUCTION
        • #1 FRAMEWORK OVERVIEW
        • #2 PRACTICE PROJECT
      • Typescript๋กœ ๋ธ”๋ก์ฒด์ธ ๋งŒ๋“ค๊ธฐ
        • #1 Introduction
        • #2 Overview of TypeScript
        • #3 Functions
        • #4 Classes and Interfaces
        • #5 TypeScript Blockchain
      • SQL Master Class
        • #1 Introduction
        • #2 SQLite
        • #3 Data Definition Language
        • #4 Data Manipulation Language
        • #5 Subqueries and CTEs
        • #6 Indexes
        • #7 MySQL
        • #8 Foreign Keys
        • #9 JOINS
        • #10 Nomalization
        • #11 Events & Triggers
        • #12 Full-Text Indexes
        • #13 PostgreSQL
        • #14 Functions And Procedures
        • #15 Transactions
        • #16 Data Control Language
        • #17 PostgreSQL JSON Columns
        • #18 PostgreSQL Extensions
        • #19 MongoDB
        • #20 REDIS
        • #21 Javascript and Python Drivers
    • Udemy
      • TypeScript ๋งˆ์Šคํ„ฐ with Webpack & React
        • [S1] ์†Œ๊ฐœ
        • [S2] ์„ค์น˜ ๋ฐ ์„ค์ •
        • [S3] ํƒ€์ž… ์• ๋„ˆํ…Œ์ด์…˜ ๊ธฐ์ดˆ
        • [S4] ํ•จ์ˆ˜
        • [S5] ๊ฐ์ฒด ํƒ€์ž…
        • [S6] ๋ฐฐ์—ด ํƒ€์ž…
        • [S7] ์œ ๋‹ˆ์˜จํƒ€์ž…
        • [S8] Tuple & Enum
        • [S9] ์ธํ„ฐํŽ˜์ด์Šค
        • [S10] TypeScript ์ปดํŒŒ์ผ๋Ÿฌ
        • [S11] ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ DOM, ํƒ€์ž… ๋‹จ์–ธ, ๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€ ๋‚ด์šฉ
        • [S12] Class
        • [S13] TS Class
        • [S14] Generics โญโญโญโญโญ
        • [S15] Narrowing
        • [S16] Type Declarations
        • [S17] Module
        • [S18] Webpack ๊ณผ TypeScript
        • [S19] React
    • ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ์ปดํ“จํ„ฐ ๊ณผํ•™ CS50
      • 1. ์ปดํ“จํŒ… ์‚ฌ๊ณ 
      • 2. C์–ธ์–ด
      • 3. ๋ฐฐ์—ด
      • 4. ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 5. ๋ฉ”๋ชจ๋ฆฌ
      • 6. ์ž๋ฃŒ๊ตฌ์กฐ
    • ์ƒํ™œ์ฝ”๋”ฉ
      • DATABASE
        • DATABASE1
  • ๐Ÿ“šBook
    • ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive
      • 1์žฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • 2์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?
      • 3์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์‹คํ–‰ ๋ฐฉ๋ฒ•
      • 4์žฅ ๋ณ€์ˆ˜
      • 5์žฅ ํ‘œํ˜„์‹๊ณผ ๋ฌธ
      • 6์žฅ ๋ฐ์ดํ„ฐ ํƒ€์ž…
      • 7์žฅ ์—ฐ์‚ฐ์ž
      • 8์žฅ ์ œ์–ด๋ฌธ
      • 9์žฅ ํƒ€์ž… ๋ณ€ํ™˜๊ณผ ๋‹จ์ถ• ํ‰๊ฐ€ โญโญโญ
      • 10์žฅ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด
      • 11์žฅ ์›์‹œ ๊ฐ’๊ณผ ๊ฐ์ฒด์˜ ๋น„๊ต
      • 12์žฅ ํ•จ์ˆ˜ โญโญโญโญ
      • 13์žฅ ์Šค์ฝ”ํ”„
      • 14์žฅ ์ „์—ญ ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ์ 
      • 15์žฅ let, const ํ‚ค์›Œ๋“œ์™€ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ โญโญโญ
      • 16์žฅ ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ
      • 17์žฅ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ
      • 18์žฅ ํ•จ์ˆ˜์™€ ์ผ๊ธ‰ ๊ฐ์ฒด โญโญ
      • 19์žฅ ํ”„๋กœํ† ํƒ€์ž… โญโญโญโญโญ
      • 20์žฅ strict mode
      • 21์žฅ ๋นŒํŠธ์ธ ๊ฐ์ฒด โญ
      • 22์žฅ this โญโญโญ
      • 23์žฅ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ โญโญโญโญโญโญโญโญโญโญ
      • 24์žฅ ํด๋กœ์ € โญโญโญโญโญโญโญ
      • 25์žฅ ํด๋ž˜์Šค
      • 26์žฅ ES6 ํ•จ์ˆ˜์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ
      • 27์žฅ ๋ฐฐ์—ด โญโญโญ
      • 28์žฅ Number
      • 29์žฅ Math
      • 30์žฅ Date
      • 31์žฅ RegExp
      • 32์žฅ String
      • 33์žฅ 7๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ํƒ€์ž… Symbol
      • 34์žฅ ์ดํ„ฐ๋Ÿฌ๋ธ”
      • 35์žฅ ์Šคํ”„๋ ˆ๋“œ ๋ฌธ๋ฒ•
      • 36์žฅ ๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง ํ• ๋‹น
      • 37์žฅ Set๊ณผ Map
      • 38์žฅ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ๊ณผ์ •โญโญโญโญโญโญโญโญ
      • 39์žฅ DOM โญโญโญโญโญโญโญโญโญโญโญ
      • 40์žฅ ์ด๋ฒคํŠธโญโญโญโญโญโญโญโญโญโญโญ
      • 41์žฅ ํƒ€์ด๋จธ
      • 42์žฅ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ โญโญโญโญโญโญโญโญ
      • 43์žฅ Ajax
      • 44์žฅ REST API
      • 45์žฅ ํ”„๋กœ๋ฏธ์Šค
      • 46์žฅ ์ œ๋„ˆ๋ ˆ์ดํ„ฐ์™€ async/await
      • 47์žฅ ์—๋Ÿฌ ์ฒ˜๋ฆฌ
      • 48์žฅ ๋ชจ๋“ˆ
      • 49์žฅ Babel๊ณผ Webpack์„ ์ด์šฉํ•œ ES6+/ES.NEXT ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•
    • ๋Ÿฌ๋‹ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
      • Ch.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ
      • Ch.2 ํƒ€์ž… ์‹œ์Šคํ…œ
      • Ch.3 ์œ ๋‹ˆ์–ธ๊ณผ ๋ฆฌํ„ฐ๋Ÿด
      • Ch.4 ๊ฐ์ฒด
      • Ch.5 ํ•จ์ˆ˜
      • Ch.6 ๋ฐฐ์—ด
      • Ch.7 ์ธํ„ฐํŽ˜์ด์Šค
      • Ch.8 ํด๋ž˜์Šค
      • Ch.9 ํƒ€์ž… ์ œํ•œ์ž
      • Ch.10 ์ œ๋„ค๋ฆญ
      • Ch.11 ์„ ์–ธ ํŒŒ์ผ
      • Ch.12 IDE ๊ธฐ๋Šฅ ์‚ฌ์šฉ
      • Ch.13 ๊ตฌ์„ฑ ์˜ต์…˜
      • Ch.14 ๊ตฌ๋ฌธ ํ™•์žฅ
      • Ch.15 ํƒ€์ž… ์šด์˜
      • ์šฉ์–ด ์‚ฌ์ „
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์™„๋ฒฝ ๊ฐ€์ด๋“œ
    • SQL in 10 Minutes
      • 1์žฅ SQL ์ดํ•ดํ•˜๊ธฐ
      • 2์žฅ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ
      • 3์žฅ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ ์ •๋ ฌํ•˜๊ธฐ
      • 4์žฅ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง
      • 5์žฅ ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง
      • 6์žฅ ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž๋ฅผ ์ด์šฉํ•œ ํ•„ํ„ฐ๋ง
      • 7์žฅ ๊ณ„์‚ฐ ํ•„๋“œ ์ƒ์„ฑํ•˜๊ธฐ
      • 8์žฅ ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ
      • 9์žฅ ๋ฐ์ดํ„ฐ ์š”์•ฝ
      • 10์žฅ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ•‘
      • 11์žฅ ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ
      • 12์žฅ ํ…Œ์ด๋ธ” ์กฐ์ธ
      • 13์žฅ ๊ณ ๊ธ‰ ํ…Œ์ด๋ธ” ์กฐ์ธ ์ƒ์„ฑํ•˜๊ธฐ
      • 14์žฅ ์ฟผ๋ฆฌ ๊ฒฐํ•ฉํ•˜๊ธฐ
      • 15์žฅ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ
      • 16์žฅ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ์™€ ์‚ญ์ œ
      • 17์žฅ ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ ์กฐ์ž‘
      • 18์žฅ ๋ทฐ ์‚ฌ์šฉํ•˜๊ธฐ
      • 19์žฅ ์ €์žฅ ํ”„๋กœ์‹œ์ € ์‚ฌ์šฉํ•˜๊ธฐ
      • 20์žฅ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๊ด€๋ฆฌํ•˜๊ธฐ
      • 21์žฅ ์ปค์„œ ์‚ฌ์šฉํ•˜๊ธฐ
      • 22์žฅ ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์˜ต์…˜
    • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ
      • 4 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
        • 4.1 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ
    • 2023 ์ด๊ธฐ์  SQL ๊ฐœ๋ฐœ์ž ์ด๋ก ์„œ + ๊ธฐ์ถœ๋ฌธ์ œ
      • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ดํ•ด
        • S1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
  • ๐Ÿ’ปStudy
    • CS ์ง€์‹ ๋ฐœํ‘œ
      • 1ํšŒ์ฐจ
      • 2ํšŒ์ฐจ
      • 3ํšŒ์ฐจ
      • 4ํšŒ์ฐจ
      • 5ํšŒ์ฐจ
      • 6ํšŒ์ฐจ
      • 7ํšŒ์ฐจ
      • 8ํšŒ์ฐจ
      • 9ํšŒ์ฐจ
    • TypeScript Exercises
      • Ex 1
      • Ex 2
      • Ex 3
      • Ex 4
      • Ex 5
      • Ex 6
      • Ex 7
      • Ex 8
      • Ex 9
      • Ex 10
  • ๐Ÿ”„ETC
    • Article
      • Atomic Design Pattern
      • ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž
    • DATABASE
      • Oracle
        • CEIL() & FLOOR() - ์†Œ์ˆ˜์  ์˜ฌ๋ฆผ & ๋‚ด๋ฆผ
        • DUAL ํ…Œ์ด๋ธ” - ์ž„์‹œ ํ…Œ์ด๋ธ”๋กœ ๊ฒฐ๊ณผ ํ™•์ธํ•˜๊ธฐ
    • Ubuntu
      • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ
Powered by GitBook
On this page
  • #3.0 Intoduction
  • #3.1 Tables
  • #3.2 Create Table
  • #3.3 Insert Into Values
  • #3.4 Insert Into Values (part Two)
  • #3.5 Data Types
  • #3.6 Constraints
  • #3.7 CHECK Constraint
  • #3.8 Recap
  • #3.9 Primary Keys
  • PRIMARY KEY & UNIQUE

Was this helpful?

  1. Lecture
  2. Nomad Coders
  3. SQL Master Class

#3 Data Definition Language

#3.0 Intoduction

์ฃผ์„ ์ถ”๊ฐ€

-- < ํ•œ์ค„ ์ฃผ์„

/*
    ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„
*/

SQL ๋ช…๋ น์–ด

  • ๋Œ€/์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Œ

  • SQL ์ฟผ๋ฆฌ ๋ ์„ธ๋ฏธ์ฝœ๋ก  ; ๋ถ™์ด๊ธฐ

DDL (Data Definition Language) : ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด

#3.1 Tables

ํ…Œ์ด๋ธ” : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ํ…Œ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์™€ ์œ ์‚ฌํ•œ ํ–‰-์—ด ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๊ฐ ํ–‰์€ ๊ณ ์œ ํ•œ ๋ ˆ์ฝ”๋“œ, ๊ฐ ์—ด์€ ๋ ˆ์ฝ”๋“œ์˜ ํ•„๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

#3.2 Create Table

CREATE TABLE movies (
	title,
  released,
  overview,
  rating,
  director
);

-- CREATE TABLE - SQLite ์—์„œ ์ƒˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑ์— ์‚ฌ์šฉ๋จ
-- sqlite๋Š” ์ด ์ •๋„๋กœ ์ž‘๋™ํ•จ

#3.3 Insert Into Values

DROP TABLE movies;

-- DROP TABLE ํ…Œ์ด๋ธ” ์ œ๊ฑฐ, ํ™•์ธ ๋ฉ”์‹œ์ง€ ์—†๊ธฐ์— ํ™•์‹ ์„ ๊ฐ–๊ณ  ์‚ฌ์šฉ


INSERT INTO movies VALUES (
    'The Godfather',
    1980,
    'The Best Movie In The World',
    10,
    'F.F.C'
);

-- ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

#3.4 Insert Into Values (part Two)

์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ INSERT INTO ๋ฅผ ํ™œ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ์—ด์˜ ์ˆœ์„œ๋ฅผ ์•Œ์•„์•ผ ํ•จ, null ๊ฐ’์œผ๋กœ ๋‘˜ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Š” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ด ์•„๋‹˜

INSERT INTO movies (title) VALUES ('TLOTR');

INSERT INTO movies (title, rating) VALUES ('TLOTR 2', 10);

INSERT INTO movies (title, rating,released) VALUES ('TLOTR 3', 10, 2003);

-- ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํŠน์ • ๊ฐ’๋งŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ, ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด null

INSERT INTO movies (title, rating) VALUES ('ET', 10), ('ET 2', 9);

-- ์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ๊ฐ€๋Šฅ

#3.5 Data Types

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ, ๊ฐ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด ๋’ค์„ž์ผ ์ˆ˜ ์žˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด title์€ text๊ณ  rating์€ number์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด title์— ์ˆซ์ž, rating์— text๊ฐ€ ์ถ”๊ฐ€๋˜๋Š”๊ฑธ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์—†์Œ.

๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํƒ€์ž…์„ ์„ค์ • (Daya Types์€ DB ๋งˆ๋‹ค ๋‹ค๋ฆ„)

CREATE TABLE movies (
    title TEXT,
    released INTEGER, -- 1, 2, 3 ...
    overview TEXT,
    rating REAL, -- 1.2 9.5 ... ์Œ์ˆ˜ x
    director TEXT,
    for_kids INTEGER -- 0 or 1 ... sql์—์„œ๋Š” T/F ์„ค์ • x
    -- poster BLOB -- image but DB์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๋Š”๊ฑด ์•ˆ์ข‹์Œ ์ด๋ฏธ์ง€ ์ฃผ์†Œ๋ฅผ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•
) STRICT; -- ์œ„ ํƒ€์ž…์ด ์•„๋‹ ์‹œ ์˜ค๋ฅ˜

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•ด๋„ ์กฐ๊ธˆ ๋ถ€์กฑํ•จ. rating์„ 10์ ๊นŒ์ง€๋งŒ ์ฃผ๊ณ  ์‹ถ์ง€๋งŒ ๊ทธ ์ด์ƒ๋ถ€ํ„ฐ ์Œ์ˆ˜๊นŒ์ง€ ๋ชจ๋‘ ๊ฐ€๋Šฅ...

#3.6 Constraints

column ์— ์ถ”๊ฐ€๋  ๋ฐ์ดํ„ฐ์— ์ œ์•ฝ ์กฐ๊ฑด์„ ์ค„ ์ˆ˜ ์žˆ์Œ

/*
    UNIQUE ์œ ์ผ๊ฐ’
    NOT NULL null ๊ธˆ์ง€
    DEFAULT ๊ธฐ๋ณธ๊ฐ’
*/

CREATE TABLE movies (
    title TEXT UNIQUE NOT NULL,
    released INTEGER NOT NULL,
    overview TEXT NOT NULL,
    rating REAL NOT NULL,
    director TEXT,
    for_kids INTEGER NOT NULL DEFAULT 0
) STRICT;

/*
    ์ˆœ์„œ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์กฐ๊ฑด๋“ค๋„ ์žˆ๊ธฐ์— ์‹œ๋„ํ•ด๋ณด๊ธฐ
*/

#3.7 CHECK Constraint

๋””ํ…Œ์ผํ•œ ์ œ์•ฝ ์กฐ๊ฑด ์ถ”๊ฐ€

/*
    CHECK () - CHECK ๋’ค ๋‚ด์šฉ์ด ์ฐธ์ธ์ง€ ํ™•์ธ
    BETWEEN A AND B
*/

CREATE TABLE movies (
    title TEXT UNIQUE NOT NULL,
    released INTEGER NOT NULL CHECK (released > 0),
    overview TEXT NOT NULL,
    rating REAL NOT NULL CHECK (rating BETWEEN 0 AND 10),
    director TEXT,
    for_kids INTEGER NOT NULL DEFAULT 0 CHECK (for_kids BETWEEN 0 AND 1)
) STRICT;

#3.8 Recap

CREATE TABLE movies (
    title TEXT UNIQUE NOT NULL,
    released INTEGER NOT NULL CHECK (released > 0),
    overview TEXT NOT NULL CHECK (LENGTH(overview) <= 100),
    rating REAL NOT NULL CHECK (rating BETWEEN 0 AND 10),
    director TEXT,
    for_kids INTEGER NOT NULL DEFAULT 0 CHECK (for_kids BETWEEN 0 AND 1)
) STRICT;

#3.9 Primary Keys

๊ธฐ๋ณธ ํ‚ค - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰/๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ. ๊ณ ์œ ํ•œ ๊ฐ’์ด ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๊ธฐ๋ณธ ํ‚ค ์—ด์€ NULL ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ์—ฌ๋Ÿฌ ํ•„๋“œ๊ฐ€ ํ‚ค๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๋ณตํ•ฉ ํ‚ค๋ผ๊ณ  ํ•œ๋‹ค.

๊ธฐ๋ณธ ํ‚ค๋Š” ๋ถˆ๋ณ€ํ•˜๊ณ  ๊ณ ์œ ํ•ด์•ผ ํ•จ

NATURAL PRIMARY KEY - ์ž์—ฐ ๊ธฐ๋ณธํ‚ค, ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ์—์„œ ํŒŒ์ƒ๋˜์–ด ๊ณ ์œ  ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” column์„ ์˜๋ฏธ

SURROGATE PRIMARY KEY - ๋Œ€์ฒด ๊ธฐ๋ณธํ‚ค, ์˜๋ฏธ ์—†์ง€๋งŒ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ธ์œ„์ ์ธ ์—ด

์ž์—ฐ ๊ธฐ๋ณธํ‚ค๋Š” ์œ ์ง€๊ฐ€ ์–ด๋ ต๊ธฐ์— ๋Œ€์ฒด ๊ธฐ๋ณธํ‚ค ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋จ

-- ์ž์—ฐ ๊ธฐ๋ณธํ‚ค title
CREATE TABLE movies (
    title TEXT PRIMARY KEY UNIQUE NOT NULL,
    released INTEGER NOT NULL CHECK (released > 0),
    overview TEXT NOT NULL CHECK (LENGTH(overview) <= 100),
    rating REAL NOT NULL CHECK (rating BETWEEN 0 AND 10),
    director TEXT,
    for_kids INTEGER NOT NULL DEFAULT 0 CHECK (for_kids BETWEEN 0 AND 1)
) STRICT;

-- ๋Œ€์ฒด ๊ธฐ๋ณธํ‚ค movieId
CREATE TABLE movies (
    movieId INTEGER NOT NULL PRIMARY KEY,
    title TEXT UNIQUE NOT NULL,
    released INTEGER NOT NULL CHECK (released > 0),
    overview TEXT NOT NULL CHECK (LENGTH(overview) <= 100),
    rating REAL NOT NULL CHECK (rating BETWEEN 0 AND 10),
    director TEXT,
    for_kids INTEGER NOT NULL DEFAULT 0 CHECK (for_kids BETWEEN 0 AND 1)
) STRICT;


-- SQLite_ AUTO INCREMENT ํ•ญ์ƒ ์ƒˆ๋กญ๊ณ  ๊ณ ์œ ํ•œ ๊ธฐ๋ณธํ‚ค ๋ณด์žฅ


PRIMARY KEY & UNIQUE

PRIMARY KEY
UNIQUE

NULL ํ—ˆ์šฉ ์—ฌ๋ถ€

X

O

ํ…Œ์ด๋ธ”๋‹น ๊ฐœ์ˆ˜

1

MANY

INDEX ์ƒ์„ฑ

์ž๋™์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋“œ ์ธ๋ฑ์Šค ์ƒ์„ฑ

NON-ํด๋Ÿฌ์Šคํ„ฐ๋“œ ์ธ๋ฑ์Šค ์ƒ์„ฑ

๋ ˆ์ฝ”๋“œ ์‹๋ณ„

ํ…Œ์ด๋ธ”์ด ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

ํŠน์ • ์—ด์˜ ๊ฐ’์ด ๊ณ ์œ ํ•จ์„ ๋ณด์žฅํ•˜์ง€๋งŒ, ๋ฐ˜๋“œ์‹œ ๋ ˆ์ฝ”๋“œ ์‹๋ณ„์šฉ์€ ์•„๋‹˜

์™ธ๋ž˜ ํ‚ค ์ฐธ์กฐ

๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ ํ‚ค๊ฐ€ ์ฐธ์กฐ ๊ฐ€๋Šฅ

์™ธ๋ž˜ ํ‚ค์˜ ์ฐธ์กฐ ๋Œ€์ƒ์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์Œ

๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ

์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ€๊ฒฝ ๊ถŒ์žฅ X

์ƒ๋Œ€์ ์œผ๋กœ ๋ณ€๊ฒฝ ์šฉ์ด, ์ฃผ์˜ ํ•„์š”

Previous#2 SQLiteNext#4 Data Manipulation Language

Last updated 7 months ago

Was this helpful?

+ ๋‚ด์žฅ FUNCTION

๐Ÿ“บ
์ฐธ๊ณ