728x90

전체 글 204

[ 데이터베이스 ] PL/SQL, T-SQL, Trigger

[ 데이터베이스 ] PL/SQL, T-SQL, Trigger PL/SQL : 오라클, T-SQL : SQL 서버 1) PROCEDURE : 리턴 값 1개 이상의 프로그램, TCL(COMMIT, ROLLBACK)에도 사용 가능 2) FUNCTION : 반드시 리턴 값 반환하는 프로그램 3) TRIGGER : 지정된 이벤트 발생 -> 자동실행되는 PL/SQL 블록, DML(INSERT, UPDATE, DELETE 등) 로그인 작업. TCL에서는 사용 불가능 T-SQL 근본적으로 SQL SERVER을 제어하는 언어 CREATE PROCEDUER SCHEMA_NAME.PROCEDUER_NAME TRIGGER 특정한 테이블에 INSERT, UPDATE, DELETE와 같은 DML문이 수행되었을 때, DB에서 자동..

[ 데이터베이스 ] Built in Function

[ 데이터베이스 ] Built in Function 내장함수(builtin) 1) 단일행 함수 - 함수의 입력 값이 단일 행에 입력됨 2) 다중행 함수 - 함수의 입력 값이 여러행에 입력됨 - 집계함수 : count, sum, avg, max, min - 그룹함수 : rollup, cube, grouping sets - 윈도함수 : 다양한 분석기능 함수 rank, sum, max 등 사용자 정의 함수 그룹함수 (GROUP BY +) 일반 그룹함수로 동일한 결과를 추출할 수 있다 1) ROLLUP Subtotal을 생성하기 위해 사용 Grouping Columns의 수를 N이라고 했을 때 N+1 Level의 Subtotal 생성 인수(계층구조) 순서에 주의 ex) 시간, 지역 등 계츨적 분류의 집계, 소그..

깃 허브 활용 유의사항

깃 허브 활용 유의사항 git push 하기 전에 pull을 하고 해야 conflict가 안 난다. 코드에 에러가 있으면 conflict가 난다. 함수, 변수명 등등을 다 맞추고 merge 해야 한다... 안 그러면 conflict가 난다. 개발 시간대를 서로 다르게 하면 conflict가 안 날 것 같다... 1. 인텔리제이 run 실행시키기 2. cmd에서 C:\SoftWare4\YeoGiDuk\yeogiduk-frontend로 이동한 뒤 3. yarn start 명령어 대입하기 1. Link Gradle project 하기 https://timotimo.tistory.com/99 [IntelliJ] Gradle 플러그인이 안보일때 대처방법 (Gradle Tool Window) 인텔리제이에서 프로젝트..

Back-End/Project 2023.11.10

스프링부트 시작과 깃허브 연동 방법

스프링부트 시작과 깃허브 연동 방법 1) git에서 branch 생성하기 branch 누르기 우측 상단에 new branch 원하는 이름입력 후 -> 우측하단에 ‘create new branch’ 2) 폴더만들고 branch 연결 작업하기 프로젝트 작업 할 폴더 만들고 (이름 각자 알아서) 프로젝트 폴더로 이동하기 링크로 clone하기 (링크 모두 동일 https://github.com/parkyunsir/ComStudy.git) YeoGiDuk로 이동하기 (폴더명은 바꾸지 말고 YeoGiDuk으로 통일) 아까 입력한 branch명 넣기 [얘는 필수 아님] 제대로 됐나 check (내 branch명 왼쪽에 *표시가 있으면 성공) 3) 아래서부터는 제대로 동작하나 test 메모장 가서 파일 수정해보기 수정..

Back-End/Project 2023.11.10

[ 데이터베이스 ] Foreign key specification options

[ 데이터베이스 ] Foreign key specification options 외래키 지정 시 옵션 (for 참조 무결성 유지) 1) RESRICT = NO ACTION 변경/삭제할 테이블이 참조하는 다른 테이블의 PRIMARY 값이 변경/삭제된다면 -> 테이블 변경/삭제 취소 (불가) CHILD 테이블에 MASTER 테이블의 PK값이 없는 경우에만 MASTER 삭제 허용 2) CASCADE : ON UPDATE CASCADE & ON DELETE CASCADE 부모 테이블에서 PRIMARY 값이 변경/삭제되면 -> 함께 변경/삭제된다 3) SET NULL : ON UPDATE SET NULL & ON DELETE SET NULL 부모테이블에서 PRIMARY 값이 변경/삭제된다면 -> NULL로 세팅된..

[ 데이터베이스 ] Relationships and Identifiers

