통합 테이블 정의서 추출 SQL (PK, FK, Index 포함)SELECT A.TABLE_NAME AS "테이블명", T_COM.COMMENTS AS "테이블 설명", A.COLUMN_ID AS "순번", A.COLUMN_NAME AS "컬럼명", C_COM.COMMENTS AS "컬럼 설명", -- PK 여부 (SELECT 'PK' FROM USER_CONSTRAINTS CON, USER_CONS_COLUMNS COL WHERE CON.CONSTRAINT_NAME = COL.CONSTRAINT_NAME AND CON.CONSTRAINT_TYPE = 'P' AND COL.TABLE_NAME = A.TABLE_NAME ..
PK가 포함된 테이블 정의서 추출 SQL SELECT A.TABLE_NAME AS "테이블명", C.COMMENTS AS "테이블 설명", A.COLUMN_ID AS "순번", A.COLUMN_NAME AS "컬럼명", B.COMMENTS AS "컬럼 설명", CASE WHEN D.COLUMN_NAME IS NOT NULL THEN 'PK' ELSE '' END AS "PK 여부", A.DATA_TYPE || CASE WHEN A.DATA_TYPE IN ('VARCHAR2', 'CHAR', 'RAW') THEN '(' || A.DATA_LENGTH || ')' WHE..
개발 산출물용 테이블 정의서를 만들기 위해서는 테이블의 기본 정보와 해당 테이블에 속한 컬럼들의 상세 정보(데이터 타입, 길이, Null 여부, 주석 등)를 결합해야 합니다.가장 깔끔하게 산출물 양식으로 뽑아낼 수 있는 SQL 쿼리를 준비했습니다. 테이블 정의서 추출 SQL (오라클 기준)이 쿼리는 테이블의 주석과 컬럼의 상세 정보를 한 번에 결합하여 출력합니다. SELECT A.TABLE_NAME AS "테이블명", C.COMMENTS AS "테이블 설명", A.COLUMN_ID AS "순번", A.COLUMN_NAME AS "컬럼명", B.COMMENTS AS "컬럼 설명", A.DATA_TYPE || CASE WHEN ..
질문사이트 고도화 프로젝트에서 DB 데이터이관을 할때 컬럼변경이나 테이블 변경이 많은 경우 테이블을 수정하는 방식이 아닌 전체 테이블을 지우로 새로 생성하는 방법을 사용하나요? 사이트 고도화 프로젝트처럼 구조 변화가 큰(Major Change) 경우, 기존 테이블을 ALTER TABLE로 수정하기보다는 새로운 구조의 테이블을 생성(Create)하고 데이터를 부어넣는 방식을 훨씬 더 선호합니다.그 이유와 구체적인 실행 전략을 정리해 드릴게요.1. 왜 "새로 만들기" 방식을 사용할까요?기존 테이블을 수정하는 방식은 데이터가 많을수록 리스크가 크고 제약이 많기 때문입니다.정교한 데이터 매핑: 컬럼이 합쳐지거나(Merge), 쪼개지는(Split) 경우 단순 수정으로는 불가능합니다. 새로운 테이블에 정제된 데이터..
이관 도구와 스크립트 개발은 쉽게 말해 **"A 그릇에 담긴 데이터를 B 그릇에 맞게 모양을 다듬어 옮기는 로봇"**을 만드는 과정입니다. 데이터의 양과 복잡도에 따라 크게 세 가지 방식으로 나뉩니다.1. SQL 스크립트 방식 (가장 보편적)데이터 구조가 크게 복잡하지 않고, DB 간의 직접 연결(DB Link)이 가능할 때 사용합니다.CTAS (Create Table As Select): 기존 테이블을 기반으로 새 테이블을 만들며 데이터를 복사합니다.Insert Into Select: 이미 만들어진 규격(신규 설계안)에 맞춰 데이터를 밀어넣습니다.SQL -- 예시: 신청 테이블 이관 (신규 컬럼에 당시 부서명 스냅샷 포함)INSERT INTO TARGET_REQ_TABLE (REQ_ID, USER_ID..
DB 데이터 이관(Migration)은 단순히 데이터를 옮기는 것을 넘어, 데이터의 정합성을 유지하며 서비스 중단을 최소화하는 복합적인 과정입니다. 질문하신 설계 단계가 끝나고 실제 데이터를 채우거나 시스템을 교체할 때 거치는 표준 절차는 다음과 같습니다.1. 데이터 이관의 5단계 표준 절차보통 수립 → 설계 → 개발 → 테스트 → 실행의 단계를 거칩니다.① 이관 계획 수립 (Planning)대상 파악: 어떤 테이블을 옮길 것인가? (부서, 사용자, 신청 이력 등)이관 방식 결정: 한 번에 다 옮길 것인가(Bulk), 아니면 실시간으로 동기화할 것인가(CDC)?목표 시간(RTO): 서비스 점검 시간을 얼마나 가질 수 있는가?② 매핑 설계 (Mapping)Source to Target: 기존 DB의 컬럼과..
질문부서테이블과 사용자를 설계하고 사용자가 각종 신청을 할때 신청 당시의 부서와 현재의 부서가 달라졌을때, 그리고 부서의 명칭과 부서가 소멸되는 경우의 케이스도 존재, 부서테이블과 사용자만으로는 기존의 부서 정보를 알 수 없어 히스토리성 테이블을 두고자하면 정규화의 위배일까요? 결론부터 말씀드리면, 질문하신 설계 방식은 정규화 위배가 아니라, 오히려 '데이터 무결성'과 '이력 관리'를 위한 매우 정석적인 설계입니다.정규화는 "현재 시점의 데이터 중복"을 제거하는 것에 초점을 맞춥니다. 하지만 비즈니스 로직에서 **"과거 특정 시점의 상태"**를 보존해야 한다면, 이를 별도의 이력(History) 테이블이나 스냅샷 컬럼으로 관리하는 것은 데이터베이스 설계의 필수 요소입니다.상황별로 가장 효율적인 설계 패턴..
데이터베이스 설계의 핵심인 **정규화(Normalization)**는 데이터의 중복을 최소화하고 무결성을 유지하기 위해 테이블을 구조화하는 과정입니다. 쉽게 말해, "한 테이블에는 하나의 주제만 담도록" 잘게 쪼개는 작업이라고 보시면 됩니다.정규화를 제대로 하지 않으면 데이터를 수정할 때 엉뚱한 데이터까지 바뀌거나, 삭제할 때 필요한 정보까지 사라지는 **이상 현상(Anomaly)**이 발생할 수 있습니다.1. 정규화의 주요 단계 (1NF ~ 3NF)실무에서는 보통 제3정규형까지의 과정을 가장 필수적으로 거칩니다.제1정규형 (1NF): 원자값 확보모든 컬럼은 더 이상 쪼개질 수 없는 **단 하나의 값(Atomic Value)**만 가져야 합니다. 한 칸에 여러 개의 전화번호나 여러 명의 이름이 들어있다면..
데이터베이스 이관(또는 데이터베이스 마이그레이션)은 데이터베이스를 한 시스템에서 다른 시스템으로 이동하는 과정을 말합니다. 이 과정은 다양한 이유로 수행될 수 있으며, 예를 들어 시스템 업그레이드, 플랫폼 변경, 데이터 통합, 클라우드 전환 등이 있을 수 있습니다. 데이터베이스 이관을 성공적으로 수행하기 위해서는 신중한 계획과 단계별 접근이 필요합니다. 다음은 데이터베이스 이관을 위한 단계별 설명입니다. ### 1. 계획 및 준비 #### 1.1. 요구 사항 분석 - **목표 정의**: 이관의 목적과 목표를 명확히 합니다. 예를 들어, 데이터베이스의 성능 향상, 비용 절감, 기능 향상 등이 있을 수 있습니다. - **범위 정의**: 이관할 데이터의 범위와 종류를 결정합니다. 전체 데이터베이스인지, 특정 ..
SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 정의하고, 조작하고, 제어하는 데 사용되는 표준 언어입니다. SQL은 데이터베이스의 구조를 설계하고, 데이터를 삽입, 조회, 수정, 삭제하며, 데이터베이스의 무결성과 보안을 관리하는 데 필요한 다양한 기능을 제공합니다. ### SQL의 주요 기능 1. **데이터 정의 언어 (DDL: Data Definition Language)** - **CREATE**: 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성합니다. CREATE TABLE employees ( employee_id INT PRIMARY KEY, name VARCHAR(100), hire_date DATE); ``` ..
- Total
- Today
- Yesterday
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- // 사진직: 데이터가 없으면 DEFAULT_IMG 사용 const profileSrc = (d.img && d.img !== "") ? d.img : DEFAULT_IMG;('#user-photo').attr('src'
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- thymeleaf
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- 파비콘사이즈
- 증폭기 #아이피타임증폭기
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- jdk #jre
- 쇼팬하우어 #좋은책
- SQL명령어 #SQL
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- 자바스크립트break
- iptime와이파이증폭기 #와이파이증폭기설치
- sw기술자평균임금 #2025년 sw기술자 평균임금
- 자바스크립트 #javascript #math
- css미디어쿼리 #미디어쿼리 #mediaquery
- 와이파이증폭기추천 #와이파이설치
- 좋은책
- 자바스크립트정규표현식
- 좋은책 #밥프록터 #부의원리
- ajax
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- echart
- 자바스크립트countiue
- 파비콘 #파비콘 사이트에 적용
- 탭메뉴자바스크립트
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
