본문 바로가기
SQL

[SQL] DATA DEFINITION LANGUAGE

by busybee-busylife 2025. 2. 4.
728x90

Data Definition Language

: SQL의 하위언어 중 하나. 데이터베이스의 구조를 변경하는 명령어(데이터 조작이 X) 

ex. CREATE, ALTER, DROP, TRUNCATE 등 

 


CREATE TABLE 

 


 

INSERT INTO(데이터 넣기)

 


 

 

데이터 타입 지정하여 테이블 생성 W/constraints 

- 조건이 더 많이 필요: rating, for_kids에 음수 입력 등이 가능 

 


 

 

CHECK Constraint: 나만의 로직 만들기 

원하는 조건을 추가 

   movie_id: surrogate primary key 생성(AUTOINCREMENT: 사용했던 id를 재사용 X) 

   released: 양수 

   overview: 글자 길이 100 이하 

   rating: 0~10 범위 내 

   for_kids: 0 / 1 둘 중 하나만 입력 가능 

 


 

PRIMARY KEY: 고유 식별자

'unique & 불변'이어야

모든 행은 고유식별자 최소 1개 이상을 가져야한다. 

 

1) Natural Primary Key(자연)

데이터와 논리적 관계를 갖는 primary key (ex. 'title')

데이터의 일부(데이터에서 파생)이면서도 unique_id로도 사용하는 데이터 

데이터 자체가 고유한 값을 가지면서 & 중복이 없고 & 변하지 않아야 

 

2) Surrogate Primary Key(대체)

데이터와 논리적 관계 없이 인위적으로 부여되는 값 

ex. 'movie_id'를 인위적으로 생성 

 

Natural Primary Key를 '고유&불변'으로 유지하는 것이 어려울 때가 많으므로, 

Surrogate Primary Key를 만들어 사용할 것을 권장 

 

728x90

'SQL' 카테고리의 다른 글

[SQLite] INDEX  (1) 2025.02.10
[SQL] SUBQUERIES and CTEs  (0) 2025.02.10
[SQL] DATA MANIPULATION LANGUAGE  (1) 2025.02.06
[SQL] SQLITE  (2) 2025.02.03
[SQL] Intro  (1) 2025.02.03