일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 원형그래프
- 정보처리기사
- Java
- html
- Oracle
- 리눅스
- 데이터베이스
- 자바
- 정처기필기
- 네트워크
- jsp연결
- ciscopacket
- 라우터
- rinux
- javaee
- ospf
- cisco packet
- sql
- Cisco
- VLAN
- php
- 이것이 자바다
- 네트워크관리사
- w3school
- NCS
- 버추얼머신
- 참조타입
- 오라클
- autoset
- jsp
- Today
- Total
기록해! 정리해!
6-SQL 기본문법 정리 본문
5/23
1) 정보처리 문제 6-1파일 보기
DDL-만들기 (ex.alter, drop) -롤백 불가능
DML-조작 (ex. select, insert, update, delete) -롤백 가능
DCL-권한 (ex. grant, revoke)
alter : 제약조건, 컬럼 등 큰거를 수정
update : 레코드 값을 수정
2) 구조
-선형 구조
Que(큐) : FIFO (먼저 들어간게 먼저 나온다)
Stack(스택) : FILO (먼저 들어간게 나중에 나온다)
Deck(데크) - 양쪽 끝에서 노트의 삽입과 삭제가 허용
-비선형 구조 (입출력 모호)
: 트리, 그래프
3) 정규화
어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 한다
데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다
효과적인 검색 알고리즘을 생성할 수 있다
4) 릴레이션의 기본키를 구성하는 어떤 속성도 null값이나 중복값을
가질 수 없음을 의미하는 것 -개체 무결성 제약조건
5) 트랜잭션이 수행을 하는 도중 수행이 잘못되었고 데이터베이스가 모순상태에 있을 때 ,
문제 있으면 롤백
없으면 커밋
(트랜잭션 : 작업처리의 단위)
6) 데이터베이스 설계 중 가장 먼저 수행되는 것 - 요구조건 분석 단계
7) 외래키와 가장 직접적으로 관련된 제약조건 - 참조 무결성
8) 후보키가 만족해야할 두 가지 성질로 타당한 것 (기본키를 대신할 수 있는) -유일성, 최소성
9) 프로시저의 역할
장점: 보안, 일관성, 속도
단점: 구현하기 어렵고 불편하다
10) 용어
row=record=touple
컬럼=속성
필드: 행과 열이 교차하는 하나의 값
11) 집합함수
- count(*)를 제외한 모든 그룹함수들은 null을 무시한다
- 모든 자료형에 max, min 사용 가능
- 그러나, avg, sum은 숫자만 사용가능
2) insert ~~ select ~~ 구문
: select 결과를 다른 테이블에 insert하는 구문
3) 트리거 (82p)
-원본테이블
1) 삭제하기
-지워진 테이블을 보관할 테이블
create table delStudent(
sno varchar2(3) ,
sname nvarchar2(10),
year varchar2(10),
dept nvarchar2(10) ,
delStudent date, --삭제한 날짜
constraint delStudent_sno_pk primary key(sno));
-트리거 생성 테이블
create or replace trigger trg_delStudent --만들거나 덮어씌우거나
after delete --삭제 후에 작동하게 지정
on student --트리거를 부착할 테이블
for each row --각 행마다 적용됨
begin
insert into delStudent
values (:old.sno, :old.sname, :old.year, :old.dept, sysdate()); -- :old 테이블의 내용을 백업 테이블에 삽입
end;
delete from student
where sno='600';
select * from student; --600 없음
select * from delStudent; --존재
2) 업데이트하기
create table upStudent(
sno varchar2(3) ,
sname nvarchar2(10),
year varchar2(10),
dept nvarchar2(10) ,
upStudent date,
constraint upStudent_sno_pk primary key(sno));
create or replace trigger trg_upStudent
after update
on student
for each row
begin
insert into upStudent
values (:old.sno, :old.sname, :old.year, :old.dept, sysdate());
end;
update student set sname='둘리'
where sno='700';
select * from student;
select * from upStudent;
select sysdate from dual; --22/05/23 수정한 날짜만 띄워보기
select sysdate+10 from dual; --22/06/02 연산이 가능함
4) 데이터베이스 모델링 111p
5) 중복빼고 여러개의 컬럼을 조인해서 사용하기
select s.*, c.cno, cname, credit, grade, midterm, final
from student s, enrol e, course c
where s.sno=e.sno and c.cno=e.cno;
--뷰로 만들어보기
create view v_join3
as
select s.*, c.cno, cname, credit, grade, midterm, final
from student s, enrol e, course c
where s.sno=e.sno and c.cno=e.cno;
select * from v_join3;
'Oracle' 카테고리의 다른 글
7-3 (프로시저) (0) | 2022.05.24 |
---|---|
7-2 (0) | 2022.05.24 |
7-1 (0) | 2022.05.24 |
7-예제1(데이터 베이스 용어) (0) | 2022.05.24 |
6-2 (0) | 2022.05.23 |