테이블 (데이터베이스) 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''테이블'''(table)은 [[데이터베이스]]에서 [[]](가로, row, record)과 [[]](세로, column, field)로 짜여진 표에 기록된 [[데이터]]집합이다. '''디비 테이블'''(DB table)이라고도 한다.
+
'''테이블'''(table)은 행(row)과 열(column)로 구성된 데이터 집합(값)모임이다. 관계형 데이터베이스(relational database)에서 사용되는 용어이다.
  
== 개요 ==
+
= 개요 =
테이블이란 데이터베이스에서 단일 주제에 관해 행과 열로 구성되는 정보 모음을 가리킨다. 예를 들면, 업무용 데이터베이스는 대개 고객 정보에 관한 테이블을 가지고 있는데, 고객의 계정 번호, 주소, 전화번호 등을 저장할 수 있는 여러 개의 행으로 구성된다. 테이블 내에서 계정 번호 등과 같은 낱낱의 데이터 각각을 [[필드 (데이터베이스)|필드]](field)라고 부른다. 하나의 행은 모든 고객들의 전화 번호 등과 같은 어떤 한 필드 내의 모든 데이터로 구성된다. 필드는 완전한 정보 셋인 레코드로 조직화되며, 각각은 하나의 열을 이룬다. 표준화 과정을 통해 데이터를 가장 효과적인 방법으로 테이블로 구성할 수 있는 방법을 결정한다.
+
테이블(table)은 데이터베이스(database) 상 특정한 종류의 데이터를 구조적으로 묶은 것이다.
  
컴퓨터로 만들어지거나 또는 종이 위에 손쉽게 그릴 수 있는 진리표에는 기반이 되는 결정이나 기준 목록을 포함한다. 진리표에는 가능한 모든 결정 상황이 목록화되며, 각 상황에서 취해져야 할 행위가 정의된다. 기본적인 예로는, 도로 교차점의 교통 상황에 대하여 "예" 또는 "아니오"와 같은 결정들과 빨간색 신호나, 녹색 신호 등과 같이 기준들이 표현될 수 있다. 진리표는 여러 가지 상황에서 내려지는 결정에 따라 처리 기준을 지시하기 위한 컴퓨터 프로그램에도 삽입될 수 있다. 진리표가 변경되면 프로그램에도 반영된다.<ref name='table_info'>김동근, 〈[http://www.terms.co.kr/table.htm table 테이블]〉, 《김동근의 텀즈, 컴퓨터 용어사전》, 2002-06-17</ref>
+
= 구조 =
  
== 구조 ==
+
테이블은 기본적으로 행(row)과 열(column)으로 구성되어 있다.
테이블은 기본적으로 [[]](row)과 [[]](column)으로 구성되어 있다.
 
  
=== 행(row) ===
+
* '''데이터베이스 상에서 정의되는 행(row)'''
* '''레코드'''(record), '''튜플'''(tuple) : 릴레이션이 나타내는 [[엔티티]](entity)의 특정 인스턴스에 관한 사실(값)들의 모임이다. 튜플로 통용된다.
+
  '''레코드(record)''', '''튜플(tuple)''' : 릴레이션이 나타내는 엔티티(entity)의 특정 인스턴스에 관한 사실(값)들의 모임이다. 튜플로 통용된다.
* '''카디날리티'''(cardinality) : 릴레이션 튜플의 개수<ref name='rdb_info'>돌딱, 〈[https://blog.naver.com/96wjdduf/221860693470 관계형 데이터베이스의 구조]〉, 2020-03-18</ref>
 
  
=== 열(column) ===
+
  '''카디날리티(cardinality)''' : 릴레이션 튜플의 개수
* '''[[속성]]'''(attribute) : 하나의 릴레이션은 현실세계의 어떤 개체(entity)를 표현하고 저장되는 데 사용된다. 이때 개체는 사물이 될 수도, 추상적인 개념이 될 수도 있다.
 
* '''[[필드 (데이터베이스)|필드]]'''(field) : 종종 컬럼의 대용으로 동일한 의미로 사용되지만, 필드와 필드값은 한 열이나 한 컬럼 사이의 교차로 존재하는 단일 항목을 특정할 때 언급하는 것이다.
 
* '''[[차수]]'''(degree) : 한 릴레이션에 들어 있는 속성의 수<ref name='rdb_info'></ref>
 
  
=== 도메인 ===
+
* '''데이터베이스 상에서 정의되는 열(column)'''
하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합이다. [[도메인]](domain)은 실제 속성 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는데 이용된다.<ref name='rdb_info'></ref>
+
  '''속성(attribute, 애트리뷰트)''' : 하나의 릴레이션은 현실세계의 어떤 개체(entity)를 표현하고 저장되는 데 사용된다.
 +
  이때 개체는 사물이 될 수도, 추상적인 개념이 될 수도 있다.
  
=== 릴레이션 인스턴스 ===
+
  '''필드(field)''' : 종종 컬럼의 대용으로 동일한 의미로 사용되지만, 필드와 필드값은 한 열이나 한 컬럼 사이의 교차로 존재하는 단일 항목을 특정할 때 언급하는
[[릴레이션 인스턴스]](relation instance)란 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것을 말한다.<ref>개발자, 〈[https://blog.naver.com/kookh1/120184872122 릴레이션의 특징과 용어]〉, 2013-03-16</ref>
+
  것이다.
  
=== 관계형 데이터베이스 구조 ===
+
  '''차수(degree)''' : 한 릴레이션에 들어 있는 애트리뷰트의 수
[[파일:릴레이션_구조.png|image]]<ref name='rdb_info'></ref>
 
  
== SQL에서 테이블 활용 ==
+
* '''도메인(domain)''' : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합
=== 테이블 생성===
+
  1. 도메인은 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합이다.
 +
  2. 도메인은 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는데 이용된다.
  
   CREATE TABLE 테이블 이름 (
+
* '''릴레이션 인스턴스(relation instance)''' : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것을 말한다.
 +
   * '''관계형 데이터베이스 구조'''
 +
  [[File:릴레이션_구조.png|image]]
 +
 
 +
 
 +
= 세부항목 =
 +
== 뷰 ==
 +
* '''뷰(view)''' : 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.
 +
  뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다.
 +
  뷰는 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다.
 +
  뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화 한다.
 +
 
 +
=== 뷰의 특징 ===
 +
  1. 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다.
 +
  2. 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.
 +
  3. 데이터의 논리적 독립성을 제공할 수 있다.
 +
  4. 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.
 +
  5. 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다.
 +
  6. 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야지만 삽입, 삭제, 갱신, 연산이 가능하다.
 +
  7. 일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
 +
  8. 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
 +
 
 +
=== 뷰의 장·단점 ===
 +
* '''장점'''
 +
 
 +
  - 논리적 데이터 독립성을 제공한다.
 +
  - 동일 데이터에 대해 동시에 여러사용자의 상이한 응용이나 요구를 지원해 준다.
 +
  - 사용자의 데이터 관리를 간단하게 해준다.
 +
  - 접근 제어를 통한 자동 보안이 제공된다.
 +
 
 +
* '''단점'''
 +
 
 +
  - 독립적인 인덱스를 가질 수 없다.
 +
  - ALTER VIEW 문을 사용할 수 없다. 즉 뷰의 정의를 변경할 수 없다.
 +
  - 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.
 +
 
 +
=== SQL에서의 뷰 활용 ===
 +
 
 +
* '''뷰 정의'''
 +
  '''CREATE VIEW 뷰이름[(속성이름[,속성이름])]AS SELECT문;'''
 +
 
 +
* '''뷰 삭제'''
 +
 '''※ 뷰는 ALTER 문을 사용하여 변경할 수 없으므로 필요한 경우는 삭제한 후 재생성한다.'''
 +
  '''DROP VIEW 뷰이름 RESTRICT or CASCADE'''
 +
 
 +
  - RESTRICT : 뷰를 다른곳에서 참조하고 있으면 삭제가 취소된다.
 +
  - CASCADE : 뷰를 참조하는 다른 뷰나 제약 조건까지 모두 삭제된다.
 +
 
 +
== 키 ==
 +
* '''키(Key)''' : 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)이다.
 +
=== 기본키 ===
 +
* '''기본키(Primary Key, P.K)''' : 후보키 중에서 선택한 주키(Main Key)
 +
  한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
 +
  Null 값을 가질 수 없다.
 +
  기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.
 +
 
 +
=== 후보키 ===
 +
* '''후보(Candidate Key)''' : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.
 +
  모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
 +
  릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
 +
 
 +
=== 대체키 ===
 +
* '''대체키(Alternate Key)''' : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.
 +
  보조키라고도 한다.
 +
 
 +
=== 슈퍼키 ===
 +
* '''슈퍼키(Super Key)''' : 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않는다.
 +
  릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못한다.
 +
 
 +
=== 외래키 ===
 +
* '''외래키(Foreign Key, F.K) : 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용된다.
 +
  관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성이다.
 +
  외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다.
 +
 
 +
