movie정규화 : 정제되지 않은 데이터를 (표)를 관계형 데이터베이스에 어울리는 표로 만들어주는 레시피
movie비정규 릴레이션 ---도메인이 원자값(atomic columns)---> 제 1 정규형(1NF) atomic하지 않은것은 ? tag 컬럼 - 두개 들어있음라고 했을때 tag안에 rdb도 있는 것이 문제가됨.그리고 나중에 join 할때도 문제가 될 수 있음.t
movieNo partical dependencies1NF---부분적 함수 종속 제거 --->2NF기본키인것 중에 중복키인 것이 없어야함.제 1 정규화 후 테이블의 일부, 색 칠해진 부분= 중복중복이 발생한 이유 : 부분 종속성 때문이다.색칠한 행은 MySQL이라는 제
movieNo transitive dependencies2NF ---이행적 함수 종속 제거 --->3NFtopic 테이블의 MySQL행은 title이라는 기본키에 종속되어있다. MySQL이 이 행을 대표함.author_name, author_profile은 autho
movie업무파악->개념적 데이터 모델링->논리적 데이터 모델링->물리적 데이터 모델링개념적 데이터 모델링 : 업무에서 개념 뽑아냄논리적 데이터 모델링: 뽑아낸 개념을 관계형 데이터베이스 페러다임에 어울리게 데이터 형식을 정리정돈하는 것.(성능 신경 안씀)Mapping
테이블과 DB 조작 : DDL데이터 row 조작:DML
2개 이상의 테이블에 존재하는 데이터를 함께 가져오기, = INNER JOIN=> 두 테이블의 정보가 붙어서 나옴이렇게 하면 부서: 1번 마케팅, 2번 기획직원: 1번 홍길동, 2번 홍길순, 3번 임꺽정일때 모든 조합이 다 나옴.홍길동-마케팅, 홍길순-마케팅, 임꺽정-
V3 TRUNCATE(나타낼것,소수점자리수) :소수점 몇째자리까지 표시할 것인지 예) TRUNCATE(AVG(E.salary), 2 =AVG(E.salary)를 소수점 2째 자리까지 표시한다 => 300.00 실행순서 1) FROM,JOIN 2) ON,WHERE
FORMAT(E.salary, 0) => 6,000 : 소숫점 뒤에 안나오게하고 6000을 6,000으로 나오게함CONCAT(FORMAT(E.salary, 0), '만원') AS 연봉=>6,000만원SUM(IF(E.id IS NOT NULL, 1, 0)) AS 사원수
movie교집합- 양쪽에 모두 존재하는 행들 가지고 JOIN => NULL이 존재하지 않는다.JOIN이라고만 되어있으면 INNER JOIN이다.tid 4는 NULL이다. author_id가 없어서 못합침.=>그래서 사라짐 ( INNER JOIN 은 둘 다 있어야하니까)
movie LEFT OUTER JOIN =LEFT JOIN 양쪽에 있는 정보+ 왼쪽에만 있는 정보 (오른쪽에 없는 정보) 2개 LEFT JOIN 왼쪽것과 링크가 걸려있지 않아도 NULL로 가져온다. LEFT JOIN 했는데 NULL값 나온다 = 왼쪽에 있는 테이
INDEX CHAR :속도 빠름, 용량 많이 VARCHAR : 속도 느림, 용량 적게 loginPW VARCHAR(100) :비밀번호 원문 저장 불법임. 해싱을 통해 암호문으로 저장해야함 SELECT LENGTH(SHA '123')해서 그 길이로 loginPW V
UNSIGNED : 칼럼내에서 음수를 포함하지 않거나 혹은 수의 range를 양수쪽으로 더 넓게 가지고싶을때 사용.\-2147483648 부터 2147483647 에서 --> 0 부터 4294967295.UNIQUE :해당 컬럼에 동일한 값이 들어가지 않게함.CONCA
movie 엔티티를 테이블로 바꾼다. 외래키 없는 것들 먼저 테이블로 바꾸기 편함