데이터 중심 애플리케이션 설계 책을 읽으면서 정리한 내용입니다. 책 이외의 내용이 포함되어 있습니다. 다음은 데이터베이스를 운영하는 도중 발생할 수 있는 문제이다.끄기 연산은 언제라도 실패할 수 있다.연산중 데이터베이스가 종료될 수 있다.네트워크에 문제가 생겨 데이터베이스 노드간 통신 문제가 생길 수 있다.동시에 발생하는 쓰기 연산에 대해서 덮어쓸 수 있다.부분 갱신으로 인해 클라이언트가 잘못된 데이터를 읽을 수 있다.race condition으로 인한 버그가 발생할 수 있다.위와 같은 문제를 단순화 하고자 트랜잭션이 도입되었다. 트랜잭션은 읽기 쓰기 연산을 하나의 논리적 단위로 묶는 것이다.트랜잭션 내부에 있는 모든 읽기, 쓰기는 하나의 논리적 단위이다.트랜잭션은 전체가 성공하거나 실패한다.(원자성) ..
스키마MySQL에서는 스키마 라는 개념이 있다. 스키마는 테이블을 가지고 있고 스키마를 기준으로 서로다른 테이블로 분류할 수 있다.작업시에 다양한 서버의 데이터베이스를 스키마로 분류하여 저장한다. CLI환경에서 테이블 명세할때, 해당 테이블이 어느 스키마에 속하는지 알려줘야한다.위 예시에서는 dsc.corpcode에 해당한다.매번 스키마를 적기 불편하다면 작업하려는 스키마를 지정할 수 있다.use 명령어를 사용하면 작업하려는 스키마를 지정할 수 있다.만약 작업중인 스키마가 아닌 외부 스키마를 사용하고 싶다면 "스키마.테이블"으로 명시하면 된다.작업 중인 스키마를 해제하고 싶다면, information_schema를 지정하면 된다.information_schema는 스키마 정보를 저장하고 있는 DB이다...
항상 MySQL workbench를 통해서 작업을 했었는데 콘솔에서 커맨드로 실행하면서 여러 명령어도 숙달 해보고자 한다. MySQL 저장 위치 찾기먼저 MySQL 저장 위치를 찾아야 한다. 나처럼 설치경로를 따로 지정하지 않았다면 C:\Program Files\MySQL\MySQL Server 8.0\bin 에 찾을 수 있다. MySQL Shell 도 확인할 수 있었는데 MySQL에서 별도의 shell을 제공한다고 한다. 우리는 MySQL Server로 들어가자 mysql.exe 실행mysql.exe를 실행하자. 이때 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N) 와 같이 에러 메세지가 출력된다. m..