๊ด€๋ฆฌ ๋ฉ”๋‰ด

IT’s Portfolio

[Lecture] DataBase - Day 1 ๋ณธ๋ฌธ

Development Study

[Lecture] DataBase - Day 1

f1r3_r41n 2023. 12. 29. 17:57
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ DataBase - Day 1

๐Ÿ‘‰๐Ÿป [Chapter 01] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

[01] ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, DBMS

  • Data : ์›์„
    • ์–ด๋–ค ํ•„์š”์— ์˜ํ•ด ์ˆ˜์ง‘ํ–ˆ์ง€๋งŒ ์•„์ง ํŠน์ • ๋ชฉ์ ์„ ์œ„ํ•ด ํ‰๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ •์ œํ•˜์ง€ ์•Š์€ ๊ฐ’์ด๋‚˜ ์‚ฌ์‹ค ๋˜๋Š” ์ž๋ฃŒ ์ž์ฒด๋ฅผ ์˜๋ฏธ
  • Information : ๋ณด์„
    • ์ •๋ณด๋Š” ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋– ํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ๋ถ„์„ํ•˜๊ฑฐ๋‚˜ ๊ฐ€๊ณตํ•˜์—ฌ ๊ฐ€์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์˜๋ฏธ๋ฅผ ์ด๋Œ์–ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์˜๋ฏธ
  • ์•„๋ž˜์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ํŠน์ • ๋ชฉ์ ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ์™€ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ๊ตฌ์กฐํ™”ํ•œ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค'๋ผ๊ณ  ํ•จ
    • ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์กฐ๊ฑด
      • ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๊ด€๋ฆฌ
      • ์ผ๊ด€๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ด€๋ฆฌ
      • ๋ฐ์ดํ„ฐ ๋ˆ„๋ฝ ๋ฐ ์ค‘๋ณต ์ œ๊ฑฐ
      • ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž(์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํฌํ•จ)๊ฐ€ ๊ณต๋™์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํŒŒ์ผ ์‹œ์Šคํ…œ(= flat file structure)
    • ์„œ๋กœ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋งž๊ฒŒ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•จ
    • ๊ฐ ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์„œ๋กœ ์—ฐ๊ด€์ด ์—†๊ณ  ์ค‘๋ณต ๋˜๋Š” ๋ˆ„๋ฝ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
  • DBMS(DataBase Management System)
    • ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉฐ ์„œ๋น„์Šค ์ œ๊ณต์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅ
    • ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ ๋ฐ ๊ด€๋ฆฌ ๋“ฑ์˜ ์—…๋ฌด๋ฅผ ์ „๋‹ดํ•จ

[02] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

  • hierarchical data model
    • tree ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ด€๋ จ์„ฑ์„ ๊ณ„์ธต๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ๋ถ€๋ชจ ์ž์‹ ๊ฐ™์€ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•จ
  • network data model
    • ๋งํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ graph ๊ตฌ์กฐ ๊ธฐ๋ฐ˜
    • ๊ฐœ์ฒด ๊ฐ„ ๊ด€๊ณ„๋ฅผ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ๋กœ ์—ฐ๊ฒฐํ•˜๋ฏ€๋กœ ์ž์‹ ๊ฐœ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ๋ถ€๋ชจ ๊ฐœ์ฒด๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
  • object-oriented data model
    • ๊ฐ์ฒด ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ
    • ๋ฐ์ดํ„ฐ๋ฅผ ๋…๋ฆฝ๋œ ๊ฐ์ฒด๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋ฉฐ ์ƒ์†, ์˜ค๋ฒ„๋ผ์ด๋“œ ๋“ฑ ๊ธฐ๋Šฅ ํ™œ์šฉ ๊ฐ€๋Šฅ
  • relational data model
    • ํ˜„๋Œ€์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ”ํƒ•์ด ๋จ
    • ๋‹ค๋ฅธ ๋ชจ๋ธ๊ณผ ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ฐ„ ๊ด€๊ณ„์— ์ดˆ์ ์„ ๋‘ 
    • entity : ์‚ฌ๋ฌผ, ๊ฐœ๋…์˜ ์ •๋ณด ๋‹จ์œ„
    • attribute : ๊ฐœ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐ€์žฅ ์ž‘์€ ๋…ผ๋ฆฌ์  ๋‹จ์œ„
      • ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜, ํŠน์„ฑ, ์ƒํƒœ ๋“ฑ์„ ์ •์˜ํ•จ
    • relationship : ๊ฐœ์ฒด์™€ ๊ฐœ์ฒด ๋˜๋Š” ์†์„ฑ ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์„ ๋‚˜ํƒ€๋ƒ„

