벌써 절반이나 온 혼공학습단 c H e E r s. . .🍷 남은 절반도 다들 화이팅!
이번 4주차는 유독 책에 나온 내용 외의 개념 정리가 많습니다! 관심 있으신 분들은 (//TODO: 링크 다음 포스트)를 읽어주시고 태클은 언제든 환영입니다🙃 (1/29 업데이트 예정 ㅠㅠ)
지금까지 사용한 market_db를 돌아보는 시간
열 이름(한글) | 열 이름(영문) | 데이터 형식 | Not Null | 기타 |
---|---|---|---|---|
아이디 | mem_id | CHAR(8) | Y | 기본 키(PK) |
회원 이름 | mem_name | VARCHAR(10) | Y | |
인원수 | mem_number | TINYINT | Y | |
주소 | addr | CHAR(2) | Y | |
연락처 국번 | phone1 | CHAR(3) | N | |
전화번호 | phone2 | CHAR(8) | N | |
평균 키 | height | TINYINT | N | UNSIGNED |
데뷔 일자 | debut_date | DATE | N |
위와 같은 과정이 DB 설계다!
CREATE DATABASE naver_db;
실행했지만 SCHEMAS 패널에는 바로 나타나지 않음
naver_db가 생성된 것을 확인할 수 있다
Ch02 에서 정리한 것과 똑같이 진행
💡 Table 생성 시 제약 조건
💡 GUI에서는 기본 키 - 외래 키 관계 선택이 불가능
따라서 Table 생성 시 쿼리를 다음과 같이 수정해야함
외래키가 잘 설정된 걸 확인하면 끝!
데이터 입력 역시 Ch02 에서 정리한 것과 똑같이 진행
💡 기본키 - 외래키 연결 시 주의사항
기본키에 APN를 생성하지 않음
외래키에 APN을 소환해버림...
친절하게 왜 소환에 실패했는지 알려주는 모습 Workbench는 짱이다
기본키 추가 or 문제되는 외래키 행을 삭제하자 잘 작동한다.
➡️ 기본키, 외래키가 설정된 경우 주의해야함!
앞서 GUI로 만든 테이블을 SQL로 만드는 과정이다
MySQL Workbench로 테이블을 만드는 방법은 다른 GUI 사용 시 사용 방법이 다를 수 있지만 SQL로 만드는 과정은 모두 동일하게 적용 가능하다!
DROP DATABASE IF EXISTS naver_db;
CREATE DATABASE naver_db;
이전에 만든 naver_db 삭제 후 다시 생성하는 과정
DROP TABLE IF EXISTS member;
CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
mem_number TINYINT NOT NULL,
addr CHAR(2) NOT NULL,
phone1 CHAR(3),
phone2 CHAR(8),
height TINYINT UNSIGNED,
debut_date DATE)
mem_id
) 를 추가해서 명시 가능INSERT INTO member VALUES('TWC', '트와이스', 9, '서울', '02', '11111111', 167, '2015-10-19');
INSERT INTO member VALUES('BLK', '블랙핑크', 4, '경남', '055', '22222222', 163, '2016-8-8');
INSERT INTO member VALUES('WMN', '여자친구', 6, '경기', '031', '11111111', 166, '2015-1-15');
제약이 있는 것이 좋은 프로그래밍이다.
김영한 선생님 강의를 들으면 항상 하시는 말씀이시다. DB 또한 마찬가지다. DB에서의 제약조건은 데이터의 무결성을 지키기 위함이다.
뷰의 정체는 - SELECT 문
CREATE VIEW 뷰_이름
AS
SELECT 문;
뷰 생성 = CREATE
기존에 있는 뷰 덮어쓰기 = REPLACE
답) 2