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

๐Ÿ–ฅ๏ธ/DBMS15

[Oracle ๋ฌธ๋ฒ•] ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ (concat, ||) Oracle์—์„œ ๋ฌธ์ž์—ด์„ ํ•ฉ์น˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋‘ ๊ฐ€์ง€ ์žˆ๋‹ค. 1. CONCAT select concat(concat('Hello', ' '), 'World') from dual; >>Hello World ๋‘ ๊ฐœ์˜ ๋ฌธ์ž์—ด์„ ํ•ฉ์น˜๋Š” ๊ฒƒ๊นŒ์ง€๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„์ด ๋˜์ง€๋งŒ, ์„ธ ๊ฐœ ์ด์ƒ๋ถ€ํ„ฐ๋Š” concat์„ ์ค‘์ฒฉํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. 2. || select 'Hello'||' '||'World' from dual; >>Hello World ์„ธ ๊ฐœ ์ด์ƒ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•  ๋•Œ๋„ ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 2023. 7. 5.
[Oracle ๋ฌธ๋ฒ•] order by ~ limit ๊ตฌํ˜„ํ•˜๊ธฐ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ: finished_rate๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ–‰์˜ ์ •๋ณด ์ „์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ: finish_rate=1์ธ ํ–‰์˜ ์ „์ฒด ์ •๋ณด oracle์€ limit์ด ์—†์–ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์–ด์•ผํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. SELECT a.* FROM (SELECT b.*, rownum b_rownum FROM (SELECT c.* FROM some_table c ORDER BY some_column) b WHERE rownum = ๋งŒ์•ฝ upper limit๊ณผ lower limit์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ๊ทธ๋ฆฌ๊ณ  ์ •๋ ฌ๋œ rownum ์นผ๋Ÿผ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด ์œ„์™€ ๊ฐ™์ด ๊ธธ๊ฒŒ ์จ์•ผํ•˜๊ฒ ์ง€๋งŒ, ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ๋Š” upper limit๋งŒ ์žˆ์œผ๋ฉด ๋ฏ€๋กœ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. 1. finished_rate๊ฐ€ ํฐ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ SELECT.. 2023. 6. 28.
DB์„ค๊ณ„) ๋ฐฅ์ง‘ ์ฐพ๋Š” ํ…Œ์ด๋ธ” ์„ค๊ณ„ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ํ•˜๊ธฐ db ์ด๋ฆ„: yummy_db 1) ๋ง›์ง‘ ํ…Œ์ด๋ธ” ์—ด ์ด๋ฆ„ place ๋ฐ์ดํ„ฐํƒ€์ž… ์ตœ๋Œ€ ๊ธธ์ด null ํ—ˆ์šฉ ์—ฌ๋ถ€ ์ˆœ๋ฒˆ (PK) num int, auto_increment x ์‹๋‹น ์ด๋ฆ„ (Unique) place_name char 20 x ์Œ์‹ ์ข…๋ฅ˜ place_kind char 10 (ํ•œ์‹, ์ค‘์‹, ์–‘์‹, ๋ฒ ํŠธ๋‚จ์Œ) x ๊ฑฐ๋ฆฌ (๋„๋ณด) place_howfar tinyint, unsigned o ๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ์— ์œ„์น˜ํ•œ ๋ง›์ง‘๋งŒ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋ฏ€๋กœ tinyint๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2) ์Œ์‹ ํ…Œ์ด๋ธ” ์—ด ์ด๋ฆ„ food ๋ฐ์ดํ„ฐํƒ€์ž… ์ตœ๋Œ€ ๊ธธ์ด null ํ—ˆ์šฉ ์—ฌ๋ถ€ ์ˆœ๋ฒˆ (PK) num int, auto_increment x ์Œ์‹ ์ข…๋ฅ˜ food_kind char 10 x ์Œ์‹ ์ด๋ฆ„ food_name char 20.. 2023. 4. 10.
SQL Select ํ™œ์šฉ(์„œ๋ธŒ์ฟผ๋ฆฌ, group by, join) *๋ฐ์ดํ„ฐ ์ž๋ฃŒ๋Š” ํ•œ๋น›๋ฏธ๋””์–ด ์‚ฌ์ดํŠธ์˜ ํ˜ผ๊ณต ์ž๋ฃŒ์‹ค์— ์žˆ๋Š” ์ž๋ฃŒ ์„œ๋ธŒ์ฟผ๋ฆฌ ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ์ฟผ๋ฆฌ ์•ˆ์— () ์•ˆ์— ์ฟผ๋ฆฌ๊ฐ€ ๋˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. SELECT * FROM member WHERE height > (SELECT height FROM member WHERE mem_name LIKE '์—์ดํ•‘ํฌ'); (limit์€ mysql ์ „์šฉ) SELECT * FROM member WHERE height > (SELECT height FROM member WHERE mem_name LIKE '์—์ดํ•‘ํฌ') ORDER BY height DESC LIMIT 3; group by group by๋Š” ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ํ–‰๋“ค์„ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. group by๋Š” ์ฃผ๋กœ ์ง‘๊ณ„ํ•จ์ˆ˜์™€ ์‚ฌ์šฉ๋œ๋‹ค. su.. 2023. 4. 10.
SQL ์ œ์•ฝ์กฐ๊ฑด (PK, FK, Unique, Check, Default) 1. primary key ์ œ์•ฝ์กฐ๊ฑด PK๋Š” ํ•œ ํ–‰์„์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ! primary key๋Š” null๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ not null์„ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋–ค db๋Š” not null์„ ์•ˆ์ ์–ด๋„ ๋‹น์—ฐํžˆ null๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†์œผ๋‹ˆ not null๋กœ ์ธ์‹ํ•˜๋Š” ๊ฒŒ ์žˆ๊ณ , ๋ฌธ๋ฒ•์ƒ ์˜ค๋ฅ˜๋ผ๊ณ  ์ธ์‹ํ•˜๋Š” ๊ฒƒ๋„ ์žˆ์œผ๋‹ˆ ์“ฐ๋Š” ๊ฑธ ์Šต๊ด€ํ™”ํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค. ์„ค์ •๋ฐฉ๋ฒ• 1 CREATE TABLE member ( mem_id CHAR(8) NOT NULL PRIMARY KEY, mem_name VARCHAR(10) NOT NULL, . . . ); ์„ค์ •๋ฐฉ๋ฒ• 2 ALTER TABLE member ADD CONSTRAINT PRIMARY KEY (mem_id); 2. foreign key ์ œ์•ฝ์กฐ๊ฑด FK๋Š” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ PK๋ฅผ .. 2023. 4. 10.
[MySQL] ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ (create) create database product_db; use product_db; 2. ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (create) ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์—ด์ด๋ฆ„๊ณผ ๋ฐ์ดํ„ฐํƒ€์ž… nullํ—ˆ์šฉ์—ฌ๋ถ€ (PK); ๋กœ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. create table product ( product_name char(20) not null primary key, product_price int not null, product_made char(10), product_company char(20), product_num int ); ๋งŒ์•ฝ ์—ด์˜ ์ด๋ฆ„์ด๋‚˜ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด alter table ํ…Œ์ด๋ธ”๋ช… change ์˜ˆ์ „์—ด์ด๋ฆ„ ์ƒˆ๋กœ์šด์—ด์ด๋ฆ„ ์ƒˆ๋กœ์šด๋ฐ์ดํ„ฐํƒ€์ž… (nullํ—ˆ์šฉ์—ฌ๋ถ€) (PK); ๋กœ ๋ณ€.. 2023. 4. 10.
DB์„ค๊ณ„) ํ•™์ƒ ํ…Œ์ด๋ธ”๊ณผ ์„ฑ์  ํ…Œ์ด๋ธ” ์„ค๊ณ„ํ•˜๊ธฐ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ํ•˜๊ธฐ db ์ด๋ฆ„: student_db 1) ํ•™์ƒ ํ…Œ์ด๋ธ” ์—ด ์ด๋ฆ„ student_info ๋ฐ์ดํ„ฐํƒ€์ž… ์ตœ๋Œ€๊ธธ์ด null ํ—ˆ์šฉ ์—ฌ๋ถ€ ์ด๋ฆ„ student_name char 5 x ํ•™๋…„ student_grade tinyint 1 o ํ•™๋ฒˆ (PK) student_number int 8 x ์„ฑ๋ณ„ student_gender char 6(Male/Female) x ์ƒ๋…„์›”์ผ student_birth date YYYY-MM-DD x ํ•™๊ณผ์ฝ”๋“œ (FK) major_code smallint 3 x student_grade๋Š” 1~4๊นŒ์ง€๋งŒ ํ‘œ๊ธฐ๋˜๋ฏ€๋กœ tinyint ํƒ€์ž…์„ ์„ ํƒํ–ˆ๊ณ , ํ•™๊ณผ์ฝ”๋“œ๋Š” ์„ธ ์ž๋ฆฌ ์ •์ˆ˜๋กœ ์„ค์ •ํ•ด์„œ smallint ํƒ€์ž…์„ ์„ ํƒํ•˜์˜€๋‹ค. 2) ๊ณผ๋ชฉ ํ…Œ์ด๋ธ” ์—ด ์ด๋ฆ„ subject_info ๋ฐ์ดํ„ฐํƒ€์ž….. 2023. 4. 9.
[SQL Server] ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ (create) (MySQL๊ณผ ๋™์ผ) create database product_db; use product_db; 2. ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (create) ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ• ๋•Œ๋Š” ์—ด์ด๋ฆ„๊ณผ ๋ฐ์ดํ„ฐํƒ€์ž… nullํ—ˆ์šฉ์—ฌ๋ถ€ (PK); ๋กœ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. SQL Server๋Š” ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ nchar, nvarchar ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•œ๋‹ค. create table product ( product_name nvarchar(20) not null primary key, product_price int not null, product_made date not null, product_company nvarchar(20), product_num int ); ๋งŒ์•ฝ ์—ด์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด sp.. 2023. 4. 7.

"); wcs_do();