본문 바로가기

Oracle Database16

12. 학사관리 DB 작업 (무결성) ○ 학사관리 테이블 및 시퀀스 생성 1) 테이블 생성 ---------------------- 학생테이블 create table tb_student( hakno char(5) not null --학번 ,uname varchar(20) not null --이름 ,email varchar(20) unique --이메일 ,address varchar(20) not null --주소 ,phone varchar(20) --전화번호 ,regdt date default sysdate --등록일 ,primary key(hakno) --기본키 ); ---------------------- 과목테이블 create table tb_gwamok( gcode char(4) not null --과목코드 (p:프로그램교과목, d:.. 2022. 5. 19.
09. Oracle DB, 사원(emp) 테이블 연습문제 (DDL, DML 연습) ● PRACTICE 연습문제 Q1) emp 사원테이블을 생성하시오 Q2) emp사원테이블에 행을 추가하시오 --문1) create table emp( empno number(4) primary key --사번(-9999~9999) ,ename varchar2(50) --이름 ,job varchar2(10) --직급 ,mgr number(4) --매니저정보 ,hiredate date --입사일 ,sal number(7,2) --급여(소수점 2자리) ,comm number(7,2) --커미션(보너스) ,deptno number(2) --부서코드(-99~99) ); -- 문2) insert into emp(empno, ename, job, mgr, hiredate, sal, deptno) values(7369.. 2022. 5. 18.
08. Oracle DB, 오라클 함수 (nvl, chr, concat, 날짜, 숫자, 문자) ○ 자주 쓰이는 오라클 함수 ① nvl() - null값을 원하는 다른값으로 바꿈 - 형식) nvl(원래 값, 대체할 값) -- 주소가 'Incheon'인 행의 국어점수 최대값, 인원수를 조회하시오 select max(kor), count(*) from sungjuk where addr='Incheon'; -- max(kor)=(null) / count(*)=0 : 'Incheon'이 없기 때문에 select count(*)+1 from sungjuk where addr='Incheon'; -- 2 : 연산 가능 select max(kor)+1 from sungjuk where addr='Incheon'; -- (null) : null과는 연산이 불가능 select nvl(max(kor), 0) from.. 2022. 5. 17.
07. 자료형 (표준 SQL, Oracle DB, Maria DB) ○ 표준SQL 자료형 ① 문자 - VARCHAR : 가변형 예) varchar(5) 'sky' > 5칸 중 남은 2칸은 지움, 메모리를 효율적으로 사용가능 아이디, 비밀번호, 이름, 주소 등 - CHAR : 고정형 예) char(5) 'sky' > 남은 2칸도 지우지 않고 기억 주민등록번호, 우편번호, 계좌번호 등 (글자수가 절대적으로 고정되어 있는 것) ② 숫자 - INT : 정수형 ③ 날짜 - DATE : 날짜 create table sungjuk( sno int not null ,uname varchar(50) not null ,kor int not null ,eng int not null ,mat int not null ,aver int null ,addr varchar(50) ,wdate dat.. 2022. 5. 17.
06.Oracle DB, 그룹화 (distinct, group by, 집계함수, having, case when ) ○ distinct - 칼럼에 중복내용이 있으면 대표값 1개만 출력 - 형식) distinct 칼럼명 select addr from sungjuk;--모든 칼럼의 addr 선택 select distinct addr from sungjuk;--중복하는 addr 한번만 선택 ○ group by - 칼럼의 동일 내용끼리 그룹화 시킴 - 형식) group by 칼럼1, 칼럼2, 칼럼3 ... select addr from sungjuk group by addr; - 그룹시키고 나올수 있는 값은 1개만 조회 가능 select addr, uname from sungjuk group by addr;--ORA-00979: GROUP BY 표현식이 아닙니다. ○ 집계함수 - 칼럼에 중복내용이 있으면 대표값 1개만 출력 .. 2022. 5. 16.
05. Oracle DB, 제약조건 (Constraint) ○ 테이블 제약조건 ① primary key - 기본키, 유일성 - 중복 및 null값을 허용하지 않음 (빈값을 허용하지 않음) - where 조건절에 걸릴 수 있는 대표적인 칼럼을 강제할 수 있다 - 예) 주민등록번호, 핸드폰번호, 이메일, 아이디, 계좌번호 등 ② not null - 빈값을 허용하지 않음 (반드시 입력해야 함) ③ check - 입력할 값을 특정범위로 제한하는 조건 ④ default - 사용자가 값을 입력하지 않으면 해당칼럼이 정의한 기본값을 자동으로 입력 ⑤ unique - 중복 허용 안함 - null값은 한번만 허용 ⑥ foreign key - 외래키, 테이블 조인하는 경우 부모와 자식 관계를 설정 -- sungjuk테이블 생성 create table sungjuk( sno int.. 2022. 5. 16.