초록꼬마의 devlog
article thumbnail
[SQL] GROUP BY
back-end dev/database 2023. 9. 4. 01:19

🌿 GROUP BY절 그룹을 묶어줄 기준을 제시할 수 있는 구문 여러 개 값들을 그룹별로 나눠서 처리할 목적으로 사용 GROUP BY절과 함께 GROUP 함수 자주 사용함 -- 문제 = 각 부서별 총 급여 합을 부서별 오름차순 정렬해서 조회 SELECT DEPT_CODE, SUM(SALARY) -- 실행순서3: 그룹별 급여 합 계산됨 FROM EMPLOYEE -- 실행순서1: 가장 먼저 테이블에 감 GROUP BY DEPT_CODE -- 실행순서2 ORDER BY DEPT_CODE; -- 실행순서4 -- 문제 = 성별별 사원 수(+평균 급여) 조회 SELECT DECODE(SUBSTR(EMP_NO, 8, 1), '1', '남성', '2', '여성') "성별" -- 단일행함수 DECODE를 통해 조건에 따..

article thumbnail
재귀적/자기참조/순환 관계
back-end dev/database 2023. 7. 18. 17:23

정의 = 하나의 엔티티가 다른 엔티티(x) 자기 자신(o)과 관계 맺는 경우 용도 = 조직과 같은 계층적 구조 표현/추가/삭제 등에 유용 e.g.1) '부서'와 '부서' 사이의 재귀적 관계 = '상/하위 부서' 관계 e.g.2) '과목'과 '과목' 사이의 재귀적 관계 = '선수과목' 관계 특징 mandatory 관계를 가질 수 없음 → 반드시 optional 관계 비식별 관계로 작성해야 함 식별 관계로 작성할 경우 FK가 PK가 되어 NULL을 허용할 수 없게 되는데, NULL이 허용되지 않은 경우 첫번째 생성되는 레코드부터 참조할 수 있는 키가 없는 바, 데이터 입력이 원천적으로 불가능해짐 비식별 관계로 만들어지는 F..

데이터베이스 모델링 실습 중 궁금한 점
back-end dev/database 2022. 10. 7. 14:53

실습 문제 KEYstagram 데이터베이스 스키마 설계/디자인 요구사항 post + images 내가 추가/응용해본 점 대댓글 post 뿐만 아니라 (대)댓글도 '좋아요' 회원, post, (대)댓글 신고 회원 가입 시, 있는 경우 추천인 궁금한 점 post가 삭제되었을 때 거기에 달렸던 (대)댓글, 좋아요, 신고, 해시태그 모두 삭제(강제)하게 하려면 어떻게 해야 할까? 14h45 현재 설계에는 join_hashtag, like, report 테이블에 post, (대)댓글(, 회원)에 대한 해시태그, 좋아요, 신고 내역을 모두 모아두었는데, 테이블을 나누는 것이 좋을지, 이렇게 한 테이블에 자료 쌓는 것이 좋을지 잘 모르겠음 + 어떻게/어떤 기준으로 좋고 나쁨을 판단할 수 있는 걸까? 현..

OSX DBeaver 설치 및 세팅
back-end dev/database 2022. 10. 6. 11:39

OSX SQL GUI support tool로써 DBeaver를 선택한 이유 2022년 기준 mac mysql gui 2022, workbench vs dbeaver 등 구글링한 결과, 온라인 (긍정적)리뷰가 많았음 언급된 단점은 RAM 소모가 크다고 함 주요 장점은 다양한 db 지원, 사용자 커뮤니티가 잘 형성되어 있음.. connection new connection 최초 connection 세팅 후 DBeaver를 다시 켜서 접속 시도했을 때 connection 오류 = "public key retrieval is not allowed" 기본 설정 스크립트 에디터 line number 표시 기본 단축키 익히기 script 실행 주석 작성

MySQL 설치 및 세팅
back-end dev/database 2022. 10. 6. 11:30

users root root 계정 비밀번호 설정 사용자(user) 생성 및 권한 부여 사용자 목록 보기 현재 접속 중인 사용자 보기 데이터 조회

[knou] 정규화
back-end dev/database 2022. 7. 20. 23:43

함수적 종속성 제1정규화 제2정규화 제3정규화 BC정규화

[knou] 데이터베이스 모델링
back-end dev/database 2022. 7. 20. 23:41

요구사항 분석 개념적 - 논리적 - 물리적 db modelling

[KH정보교육원] 62일차_DB 모델링, ERD
back-end dev/database 2022. 1. 5. 22:00

2022.1.5(수) DB 모델링 개요 ERD 작성 cf. 정규화 과정 homework: 세미프로젝트 ERD 작성

article thumbnail
[KH정보교육원] 26일차_평가(DB구현, SQL활용)
back-end dev/database 2021. 11. 16. 22:04

