DBMS란?
- 데이터베이스가 '데이터베이스의 집합'이라고 한다면 DBMS는 이 데이터베이스를 관리,운영하는 역할 을 수행한다.
SQL의 특징
SQL은 관계형 데이터베이스에서 사용되는 언어
- 관계형 데이터 베이스( 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 이다.)
- DBMS 제작회사와 독립적이다
- 다른 시스템으로 이식성이 좋다
- 표준이 계속 발전한다
- 대화식 언어이다
- 분산형 클라이언트/서버 구조이다.
사용자 계정생성 및 권한부여
- conn /as sysdba 를 입력해 sysdba 접속
-
CREATE USER 유저네임 IDENTIFIED BY 패스워드;
- 유저네임에 사용할 계정이름 입력
- 패스워드에 계정로그인에 사용할 패스워드 입력
-
GRANT CONNECT, RESOURCE, DBA TO 유저네임;
스키마 생성
- 데이터베이스 안에 지정된 정보를 저장하는 것.
1.다른 사용자 우클릭>사용자 생성>테이블 +아이콘을 눌러 생성
2.생성된 사용자 테이블에 null값에 원하는 입력값 기입후 F11로 커밋
3.SELECTFROM 테이블 을 입력하여 테이블확인.
4.SELECTFROM 테이블 WHERE 테이블 column='열에 하는 벨류값을 입력'>그열에 대한 정보출력
가장 많이 사용 되는 문법 사용
SELECT [열]
FROM [테이블]
WHERE [조건]
INTO[새테이블]
- SELECT INTO [새테이블] FROM [복사할테이블] WHERE 1=2
where 조건에 1=2를 한 이유는 거짓된 조건을 줬는데 다른 거짓 문장이라도 상관없습니다.
조건이 거짓이기 때문에 열에 있는 데이터는 가져오지 않고
새 테이블에 기존 테이블의 모든 열만 가져와 형식만 같은 테이블을 만듭니다.
테이블 형식을 복사한 것과 같습니다.
select from 테이블 [where 조건] order by 열 | asc | desc
order by문
- 테이블에 있는 모든 열을 가져와 order by 에 지정된 열을 기준으로 정렬됩니다.
기본 정렬은 asc 오름차순 정렬입니다.
asc 나 desc 를 정해주지 않은경우에는 오름차순 정렬되는것입니다.
너무 많은 데이터 양이 있을때 index로 데이터 찾기
-
CREATE TABLE ssystem.indexTBL
AS
SELECT first_name,last_name,hire_date
FROM HR.employees;
를 이용하여 인덱스 생성
-
SELECT*FROM ssystem.indexTBL;
로 스키마 인덱스 확인
위의 예제보다 아래의 예제가 더 좋은 예이다 (읽는 속도가 더욱 빠름)
- CREATE INDEX idx_indexTBL_firstname ON indextbl(first_name);
인덱스 생성
- SELECT*FROM indexTBL where first_name='Lex';
F10을 눌러 생성한 index를 확인하여 차이점을 찾자.
- ex)CREATE INDEX [인덱스명] ON [테이블명](컬럼1, 컬럼2, 컬럼3.......)
- 조회)SELECT * FROM USER_INDEXES WHERE TABLE_NAME = 'CUSTOMERS';
- 삭제)DROP INDEX [인덱스 명]
프로시저
-
오라클에서 제공해주는 프로그래밍 기능이다.
ex)
-
/select count() from membertbl;
select count(*) from producttbl;
create procedure myproc as --스키마생성
var1 int;
var2 int;
begin
select count() into var1 from memberTBL;
select count() into var2 from producttbl;
dbms_output.put_line(var1+var2);
end;*/
set serveroutput on;--결과가 출력되기 위한 설정
execute myproc;--스토이드 프로시저 호출
뷰
(생성)
- create view ssystem.membertbl_view AS
SELECT membername,memberaddress from ssystem.membertbl;
(조회)
- select*from membertbl_view;
Argument,Parameter 차이점.
- Parameter 매개변수 함수와 메서드 입력 변수(Variable) 명
- Argument 전달인자, 인자 함수와 메서드의 입력 값(Value)