== SQL에서의 테이블 활용 ==
 +
* '''테이블 생성'''
 +
  '''CREATE TABLE 테이블 이름''' (
 
         컬럼명1 DATATYPE [DEFAULT 형식],
 
         컬럼명1 DATATYPE [DEFAULT 형식],
 
         컬럼명2 DATATYPE [DEFAULT 형식],
 
         컬럼명2 DATATYPE [DEFAULT 형식],
36번째 줄: 108번째 줄:
 
   );
 
   );
  
:테이블 생성시 대/소문자 구분은 하지 않는다. (기본적으로 테이블이나 컬럼명은 대문자로 만들어진다.)
+
  - 테이블 생성시 대/소문자 구분은 하지 않는다. (기본적으로 테이블이나 컬럼명은 대문자로 만들어진다.)
:DATE 유형은 별도로 크기를 지정하지 않는다.
+
  - DATE 유형은 별도로 크기를 지정하지 않는다.
:문자 데이터 유형은 반드시 가질 수 있는 최대 길이를 표시해야 한다.
+
  - 문자 데이터 유형은 반드시 가질 수 있는 최대 길이를 표시해야 한다.
:컬럼과 컬럼의 구분은 콤마로 하되, 마지막 컬럼은 콤마를 찍지 않는다.
+
  - 컬럼과 컬럼의 구분은 콤마로 하되, 마지막 컬럼은 콤마를 찍지 않는다.