2021.11.16(화) 과목1: 데이터베이스 구현 과목2: SQL 활용 서술형 - 테이블 - 데이터베이스 관리자 계정 - connect role - 데이터 딕셔너리 - 집합연산자 - 제약조건 - 트랜잭션 및 TCL 문제 해결 시나리오 - 테이블 생성 시 알맞은 자료형 지정 - 제약조건(not null, foreign key 등) 활용 - 테이블 행 추가 - DCL 활용 📗 소감 - 개인적으로 범위를 다 소화하지 못하고 시험을 봐서 아쉬웠다 - 다음 과목은 매일 복습과 주말 공부 더 열심히 해서 + 수업 내용 이외 실습도 개인적으로 더 하면서 하루하루를 보내야겠다. 파이팅! 📗 homework 1. Java API public class DoubleArithmetic { public static void..

article thumbnail
[KH정보교육원] 24일차_SEQUENCE, DBMS 정리
back-end dev/database 2021. 11. 13. 00:25

2021.11.12(금) 🌿 SEQUENCE 자동으로 번호를 발생시켜주는 역할을 하는 객체 정수값을 자동으로 순차적으로 생성해줌 채번 시 사용 → 편리 e.g. 회원 번호, 사번, 게시글 번호 등 생성 구문 CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 -- 생략 가능, 처음 발생시킬 시작값 지정 INCREMENT BY 증가값 -- 생략 가능, 몇 씩 증가시킬지 결정; DEFAULT = 1 MAXVALUE -- 생략 가능, 최대값 지정; DEFAULT = 9,999,999,999,999,999,999,999,999,999 MINVALUE -- 생략 가능, 최소값 지정; DEFAULT = 1 CYCLE/NOCYCLE -- 생략 가능, 값 순환(MAX 넘어가면 MIN으로 돌아갈지) 여부;..

article thumbnail
[KH정보교육원] 23일차_DCL, TCL, VIEW
back-end dev/database 2021. 11. 11. 10:11

2021.11.11(목) 🌿 DCL DATA CONTROL LANGUAGE, 데이터 제어 GRANT, REVOKE 계정에게 객체 접근 권한, 시스템 권한 부여(GRANT)하거나 회수(REVOKE)하는 언어 작업 흐름 예시: Local Documents > informatique > database > 20211111 폴더의 "Data Control Language_관리자 계정, sample 계정.pdf" 파일 참조 🌱 GRANT 권한 부여 표현법: GRANT 권한1, 권한2, ... TO 계정명; 시스템 권한: 특정 DB에 접근하는 권한 + 객체 생성할 수 있는 권한 CREATE SESSION: 계정에 접속할 수 있는 권한 CREATE TABLE: 테이블을 생성할 수 있는 권한 CREA..

article thumbnail
[KH정보교육원] 22일차_DML(INSERT, UPDATE, DELETE), DDL(ALTER, DROP)
back-end dev/database 2021. 11. 11. 00:46

2021.11.10(수) 🌿 DML DATA MANIPULATION LANGUAGE, 데이터 조작 언어 테이블에 새로운 데이터를 삽입(INSERT) + 기존의 데이터를 수정(UPDATE) + 삭제(DELETE)하는 구문 🌱 INSERT 1. INSERT: 테이블에 행 추가하는 구문; 해당 테이블의 모든 컬럼에 추가하고자 하는 값을 내가 직접 제시해서 한 행을 INSERT하고자 할 때 사용 주의할 점: 컬럼 순번을 지켜서 VALUES 괄호 안에 나열해야 함 표현법 INSERT INTO 테이블명 VALUES(값, 값, 값..); INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ..) VALUES(값1, 값2, 값3, ..); INSERT INTO 테이블명 (서브쿼리); : VALUES로 값을 ..

article thumbnail
[KH정보교육원] 21일차_DDL(CREATE)
back-end dev/database 2021. 11. 9. 23:11

2021.11.9(화) 🌿 제약조건(constraints) 원하는 데이터값만을 유지/보관하기 위해 특정 컬럼마다 설정하는 제약 제약조건이 부여된 컬럼에 들어올 데이터에 문제가 없는지 자동으로 검사 → 데이터 무결성 보장 컬럼에 제약 조건을 부여하는 방식 컬럼 레벨: 제약조건을 부여하고자 하는 컬럼 뒤에 기술 → 컬럼명 자료형 (CONSTRAINT 제약조건명) 제약조건 테이블 레벨 CREATE TABLE MEM_CON_NM( MEM_NO NUMBER NOT NULL, MEM_ID VARCHAR2(20) NOT NULL, MEM_PWD VARCHAR2(20) NOT NULL, MEM_NAME VARCHAR2(20) CONSTRAINT MEM_NAME_NN NOT NULL, -- 컬럼레벨 방식 제약조건 GEN..