데이터베이스 관리 시스템이란 뜻으로, 데이터베이스를 운영, 관리한다.
Oracle, MySQL, MariaDB등이 있다.
관계형 데이터베이스 관리 시스템이란 뜻으로, 관계형 데이터베이스를 만들고 업데이트하고 관리할 때 사용하는 프로그램이다.
관계형 데이터베이스의 설계에서 중복을 최소화하기 위해 데이터를 구조화하는 프로세스를 말하는데, 단순히 말하면 데이터베이스를 쪼개는 것으로 볼 수 있다.
장점 : 중복이 적어진다.
단점 : 데이터를 찾기 위해 여러 테이블을 조회해야 할 수도 있다.
PK(기본키)라 칭하며, 테이블의 각 row를 유니크하게 구별할 수 있게 해주는 key값을 나타낸다.
FK(외래키)라 칭하며, 한 테이블의 필드 중 다른 테이블의 row을 식별할 수 있는 키, 즉 다른 테이블의 값을 참조하기 위해 사용하는 키를 나타낸다. 대부분은 PK를 FK로 사용하고, 그렇지 않더라도 중복이 없는 Key를 사용해야 한다.
Null 값이 들어올 수 없다.
값을 넣지 않았을 때, 기본으로 넣는 값이다.
자동으로 1씩 늘어나게 저장한다.
테이블을 수정하기위해 사용하며, 컬럼을 추가 한다거나 삭제 한다거나, 컬럼의 속성을 변경해 줄수 있다.
복수의 테이블을 결합하는 것으로, 데이터 조회 시 다른 테이블의 데이터를 함께 조회해야할 때 이용한다.
insert 실패시에 값이 자동으로 증가해 중간에 빈 값이 생기는데, 이것을 방지하기 위해 사용한다.
auto_increment_lock_mode는 0,1,2의 값을 가지는데
0일 때, 모든 insert를 대상으로 테이블 레벨의 AUTO_LOCK를 사용하고,
1일 때, 기본값으로 지정되어 있는 설정으로, 구문마다 락이 걸리지만 할당 프로세스 단위로 락이 걸린다.
2일 때, 락을 사용하지 않는다.
오늘의 소감
시간은 참 빠르다. "벌써 6주차?" 라는 생각이 든다. 이번주에는 저번주에 신청한 도서지원을 통해 자바스크립트 모던 딥다이브 책을 읽어봐야겠고, 슬슬 시간이 많아지니 프론트엔드 공부도 미리미리 시작해봐야겠다는 생각이 많다. 멘토님께서 하신 말씀중에 단기 목표를 세우고 그걸 달성하는것이 좋은 방법중 하나라고 하니까 앞으로 작은 목표 하나하나를 세워보고 달성해봐야 겠다.