javaboiii의 DataBase 17

DB - 데이터 이관

DataBaseOracle에서 MySQL로 데이터 이관 방법 - 디비버 사용내보내기(Export) 원하는 테이블 선택 후 우클릭데이터 내보내기 클릭CSV 또는 SQL 선택CSV는 "Comma-Separated Values"의 약자로, 데이터를 텍스트 파일 형식으로 저장하는 방식SQL은 .sql 파일로 저장됨디렉토리 설정 해주시고다음 => 진행 누르시면해당 디렉토리에 CSV 파일들이 저장된걸 확인할 수 있으심가져오기(import)MySQL - 데이터 가져오기 클릭CSV에서 가져오기 선택 => 다음SQL파일로 저장했다면scripts에서 넣어서 sql문 실행 내보내기 에서 설정한 디렉토리를 보면 CSV 파일들이 저장된걸 볼 수 있음가져올 데이터 선택 후다음 => 다음 => 다음 => 진행

DB - ORACLE & MySQL

DataBase데이터 베이스(DB : Data Base)여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합자료를 구조화해 저장함으로써 자료 검색과 갱신의 효율을 높일 수 있음 ORACLE장점성능 - 대량의 데이터를 처리할 수 있는 성능을 제공, 복잡한 쿼리에도 효율적임보안 - 다양한 보안 기능을 갖추고 있어 데이터 암호화, 접근 제어 및 감사 기능을 통해 데이터 보호를 제공확장성 - 대규모 시스템에서 확장성이 좋음다양한 기능단점비쌈기능이 많아 초보자에게 어려움높은 하드웨어 사양이 필요함 MySQL장점오픈 소스 - 무료로 사용할 수 있는 오픈 소스 데이터베이스용량 - 단 1MB의 RAM만 사용할만큼 용량 차지가 작음(매우 적은 오버 헤드를 사용함)접근성 - 설치와 설정이 간편단점복잡..

DB - 데이터 모델링의 이해

데이터 모델링의 이해 데이터 모델링의 중요성 및 유의점- 중복 : 같은 시간 같은 데이터 제공- 비유연선 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨   데이터 정의를 사용 프로세스와 분리- 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 함 데이터 모델링개념적, 논리적, 물리적 데이터 모델링 데이터 독립성 요소외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마개념 스키마 : 모든 사용자 관점을 통합한 전체 DB내부 스키마 : 물리적 장치에서 데이터가 실제적 저장 데이터 독립성논리적 독립성 : 개념스키마 변경, 외부스키마에 영향 X물리적 독립성 : 내부스키마 변경, 외부 / 개념스키마에 영향 X Mapping(사상) : 상호 독립적인 개념을 연결시켜주는 다리논리적 사상 : ..

DB - 다중 행 함수(Multi-Row Function)

DataBase다중 행 함수(Multi-Row Finction) - 여러 행의 그룹에 대해 적용되는 함수 - 다중 행 함수의 종류    그룹 함수(Group Function)          집계 함수(Aggregate Function) : COUNT, SUM, AVG, MAX/MIN 등          고급 집계 함수 : ROLLUP, CUBE, GROUPING SETS, PIVOT, UNPIVOT    윈도우 함수(Window Function) 집계 함수 - 여러 행의 그룹에 대한 연산을 통해 하나의 결과를 반환함 - SELECT, HAVING, ORDER BY 절에 사용 가능      WHERE 절에는 사용 불가 - GROUP BY 절을 통해 그룹핑 기준 명시  집계 함수 - NULL을 제외하고 계..

DB - 서브쿼리(Subquery)

