데이터베이스를 그릴땐 erd(Entity Relationship Diagram)을 그려야한다.
FK는 참조가되는 테이블의 PK가 된다.
fk를 거는 명령어
[Constraint] foreign key <idx-name> (col1) references tbl2(col2) ON [DELETE | UPDATE] [RESTRICT | CASECADE | SET NULL | NO ACTION | SET DEFAULT] );
idx-name은 적어주는것이 좋다.
RESTRICT : 참조하고있는 테이블이 있으면 삭제불가 (default이다)
CASECADE : 삭제하고있는 테이블을 참조하고있는 테이블의 행도 같이 지움
DEFAULT : 그 컬럼의 DEFAULT값으로 변하게 해라
UPDATE : 원하는 값으로 변하게 된다.
default를 주면 not null일때 값이 없으면 default가 들어간다.
nullable보단 not null컬럼이 좋다(인덱스를 찾을때 null값이 있으면 안좋음)
mysql은 디폴트가 한 레코드에 16kb이다. 이것을 페이지라고 한다
인덱스들은 별도의 공간에 저장이 되는데 이 인덱스들이 저장되는 공간을 인덱스페이지라고한다.
rand()함수는 0~0.99999까지의 랜덤한 난수를 생성한다
select ceil(rand() * 100) from dual;
'SeSac (2021-08 ~ 2021-12) > MySQL' 카테고리의 다른 글
MySQL 07 - 내장함수와 트랜잭션(Transaction) (0) | 2021.08.27 |
---|---|
MySQL 06 - Join Tables 테이블 조인하기 (0) | 2021.08.27 |
MySQL 04 - Insert, Select, Update, Delete 문 (0) | 2021.08.26 |
MySQL 03 - Table Altering, Sample Data 자동 등록하기 (0) | 2021.08.25 |
MySQL 02 - Table생성, 한글 설정, Session개념 (0) | 2021.08.25 |