목록빅데이터/DataBase (20)
Practice makes perfect
데이터 베이스 구축이란? 컴퓨터 상의 의미를 담아주도록 데이터베이스화 하는 과정 실질적으로 테이블이라는 형태로 합니다, 컴퓨터가 처리할 수 있는 데이터로 변환하는 과정을 이야기 할 수 있습니다. 테이블 안에 각각의 컬럼을 구분하고 각각의 의미와 개념을 컴퓨터가 인지 할 수 있게 하는 표현의 수단으로하여 각각의 자료형(문자, 숫자, 날짜형)으로 수행할 수 있게 하는 과정을 이야기 합니다. 데이터가 가지고 있는 의미 자체 또는 규칙을 찾아서 문제점을 개선 을 하고 기업의 이윤을 위해서 데이터를 분석하는 것입니다. 올바른 데이터가 수집이 되어 있는지, 수집된 데이터를 어떻게 보관 , 정리 할 것인지 알기위해서 체계적으로 해야 합니다. 데이터 베이스 구축을 위한 절차 1~5단계 (설계 과정 중에 오류가 발견되어..
동의어(Synonym) 란? : 객체를 조회할 때마다 일일이 객체의 소유자를 지정하는 것이 번거로울 경우 동의어를 정의하면 긴 이름대신 간단한 이름으로 접근할 수 있도록 하는 명령어 입니다. 1) 동의어 생성 1) 권한을 부여한다. grant create synonym to scott; -- 동의어를 만들 수 있도록 허용 2) 동의어 생성 create synonym systab for system.table_systbl; -- system.table_systbl 이 스키마를 동의어로 systab 만듭니다. ( 간단히 접근하기 위함, 이름이 길때 등...) 사용합니다. 2) 비공개 동의어 생성 : 객체에 대한 접근 권한을 부여 받은 사용자가 정의한 동의어로 해당 사용자만 사용할 수 있습니다. create ..
데이터 제어어(DCL : Data Control Language)란? = 사용자(User) 권한(Role) = 데이터 베이스에 접속하기 위해서는 계정이 필요합니다. 계정의 권한을 줄 수 있는 계정은 마스터 아이디만 가능합니다. 사용자 계정은 어떻게 하는지, 계정에 접속해서 데이터를 저장할 수 있게 권한을 줄 수 있을지 이러한 것을 가능하게 하는 명령어가 DCL이라고 합니다. 1) 계정 생성 형태 : create user 유저명 identified by 비밀번호 ; create user thomas identified by tiger; -- thomas 유저가 생성 되었습니다. - 접속 ERROR 가 나오고 있습니다. 접속하려면 접속의 권한도 부여되어야 합니다. 2) 데이터 베이스 접속 권한 부여 ( 권한..
인덱스 = sql 명령문의 처리 속도를 향상시키기 위해서 컬럼에 생성하는 오라클 객체로서 빠른 검색을 위한 용도로 사용합니다. 인덱스 장점 vs 단점 ● 장점 • 검색 속도를 빨라지게 합니다. • 시스템에 걸리는 부하를 줄여서 시스템 전체 성능을 향상시킵니다. •아무리 많은 데이터가 되어 있더라도 데이터베이스가 빠르게 진행시킨다. ● 단점 • 인덱스를 위한 추가적인 공간이 필요합니다. • 인덱스를 생성하는데 시간이 걸립니다. • 데이터의 변경 작업(insert/update/delete)이 자주 일어날 경우에는 오히려 성능이 떨어집니다. - 결과적으로 성능을 위해서는 필수적인 기능이라고 할 수 있습니다. 데이터의 온전성을 유지하기 위해서 단점이 있음에도 장점이 더 크기 때문에 사용되고 있다고 생각하시면 됩..
시퀀스(sequence) : 순서를 뜻하는 것으로, 몇 가지 작동을 어떤 기준에 따라 공간적 또는 시간적으로 순서를 정해 놓는 것을 말합니다. 즉, 오라클에서 행을 구분하기 위해서 기본 키를 두는데 그 기본 키는 중복 된 값을 가질 수 있으므로 항상 유일한 값을 가져야 합니다. 그런 기본 키가 유일한 값을 갖도록 사용자가 직접 생성해내는 것이 아니라 숫자를 자동으로 생성해 주는 명령어를 의미합니다. 1) 테이블의 시퀀스 생성 형태 : create squence 테이블 이름 start with increment by N; create sequence memos_seq start with 1 increment by 1; -- 시작의 값을 1로하고 증가하는 값 1로 하여 계속 증가하게 합니다. 2) 데이터 입..
뷰(View)란? : 실직적으로 데이터가 존재하지는 않는 테이블입니다. 이 테이블을 가상 테이블이라고도 부릅니다. 실제 정보를 가지고 있는 테이블을 물질 테이블이라고 하고 그 테이블에서 필요한 정보만 가상의 테이블을 만들어서 읽어 오는 것입니다. ● 뷰의 특징 - 테이블이라고 이름을 붙이는 이유는 기능 자체가 테이블과 동일하기 때문입니다. - 실제 테이블의 정보를 뷰를 통해서 볼 수 있고, 제한적으로 필요한 내용만 사용이 가능하게 해줍니다. - 실질적적인 물리적인 테이블이 존재하고 있어야지만 뷰를 생성할 수 있습니다. - as 다음으로 마치 서브쿼리문과 유사합니다. - 결과를 출력하기 위해서 맨번 select 문을 입력하기란 여간 번거로운 일이 아닐 수 없습니다. 뷰는 이 같이 번거로운 select 문을..
● 서브쿼리 - SQL> : Structured Query Language ① 서브 쿼리는 하나의 select 문장의 절 안에 포함된 또 하나의 select문 문장입니다. (메인 쿼리 / 서브 쿼리) ② Sub Query 부분은 WHERE 절에 연산자 오른쪽에 위치해야 하며 반드시 괄호로 묶어야 합니다. ③ 서브 쿼리는 메인 쿼리가 실행되기 이전에 한번만 실행이 됩니다. ④ 특별한 경우 (Top-n 분석 등)를 제외하고는 Sub Query 절에 Order by 절이 올 수 없습니다. ⑤ 단일 행 Sub Query 와 다중 행 Sub Query 에 따라 연산자를 잘 선택해야 합니다. 단일행 서브 쿼리와 다중행 서브 쿼리에 대해서 자세하게 예시를 통해서 설명하겠습니다. 1) 단일 행 서브쿼리 ( 결과 = 한..
JOIN? 두 개 이상의 테이블에 나뉘어져 있는 데이터를 한 번의 SQL 문으로 원하는 결과를 얻을 수 있는 기능입니다. 좀 더 효율적으로 빠르게 하기 위해서 JOIN 을 통해서 나뉘어진 테이블의 결과 중 원하는 것만 가져올 때 사용합니다. 종류 내용 cross join 2개 이상의 테이블이 조인될 때 where절에 의해 공통되는 컬럼에 의한 결합이 발생 하지 않는 경우를 의미합니다. equi join 조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결하여 결과를 생성하는 방법입니다. non-equi join 동일 컬럼이 없이 다른 조건을 사용하여 join 조건에 특정 범위 내에 있는지를 조사 하기 위해서 조건절에 조인 조건을 = 연산자 이외의 비교 연산자를 이용합니다. ..