오늘은 부트캠프 54일차이다. 오전에 mysql 4일차 강의를 들었고 저녁에 자바 강의를 하기 때문에 바로 알고리즘 문제를 풀었다. 오후에는 스프링 부트에 관한 강의를 듣고 정리하고 cs에 관한 것도 예전에 했던 것을 복습을 하였다. 점점 하면 할수록 방대한 양에 지식이 머리 속에 떠돌고 있어서 최대한 빨리 정리를 해야 겠다는 생각이 들었다. 정리를 하면 할수록 새로운 지식을 찾게 되면서 개발자는 끊임없이 공부해야 겠다라는 생각이 든다.
오늘 배운 것
1. 제약 조건
-데이터의 무결성을 지키기 위해 제한하는 조건이다.
2. 제약 조건 종류
- Primary Key 제약조건
- Foreign Key 제약조건
- Unique 제약조건
- Check 제약조건
- Default 정의
- Null값 허용
3. 기본키(Primary Key) 제약 조건
create table member ( mem_id char(8) not null primary key, mem_name varchar(10) not null, height tinyint unsigned null ); 혹은 create table member ( mem_id char(8) not null primary key, mem_name varchar(10) not null, height tinyint unsigned null ); alter table member add constraint primary key (mem_id);
4. 외래 키(Foreign Key) 제약 조건
create table buy ( num int auto_increment not null primary key, mem_id char(8) not null, prod_name char(6) not null, foreign key(mem_id) references member(mem_id) );
5. ON UPDATE CASCADE
-A 테이블의 아이디를 변경하면 B테이블의 아이디도 자동으로 변경된다.
6. ON DELETE CASCADE
-A 테이블의 데이터를 삭제하면 참조테이블의 데이터도 자동으로 삭제된다.
7. 기타 제약 조건
- 고유 키 제약 조건 - 중복되지 않는 유일한 값만 입력 가능
- 체크 제약 조건 - 조건에 만족 되는 값만 입력 가능
- 기본값 정의 - 값을 입력하지 않았을 때 자동으로 입력될 값을 미리 지정
- 널 값 허용 - NULL or NOT NULL