반응형
[ DDL 언어 ]
| 구분 | 설명 |
| CREATE | ![]() ![]() ![]() |
| ALTER | ![]() |
| COMIT ROLLBACK |
![]() 자동 COMMIT을 잠시 꺼준다. ![]() |
| 예시 문제 | ![]() |
| 구분 | DELTE | TRUNCATE |
| 종류 | 데이터 조작어(DML) | 데이터 정의어(DDL) |
| 롤백(Rollback) | 가능 | 불가능 |
| 속도 | 느림 | 빠름 |
| WHERE절 | 사용 가능 (특정 행 삭제) | 사용 불가능 (모든 행 삭제) |
| 로그 | 삭제된 각 행을 기록 | 최소한의 정보만 기록 |
[ 테이블 생성시 중요한 키 ] 관계형
| 구분 | 설명 |
| 후보키 | 기본키를 지정할 수 있는 유일한 컬럼 (가능성) |
| 대체키 | 후보키 중에 기본키로 지정하고 남은 컬럼 (후보키) |
| 기본키 (Primary key == PK) | 테이블에서 데이터 값을 식별하기 위한 유일한 키(값)를 설정 - 후보키 중에서 선택하는 키 - 중복값을 가질 수 없음 - NULL 값을 가질 수 없음 |
| 외래키 (Foreign key == FK) | 보통 테이블과 연결시 이용하는 키 * 외래키에 입력되는 값은 연결되어 있는 테이블의 기본키 컬럼에 값이 반드시 존재해야함 - 중복값을 가질 수 있음 - NULL 값을 가질 수 있음 |
| uk (유니크키) | - NULL은 허용하지만 중복을 허용하지 않음 - 하나의 테이블에서 2개 이상의 컬럼에 유니크 키를 지정 가능함 - 몇개든지 지정 가능함 |
| 조합키 | 컬럼 2개를 묶어서(그룹화해서) 기본키로 지정하는 방법 |
[ 개념 정리 ]
| 구분 | 설명 |
| 부모 테이블 | 주는 입장 |
| 자식 테이블 | 받는 입장 |
| 구분 | 설명 |
| 기본키 설정 및 확인 |
![]() 기본키로 설정함 ![]() 무조건 값을 입력 하도록 설정됨 ![]() PRIMARY KEY가 활성화됨 ![]() 기본키로 설정되어서 BOLD 처리된 것을 확인 가능함 |
| 기본키 이름 설정 |
![]() PRIMARY KEY와 PRIMARY KEY 이름 설정 ![]() 이름이 설정된 것을 볼 수 있음 ![]() |
| 활용 문제 | ![]() ![]() |
| 활용 예시 | ![]() 기본키 설정을 여러번 실행할 경우 다음과 같은 오류가 발생함. 기본키는 중복되지 않기 때문임. ![]() 마찬가지로 기본키에 NULL값을 입력할 경우에도 오류가 발생함. 기본키에는 NULL 값을 입력할 수 없기 때문임. |
|
CREATE TABLE TBL_SCHOOL(
SCHOOL_NUMBER NUMBER, SCHOOL_NAME VARCHAR2(1000), CONSTRAINT PK_SCHOOL PRIMARY KEY(SCHOOL_NUMBER)); INSERT INTO TBL_SCHOOL VALUES(1,'DBMS대학교'); INSERT INTO TBL_SCHOOL VALUES(2,'JAVA대학교'); INSERT INTO TBL_SCHOOL VALUES(3,'PYTONH대학교'); SELECT * FROM TBL_SCHOOL; CREATE TABLE TBL_STUDENT( STUDENT_NUMBER NUMBER, STUDENT_NAME VARCHAR2(1000), STUDENT_AGE NUMBER, SCHOOL_NUMBER NUMBER, CONSTRAINT PK_STUDNET PRIMARY KEY (STUDENT_NUMBER), CONSTRAINT FK_STUDENT FOREIGN KEY (SCHOOL_NUMBER) REFERENCES TBL_SCHOOL(SCHOOL_NUMBER)); INSERT INTO TBL_STUDENT VALUES(1,'홍길동',22,1); INSERT INTO TBL_STUDENT VALUES(2,'김철수',17,2); INSERT INTO TBL_STUDENT VALUES(3,'이유리',24,3); SELECT * FROM TBL_STUDENT; INSERT INTO TBL_STUDENT VALUES(4, '둘리', 35, 4); (X)
INSERT INTO TBL_STUDENT VALUES(4, '둘리', 35, 2); (O)
ALTER TABLE 테이블명 DROP CONSTRAINT 외래키 이름;
= ALTER TABLE TBL_STUDENT DROP CONSTRAINT FK_STUDENT; |
반응형
'공부 기록 > DBMS' 카테고리의 다른 글
| [ DBMS - 8일차 ] (0) | 2026.05.24 |
|---|---|
| [ DBMS - 3일차 ] (0) | 2026.05.09 |
| [ DBMS - 2일차 ] (0) | 2026.05.03 |
| [ DBMS - 1일차 ] (0) | 2026.05.02 |

