[03] ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL

  • Relational DataBase
    • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฐœ๋…์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • RDBMS(Relational DataBase Management System)
      • MS-SQL, MySQL, MariaDB, PostgreSQL, DB2 ๋“ฑ
  • SQL(Structured Query Language)
    • RDBMS์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์งˆ์˜ ์–ธ์–ด
    • DQL(Data Query Language)
      • ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด
    • DML(Data Manipulation Language)
      • ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด
    • DDL(Data Definition Language)
      • ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด
    • TCL(Transaction Control Language)
      • ํŠธ๋žœ์žญ์…˜ ๋ฐ์ดํ„ฐ์˜ ์˜๊ตฌ ์ €์žฅ ๋ฐ ์ทจ์†Œ ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด
    • DCL(Data Control Language)
      • ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ๊ถŒํ•œ๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด

๐Ÿ‘‰๐Ÿป [Chapter 02] ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

[01] ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์„ฑ ์š”์†Œ

  • table(= relation)
    • 2์ฐจ์› ํ‘œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ณต๊ฐ„
    • row(= tuple, record) : ํ–‰(๊ฐ€๋กœ์ค„)
    • column(= attribute, field) : ์—ด(์„ธ๋กœ์ค„)
  • key
    • ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜๋Š” ์—ฌ๋Ÿฌ ์—ด ์ค‘์—์„œ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๋ฅผ ์ง€๋‹Œ ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ ์—ด์˜ ์กฐํ•ฉ
      • uniqueness : ํ•œ ๋ฆด๋ ˆ์ด์…˜์—์„œ ๋ชจ๋“  ํŠœํ”Œ์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ‚ค ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•จ
      • minimality : ๊ผญ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์†์„ฑ๋“ค๋กœ๋งŒ ํ‚ค ๊ตฌ์„ฑ
    • super key : ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์†์„ฑ(๋“ค์˜ ์ง‘ํ•ฉ)
    • primary key : ํ›„๋ณดํ‚ค ์ค‘์—์„œ ๊ธฐ๋ณธํ‚ค๋กœ ์„ ํƒํ•œ ํ‚ค
      • ์—ฌ๋Ÿฌ ํ‚ค ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ‚ค๋กœ์„œ ํ•œ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํ‚ค
      • ์†์„ฑ
        • ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ํ–‰์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ฐ’์ด์–ด์•ผ ํ•จ
        • ๊ฐ’์˜ ์ค‘๋ณต์ด ์—†์–ด์•ผ ํ•จ
        • NULL ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ
    • candidate key : ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์†์„ฑ(๋“ค์˜ ์ง‘ํ•ฉ)
    • foreign key : ๋‹ค๋ฅธ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์†์„ฑ(๋“ค์˜ ์ง‘ํ•ฉ)
      • ํŠน์ • ํ…Œ์ด๋ธ”์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค๋กœ ์ง€์ •๋œ ํ‚ค๋ฅผ ์ด๋ฏธ
    • altermate key : ๊ธฐ๋ณธํ‚ค๋กœ ์„ ํƒ๋˜์ง€ ๋ชปํ•œ ํ›„๋ณดํ‚ค
    • composite key : ์—ฌ๋Ÿฌ ์—ด์„ ์กฐํ•ฉํ•˜์—ฌ ๊ธฐ๋ณธ ํ‚ค ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ํ‚ค

