<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=BNF%28Backus-Naur_Form%29_%EB%B0%A9%EC%8B%9D</id>
	<title>BNF(Backus-Naur Form) 방식 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=BNF%28Backus-Naur_Form%29_%EB%B0%A9%EC%8B%9D"/>
	<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=BNF(Backus-Naur_Form)_%EB%B0%A9%EC%8B%9D&amp;action=history"/>
	<updated>2026-05-09T00:57:17Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=BNF(Backus-Naur_Form)_%EB%B0%A9%EC%8B%9D&amp;diff=66&amp;oldid=prev</id>
		<title>Oracle: /* BNF의 기본 개념 */</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=BNF(Backus-Naur_Form)_%EB%B0%A9%EC%8B%9D&amp;diff=66&amp;oldid=prev"/>
		<updated>2024-11-23T02:20:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;BNF의 기본 개념&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024년 11월 23일 (토) 11:20 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;21번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;21번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** SQL is flexible&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** SQL is flexible&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2. &lt;/del&gt;Oracle SQL 구문에서의 BNF&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;Oracle SQL 구문에서의 BNF &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle 문서에서 BNF는 SQL 명령의 구문을 설명하는 데 사용됩니다. Oracle BNF 표기법은 대체로 BNF에서 파생된 EBNF(Extended Backus-Naur Form) 형식을 따르며, 약간의 확장을 포함합니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle 문서에서 BNF는 SQL 명령의 구문을 설명하는 데 사용됩니다. Oracle BNF 표기법은 대체로 BNF에서 파생된 EBNF(Extended Backus-Naur Form) 형식을 따르며, 약간의 확장을 포함합니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l42&quot;&gt;42번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;42번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;constraint&amp;gt; ::= PRIMARY KEY | UNIQUE | ...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;constraint&amp;gt; ::= PRIMARY KEY | UNIQUE | ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3. &lt;/del&gt;Oracle 문서의 BNF 표기법&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;Oracle 문서의 BNF 표기법 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle 문서에서는 BNF 또는 BNF 유사 표기법을 직관적으로 읽을 수 있도록 다음 기호를 사용합니다:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle 문서에서는 BNF 또는 BNF 유사 표기법을 직관적으로 읽을 수 있도록 다음 기호를 사용합니다:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;56번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;56번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	예: table, datatype → 사용자가 테이블 이름과 데이터 유형을 지정해야 함.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	예: table, datatype → 사용자가 테이블 이름과 데이터 유형을 지정해야 함.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4. &lt;/del&gt;예제 분석: CREATE INDEX&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;예제 분석: CREATE INDEX &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음은 Oracle 문서에서 BNF 형식으로 표현된 CREATE INDEX 구문입니다:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음은 Oracle 문서에서 BNF 형식으로 표현된 CREATE INDEX 구문입니다:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l81&quot;&gt;81번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;81번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	3.	TABLESPACE 및 STORAGE 절도 선택적으로 포함될 수 있음([ ... ]).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	3.	TABLESPACE 및 STORAGE 절도 선택적으로 포함될 수 있음([ ... ]).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5. &lt;/del&gt;BNF 표기법의 장점&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;BNF 표기법의 장점 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	표준화: 언어 구문을 정확히 기술하는 표준 방식 제공.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	표준화: 언어 구문을 정확히 기술하는 표준 방식 제공.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot;&gt;87번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;87번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	확장성: 복잡한 명령도 계층적으로 나눠 관리할 수 있음.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	확장성: 복잡한 명령도 계층적으로 나눠 관리할 수 있음.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6. &lt;/del&gt;BNF가 Oracle 문서에서 유용한 이유&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;BNF가 Oracle 문서에서 유용한 이유 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	복잡한 SQL 구문을 간결하게 표현.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	복잡한 SQL 구문을 간결하게 표현.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l93&quot;&gt;93번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;93번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	반복 가능 항목(예: 열 정의 등)을 명확히 구분.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	•	반복 가능 항목(예: 열 정의 등)을 명확히 구분.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;7. &lt;/del&gt;BNF의 실용적인 활용&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &lt;/ins&gt;BNF의 실용적인 활용 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle SQL 구문을 읽을 때 BNF를 활용하려면:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oracle SQL 구문을 읽을 때 BNF를 활용하려면:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=BNF(Backus-Naur_Form)_%EB%B0%A9%EC%8B%9D&amp;diff=65&amp;oldid=prev</id>
		<title>Oracle: 새 문서: * Backus-Naur Form (BNF)는 컴퓨터 언어의 문법(구문)을 표현하는 표준화된 형식입니다.  * Oracle 문서나 데이터베이스 관련 기술 문서를 읽을 때 종종 사용됩니다.  * BNF는 특정 언어의 문법 규칙을 간결하고 구조화된 방식으로 정의하는 데 사용되며, 데이터베이스 SQL 구문에서도 이를 자주 볼 수 있습니다.  == BNF의 기본 개념 ==  * BNF는 문법을 ”생성 규칙(production rules)“...</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=BNF(Backus-Naur_Form)_%EB%B0%A9%EC%8B%9D&amp;diff=65&amp;oldid=prev"/>
		<updated>2024-11-23T02:19:16Z</updated>

		<summary type="html">&lt;p&gt;새 문서: * Backus-Naur Form (BNF)는 컴퓨터 언어의 문법(구문)을 표현하는 표준화된 형식입니다.  * Oracle 문서나 데이터베이스 관련 기술 문서를 읽을 때 종종 사용됩니다.  * BNF는 특정 언어의 문법 규칙을 간결하고 구조화된 방식으로 정의하는 데 사용되며, 데이터베이스 SQL 구문에서도 이를 자주 볼 수 있습니다.  == BNF의 기본 개념 ==  * BNF는 문법을 ”생성 규칙(production rules)“...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* Backus-Naur Form (BNF)는 컴퓨터 언어의 문법(구문)을 표현하는 표준화된 형식입니다. &lt;br /&gt;
