yeony._.
๐Ÿข์ฝฉ๋ถ€๐Ÿข
yeony._.
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (99)
    • ๐Ÿ’ปProgramming (91)
      • โ˜•๏ธJava (19)
      • ๐Ÿ’ฝOracle (21)
      • ๐Ÿ‘ฉ‍๐ŸŽจHTML&CSS (12)
      • ๐ŸŽจ ์‹ค์Šต (4)
      • ๐Ÿƒ‍โ™€๏ธJavaScript (25)
      • JSP (8)
      • ๐ŸƒSpring (0)
      • ๐Ÿฅงpython (0)
      • API (0)
      • ๐Ÿ˜ˆGit (1)
    • ๐ŸคซPrivate (0)
      • -- (0)
      • + (0)
      • S (0)
      • P (0)
      • B (0)
    • ๐Ÿ˜ŽProject (4)
      • ๐Ÿ—“๏ธwbs ํ”„๋กœ์ ํŠธ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • HTML #CSS #HTML์ด๋ฏธ์ง€ #HTML์ด๋ฏธ์ง€์—๊ธ€์”จ #HTML์ด๋ฏธ์ง€์—์ด๋ฏธ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
yeony._.

๐Ÿข์ฝฉ๋ถ€๐Ÿข

[Oracle] ์ œ์•ฝ์กฐ๊ฑด
๐Ÿ’ปProgramming/๐Ÿ’ฝOracle

[Oracle] ์ œ์•ฝ์กฐ๊ฑด

2022. 8. 10. 22:48

์ œ์•ฝ์กฐ๊ฑด

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ’์„ ์ œํ•œํ•˜๋Š” ๊ทœ์น™์ธ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ •์˜

๋ฌด๊ฒฐ์„ฑ : DB ๋‚ด์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ(์œ ํšจ์„ฑ) ์œ ์ง€

์ œ์•ฝ์กฐ๊ฑด: ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ 

 

์ œ์•ฝ ์กฐ๊ฑด ํ™•์ธ

SELECT * FROM user_constraints;
SELECT * FROM user_constraintss WHERE table_name = 'ํ…Œ์ด๋ธ”๋ช…';

ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ปฌ๋Ÿผ์— ๋ถ€์—ฌ๋œ ์ œ์•ฝ์กฐ๊ฑด ์ •๋ณด ํ™•์ธ
์–ด๋–ค ์ปฌ๋Ÿผ์— ์ œ์•ฝ์กฐ๊ฑด์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ๊ฐ€๋Šฅ (์ œ์•ฝ ์กฐ๊ฑด์˜ ์ข…๋ฅ˜๋Š” ํ™•์ธ ๋ถˆ๊ฐ€๋Šฅ)

 

๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด(constraint) ์ข…๋ฅ˜ 

1.  PRIMARY KEY constraint


๊ธฐ๋ณธํ‚ค ์ œ์•ฝ์กฐ๊ฑด์€ ํ•˜๋‚˜์˜ ์นผ๋Ÿผ ๋˜๋Š” ๋‘ ๊ฐœ ์ด ์ƒ์˜ ์นผ๋Ÿผ์„ ์กฐํ•ฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ–‰์ด ๋™์ผํ•œ ๊ฐ’ โŒ

๊ธฐ๋ณธ ํ‚ค๋Š” ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ํ•˜๋‚˜๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, null ๊ฐ’์„ ํ—ˆ์šฉ โŒ

๋ชจ๋“  ํ…Œ์ด๋ธ”์ด ๊ธฐ๋ณธํ‚ค๊ฐ€ ์žˆ์Œ 

 

1) ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ๊ธฐ๋ณธ ํ‚ค ์„ค์ • 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…  [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ]  PRIMARY KEY
);

ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ์—๋งŒ ๊ธฐ๋ณธํ‚ค ๋ถ€์—ฌ ๊ฐ€๋Šฅ

 

2) ์ปฌ๋Ÿผ์„ ์ •์˜ํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— ๊ธฐ๋ณธํ‚ค ์„ค์ • 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…   [ ์ œ์•ฝ์กฐ๊ฑด ],
	[ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด์ด๋ฆ„ ] PRIMARY KEY (์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ])
);

๋‘๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ(๋ณตํ•ฉ ํ‚ค)์œผ๋กœ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ง€์ • ๊ฐ€๋Šฅ 

 

3) ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์— ๊ธฐ๋ณธํ‚ค ์„ค์ •

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ]  PRIMARY KEY (์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ]);


4) ๊ธฐ๋ณธํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ์‚ญ์ œ

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP PRIMARY KEY;
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

 


2.  UNIQUE constraint 

 

UNIQUE์ œ์•ฝ์กฐ๊ฑด์€ ํ•˜๋‚˜์˜ ์นผ๋Ÿผ ๋˜๋Š” ๋‘ ๊ฐœ ์ด ์ƒ์˜ ์นผ๋Ÿผ์„ ์กฐํ•ฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ–‰์ด ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
UNIQUE ์ œ์•ฝ ์กฐ๊ฑด์€ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ๋‘ ๊ฐœ ์ด์ƒ ์ง€์ • ๊ฐ€๋Šฅํ•˜๋ฉฐ, null ๊ฐ’์„ ํ—ˆ์šฉ ๊ฐ€๋Šฅ 

 

 

1) ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ ๋™์‹œ์— UNIQUE ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…   [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ]  UNIQUE

 

2) ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ๋ฐฉ์‹์˜ UNIQUE  ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…  [ ์ œ์•ฝ์กฐ๊ฑด ] ,
		[ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] UNIQUE (์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ])
);

 

3) ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์— UNIQUE ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ]  UNIQUE (์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ]);

 

4) UNIQUE ์ œ์•ฝ ์กฑ๊ฑด ์‚ญ์ œ 

 ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP UNIQUE (์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ]);
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

 

3. NOT NULL constraint


์นผ๋Ÿผ์— null ๊ฐ’์„ ํ—ˆ์šฉ โŒ

 

1) ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ NOT NULL ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ   ๋ฐ์ดํ„ฐํƒ€์ž…  NOT NULL       
);

 

2) ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์— NOT NULL ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY ์ปฌ๋Ÿผ  NOT NULL;
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด์ด๋ฆ„ ] CHECK(์ปฌ๋Ÿผ IS NOT NULL);

3) NOT NULL ์ œ์•ฝ ์กฐ๊ฑด ์‚ญ์ œ

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY ์ปฌ๋Ÿผ NULL;
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด์ด๋ฆ„;

 

4. DEFAULT 

 

 1) ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ DEFAULT ์„ค์ •

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
		์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…  DEFAULT ์ˆ˜์‹
);

 

2) DEFAULT ํ™•์ธ 

SELECT column_name, data_type, data_precision, data_length, nullable, data_default 
FROM user_tab_columns 
WHERE table_name='ํ…Œ์ด๋ธ”๋ช…';

 

3) DEFAULT ์ œ๊ฑฐ

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY ์ปฌ๋Ÿผ DEFAULT NULL;

 

 

5. CHECK constraint


CHECK ์ œ์•ฝ ์กฐ๊ฑด์€ ์ง€์ •๋œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

1) ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ ๋™์‹œ์— CHECK ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ •

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…  [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] CHECK ( ์กฐ๊ฑด )
);

2) ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ๋ฐฉ์‹์˜ CHECK ์ œ์•ฝ ์„ค์ •

CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…,
		[ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] CHECK ( ์กฐ๊ฑด )
);

3) ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์— CHECK ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

 ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] CHECK ( ์กฐ๊ฑด );

4) CHECK ์ œ์•ฝ ์กฐ๊ฑด ์‚ญ์ œ

 ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

 

 

6.  FOREIGN KEY constraint (์™ธ๋ž˜ํ‚ค)


์™ธ๋ž˜ ํ‚ค(FOREIGN KEY) ์ œ์•ฝ ์กฐ๊ฑด์€ ํ•œ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์ด ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•จ 

์ฐธ์กฐํ•ด์•ผ ํ•˜๋Š” ํ…Œ์ด๋ธ”์€ REFRENCES ํ‚ค์›Œ๋“œ 

 

1 ) ์ปฌ๋Ÿผ ๋ ˆ๋ฒจ ๋ฐฉ์‹๊ณผ FOREIGN KEY ์ œ์•ฝ ์„ค์ • 

 CREATE TABLE ํ…Œ์ด๋ธ”๋ช… (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…  [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] 
		REFERENCES ์ฐธ์กฐํ• ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ)
		[ON DELETE { CASCADE | SET NULL } ]
);

 

2) ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ๋ฐฉ์‹์˜ FOREIGN KEY ์ œ์•ฝ ์„ค์ •

CREATE TABLE table_name (
	์ปฌ๋Ÿผ  ๋ฐ์ดํ„ฐํƒ€์ž…,
	[ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] FOREIGN KEY ( ์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ] )
		REFERENCES  ์ฐธ์กฐํ• ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ])
		[ON DELETE { CASCADE | SET NULL } ]
);

 

3) ์กด์žฌํ•˜๋Š” ํ…Œ์ด๋ธ”์— FOREIGN KEY ์ œ์•ฝ ์กฐ๊ฑด ์„ค์ • 

ALTER TABLE ํ…Œ์ด๋ธ”๋ช…
	ADD [ CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ] FOREIGN KEY( ์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ] )
	REFERENCES  ์ฐธ์กฐํ• ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ [,์ปฌ๋Ÿผ]);

 

4) ์ œ์•ฝ ์กฐ๊ฑด ์‚ญ์ œ

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

'๐Ÿ’ปProgramming > ๐Ÿ’ฝOracle' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Oracle] ์„œ๋ธŒ์ฟผ๋ฆฌ  (0) 2022.08.11
[Oracle] ์กฐ์ธ  (0) 2022.08.11
[Oracle] ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ(Data Dictionary)  (0) 2022.08.10
[ORACLE] ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ธ์–ด(DML)  (0) 2022.08.09
[ORACLE] ๋ฐ์ดํ„ฐ ์ •์˜์–ธ์–ด (DDL)  (0) 2022.08.09
    '๐Ÿ’ปProgramming/๐Ÿ’ฝOracle' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Oracle] ์„œ๋ธŒ์ฟผ๋ฆฌ
    • [Oracle] ์กฐ์ธ
    • [Oracle] ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ(Data Dictionary)
    • [ORACLE] ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ธ์–ด(DML)
    yeony._.
    yeony._.
    ํž˜ ์„ธ์ง€๋Š” ์•Œ์•ฝ๐Ÿ’Š๐Ÿ’Š๐Ÿ’Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”