실습환경 데이터베이스 프로그램 : 오라클 11g 자바 컴파일러 JDK 버전 7 데이터베이스와 자바를 연결하는 드라이버 : JDBC 드라이버(ojdbc6.jar) 데이터베이스 연동 자바 프로그래밍 APP(자바) RDBMS(oracle) 간의 연결이 필요함 : network 필요. 오라클은 TCP / IP 이기 때문에 App단에서 동일하게 TCP/IP로 접근해야 한다. jdbc = java database connection 데이터베이스 연동 자바 프로그램의 실행 흐름도 Oracle에서 제공하는 라이브러리를 사용하기 위해서 Oracle 데이터베이스를 설치할 때 받았던 oracleexe 폴더 안에 있는 JDBC 파일을 Eclipse 프로젝트로 복붙 해준다. C:\oraclexe\app\oracle\p..
DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 일반 프로그래밍과는 데이터베이스 언어인 SQL을 포함한다는 점이 다름. 데이터 베이스 프로그래밍 방법 SQL 전용 언어를 사용하는 방법 SQL 자체의 기능을 확장하여 변수, 제어, 입출력 등의 기능을 추가한 새로운 언어를 사용하는 방법. Oracle은 PL/SQL 언어를 사용하며, SQL Server는 T-SQL이라는 언어를 사용함. 일반 프로그래밍 언어에 SQL을 삽입하여 사용하는 방법 자바, C, C++ 등 일반 프로그래밍 언어에 SQL 삽입하여 사용하는 방법. 일반 프로그래밍 언어로 작성된 응용 프로그램에서 데이터베이스에 저장된 데이터를 관리, 검색함. 삽입된 SQL문은 DBMS의 컴파일러가 처리함. 웹 ..
내장 함수 SQL의 함수는 DBMS가 제공하는 내장 함수와 사용자가 필요에 따라 직접 만드는 사용자 정의 함수로 나뉜다. 오라클 주요 내장 함수 숫자 함수 문자 함수 날짜 - 시간 함수 datetime의 주요 인자 NULL 값 처리 NULL값은 아직 지정되지 않은 값으로 비교 연산자로 비교가 불가능하다. NULL 값에 연산을 수행하면 결과가 NULL로 반환되기 때문에 집계함수를 사용할 때 주의해야 한다. 집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠지게 된다. NULL 확인 방법 IS NULL , IS NOT NULL SELECT * FROM Mybook WHERE pice IS NULL; NULL 값 처리 NVL : NULL 값을 다른 값으로 대치하여 연산하거나 다른 값으로 출력 EX) 이름,..
SQL은 데이터베이스에서 데이터를 추출하여 문제 해결하는 것을 목표로 한다. 입출력은 테이블에서 이루어지며 DBMS가 SQL사용자의 입력을 번역해 준다. sys테이블 : 메타정보를 가지는 테이블 SQL 문을 던질 때 DB가 하는일 SQL은 세계 표준이 정해져 있지만 DB마다 syntax가 다르게 되어 있는 부분이 있기에 잘 확인해야 한다. syntax 오류가 발생했는지 확인(명령어가 잘못되었는지 아닌지 확인) 메타 데이터(테이블)를 확인한다. (SELECT FROM WHERE 으로 들어온 테이블들이 실제로 존재하는지 확인한다.) 메타 데이터(테이블)은 카탈로그(요약 정보)같은 느낌이라 생각하면 된다. 실행계획을 만든다(execute plan) : DB의 엔진에서(사람의 두뇌와 비슷한느낌) 어떻게 실행해야..
관계대수 관계 대수 : 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법을 기술하는 언어 , 어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시하는 절차적인 언어이며, DBMS 내부의 처리 언어로 사용됨. 관계해석 : 어떤 데이터를 찾는지만 명시하는 선언적인 언어로 관계대수와 함께 관계 DBMS의 표준 언어인 SQL의 이론적인 기반을 제공함. → 관계대수와 관계해석은 모두 관계 데이터 모델의 중요한 언어이며 실제 동일한 표현 능력을 가지고 있음. 관계의 수학적 의미 릴레이션은 수학적으로 집합이므로 집합에서 가능한 연산 합집합, 교집합, 카티전 프로덕트(X) 등의 연산이 가능함. 카티전 프로덕트(곱셈연산)은 두 집합(릴레이션)으로 만들 수 있는 모든 집합의 모음을 말..
릴레이션 : 행과 열로 구성된 테이블 관계 : 릴레이션 내에서 생성되는 관계 튜플 : row(=행) 카디널리티 : 튜플의 개수 속성 : column(=열) 스키마 : 내포(속성들의 모음 = 구조 = 메타 데이터) 스키마의 요소 속성 attribute : 릴레이션 스키마의 열 도메인 domain : 속성이 가질 수 있는 값의 집합 차수 degree : 속성의 개수 스키마의 표현 릴레이션 이름(속성1 : 도메인1 , 속성 2 : 도메인2 , …) ex) 도서(도서번호,도서이름,출판사,가격) 인스턴스 : 외연(속성 값이 지정된 모든 튜플을 지칭 = 데이터) 인스턴스의 요소 튜플 :릴레이션의 행, 모든 튜플은 서로 중복되지 않아야 함 카디널리티 : 튜플의 수 릴레이션 구조와 관련된 용어 릴레이션의 특징 속성은 ..
데이터베이스 개념 DB = 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것 DBMS = 사용자와 데이터베이스를 연결시켜 주는 소프트웨어 DBMS 서버의 목적 = 데이터의 일관성 유지 ,복구 ,동시 접근 제어 등 데이터 모델 = 데이터가 저장되는 기법에 관한 내용 DB시스템은 주로 변경과 검색 작업을 수행함. 변경이란 변한 데이터 값을 반영하기 위한 삽입, 삭제, 수정 등의 작업을 말함. 데이터베이스 특징 real time accessibility = 사용자가 데이터를 요청하면 수 초 내에 결과를 서비스해야 한다. Continuous change = 데이터베이스에 저장된 내용은 어느 한순간의 상태를 나타내지만 , 데이터 값은 시간에 따라 항상 바뀐다. 데이터베이스..
데이터 분석 과정 데이터 수집 → 데이터 전처리 → 모델링 → 평가 및 배포 데이터 수집 외부 데이터(정형/반정형/비정형) 내부 데이터 DBMS = orcle , mysql 과 같은 database를 관리할 수 있는 system RDBMS가 가장 효율적이라는 이론이 밝혀짐 정형화된 데이터를 다룸 database = 하나의 컴퓨터안에 저장될 수 없는 큰 데이터를 다루는 범주 자료구조 = 하나의 application 단위에서 수행하는데 필요로 하는 데이터 용량(범위)를 다루는 범주 RDBMS 제품군 Oracle, MySQL, MSSQL… 네트워크 : 두 대상간의 데이터 교환 DB를 구현 후 클라이언트와 연결하는 과정에 필요 프로토콜 = 네트워크를 통해 데이터가 교환되려면 쌍방간의 규약을 지켜야 한다. Ora..