* Oracle 문서나 데이터베이스 관련 기술 문서를 읽을 때 종종 사용됩니다. &lt;br /&gt;
* BNF는 특정 언어의 문법 규칙을 간결하고 구조화된 방식으로 정의하는 데 사용되며, 데이터베이스 SQL 구문에서도 이를 자주 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== BNF의 기본 개념 ==&lt;br /&gt;
&lt;br /&gt;
* BNF는 문법을 ”생성 규칙(production rules)“ 으로 표현하며, 다음과 같은 구조를 가집니다:&lt;br /&gt;
** 비터미널(non-terminal): 다른 규칙으로 대체될 수 있는 요소.&lt;br /&gt;
** 터미널(terminal): 더 이상 대체되지 않는 실제 값(문자, 키워드 등).&lt;br /&gt;
** 생성 규칙: ::= 기호를 사용해 문법의 정의를 나타냅니다.&lt;br /&gt;
&lt;br /&gt;
* 예:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;statement&amp;gt; ::= &amp;lt;subject&amp;gt; &amp;lt;predicate&amp;gt;&lt;br /&gt;
&amp;lt;subject&amp;gt; ::= &amp;quot;Oracle&amp;quot; | &amp;quot;SQL&amp;quot;&lt;br /&gt;
&amp;lt;predicate&amp;gt; ::= &amp;quot;is powerful&amp;quot; | &amp;quot;is flexible&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 이 규칙은 다음과 같은 문장을 생성할 수 있습니다:&lt;br /&gt;
** Oracle is powerful&lt;br /&gt;
** SQL is flexible&lt;br /&gt;
&lt;br /&gt;
2. Oracle SQL 구문에서의 BNF&lt;br /&gt;
&lt;br /&gt;
Oracle 문서에서 BNF는 SQL 명령의 구문을 설명하는 데 사용됩니다. Oracle BNF 표기법은 대체로 BNF에서 파생된 EBNF(Extended Backus-Naur Form) 형식을 따르며, 약간의 확장을 포함합니다.&lt;br /&gt;
&lt;br /&gt;
예: CREATE TABLE 구문 (Oracle Syntax)&lt;br /&gt;
&lt;br /&gt;
Oracle 문서에서 다음과 같은 구문 정의를 볼 수 있습니다:&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE [schema.]table&lt;br /&gt;
  (column datatype [DEFAULT expr] [constraint] [, ...])&lt;br /&gt;
&lt;br /&gt;
이를 BNF로 표현하면:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;create_table&amp;gt; ::= CREATE TABLE [ &amp;lt;schema&amp;gt;. ] &amp;lt;table&amp;gt;&lt;br /&gt;
                   ( &amp;lt;column&amp;gt; &amp;lt;datatype&amp;gt; [ DEFAULT &amp;lt;expr&amp;gt; ] [ &amp;lt;constraint&amp;gt; ] [, ...] )&lt;br /&gt;
&amp;lt;schema&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;table&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;column&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;datatype&amp;gt; ::= VARCHAR2 | NUMBER | DATE | ...&lt;br /&gt;
&amp;lt;constraint&amp;gt; ::= PRIMARY KEY | UNIQUE | ...&lt;br /&gt;
&lt;br /&gt;
3. Oracle 문서의 BNF 표기법&lt;br /&gt;
&lt;br /&gt;
Oracle 문서에서는 BNF 또는 BNF 유사 표기법을 직관적으로 읽을 수 있도록 다음 기호를 사용합니다:&lt;br /&gt;
	•	대괄호 [ ]: 선택 사항 (옵션)임을 나타냅니다.&lt;br /&gt;
	•	예: [schema.]table → schema는 선택적 요소입니다.&lt;br /&gt;
	•	중괄호 { }: 하나만 선택해야 함을 나타냅니다.&lt;br /&gt;
	•	예: {VARCHAR2 | NUMBER | DATE} → 세 가지 중 하나를 선택.&lt;br /&gt;
	•	수직선 |: 선택지 (or).&lt;br /&gt;
	•	예: {VARCHAR2 | NUMBER} → VARCHAR2 또는 NUMBER 중 하나.&lt;br /&gt;
	•	줄임표 ...: 항목이 반복 가능함을 나타냅니다.&lt;br /&gt;
	•	예: column1 [, column2, ...] → 여러 열을 정의할 수 있음.&lt;br /&gt;
	•	기울임꼴: 사용자가 정의해야 하는 값(식별자, 데이터타입 등).&lt;br /&gt;
	•	예: table, datatype → 사용자가 테이블 이름과 데이터 유형을 지정해야 함.&lt;br /&gt;