[02] ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • Version
    • 1999 : 8i
    • 2001 : 9i
    • 2004 : 10g
    • 2007 : 11g
    • 2013 : 12c
  • Data Type : ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ธ์ง€
    • VARCHAR2(๊ธธ์ด)
      • 4000byte๋งŒํผ์˜ ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ(์ตœ์†Œ ํฌ๊ธฐ 1byte)
    • NUMBER(์ „์ฒด ์ž๋ฆฟ์ˆ˜, ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฟ์ˆ˜)
      • $\plusmn$ 38์ž๋ฆฟ์ˆ˜์˜ ์ˆซ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ
    • DATE
      • ๋‚ ์งœ ํ˜•์‹์„ ์ €์žฅํ•จ
      • ์„ธ๊ธฐ, ์—ฐ, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆ ์ €์žฅ ๊ฐ€๋Šฅ
    • CHAR(๊ธธ์ด)
      • 4000byte๋งŒํผ์˜ ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ(์ตœ์†Œ ํฌ๊ธฐ 1byte)
    • NVARCHAR2(๊ธธ์ด)
      • 4000byte๋งŒํผ์˜ ๊ฐ€๋ณ€ ๊ธธ์ด ๊ตญ๊ฐ€๋ณ„ ๋ฌธ์ž ์„ธํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ(์ตœ์†Œ ํฌ๊ธฐ 1byte)
    • BLOB
      • ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ์ด์ง„ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฐ€๋Šฅ
    • CLOB
      • ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฐ€๋Šฅ
    • BFILE
      • ์ตœ๋Œ€ ํฌ๊ธฐ 4GB์˜ ๋Œ€์šฉ๋Ÿ‰ ์ด์ง„ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ €์žฅ ๊ฐ€๋Šฅ
  • ๊ฐ์ฒด : ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ๊ตฌ์„ฑ ์š”์†Œ
    • table
      • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์žฅ์†Œ
    • index
      • ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • view
      • ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„ ๋ณ„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•ด ์คŒ
    • sequence
      • ์ผ๋ จ ๋ฒˆํ˜ธ๋ฅผ ์ƒ์„ฑ
    • synonym
      • ์˜ค๋ผํด ๊ฐ์ฒด์˜ ๋ณ„์นญ(๋‹ค๋ฅธ ์ด๋ฆ„) ์ง€์ •
    • procedure
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์‚ฐ ๋ฐ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ(๋ฐ˜ํ™˜ ๊ฐ’ ์—†์Œ)
    • function
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์‚ฐ ๋ฐ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ(๋ฐ˜ํ™˜ ๊ฐ’ ์žˆ์Œ)
    • package
      • ๊ด€๋ จ ์žˆ๋Š” ํ”„๋กœ์‹œ์ €์™€ ํ•จ์ˆ˜ ๋ณด๊ด€
    • trigger
      • ๋ฐ์ดํ„ฐ ๊ด€๋ จ ์ž‘์—…์˜ ์—ฐ๊ฒฐ ๋ฐ ๋ฐฉ์ง€ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ œ๊ณต
  • PL/SQL(Procedural Language extension to SQL)
    • ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
    • ๋ณ€์ˆ˜, ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

๐Ÿ‘‰๐Ÿป [Chapter 04] select๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹

[01] ์‹ค์Šต์šฉ ํ…Œ์ด๋ธ” ์‚ดํŽด๋ณด๊ธฐ

  • desc EMP
  • desc DEPT
  • desc SALGRADE

[02] ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ• - ์…€๋ ‰์…˜, ํ”„๋กœ์ ์…˜, ์กฐ์ธ

  • selection : ํ–‰ ๋‹จ์œ„๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ์‹
  • projection : ์—ด ๋‹จ์œ„๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ์‹
  • ํŠน์ • ํ…Œ์ด๋ธ”์—์„œ ์กฐํšŒํ•˜๋ ค๋Š” ํ–‰๊ณผ ์—ด์„ ๋ชจ๋‘ ์„ ๋ณ„ํ•  ๋•Œ ์…€๋ ‰์…˜๊ณผ ํ”„๋กœ์ ์…˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • join : ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ์–‘์˜†์— ์—ฐ๊ฒฐํ•˜์—ฌ ๋งˆ์น˜ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ์‹

