- m, 모델링

 추상적인 주제를 DB에 맞게 설계하는 것

 

 

- 모델링 과정

 1. 요구분석

데이터가 어떤 형태, 목적으로 사용될지를 고려한다.

영화관 이라면 ?

관람객, 영화, 상영관 등이 필요할 것이다.

 

2. 개념적 설계 

요구 분석 이후 , 데이터베이스에 대한 추상적인 형태를 설계한다.

영화관 예제에서는 영화와 시간표가 관계가 있으며, 상영관과 시간표 또한 관계가 있음을 알 수 있다.

관람객 영화  > 시간표 <  상영관
  제목 관 이름 인원수
  장르 영화 종류
  개봉일 상영시간 관 이름
  상영시간    
  배우    
  감독    
  시청 나이    

 

3. 논리적 설계

논리적 구조와 규칙을 명확하게 표현하는 과정이다. 여기서 정규화를 통해서 데이터들을 상세화한다.

영화  > 시간표 <  상영관
제목(PK) 관 이름(FK) 인원수
장르 영화 종류
개봉일 상영시간 관 이름 (PK)
상영시간 목록 번호 (PK)  
배우    
감독    
시청 나이    

 

4. 물리적 설계

물리적 구조에 따라 테이블 저장 구조를 설계한다.

MOVIE VARCHAR2(300) 이런식으로 해서 데이터베이스에 저장한다.

 

 

아래의 사이트들을 참고하여 작성하였다.

https://nowes00.tistory.com/9

 

데이터베이스 설계(개념적 설계, 논리적 설계, 물리적 설계), 개체 집합, 관계 집합

✔ 사용자의 요구사항으로부터 현실세계를 반영한 데이터베이스 구조를 도출해내는 과정 - 어떠한 필드로 구성된 테이블들을 정의할 것인가 - 어떠한 물리적 형태의 데이터베이스를 구성할 것

nowes00.tistory.com

https://bitnine.tistory.com/446

 

데이터 모델링이란? (관계형 DB 편)

현재는 정보 기술이 발전함에 따라, 데이터 중심의 관리 기법이 발전하게 된다. 데이터의 중요도가 높아짐에 따라 중복 없이 정확하게 유지 관리할 수 있는 근본적인 방법을 찾게 되면서 모델링

bitnine.tistory.com


- 정규화

 삽입, 수정, 삭제의 이상현상을 제거하기 위한 데이터 중복을 최소화하기 위해서 하는 단계이다.

대부분 3차 정규화까지 진행한다.

 

 

- 1차 정규화

 하나의 컬럼에 하나의 값만 있어야 한다.

이름 별명
박지성 해버지
김연아 연아 퀸
박세리 리치 언니

위와 같이 하나의 컬럼에 하나의 값들만 존재하는 것을 의미한다.

 

 

-2차 정규화

 각 테이블들의 모든 컬럼들이 서로 관계가 있어야한다.

 영화관을 예제로 보면 시간표에는 영화, 상영관이 필요하다. 즉, 시간표라는 컬럼에는 영화와 상영관이 필요하지만,

이를 따로 분리하여 별도의 테이블들로 관리하는 것이다.

영화  > 시간표 <  상영관
제목(PK) 관 이름(FK) 인원수
장르 영화 종류
개봉일 상영시간 관 이름 (PK)
상영시간 목록 번호 (PK)  
배우    
감독    
시청 나이    

 

- 3차 정규화

 하나의 컬럼은 그 외 다른 컬럼을 결정할 수 없다. 

영화관을 예로 들어 봤을 때, 시간표가 영화이름을 영화테이블에서 참조하고, 영화에서 시청나이를 참조하도록 분해하는 것이다.

영화  > 시간표 <  상영관
제목(PK) 관 이름(FK) 인원수
장르 영화 종류
개봉일 상영시간 관 이름 (PK)
상영시간 목록 번호 (PK)  
배우    
감독    
시청 나이    

 

- 반정규화

 활용하는 쪽에서 데이터를 관리, 사용하기에 더 편하다면 반대로 정규화를 진행하지않는 것을 의미한다.

 

아래의 사이트를 참고해서 작성하였다.

https://mangkyu.tistory.com/110

 

[Database] 정규화(Normalization) 쉽게 이해하기

지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz

mangkyu.tistory.com


 

 

- 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
복사했습니다!