쌍용교육 -SQL 수업 16일차 SQLD 기초
1. Database 개요
1-1 데이터베이스(Database)란?
지속적으로 저장되는 연관된 정보의 모음. 특정 관심의 데이터를 수집하여 그 데이터의 성격에 맞도록 잘 설계하여 저장하고 관리함으로써 필요한 데이터를 효율적으로 사용할 수 있는 자원
1-2 DBMS(Database Management System)
- 데이터를 효율적으로 관리할 수 있는 시스템
- 데이터를 효율적으로 관리하기 위해서 데이터베이스에 추가, 삭제, 변경, 검색을 할 수 있는 기능 제공
1-3 관계형 데이터 베이스
- E.F. Codd 박사는 1970년에 데이터베이스 시스템을 위한 관계형 모델을 제안.
- 이것이 RDBMS(관계형 데이터베이스 관리 시스템)의 기초
- 관계형 모델의 구성
2. SQL
2-1. SQL(Standard Query Language)이란?
- SQL은 데이터베이스에서 데이터를 검색, 삽입, 갱신, 삭제할 수 있는 표준 언어
- SQL은 1970년대 IBM에 의해서 처음 공개된 이후 ANSI/ISO 표준으로 편입됨
2-2. SQL문의 종류
- SQL문의 작성
- SQL 문은 대소문자를 구분하지 않음
- SQL 문은 한 줄 또는 여러 줄에 입력할 수 있음
- 키워드는 약어로 표기하거나 여러 줄에 걸쳐 입력할 수 없음
- 절은 대개 별도의 줄에 입력함
- 가독성을 높이기 위해 들여쓰기 사용
- 키워드는 일반적으로 대문자로 입력하지만 테이블 이름, 열 이름 등의 다른 단어는 모두 소문자로 입력
/*오라클 실습 테이블 생성*/
CREATE TABLE SALGRADE (
GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER,
constraint salgrade_pk_grade primary key (grade)
);
CREATE TABLE DEPT(
DEPTNO NUMBER(2,0),
DNAME VARCHAR2(14),
LOC VARCHAR2(13),
constraint dept_pk_deptno primary key (deptno)
);
CREATE TABLE EMP(
EMPNO NUMBER(4,0),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4,0),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2,0),
constraint emp_pk_empno primary key (empno),
constraint emp_dept_fk1 foreign key (deptno) references dept (deptno)
);
/*-------------SALGRADE테이블 테이터----------------------*/
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (1,700,1200);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (2,1201,1400);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (3,1401,2000);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (4,2001,3000);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (5,3001,9999);
/*-------------DEPT테이블 테이터----------------------*/
insert into DEPT (DEPTNO,DNAME,LOC) values (10,'ACCOUNTING','NEW YORK');
insert into DEPT (DEPTNO,DNAME,LOC) values (20,'RESEARCH','DALLAS');
insert into DEPT (DEPTNO,DNAME,LOC) values (30,'SALES','CHICAGO');
insert into DEPT (DEPTNO,DNAME,LOC) values (40,'OPERATIONS','BOSTON');
/*-------------EMP테이블 테이터----------------------*/
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7369,'SMITH','CLERK',7902,to_date('80/12/17','RR/MM/DD'),800,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7499,'ALLEN','SALESMAN',7698,to_date('81/02/20','RR/MM/DD'),1600,300,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7521,'WARD','SALESMAN',7698,to_date('81/02/22','RR/MM/DD'),1250,500,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7566,'JONES','MANAGER',7839,to_date('81/04/02','RR/MM/DD'),2975,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7654,'MARTIN','SALESMAN',7698,to_date('81/09/28','RR/MM/DD'),1250,1400,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7698,'BLAKE','MANAGER',7839,to_date('81/05/01','RR/MM/DD'),2850,null,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7782,'CLARK','MANAGER',7839,to_date('81/06/09','RR/MM/DD'),2450,null,10);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7839,'KING','PRESIDENT',null,to_date('81/11/17','RR/MM/DD'),5000,null,10);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7844,'TURNER','SALESMAN',7698,to_date('81/09/08','RR/MM/DD'),1500,0,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7900,'JAMES','CLERK',7698,to_date('81/12/03','RR/MM/DD'),950,null,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7902,'FORD','ANALYST',7566,to_date('81/12/03','RR/MM/DD'),3000,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7934,'MILLER','CLERK',7782,to_date('82/01/23','RR/MM/DD'),1300,null,10);
commit;
naver.me/GLSiZTTC 1.OracleXE112 sqldeveloper 다운로드 .OracleXE112가 안깔리면 OracleXE213을 시도. 2.오라클만 압축풀기 3.DISK1의 setup클릭 4.I accept the 어쩌구 클릭하고 next 5.비밀번호:1234 후 install 6.sqldevloper 압축풀기(압축만풀면됨)
시작프로그램에서 oracle run database 어쩌구 찾아서 Run SQL command line 클릭 conn sys/1234 as sysdba create user user01 identified by 1234; grant resource,dba,connect to user01; exec dbms_xdb.sethttpport(8585);
sqldeveloper 다 깔리면 들어가서 sqldeveloper 클릭 무슨 창 뜨면 '아니오' 누르기 들어가서 왼쪽위에 접속 아래 + 누르기 창뜨면 Name에 java같은거 아무거나 입력 사용자이름 user01 비밀번호 1234 옆에 비밀번호 저장 체크 하기 (미리미리 하기 귀찮으니까) 저장하고 접속하든 바로 접속 누르기.
1. Database 개요
1-1 데이터베이스(Database)란?
지속적으로 저장되는 연관된 정보의 모음. 특정 관심의 데이터를 수집하여 그 데이터의 성격에 맞도록 잘 설계하여 저장하고 관리함으로써 필요한 데이터를 효율적으로 사용할 수 있는 자원
1-2 DBMS(Database Management System)
- 데이터를 효율적으로 관리할 수 있는 시스템
- 데이터를 효율적으로 관리하기 위해서 데이터베이스에 추가, 삭제, 변경, 검색을 할 수 있는 기능 제공
1-3 관계형 데이터 베이스
- E.F. Codd 박사는 1970년에 데이터베이스 시스템을 위한 관계형 모델을 제안.
- 이것이 RDBMS(관계형 데이터베이스 관리 시스템)의 기초
- 관계형 모델의 구성
2. SQL
2-1. SQL(Standard Query Language)이란?
- SQL은 데이터베이스에서 데이터를 검색, 삽입, 갱신, 삭제할 수 있는 표준 언어
- SQL은 1970년대 IBM에 의해서 처음 공개된 이후 ANSI/ISO 표준으로 편입됨
2-2. SQL문의 종류
- SQL문의 작성
- SQL 문은 대소문자를 구분하지 않음
- SQL 문은 한 줄 또는 여러 줄에 입력할 수 있음
- 키워드는 약어로 표기하거나 여러 줄에 걸쳐 입력할 수 없음
- 절은 대개 별도의 줄에 입력함
- 가독성을 높이기 위해 들여쓰기 사용
- 키워드는 일반적으로 대문자로 입력하지만 테이블 이름, 열 이름 등의 다른 단어는 모두 소문자로 입력
/*오라클 실습 테이블 생성*/
CREATE TABLE SALGRADE (
GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER,
constraint salgrade_pk_grade primary key (grade)
);
CREATE TABLE DEPT(
DEPTNO NUMBER(2,0),
DNAME VARCHAR2(14),
LOC VARCHAR2(13),
constraint dept_pk_deptno primary key (deptno)
);
CREATE TABLE EMP(
EMPNO NUMBER(4,0),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4,0),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2,0),
constraint emp_pk_empno primary key (empno),
constraint emp_dept_fk1 foreign key (deptno) references dept (deptno)
);
/*-------------SALGRADE테이블 테이터----------------------*/
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (1,700,1200);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (2,1201,1400);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (3,1401,2000);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (4,2001,3000);
Insert into SALGRADE (GRADE,LOSAL,HISAL) values (5,3001,9999);
/*-------------DEPT테이블 테이터----------------------*/
insert into DEPT (DEPTNO,DNAME,LOC) values (10,'ACCOUNTING','NEW YORK');
insert into DEPT (DEPTNO,DNAME,LOC) values (20,'RESEARCH','DALLAS');
insert into DEPT (DEPTNO,DNAME,LOC) values (30,'SALES','CHICAGO');
insert into DEPT (DEPTNO,DNAME,LOC) values (40,'OPERATIONS','BOSTON');
/*-------------EMP테이블 테이터----------------------*/
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7369,'SMITH','CLERK',7902,to_date('80/12/17','RR/MM/DD'),800,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7499,'ALLEN','SALESMAN',7698,to_date('81/02/20','RR/MM/DD'),1600,300,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7521,'WARD','SALESMAN',7698,to_date('81/02/22','RR/MM/DD'),1250,500,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7566,'JONES','MANAGER',7839,to_date('81/04/02','RR/MM/DD'),2975,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7654,'MARTIN','SALESMAN',7698,to_date('81/09/28','RR/MM/DD'),1250,1400,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7698,'BLAKE','MANAGER',7839,to_date('81/05/01','RR/MM/DD'),2850,null,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7782,'CLARK','MANAGER',7839,to_date('81/06/09','RR/MM/DD'),2450,null,10);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7839,'KING','PRESIDENT',null,to_date('81/11/17','RR/MM/DD'),5000,null,10);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7844,'TURNER','SALESMAN',7698,to_date('81/09/08','RR/MM/DD'),1500,0,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7900,'JAMES','CLERK',7698,to_date('81/12/03','RR/MM/DD'),950,null,30);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7902,'FORD','ANALYST',7566,to_date('81/12/03','RR/MM/DD'),3000,null,20);
insert into EMP (EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) values (7934,'MILLER','CLERK',7782,to_date('82/01/23','RR/MM/DD'),1300,null,10);
commit;