목록DBMS (28)
코딩항해기
CSV (Comma Separated Values)표 형태의 데이터를 저장하는 파일 형식이다. 각 줄은 하나의 행에 해당하고 각 열 사이에는 쉼표(Comma)를 넣어 구분하며 이 때 모든 행은 같은 개수의 열을 가져야한다. 줄 바꿈 문자는 라인피드 또는 캐리지 리턴를 사용한다. 예시는 이미지와 같은 표를 CSV로 변환한 형태이다.이름,생년,월,일,국어 점수,영어 점수,수학 점수홍길동,1992년,7월,17일,100점,90점,70점희동이,1992년,4월,3일,90점,100점,100점 이 CSV를 통해 데이터 이관 작업을 진행하자. 1. 데이터를 이관할 테이블을 선택한 뒤 데이터 내보내기를 한다. 2. CSV 형식을 선택한다. * 진행 중 이 부분을 수정해 저장할 폴더를 선택할 수 있다. (기본 C:\Us..
※정리된 내용보다 더 많은 차이가 있다. 0. 대소문자 구분Oracle에서는 대소문자를 구분하지 않지만 MySQL에서는 대소문자를 구분한다. 1. 시퀀스 사용 함수Oracleboard_sq.NEXTVALMySQLboard_sq.CURRVAL 그 외에도 MySQL에서는 시퀀스를 사용하지 않고 컬럼 제약조건으로 AUTO_INCREMENT를 사용하고 insert할 때 해당 컬럼을 제외하고하면 시퀀스와 같은 효과를 낸다. (Oracle은 없음) 2. 형변환 Oracle에서는 TO_CHAR, TO_NUMBER 등을 사용한 반면 MySQL에서는 CAST라는 예약어를 활용하여 형변환한다.OracleSELECT TO_CHAR(100) FROM DUALMySQLSELECT CAST(100 AS CHAR) FROM DUA..
1. 설치할 때 입력한 비밀번호를 입력한다. 2. 명령어를 입력한다.CREATE DATABASE [계정이름] DEFAULT CHARACTER SET UTF8; 3. 생성됐는지 확인한다.SHOW DATABASES; 4. 생성한 계정으로 로그인한다.USE [로그인할계정명];
1. 8.0 버전 두 번째 다운로드(용량 큰 버전)을 다운로드한다. MySQL :: Download MySQL Installer (Archived Versions)Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Installer, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.downloads.mysql.com 2. 다운로드 받은 msi 파일을 실행한다. 3. Costom 선택 후 Next를 클..
CDATA (Character Data) 문자 데이터를 의미하는 Character Data의 약자를 사용하며, 마크업 언어(XML)에서 데이터를 표시하기 위한 것이다.특수문자들을 태그가 아니라 데이터로 명시하고 싶을 때 사용하며 데이터에 있는 특수문자가 태그 등과 혼동되지 않도록 한다. XML에서 쿼리를 짤 때 많이 사용된다. CDATA 영역 시작 CDATA 영역 종료]]> 예시John Smith]]> <sender>John Smith</sender>과 동일한 데이터 값을 지닌다. 주의사항CDATA 영역 안의 모든 특수기호 등을 전부 문자열로 만들어버리기 때문에 동적쿼리를 사용할 때는 주의해 사용해야한다.
한 계정에서 여러 프로젝트의 테이블을 생성할 수 없는 것은 아니지만, 관리를 용이하게 하고, 팀프로젝트에서 JDBCUtil을 사용할 때 팀원 모두가 공통된 아이디와 비밀번호를 가질 수 있도록 할 때 등등 계정을 생성하곤 한다. SQL 계정을 생성하기 위해서는 먼저 cmd창을 열어준다. cmd 창이 열리면 sqlplus를 입력한다. sqlplus 입력하면 로그인 창이 뜨는데, 관리자 권한을 가진 관리자 계정으로 로그인해 계정을 생성해 줄 예정이다.sys as sysdba user-name으로 해당 아이디를 입력한 후 오라클 등을 설치할 때 정의한 비밀번호를 입력한다.입력이 보이지 않지만 정상적으로 입력되고 있는 것이 맞다. 로그인에 성공하면 Connected to:라는 메세지가 뜨며 연결이 됐다고 안..
ROLLUP주어진 그룹 기준에 따라 계층적인 소계를 계산한다. 주로 데이터의 총합, 부분합을 구할 때 사용한다. 예를 들어, 부서별, 직급별 급여 합계를 구하고 전체 합계를 구할 수 있다. 계층적이기 때문에 앞쪽 열부터 소계가 계산되고, 마지막에는 전체 합계가 포함된다. 예시: ROLLUP(a, b, c)(a, b, c) : a, b, c별 소계(a, b) : a, b별 소계(a) : a별 소계() : 전체 소계 CUBE주어진 그룹 기준의 모든 조합에 대해 소계를 계산한다. ROLLUP과 달리, 모든 가능한 그룹 조합의 소계를 계산하며, 각각의 열에 대한 소계, 그리고 전체 합계도 함께 계산한다. 매개변수의 순서가 달라져도 값에 영향이 없다. 예시: CUBE(a, b, c)(a, b, c) : a, b,..
NULL 아직 정의되지 않은 값으로 0 또는 공백과 다르다. (0은 숫자이고, 공백은 문자다)테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않으면 NULL을 포함할 수 있다. NULL을 포함하는 연산의 결과도 NULL이다 ( 1 + NULL = NULL) row에서 연산을 할 때 (컬럼1+컬럼2) NULL이 있다면 결과값은 NULL이 되며,집계함수를 사용할 때 column에 NULL이 있다면 해당 NULL을 무시하고 집계한다.NULL과의 비교는 무조건 false가 반환된다. (IS NULL, IS NOT NULL을 사용해야 비교가 가능하다) NULLIF(표현식1, 표현식2)표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다.특정 값을 NULL로 변경해야 ..
SQL 실행 순서다음과 같은 순서로 진행된다. FROMONJOINWHEREGROUP BY (집계함수)HAVING SELECT (별칭, ROWNUM 등)DISTINCTORDER BY 실행 순서가 중요한 이유복잡한 쿼리를 작성하거나 쿼리의 성능을 최적화 할 때 실행 순서를 정확하게 이해하고 있어야 하기 때문이다.또한 실행 순서를 잘못 이해하면 원하는 방향과 전혀 다른 데이터가 나올 수 있어 실행 순서를 정확하게 인지하고 있는 것이 좋다.(앞 단에 실행된 부분만 현재 단계에서 인지할 수 있기 때문에, WHERE절에서 GROUP BY된 데이터를 인지할 수 없다.)실행 순서를 불가피하게 변경해야하는 경우에는 서브쿼리를 사용하여 실행 순서를 변경시킬 수 있다. 상황에 따른 조건 위치 효율성JOIN을 사용할 때ON..
정규화 Normalization중복된 데이터를 최소화하고, 데이터 무결성(Data Integrity)를 유지하기 위해 데이터베이스를 구조화하는 과정이다.데이터의 일관성을 높이고 데이터 저장 공간을 효율적으로 사용하여 이상 현상(Anoamalies)을 방지한다.정규화 단계는 순차적으로 진행해야한다. 제 1 정규형 (1NF)테이블 컬럼이 하나의 값을 갖도록 분리하는 것 제 2 정규형 (2NF) PK의 일부가 아닌 컬럼들이 PK 전체에 종속되도록 분리하는 것(복합식별자일 때 진행된다) 제 3 정규형 (3NF) PK가 아닌 컬럼이 다른 컬럼을 종속하지 않도록 분리하는 것보이스-코드 정규형(BCNF)모든 함수적 종속성이 후보 키에 대해서만 성립하도록 하는 것 제 4 정규형 (4NF) 한 테이블에 여러 개의 독립된..