전체 글

Git
1. Git 다운로드https://git-scm.com/ Git git-scm.com     설치가 되면 이런 화면이 뜬다 !  이렇게 하면 git 을 사용할 수 있는 환경을 만들어준 것 !현재 작업 환경은 로컬이니 로컬 저장소라고 한다 !거리가 먼 곳에 있는 곳 원격 저장고 ! 라고도 불린다 2. 현재 작업 환경에 github 정보가 있다면 삭제github 을 사용할 때 하나의 계정으로 사용을 하는데github 을 이용하는 계정 정보를 윈도우 환경에 저장을 하는데 이것을 삭제 ! 제어판
비식별(약한) 관계개체가 독립적두 테이블에 관계가 성립외래키가 기본키에 참여하지 않음부모 테이블의 기본키나 유니크 키를 자식 테이블이 외래키로 이용즉, 부모 데이터가 없어도 자식 테이블에 데이터를 추가할 수 있음구조변경에 자유롭지만 데이터 정합성을 위한 로직이 따로 필요식별(강한) 관계하나의 개체가 다른 개체 없이 독립적으로 존재하지 못함외래키가 기본키에 참여부모 테이블의 기본키나 유니크 키를 자식 테이블이 자신의 기본키로 사용한다.데이터의 정합성 유지를 DB에서 검증가능하나 구조 변경에 어려움이 있다. Forward Enginner 툴로 DB 생성워크벤치로 DB 생성을 할 수 있지만 공부 단계니까 그냥 직접 쓸거임 !그냥 이런 기능이 있어서 적어둔것메뉴탭 databasc - forward enginne..
INDEX테이블의 row 가 insert 가 되면서 index 객체에도 row_id 와 기준이 되는 pk 값이 들어온다 ! index 는 기본 설정값은 오름차순이다 ! 그래서 row 가 들어올 때 값을 비교해서 index 에 저장이 된다 . => 순서가 있다 ! 예를 들어 데이터가 들어올 때 d009 값이 들어오고 d005 값이 들어온다면 비교해서 d005 가 먼저 오게 되고,또 다시 d002 데이터가 들어오면 원래 있던 데이터에서 다 비교 되지 않고 순서대로 비교  row 가 한꺼번에 들어올 때 index 도 한꺼번에 데이터가 추가가 된다index 는 추가되면서 비교를 하게 되는데 그래서 작업 속도가 느려지는 이유 중 하나 ! 그래서 한꺼번에 데이터가 들어올 때 작업의 속도가 느려지는 것을 방지하고자 ..
# database/p240617/view.sql1. view 란 ?원래 실질적인 테이블이 있는 일부만 보여지게 하는 것 ! 실질적으로 있는 테이블을 기반 테이블(base table), 물리적 존재라 부른다.view 는 테이블은 아니고 일부 쿼리문 ! 논리적인 테이블, 가상 테이블이라 부른다. 가상의 테이블물리적으로 존재하지 않음 → 논리적 존재쿼리문(select) → 쿼리 재사용추가, 삭제, 수정에 제약이 따를 수 있음뷰는 인덱스를 가질 수 없음 --> 실제 테이블이 아니기 때문보안의 효과를 가짐2. 문법create [or replace] view 뷰이름asselect 컬럼명from 테이블명; 그럼 view 생성해보자# DB 선택use test;# [view] emp 생성create view empas..
요구사항 수집 및 분석↓1. 개념적 설계 - ER 모델(ERD), 이미지, 개념적 스키마↓2. 논리적 설게- 정규화(entity, 릴레이션, 물리적 설계), 논리적 스키마↓3. 물리적 설계- DB 개체 정의, 테이블 설계↓DB 구현
# fullstack/database/p240610/select_group_function.sql[그룹 함수] 집계 함수count(컬럼명) : 로우 개수 - null 제외count(*) : 로우 개수 - null 포함sum(컬럼명) : 합avg(컬럼명) : 평균max(컬럼명) : 최대값min(컬럼명) : 최솟값[문법] 위치 다르게 하면 Syntax Errorselect 컬럼명 1, 그룹함수(컬럼명 2) from 테이블명 // 여기까지 필수where 조건 // row 와 관련group by 컬럼명 2having 조건 [문제 1] 총 사원(직원) 수select count(emp_no) from employees; # emp_no 의 개수 반환select count(emp_no), count(*)..
# fullstack/database/p240611/select_subquery.sql 서브 쿼리는 사용 위치에 따라 중첩 서브 쿼리, 스칼라 서브 쿼리, 인라인 뷰로 구분됨[서브 쿼리] subquery* 서브 쿼리 : 쿼리문 내 쿼리문select 절, from 절, where 절에 들어올 수 있음들어오는 위치에 따라 구분이 됨* 스칼라 서브쿼리 (scalar subquery) : select 절, 단일행 / 단일컬럼 반환* 인라인 뷰 (inline view) : from 절, 반드시 하나의 테이블 반환 * 중첩 서브쿼리 (nested subquery) : where 절, 단일행 or 다중행 반환 // 가상의 테이블를 뷰라고 말함, 쿼리가 실행되면서 만들어지는 뷰 중첩 서브 쿼리d005 부..
# fullstack/database/p240610/select_join.sqlselect * from dept_manager;select * from departments;수평 조인 from 절에 테이블명을 , 로 구분하여 여러 개- 다대다 조인# 다대다 조인 : M x N# 있는 row 를 다 연결select * from dept_manager, departments; 컬럼명을 다 써보자 !select emp_no, dept_no, from_date, to_date, dept_no, dept_namefrom dept_manager, departments; 어라 근데 error ! Column 'dept_no' in field list is ambiguousselect 절에 dept_no 가 2개(여러..
print(blue)