:컬럼에 대한 제약조건이 있으면 CONSTRAINT를 이용하여 추가할 수 있다.<ref name='constraint'>개발이 하고 싶어요, 〈[https://hyeonstorage.tistory.com/291 CREATE TABLE 테이블 생성, 제약조건(CONSTRAINT), 확인(DESC)]〉, 2014-05-29</ref>
+
  - 컬럼에 대한 제약조건이 있으면 CONSTRAINT를 이용하여 추가할 수 있다.
 +
 
 +
* '''테이블 수정'''
 +
 
 +
  '''ALTER TABLE 테이블명;'''
 +
 
  
=== 테이블 수정 ===
+
 '''컬럼 추가 (ADD COLUMN)'''
 +
 
 +
  ALTER TABLE 테이블명
 +
  '''ADD 추가할 컬럼명  데이터 유형;'''
  
  ALTER TABLE 테이블명;
 
  
=== 테이블 삭제 ===
+
 '''컬럼 수정 (MODIFY COLUMN)'''
  DROP TABLE 테이블명 [CASCADE CONSTRAINT];
 
  
:DROP TABLE 명령어를 사용하면 테이블의 모든 데이터 및 구조를 삭제한다.
+
  ALTER TABLE 테이블명
:CASCADE CONSTRAINT 옵션은 해당 테이블과 관계가 있었던 참조되는 제약조건에 대해서도 삭제한다는 것을 의미한다.
+
  '''MODIFY COLUMN 수정할 컬럼명;'''
:(SQL Server에서는 CASCADE 옵션이 존재하지 않는다. 테이블 삭제 전에 참조하는 FOREIGN KEY 제약 등을 먼저 삭제해야 한다.)<ref name='constraint'></ref>
 
  
=== 테이블 목록 조회 ===
+
  * '''MODIFY COLUMN 사용 시 주의사항'''
   SHOW TABLES;
+
  - 해당 컬럼의 크기를 늘릴 수는 있지만 줄이지는 못한다. 이는 기존의 데이터가 훼손될 수 있기 때문이다.
 +
  - 해당 컬럼이 NULL 값만 가지고 있거나 테이블에 아무 행도 없으면 컬럼의 폭을 줄일 수 있다.
 +
  - 해당 컬럼이 NULL 값만을 가지고 있으면 데이터 유형을 변경할 수 있다.
 +
  - 해당 컬럼의 DEFAULT 값을 바꾸면 변경 작업 이후 발생하는 행 삽입에만 영향을 미치게 된다.
 +
   - 해당 컬럼에 NULL 값이 없을 경우에만 NOT NULL 제약조건을 추가할 수 있다.
  
=== 테이블 조회 ===
 
  SELECT * FROM 테이블명;
 
  
=== 컬럼 추가 (ADD COLUMN) ===
+
 '''컬럼명 수정 (RENAME COLUMN)''' : 테이블을 생성하면서 만들어졌던 컬럼명을 변경해야 할 경우에 사용한다.
  
 
   ALTER TABLE 테이블명
 
   ALTER TABLE 테이블명
   ADD 추가할 컬럼명 데이터 유형; <ref name='constraint'></ref>
+
   '''RENAME COLUMN 변경해야할 컬럼명 TO 새로운 컬럼명;'''
  
=== 컬럼 수정 (MODIFY COLUMN) ===
 
  
 +
 '''컬럼 삭제 (DROP COLUMN)'''
 +
 
 
   ALTER TABLE 테이블명
 
   ALTER TABLE 테이블명
   MODIFY COLUMN 수정할 컬럼명;
+
   '''DROP COLUMN 삭제할 컬럼명;'''
  
:MODIFY COLUMN 사용 시 주의사항
 
::해당 컬럼의 크기를 늘릴 수는 있지만 줄이지는 못한다. 이는 기존의 데이터가 훼손될 수 있기 때문이다.
 
::해당 컬럼이 NULL 값만 가지고 있거나 테이블에 아무 행도 없으면 컬럼의 폭을 줄일 수 있다.
 
::해당 컬럼이 NULL 값만을 가지고 있으면 데이터 유형을 변경할 수 있다.
 
::해당 컬럼의 DEFAULT 값을 바꾸면 변경 작업 이후 발생하는 행 삽입에만 영향을 미치게 된다.
 
::해당 컬럼에 NULL 값이 없을 경우에만 NOT NULL 제약조건을 추가할 수 있다.<ref name='constraint'></ref>
 
  
=== 컬럼명 수정 (RENAME COLUMN) ===
+
* '''테이블 삭제'''
테이블을 생성하면서 만들어졌던 컬럼명을 변경해야 할 경우에 사용한다.
+
  '''DROP TABLE 테이블명 [CASCADE CONSTRAINT];'''
  
   ALTER TABLE 테이블명
+
   - DROP TABLE 명령어를 사용하면 테이블의 모든 데이터 및 구조를 삭제한다.
   RENAME COLUMN 변경해야할 컬럼명 TO 새로운 컬럼명; <ref name='constraint'></ref>
+
   - '''CASCADE CONSTRAINT''' 옵션은 해당 테이블과 관계가 있었던 참조되는 제약조건에 대해서도 삭제한다는 것을 의미한다.
 +
  - (SQL Server에서는 CASCADE 옵션이 존재하지 않는다. 테이블 삭제 전에 참조하는 FOREIGN KEY 제약 등을 먼저 삭제해야 한다.)
  
=== 컬럼 삭제 (DROP COLUMN) ===
 
  
  ALTER TABLE 테이블명
+
=== 제약조건 ===
  DROP COLUMN 삭제할 컬럼명; <ref name='constraint'></ref>
 
  
== 제약조건 ==
+
* '''제약조건(constraint)''' : 제약조건은 사용자가 원하는 조건의 데이터만 유지하기 위한 특정 컬럼에 설정하는 제약이다. 테이블을 생성할 때 제약조건을 반드시 기술할 필요는 없다.
제약조건(constraint)사용자가 원하는 조건의 데이터만 유지하기 위한 특정 컬럼에 설정하는 제약이다. 테이블을 생성할 때 제약조건을 반드시 기술할 필요는 없다.<ref name='constraint'></ref>
 
  
=== PRIMARY KEY(P.K) ===
+
 '''PRIMARY KEY'''
* 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 기본키 정의
+
  - 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 기본키 정의.
* 하나의 테이블에 하나의 기본키 제약만 정의할 수 있다.
+
  - 하나의 테이블에 하나의 기본키 제약만 정의할 수 있다.
* 기본키 제약을 정의하면 DBMS는 자동으로 UNIQUE 인덱스를 생성하며, 기본키를 구성하는 컬럼에는 NULL을 입력할 수 없다.<ref name='constraint'></ref>
+
  - 기본키 제약을 정의하면 DBMS는 자동으로 UNIQUE 인덱스를 생성하며, 기본키를 구성하는 컬럼에는 NULL을 입력할 수 없다.
  
=== UNIQUE KEY ===
+
 '''UNIQUE KEY'''
* 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의한다.
+
  - 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의한다.
* 단, NULL은 고유키 제약의 대상이 아니므로, NULL 값을 가진 행이 여러 개가 있더라도 고유키 제약 위반이 되지 않는다.<ref name='constraint'></ref>
+
    단, NULL은 고유키 제약의 대상이 아니므로, NULL 값을 가진 행이 여러 개가 있더라도 고유키 제약 위반이 되지 않는다.
  
=== NOT NULL ===
+
 '''NOT NULL'''
* NULL 값의 입력을 금지한다.
+
  - NULL 값의 입력을 금지한다.  
디폴트 상태에서는 모든 컬럼에서 NULL을 허가하고 있지만, 이 제약을 지정함으로써 해당 컬럼은 입력 필수가 된다.<ref name='constraint'></ref>
+
    디폴트 상태에서는 모든 컬럼에서 NULL을 허가하고 있지만, 이 제약을 지정함으로써 해당 컬럼은 입력 필수가 된다.
  
=== CHECK ===
+
 '''CHECK'''
* 입력할 수 있는 값의 범위 등을 제한한다. CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식을 지정한다.<ref name='constraint'></ref>
+
  - 입력할 수 있는 값의 범위 등을 제한한다. CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식을 지정한다.
  
=== FOREIGN KEY(F.K) ===
+
 '''FOREIGN KEY'''
* 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다.
+
  - 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다.
* 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.<ref name='constraint'></ref>
+
  - 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.
  
{{각주}}
+
= 각주 =
 +
* 밤공기후하후하, 〈[http://blog.naver.com/PostView.nhn?blogId=on21life&logNo=221548738367&proxyReferer=https:%2F%2Fwww.google.com%2F Database - 데이터베이스에서 테이블, Table이란 무엇인가 ]〉, 2019-05-28
  
== 참고자료 ==
+
* 김성현, 〈[https://medium.com/@jw02048/%ED%85%8C%EC%9D%B4%EB%B8%94-table-%ED%95%84%EB%93%9C-field-%EC%97%B4-column-%ED%96%89-row-f186f45ebe44 테이블(Table), 필드(Field), 열(Column), 행(Row)]〉, 2019-04-18
* 김동근, 〈[http://www.terms.co.kr/table.htm table 테이블]〉, 《김동근의 텀즈, 컴퓨터 용어사전》, 2002-06-17
+
* 양햄찌, 〈[https://jhnyang.tistory.com/108  데이터베이스 릴레이션 용어 - 속성(애트리뷰트), 튜플, 도메인, 차수, 카디날리티 ]〉, 2019-03-01
* 환, 〈[http://blog.naver.com/PostView.nhn?blogId=jjhstr&logNo=60097939589&proxyReferer=https:%2F%2Fwww.google.com%2F DB에서 entityty란?]〉, 2009-12-24
+
* 개발자, 〈[https://blog.naver.com/kookh1/120184872122  데이터베이스 릴레이션의 특징, 용어 ]〉, 2013-03-16
* 개발자, 〈[https://blog.naver.com/kookh1/120184872122 릴레이션의 특징과 용어]〉, 2013-03-16
+
* 돌딱, 〈[https://blog.naver.com/96wjdduf/221860693470 관계형 데이터베이스의 구조 ]〉, 2020-03-18
* 개발이 하고 싶어요, 〈[https://hyeonstorage.tistory.com/291 CREATE TABLE 테이블 생성, 제약조건(CONSTRAINT), 확인(DESC)]〉, 2014-05-29
+
* Lim-ky, 〈[https://limkydev.tistory.com/108  DataBase 키(Key)의 개념 및 종류]〉, 2017-10-23
* 글그리, 〈[https://eastroot1590.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9A%A9%EC%96%B4-%EB%A6%B4%EB%A0%88%EC%9D%B4%EC%85%98Relation 데이터베이스 - 릴레이션(Relation)]〉, 2017-03-09
+
* 개발이 하고 싶어요, 〈https://hyeonstorage.tistory.com/]〉
* victolee, 〈[https://victorydntmd.tistory.com/319 인덱스(Index)]〉, 2019-05-18
+
* 코딩팩토리, 〈[https://coding-factory.tistory.com/224  뷰란 무엇인가?]〉, 2018-08-18
* 무니봇, 〈[https://moonibot.tistory.com/37 릴레이션 스키마(Relation Schema), 릴레이션 인스턴스(Relation Instance), 속성(Attribute), 튜플(Tuple)]〉, 2019-12-17
 
* Tigercow, 〈[https://doorbw.tistory.com/227 엔터티(ENTITY)와 속성(ATTRIBUTE)]〉, 2020-01-13
 
* 돌딱, 〈[https://blog.naver.com/96wjdduf/221860693470 관계형 데이터베이스의 구조]〉, 2020-03-18
 
  
== 같이 보기 ==
+
= 같이 보기 =
 
* [[데이터베이스]]
 
* [[데이터베이스]]
 
* [[릴레이션]]
 
* [[릴레이션]]
129번째 줄: 199번째 줄:
 
* [[DBMS]]
 
* [[DBMS]]
 
* [[키]]
 
* [[키]]
 +
* [[제약조건]]
 
* [[SQL]]
 
* [[SQL]]
* [[정규화]]
 
* [[역정규화]]
 
* [[HTML]]
 
* [[엔티티]]
 
* [[태그]]
 
* [[테이블 (HTML)]]
 
* [[테이블]]
 
  
 
{{데이터|검토 필요}}
 
{{데이터|검토 필요}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)