[03~06] select, from, distinct, as, order by

  • ์‚ฌ์›์˜ ๋ชจ๋“  ์ •๋ณด ์กฐํšŒ
    • select * from EMP;
  • ์‚ฌ์›์˜ ์‚ฌ์›๋ฒˆํ˜ธ, ์‚ฌ์›์ด๋ฆ„, ๋ถ€์„œ๋ฒˆํ˜ธ ์กฐํšŒ
    • select EMPNO, ENAME, DEPTNO from EMP;
  • distinct : ์ค‘๋ณต ์ œ๊ฑฐ
  • all : ๊ธฐ๋ณธ, ์ค‘๋ณต ์ œ๊ฑฐํ•˜์ง€ ์•Š์Œ
  • ๋ถ€์„œ๋ฒˆํ˜ธ๋ฅผ ์ค‘๋ณต์—†์ด ์ถœ๋ ฅ
    • select distinct DEPTNO from EMP;
  • JOB, DEPTNO๋ฅผ ์ค‘๋ณต์—†์ด ์ถœ๋ ฅ
    • select distinct JOB, DEPTNO from EMP;
  • JOB, DEPTNO๋ฅผ ์ค‘๋ณต ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ
    • select JOB, DEPTNO from EMP;
  • as : ๋ณ„์นญ ์„ค์ •
  • ENAME, SAL, ์—ฐ๊ฐ„์ด์ˆ˜์ž…, COMM ์กฐํšŒ
    • select ENAME, SAL, SAL*12+COMM, COMM from EMP;
  • ENAME, SAL, ์—ฐ๊ฐ„์ด์ˆ˜์ž…(ANNSAL), COMM ์กฐํšŒ
    • select ENAME, SAL, SAL*12+COMM as ANNSAL, COMM from EMP;
  • order by : ์ •๋ ฌ
  • asc : ๊ธฐ๋ณธ, ์˜ค๋ฆ„์ฐจ์ˆœ
  • desc : ๋‚ด๋ฆผ์ฐจ์ˆœ
  • ์‚ฌ์›์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ธ‰์—ฌ๊ฐ€ ์ ์€ ์‚ฌ์›๋ถ€ํ„ฐ ์กฐํšŒ
    • select * from EMP order by SAL;
  • ์‚ฌ์›์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ธ‰์—ฌ๊ฐ€ ๋งŽ์€ ์‚ฌ์›๋ถ€ํ„ฐ ์กฐํšŒ
    • select * from EMP order by SAL desc;
  • ์‚ฌ์›์ •๋ณด๋ฅผ ๋ถ€์„œ๋ฒˆํ˜ธ ์ˆœ์œผ๋กœ, ๊ฐ™์€ ๋ถ€์„œ์ด๋ฉด ๊ธ‰์—ฌ๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • select * from EMP order by DEPTNO, SAL desc;

๐Ÿ‘‰๐Ÿป [Chapter 05] ๋” ์ •ํ™•ํ•˜๊ณ  ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” where์ ˆ๊ณผ ์—ฐ์‚ฐ์ž

[01~02] where, and/or ์—ฐ์‚ฐ์ž

  • ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ 30์ธ ์‚ฌ์›์ •๋ณด ์กฐํšŒ
    • select * from EMP where DEPTNO = 30;
  • ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ 30์ด๋ฉด์„œ ์ง์—…์ด SALESMAN์ธ ์‚ฌ์›์ •๋ณด
    • select * from EMP where DEPTNO = 30 and JOB = 'SALESMAN';
  • ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ 30์ด๊ฑฐ๋‚˜ ์ง์—…์ด CLERK์ธ ์‚ฌ์›์ •๋ณด
    • select * from EMP where DEPTNO = 30 or JOB = 'CLERK';

[03] ์—ฐ์‚ฐ์ž ์ข…๋ฅ˜์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ•

  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž
    • +, -, /, *
  • ๊ธ‰์—ฌ์— 12๋ฅผ ๊ณฑํ•œ ๊ฐ’์ด 36000์ธ ํ–‰ ์กฐํšŒ
    • select * from EMP where SAL*12 = 36000;
  • ๋น„๊ต ์—ฐ์‚ฐ์ž
    • $>, >=, <=, <$
  • ๊ธ‰์—ฌ๊ฐ€ 3000 ์ด์ƒ์ธ ์‚ฌ์›์ •๋ณด ์กฐํšŒ
    • select * from EMP where SAL >= 3000;
  • ์‚ฌ์›์ด๋ฆ„์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ 'F'์™€ ๊ฐ™๊ฑฐ๋‚˜ ๋’ค์ชฝ์ธ ๊ฒƒ๋งŒ ๊ฒ€์ƒ‰
    • select * from EMP where ENAME >= 'F';
  • ๋“ฑ๊ฐ€ ๋น„๊ต ์—ฐ์‚ฐ์ž
    • $=$ : A ๊ฐ’์ด B ๊ฐ’๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ true, ๋‹ค๋ฅผ ๊ฒฝ์šฐ false ๋ฐ˜ํ™˜
    • $!=$, $<>$, $^=$ : A ๊ฐ’๊ณผ B ๊ฐ’์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ true, ๊ฐ™์„ ๊ฒฝ์šฐ false ๋ฐ˜ํ™˜
    • select * from EMP where SAL != 3000;
    • select * from EMP where SAL <> 3000;
    • select * from EMP where SAL ^= 3000;
  • ๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž
    • not
    • select * from EMP where SAL not 3000;
728x90
๋ฐ˜์‘ํ˜•

'Development Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Lecture] DataBase - Day 3  (1) 2023.12.29
[Lecture] DataBase - Day 2  (0) 2023.12.29
[Lecture] Operating System - Finals Summary  (1) 2023.06.18
[Lecture] DataBase - Finals Summary  (3) 2023.06.17
[Lecture] DataBase - Day 11  (0) 2023.06.12
Comments