CS/데이터베이스(DB) 4

파일 시스템과 DBMS의 비교

파일 시스템을 이용한 데이터 관리 파일 시스템 파일은 기본적으로 순차적인 레코드들로 구성되며, 각각의 레코드는 연관된 필드들의 모임이다. 파일에 접근하는 방식이 프로그램 내에 상세히 표현되어, 프로그램과 데이터의 독립성이 충분히 보장되지 않는 데이터 종속성 문제가 있다. 예를 들어 만약 A라는 응용 프로그램에 변화가 생기면, 그 프로그램과 연관된 파일 B와 파일 B를 쓰는 다른 프로그램들까지 같이 수정해주어야 하는 것이다. 이런 번거로움은 상대적으로 높은 유지보수 비용을 초래한다. 그러나 파일 시스템의 단점은 이뿐만이 아니다. 파일 시스템의 단점 1. 같은 데이터가 서로 다른 여러 개의 파일에 중복해서 저장된다. 특정 데이터를 변경하려면 해당 데이터를 포함한 파일을 모두 수정해야 하기 때문에 데이터 불일..

데이터베이스 시스템(DBS, Database System)

데이터베이스란? 데이터베이스란 어떤 조직의 응용 시스템들이 공유하는 운영 데이터들이 구조적으로 통합된 모임이다. 이때 데이터베이스의 구조는 사용되는 데이터 모델에 의해서 결정된다. 특징 - 데이터 대규모 저장소로 여러 사용자에 의해 동시에 사용된다. - 모든 데이터 간의 중복을 최소화하며 데이터를 통합된 상태로 관리한다. - 운영 데이터 자체 뿐만 아니라 그 데이터에 관한 설명(데이터베이스 스키마 또는 메타데이터)까지 포함한다. - 프로그램과 데이터 간의 독립성이 제공된다. - 데이터에 효율적으로 접근할 수 있고 질의를 할 수 있다. 데이터베이스 시스템과 관련된 개념들 1. 데이터베이스 관리 시스템(DBMS, Database Management System) DBMS란, 데이터베이스를 생성하고, 그 구조..

MySQL 테이블 컬럼명 변경 방법 & 오류나는 경우 해결법

MySQL 테이블 컬럼명 변경시 오류나는 경우 해결법 MySQL 테이블 컬럼명 변경이라고 치면 나오는 방법은 대개 아래와 같다. alter table 테이블명 change 기존컬럼명 새로운컬럼명 새로운컬럼타입; 그런데 이 방법이 오류가 나는 경우가 있다.내가 접했던 오류는 ALGORITHM=COPY is not supported. Reason: Columns participating in a foreign key are renamed. Try ALGORITHM=INPLACE이다. 바꾸려는 컬럼이 하필 pk라 다른 테이블에서 fk로 쓰고 있던 것이 패착이었다. 저 오류를 그대로 치니까 제일 먼저 나온 stack overflow에서 내놓은 해결법은 그냥 primary key랑 foreign key 드랍하고 ..

MySQL ERROR 1045 (28000) : Access denied for user 해결 방법

MySQL ERROR 해결 과정 클론 코딩을 위해 IntelliJ로 MySQL을 연결하던 중 error 1045(28000) 때문에 localhost에 연결할 수 없다는 에러를 마주하였다. 구글링을 하면 나오는 에러의 원인은 다음과 같다. 아이디 또는 패스워드가 맞지 않음. user에 지정된 접속가능한 host가 아님. MySQL Workbench로 비밀번호를 새로 지정하고, host도 확인한 후였기 때문에 나는 양쪽 다 해당되지 않는 상황이었다. 결국 에러를 해결하지 못하고 MySQL server를 지웠다가 다시 설치하였는데 그 과정에서 다음과 같은 사항이 에러의 원인이었을 수도 있다는 생각이 들었다. 바로... 다른 task가 3306 port를 사용 중이었던 것이다! 이 사실을 MySQL serve..