본문 바로가기
728x90
반응형

Data50

[Oracle/MySQL] Foreign KEY 제약 조건을 위배하는 레코드(로우) 찾기 - Duplicate 중복 에러 Oracle -> MySQL로 데이터 마이그레이션 중 다음과 같은 에러가 발생했다. SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails 마이그레이션 순서가 테이블 생성 -> 데이터 insert -> PK, index, Foreign Key 생성 ..으로 이어지는데, 중복되는 데이터때문에 Foreign Key를 추가할 수 없다는 오류였다. 중복되는 레코드를 찾아서 삭제하려고하는데 데이터의 양이 많을 경우 하나 하나 찾기는 불가능하다. 그럴때에는 다음과 같이 left join을 이용하여 중복 레코드를 쉽게 찾을 수 있다. // au_task - ch.. 2021. 3. 24.
[Oracle] Table Space 사용량 확인 쿼리 SELECT A.TABLESPACE_NAME , ROUND(SUM(A.BYTES) / (1024 * 1024)) "전체(MB)" , ROUND(SUM(B.FREES) / (1024 * 1024)) "여유(MB)" , ROUND(SUM(B.FREES) * 100 / SUM(A.BYTES), 2) AS "잔여공간비율(%)" FROM ( SELECT FILE_ID , TABLESPACE_NAME , SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY FILE_ID, TABLESPACE_NAME) A , ( SELECT TABLESPACE_NAME , FILE_ID , SUM(BYTES) FREES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME, .. 2021. 2. 24.
[Database] 단계별 데이터베이스 설계 과정 모든 구성원들의 다양한 요구를 만족시키는 데이터베이스의 구축은 쉽지 않은 일이다. 특히 데이터의 양이 많고 사용자의 수가 많을수록 데이터베이스 구축 작업은 무척이나 어렵고 복잡한 작업이 아닐 수 없다. 잘못된 데이터베이스의 구축으로 일어나는 문제들을 예방하려면 제대로 된 데이터베이스의 구축이 필수적인데, 이를 위해서는 체계적인 데이터베이스 설계 과정이 필수적이다. 체계적인 데이터베이스 설계 과정을 통해 데이터베이스가 올바르게 구축되어야만 업무를 빠르고 정확하게 수행할 수 있다. 단계별 데이터베이스의 설계 순서 5가지는 다음과 같다. 1단계 : 요구 사항 분석 - 요구 조건 명세서 작성 요구 사항 분석 단계에서는 데이터베이스의 사용 용도를 파악한다. 데이터베이스를 실제로 사용하는 사용자에게 필요한 데이터의.. 2021. 2. 13.
[DB] Oracle / MySQL - 특정 컬럼이름으로 테이블 찾기 생각보다 자주 필요한 쿼리.. SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE 'AW_NUMBER' AND TABLE_NAME LIKE 'ALL%' 2021. 2. 1.
[MySQL] Stored Procedure 반복문 - WHILE / REPEAT / LOOP prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EC%A1%B0%EA%B1%B4%EB%AC%B8-IF-ELSEIF-CASE [MySQL] Stored Procedure의 조건문 IF ELSEIF / CASE prinha.tistory.com/entry/MySQL-%EC%A0%80%EC%9E%A5-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80%EC%9D%98-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-IN-OUT-INOUT [MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT pr.. prinha.tistory.com WHILE 표현식값이 true면 표현식의 값이 false가 될 때까지 실행 .. 2021. 1. 8.
[MySQL] Stored Procedure의 조건문 IF ELSEIF / CASE prinha.tistory.com/entry/MySQL-%EC%A0%80%EC%9E%A5-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80%EC%9D%98-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-IN-OUT-INOUT [MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EB%B3%80%EC%88%98 [MySQL] Stored Procedure의 변수 prinha.tistory.com/entry/MySQL-%EC%8A%A4%ED%86%A0%EC%96%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%.. prinha.tistory... 2021. 1. 8.
[MySQL] 저장프로시저 다중 값 반환 예제 prinha.tistory.com/entry/MySQL-%EC%A0%80%EC%9E%A5-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80%EC%9D%98-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-IN-OUT-INOUT [MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EB%B3%80%EC%88%98 [MySQL] Stored Procedure의 변수 prinha.tistory.com/entry/MySQL-%EC%8A%A4%ED%86%A0%EC%96%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%.. prinha.tistory... 2021. 1. 7.
[MySQL] 저장 프로시저의 매개변수 - IN, OUT, INOUT prinha.tistory.com/entry/MySQL-Stored-Procedure%EC%9D%98-%EB%B3%80%EC%88%98 [MySQL] Stored Procedure의 변수 prinha.tistory.com/entry/MySQL-%EC%8A%A4%ED%86%A0%EC%96%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80Stored-Procedure-%EC%82%AC%EC%9A%A9%EB%B2%95 [MySQL] 스토어드 프로시저(Stored Procedure) 사용.. prinha.tistory.com 저장 프로시저 매개변수의 3가지 모드(mode) # 저장 프로시저에 매개변수를 정의하는 문법 MODE 매개변수이름 데이터타입(사이즈) IN 프로시저에 .. 2021. 1. 7.
[MySQL] Stored Procedure의 변수 prinha.tistory.com/entry/MySQL-%EC%8A%A4%ED%86%A0%EC%96%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80Stored-Procedure-%EC%82%AC%EC%9A%A9%EB%B2%95 [MySQL] 스토어드 프로시저(Stored Procedure) 사용법 저장 프로시저(Stored Procedure) 일련의 작업 절차를 정리해 저장한 것으로, SQL문을 미리 정의해두고 요청을 받으면 실행된다. 자주 사용되는 복잡한 작업들을 프로시저를 이용해 간단하게 사용할 prinha.tistory.com 변수 선언 DECLARE 변수이름 데이터타입(크기) DEFAULT 기본값; #기본값 설정안하면 초기값이 NULL 두 개의 변수 선언 D.. 2021. 1. 7.
[MySQL] 스토어드 프로시저(Stored Procedure) 사용법 저장 프로시저(Stored Procedure) 일련의 작업 절차를 정리해 저장한 것으로, SQL문을 미리 정의해두고 요청을 받으면 실행된다. 자주 사용되는 복잡한 작업들을 프로시저를 이용해 간단하게 사용할 수 있다. MySQL 5.0버전부터 사용 가능하다. Stored Procedure의 장점 - 응용프로그램의 성능 향상에 도움을 준다. 한번 생성하면 저장 프로시저는 데이터베이스에 컴파일되고 저장되나, MySQL의 저장 프로시저는 요구가 있을때 컴파일진 후 모든 단일 연결에 독자적인 저장 프로시저 캐시를 유지한다. 만약 단일 연결에서 저장 프로시저를 여러번 사용하는 어플리케이션이 있다면 프로시저는 쿼리처럼 일을 할 것이므로 컴파일된 버전을 사용해야 한다. - 응용프로그램과 데이터베이스 서버 사이에 오가는.. 2021. 1. 7.
[MySQL] 컬럼추가, 컬럼의 이름 변경, 컬럼삭제, 컬럼의 데이터타입 변경 컬럼 추가 ALTER TABLE 테이블이름 ADD 컬럼이름 데이터타입 NULL or NOT NULL; 컬럼 이름 변경 ALTER TABLE 테이블이름 RENAME COLUMN 변경전 컬럼명 TO 변경후 컬럼명; 컬럼 삭제 ALTER TABLE 테이블이름 DROP COLUMN 컬럼명; 컬럼의 데이터 타입 변경 ALTER TABLE 테이블이름 MODIFY 컬럼명 데이터타입; 2021. 1. 6.
[MySQL] 가상테이블을 의미하는 뷰(View)를 쓰는 이유와 생성/대체/수정/삭제 뷰(VIEW) 데이터베이스에 존재하는 일종의 가상 테이블로, 실제 행과 열을 가지고 있지만 데이터를 저장하고 있지는 않다. 즉 테이블처럼 물리적으로 저장되어 있는 것은 아니다. (자주 사용하는 뷰인 경우, 물리적으로 저장되도록 하는 기능도 있긴 있음) 뷰에서는 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만을 수행한다. 뷰의 장점 사용자에게 높은 편의성을 제공한다. (한번 저장해두면 계속 재활용할 수 있음) 데이터 수요에 알맞은 다양한 구조의 데이터 분석 기반을 구축할 수 있다. (기존의 테이블 구조를 건드리지 않음) 데이터 보안을 제공한다. (WHERE절로 특정 row들만 보여주는 뷰를 보여주는 등 특정 정보들만 보여준다. DBMS의 사용자별 권한 관리 기능을 통해 데이터 분석가가 테.. 2021. 1. 6.
728x90
반응형