- m, 모델링
추상적인 주제를 DB에 맞게 설계하는 것
- 모델링 과정
1. 요구분석
데이터가 어떤 형태, 목적으로 사용될지를 고려한다.
영화관 이라면 ?
관람객, 영화, 상영관 등이 필요할 것이다.
2. 개념적 설계
요구 분석 이후 , 데이터베이스에 대한 추상적인 형태를 설계한다.
영화관 예제에서는 영화와 시간표가 관계가 있으며, 상영관과 시간표 또한 관계가 있음을 알 수 있다.
관람객 | 영화 > | 시간표 | < 상영관 |
제목 | 관 이름 | 인원수 | |
장르 | 영화 | 종류 | |
개봉일 | 상영시간 | 관 이름 | |
상영시간 | |||
배우 | |||
감독 | |||
시청 나이 |
3. 논리적 설계
논리적 구조와 규칙을 명확하게 표현하는 과정이다. 여기서 정규화를 통해서 데이터들을 상세화한다.
영화 > | 시간표 | < 상영관 |
제목(PK) | 관 이름(FK) | 인원수 |
장르 | 영화 | 종류 |
개봉일 | 상영시간 | 관 이름 (PK) |
상영시간 | 목록 번호 (PK) | |
배우 | ||
감독 | ||
시청 나이 |
4. 물리적 설계
물리적 구조에 따라 테이블 저장 구조를 설계한다.
MOVIE VARCHAR2(300) 이런식으로 해서 데이터베이스에 저장한다.
아래의 사이트들을 참고하여 작성하였다.
https://bitnine.tistory.com/446
- 정규화
삽입, 수정, 삭제의 이상현상을 제거하기 위한 데이터 중복을 최소화하기 위해서 하는 단계이다.
대부분 3차 정규화까지 진행한다.
- 1차 정규화
하나의 컬럼에 하나의 값만 있어야 한다.
이름 | 별명 |
박지성 | 해버지 |
김연아 | 연아 퀸 |
박세리 | 리치 언니 |
위와 같이 하나의 컬럼에 하나의 값들만 존재하는 것을 의미한다.
-2차 정규화
각 테이블들의 모든 컬럼들이 서로 관계가 있어야한다.
영화관을 예제로 보면 시간표에는 영화, 상영관이 필요하다. 즉, 시간표라는 컬럼에는 영화와 상영관이 필요하지만,
이를 따로 분리하여 별도의 테이블들로 관리하는 것이다.
영화 > | 시간표 | < 상영관 |
제목(PK) | 관 이름(FK) | 인원수 |
장르 | 영화 | 종류 |
개봉일 | 상영시간 | 관 이름 (PK) |
상영시간 | 목록 번호 (PK) | |
배우 | ||
감독 | ||
시청 나이 |
- 3차 정규화
하나의 컬럼은 그 외 다른 컬럼을 결정할 수 없다.
영화관을 예로 들어 봤을 때, 시간표가 영화이름을 영화테이블에서 참조하고, 영화에서 시청나이를 참조하도록 분해하는 것이다.
영화 > | 시간표 | < 상영관 |
제목(PK) | 관 이름(FK) | 인원수 |
장르 | 영화 | 종류 |
개봉일 | 상영시간 | 관 이름 (PK) |
상영시간 | 목록 번호 (PK) | |
배우 | ||
감독 | ||
시청 나이 |
- 반정규화
활용하는 쪽에서 데이터를 관리, 사용하기에 더 편하다면 반대로 정규화를 진행하지않는 것을 의미한다.
아래의 사이트를 참고해서 작성하였다.
https://mangkyu.tistory.com/110
- DML (Data Manipulation Language)
데이터 조직어
실질적으로 데이터들은 CRUD ( CREATE, READ, UPDATE, DELETE) 하는 언어이다.
- 데이터 추가
INSERT INTO 테이블명 [(컬럼명1, 컬럼명2,...)]
VALUES (값1, 값2, ...)'
-- []안의 내용은 생략가능하며, 생략하면 모든 컬럼에 데이터를 추가한다는 의미이다.
- 데이터 검색
SELECT 컬럼명1, 컬럼명2, ....
FROM 테이블명 WHERE 조건식;
- 데이터 수정
UPDATE 테이블명 SET 컬럼명1 = 바꿀값1, 컬럼명2 = 바꿀값2, ....
WHERE 조건식;
- 데이터 삭제
DELECT FROM 테이블명 WHERE 조건식;
- 조건절
= | 같다, SET절에서는 대입을 의미 |
!= , <> | 다르다 |
AND | 두 조건식이 모두 참이면 참 |
OR | 두 조건식 중 하나라도 참이면 참 |
- 퀴리문 배포파일 적용 방법
.sql파일의 경우
cmd로 데이터 추가할 계정으로 로그인 > @ 뒤에 .sql 파일 경로 쓰기 혹은 파일을 드래그 앤 드랍 > ENTER하면 데이터 추가 완료
.txt파일의 경우
해당 파일을 열어서 Ctrl + A 로 전체선택 > 전체 내용 복사 > cmd에서 데이터 추가할 계정으로 로그인 > 복사했던 명령어들 붙여넣기
'WEB > DBMS' 카테고리의 다른 글
DAY 04 : 형변환, 함수, SELECT문, .... (0) | 2021.12.30 |
---|---|
DAY02 : SQL, 자료형, 테이블 (0) | 2021.12.28 |
DAY 01 : DB, DBMS 설치 (0) | 2021.12.28 |