&lt;br /&gt;
4. 예제 분석: CREATE INDEX&lt;br /&gt;
&lt;br /&gt;
다음은 Oracle 문서에서 BNF 형식으로 표현된 CREATE INDEX 구문입니다:&lt;br /&gt;
&lt;br /&gt;
CREATE [ UNIQUE ] INDEX index_name ON table_name ( column1 [, column2, ...] )&lt;br /&gt;
  [ TABLESPACE tablespace_name ]&lt;br /&gt;
  [ STORAGE ( storage_clause ) ]&lt;br /&gt;
&lt;br /&gt;
BNF로 변환:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;create_index&amp;gt; ::= CREATE [ UNIQUE ] INDEX &amp;lt;index_name&amp;gt;&lt;br /&gt;
                   ON &amp;lt;table_name&amp;gt; ( &amp;lt;column&amp;gt; [, &amp;lt;column&amp;gt;, ...] )&lt;br /&gt;
                   [ TABLESPACE &amp;lt;tablespace_name&amp;gt; ]&lt;br /&gt;
                   [ STORAGE ( &amp;lt;storage_clause&amp;gt; ) ]&lt;br /&gt;
&amp;lt;index_name&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;table_name&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;column&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;tablespace_name&amp;gt; ::= identifier&lt;br /&gt;
&amp;lt;storage_clause&amp;gt; ::= { STORAGE_SETTINGS }&lt;br /&gt;
&lt;br /&gt;
	•	설명:&lt;br /&gt;
	1.	UNIQUE는 선택 사항임([ UNIQUE ]).&lt;br /&gt;
	2.	인덱스 이름, 테이블 이름, 열 이름 등은 사용자가 정의해야 함(기울임꼴).&lt;br /&gt;
	3.	TABLESPACE 및 STORAGE 절도 선택적으로 포함될 수 있음([ ... ]).&lt;br /&gt;
&lt;br /&gt;
5. BNF 표기법의 장점&lt;br /&gt;
&lt;br /&gt;
	•	표준화: 언어 구문을 정확히 기술하는 표준 방식 제공.&lt;br /&gt;
	•	명확성: SQL 명령어를 구조적으로 이해할 수 있음.&lt;br /&gt;
	•	확장성: 복잡한 명령도 계층적으로 나눠 관리할 수 있음.&lt;br /&gt;
&lt;br /&gt;
6. BNF가 Oracle 문서에서 유용한 이유&lt;br /&gt;
&lt;br /&gt;
	•	복잡한 SQL 구문을 간결하게 표현.&lt;br /&gt;
	•	선택 가능한 옵션과 필수 요소를 직관적으로 표시.&lt;br /&gt;
	•	반복 가능 항목(예: 열 정의 등)을 명확히 구분.&lt;br /&gt;
&lt;br /&gt;
7. BNF의 실용적인 활용&lt;br /&gt;
&lt;br /&gt;
Oracle SQL 구문을 읽을 때 BNF를 활용하려면:&lt;br /&gt;
	1.	필수와 선택적 요소 구분:&lt;br /&gt;
	•	[ ], { }, ... 등의 기호를 주의 깊게 확인.&lt;br /&gt;
	2.	구성 요소 식별:&lt;br /&gt;
	•	비터미널(&amp;lt;table&amp;gt;, &amp;lt;column&amp;gt; 등)과 터미널 키워드(CREATE, TABLE 등)를 구분.&lt;br /&gt;
	3.	구문 확장 및 옵션 이해:&lt;br /&gt;
	•	선택적 요소([ ])를 포함하거나 생략할 경우를 고려해 구문 이해.&lt;br /&gt;
&lt;br /&gt;
요약&lt;br /&gt;
&lt;br /&gt;
Backus-Naur Form (BNF)은 언어의 구문을 간결하고 구조적으로 표현하는 방법입니다. Oracle 문서에서 SQL 구문을 이해할 때 BNF 방식은 선택적 요소, 반복 가능 항목, 필수 키워드를 명확히 구분할 수 있도록 도와줍니다. 이를 통해 복잡한 SQL 명령을 더 쉽게 이해하고 작성할 수 있습니다.&lt;/div&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
</feed>