DataBase서브쿼리 - SQL문 안에 포함된 SQL문기준유형서브쿼리 위치SELECT절, WHERE절, FROM절 (=> Inline View)결과 컬럼 / 행의 수단일행 서브쿼리 / 다중행 서브쿼리단일컬럼 서브쿼리 / 다중컬럼 서브쿼리메인 쿼리와의 연관성연관(상관) 서브쿼리 / 비연관 서브쿼리 - 서브쿼리는 메인쿼리의 컬럼 모두 사용 가능- 메인쿼리는 서브쿼리의 컬럼 사용 불가   Inline View에 정의된 컬럼만 사용 가능 결과 컬럼 / 행의 수에 따른 구분서브쿼리 종류설명Single Row(단일행)서브쿼리의 실행 결과로 항상 1건 이하의 행을 반환단일행 비교 연산자(=, , >=, )와 함께 사용Multi Row(다중행)서브쿼리의 실행 결과로 여러 건의 행 반환 가능다중행 비교 연산자(IN, ..

DB - DCL(Data Control Language)

DataBaseDCL(Data Control Language)- 사용자의 계정 생성/ 삭제, 권한 부여 / 회수에 대한 명령CREATE USER 계정(ID) IDENTIFIED BY 비밀번호; -- 계정생성ALTER USER -- 계정 (변경)수정GRANT ~ TO ~ -- 권한 부여REVOKE ~ TO ~ -- 권한 회수DROP USER ~ -- 계정 삭제 SESSION 생성 권한 - 로그인을 위해 CREATE SESSION 권한 필요(가장 기본 권한 필수) Object 권한 - 테이블 생성을 위해 CREATE TABLE 권한 필요 DROP 연산 수행 시 - CASCADE 옵션 사용시 사용자가 생성한 객체도 함께 삭제됨 - CASCADE 옵션 미사용시 사용자가 객체를 갖고 있지 않은 경우에만 삭제 실행..

DB - TCL(Transaction Control Language)

트랜잭션- 데이터베이스의 논리적 연산 단위  의미적으로 분할할 수 없는 최소의 단위  일반적으로 하나의 트랜잭션은 여러 SQL 문장을 포함함  성공시 모든 연산을 반영, 취소시 모든 연산을 취소함 ==> All or Nothing 트랜잭션의 예- 도서 주문  재고 수량 감소, 결제, 포인트 적립, 주문 내역 생성- 계좌 이체  원 계좌의 잔액 감소, 다른 계좌의 잔액 증가- 좌석 예약  좌성 배정, 결제, 예약 내역 생성 계좌 이체 트랜잭션 예- A 계좌에서 B 계좌로 10,000원을 이체 하는 경우- 일관성(Consistency) : 이제 전과 이체 후의 (A+B)의 값은 동일해야 함  "데이터베이스에 데이터가 항상 정확하고 유효하게 유지된다" A와 B의 합이 계좌 이체 후에도 동일해야함 [트랜잭션의 ..

DB - JOIN

정규화정규화는 데이터베이스 설계에서 데이터 중복을 피하기 위해 테이블을 분리하는 과정임데이터 관리의 편의성을 높이는 것이 목적임. 예를 들어, 동아리 정보가 대학교 테이블에 직접 기록되어 있다면, 동아리 이름이 바뀔 때 모든 레코드를 수정해야 하지만, 이를 동아리 테이블로 분리하면 동아리 테이블만 수정하면 됨정규화의 결과로 응집도가 높아지고 결합도가 낮아지며, 이는 유지보수의 용이성으로 이어짐이상현상 발생을 피하기 위함FK가 왜 상대 테이블의 PK여야 하는가**FK(Foreign Key)**는 한 테이블이 다른 테이블과 관계를 맺기 위해 사용하는 키임**PK(Primary Key)**는 테이블의 각 행을 고유하게 식별할 수 있는 키로, 유일한 값임FK는 상대 테이블의 PK를 참조해야 데이터 무결성이 보장..

DB - REGEXP 함수

DataBaseREGEXP 함수정규표현식을 사용하요 문자열을 처리하는 함수   정규표현식 : 문자열 내 특정 패턴을 찾기 위한 기호(메타문자)의 조합텍스트 검색, 데이터 유효선 검사, 문자열 치환 등의 역할을 수행 SELECT PLAYER_NAME FROM PLAYERWHERE PLAYER_NAME LIKE '김%';→→ → → → → → → →SELECT PLAYER_NAME FROM PLAYERWHERE REGEXP_LIKE(PLAYER_NAME,'^김');SELECT PLAYER_NAME FROM PLAYERWHERE PLAYER_NAME LIKE '%정'%';SELECT PLAYER_NAME FROM PLAYERWHERE REGEXP_LIKE(PLAYER_NAME, '정'); 함수 종류REGEXP..