USE studydb; -- studydb 데이터베이스를 사용하겠다고 지정 (studydb 대신 실제 데이터베이스 이름을 사용하세요) -- 데이터베이스 내의 모든 테이블을 삭제하는 쿼리 SET FOREIGN_KEY_CHECKS = 0; -- 외래키 체크를 끄기 -- 모든 테이블 삭제 SET @tables = NULL; SELECT GROUP_CONCAT(table_name) INTO @tables FROM information_schema.tables WHERE table_schema = (SELECT DATABASE()); SET @tables = CONCAT('DROP TABLE IF EXISTS ', @tables); PREPARE stmt FROM @tables; EXECUTE stmt; DEAL..
* DB 모델링 절차 * ERD 관계도 ? 테이블과 테이블의 관계가 아니라 테이블 내부의 데이터와 데이터 간의 관계에 따라 1대다, 1대1, 다대다 관계가 성립하는 것이다. # 제 1정규화 (원자성 만족) - 정규화? 데이터 중복을 찾아내어 별도의 테이블로 데이터를 분리시키는 것. - 중복 데이터 또는 중복 컬럼을 별도의 테이블로 분리하여 부모-자식 관계를 맺는다. - 데이터를 참조 하는 테이블이 자식테이블이고, 데이터를 갖고 있는 테이블이 부모 테이블이다. - 자식 테이블에서는 부모 테이블의 데이터를 가리키기 위해 그 데이터의 pk값을 보관해야 한다. - 부모-자식 테이블을 식별하기 애매할 때 1 : 다 관계에서 1 쪽이 부모 테이블이다. - 이렇게 부모 테이블의 데이터에 대해 PK값을 저장하는 컬럼을..
* key ## 키(key) 더보기 - 데이터를 구분할 때 사용할 식별자. - "수퍼 키(super key)"라 부르기도 한다. - 식별자? - 데이터를 구분할 때 사용하는 값. - 한 개 이상의 컬럼으로 구성된다. - 식별자를 key라고 부른다. - 예) 학생(학번, 이름, 전화, 이메일, 학과, 우편번호, 주소, 주민등록번호) - 학번 (O) - 주민등록번호 (O) - 이메일 (O) - 전화 (X) - 이름 (X) - (이름,전화) (O) - (이메일,이름) (O) - (이름,학과,학번) (O) - (이름,학과,전화) (O) ### 후보키(candidate key) 선정 더보기 - super key 들 중에서 선별된 최소키를 가리킨다. - 최소키? 최소한의 컬럼 값 만으로 식별이 가능한 key. - ..