[ 데이터베이스 ] Relationships and Identifiers 관계 - 엔터티의 인스턴스 사이의 논리적인 연관성 - 관계 페러링의 집합 - 일반적으로 존재/행위적 관계를 구분 - ex) 강사 - 가르친다(관계) - 수강생 페어링 - 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것 - 페어링의 집합은 '관계' ERD에서의 관계 - 존재/행위적 관계 구분 X - 식별(실선, 부모PK, 자식 FK,PK) / 비식별(점선, 부모PK, 자식 일반) 구분 UML(통합모델링언어)에서의 관계 연관관계(실선) : 항상 이용하는 존재적 관계. ex) 소속된다 의존관계(점선) : 상대 행위에 의해 발생하는 관계. ex) 주문한다 관계의 표기법 - 엔티티가 관계에 참여하는 형태를 나타냄 관계명 : 관계이름, 애..

카테고리 없음 2023.11.03

[ 데이터베이스 ] Entity Classification and Characteristics

[ 데이터베이스 ] Entity Classification and Characteristics 데이터 모델링의 유의점 - 중복 : 같은 시간 같은 데이터 제공, 여러 장소에 같은 정보가 저장된 것은 아니다. - 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안 됨, 데이터 정의를 사용해 프로세스와 분리 - 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의하기 데이터 모델링의 3단계 - 개념적, 논리적, 물리적 순으로 구체화된다. - 추상화 정도에 따라 나뉜다. - 추상화가 클수록 포괄적이다. 구체적은 그 반대 개념적 모델링 : 전사적 모델링 논리적 모델링 : 정규화 (중복제거, 속성이 적절한 엔티티에 배치) 데이터 독립성 요소 - 데이터베이스 스키마구조 3단계 외부스키마 : 개개 ..

[ 데이터베이스 ] ERD, Data Modeling, Normalization

[ 데이터베이스 ] ERD, Data Modeling, Normalization DBMS (Data Management System) 관계형 데이터베이스 - key와 value를 테이블화시킨 DB - SQL문에 의해 관리 - 참조구조 (X) , 조인을 통해서만 연관관계 가능 객체 지향형 데이터베이스 - 테이블을 하나의 객체로 봄 - 사용자가 정의한 데이터 유형 지원 ex) 오디오, 비디오 - 비정형 복합정보 모델링 가능 - 객체들 사이 참조 구조 (O) 객체 관계형 데이터베이스 - 관계형 모델을 기반으로 객체 지향 정보 지원 - 사용자 정의 타입 지원 - 참조 타입 지원 - 객체 간 상속관계 지원 SQL (structured Query Language) 비절차적 데이터 조작어 : 무슨(what) 데이터를..

[ 데이터베이스 ] Optimizer, Execution Plan 2

[ 데이터베이스 ] Optimizer, Execution Plan 2 실행계획 : SQL 요구사항 처리를 위한 절차와 방법, SQL을 어떤 순서로 실행할지 결정하는 작업이다 옵티마이저는 다양한 처리 방법들 중에서 최적의 실행계획을 예측해서 생성해 준다. 최적화 정보 : SQL 실행 결과가 아니라 통계 정보를 바탕으로 옵티마이저가 계산한 예상치이다. 연산 : 여러가지 조작을 통해 원하는 결과를 얻어내는 작업, 조인 기법, 액세스 기법, 필터, 정렬, 집계, 뷰 등 조인기법 : FROM 절에 존재하는 테이블 수를 n이라고 할때, 논리적으로 가능한 조인 순서는 n!만큼 존재한다. 액세스 기법 : 하나의 테이블을 액세스할때 사용할 수 있는 방법. - 인덱스 스캔 : 인덱스를 이용하여 테이블 액세스 - 테이블 스..

[ 데이터베이스 ] Optimizer, Execution Plan

[ 데이터베이스 ] Optimizer, Execution Plan 옵티마이저 실행계획 : 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정 옵티마이저의 역할 : 사용자 요구사항 최적의 실행방법 결정, 적절성 여부는 질의의 수행 속도에 영향 실제 SQL문 실행하지 않은 상태에서 최적의 실행 방법 결정하기 규칙기반 옵티마이저 규칙기반 옵티마이저 (RBO) : 보편 타당성에 근거함 규칙 1. Single row by Rowid ROWID를 통해 다른 정보를 참조하지 않고도 원하는 행 액세스 가능, 가장 빠른 방법이다. 규칙 4. Single row by unique or primary key 유일 인덱스를 먼저 액세스 하고 인덱스에 존재하는 ROWID 추출하기 규칙 8. Composite index 복..

728x90