SELECT EMPID 사원번호, ENAME 사원명, SUBSTR(HIRE_DATE,1,4) 고용일자
FROM VIEW_EMP1
WHERE SUBSTR(HIRE_DATE,1,4) > '2000' AND SALARY >= 350;
--WHERE HIRE_DATE > '2000-12-31' AND SALARY > =350;
--WHERE TO_CHAR(HIRE_DATE, 'YYYY-MM-DD') > '2000-12-31' AND SALARY >= 350;
SELECT ENAME 사원명
=> 보여줄 때 ENAME를 사원명이라고 보여줘라
SUBSTR(HIRE_DATE,1,4)
=> 고용일자 중 첫번째 글자에서 네번째 글자까지 보여줘라
SYSDATE ?
SELECT COUNT(*)고용인원수, ROUND(AVG(SALARY)) 평균급여, MIN(SALARY) 최저급여, MAX(SALARY)최고급여
FROM VIEW_EMP1
SELECT COUNT(*)고용인원수, ROUND(AVG(SALARY),2) 평균급여, MIN(SALARY) 최저급여, MAX(SALARY)최고급여
FROM VIEW_EMP1
SELECT NAME
FROM VIEW_EMP2
WHERE JOB LIKE '%품%';
SELECT NAME
FROM VIEW_EMP2
WHERE JOB LIKE '품%';
SELECT NAME
FROM VIEW_EMP2
WHERE JOB LIKE '%품';
SELECT NAME
FROM VIEW_EMP2
WHERE JOB LIKE '_질%';
VIEW EPM3에서 1995~1999년 사이에 태어난 사원의 총예산을 표시하시오.(1인당 100만원)
SELECT COUNT(*)사원수, COUNT(*)*1000000 총예산
FROM VIEW_EMP3
WHERE SUBSTR(BIRTHDAY,1,4)>='1995' and SUBSTR(BIRTHDAY,1,4)<='1999';
릴레이션 = 테이블
튜플 = 레코드
어트리뷰트 = 필드
무결성
규칙대로 들어갈 수 있도록?
엔티티 무결성
-> NOT NULL
-> 프라이머리키
참조 무결성
-> 외래키
도메인 무결성
??
SELECT * FROM EMP;
릴레이션 전체 조회
1) 릴레이션에 저장된 튜플들은 유일
2) 릴레이션에 저장된 튜플간 순서 관계 없음
3) 릴레이션을 구성하는 속성간 순서 관계 없음
-- 정해진 규칙은 없지만
보통 많이 작업하는 필드들을 왼쪽으로 주고,
관계되는 필드끼리 묶어준다.
4) 모든 속성 값은 원자 값
-- 쪼개서는 안되는 값
프라이머리키
NOT NULL이고 유일해야한다.
식별관계
프라이머리키-프라이머리키
비식별관계
일반키-프라이머리키
속성??
Structured Query Language
- 개체
데이터를 논리적으로 표현한 것
결과적으로 테이블이 된다.
테이블 만들기 전 단계
- 관계(Relation)
테이블
- 테이블
튜플들의 집합
- 뷰
원하는 값을 뽑아내는 가상의 테이블
데이터를 직접적으로 저장하지 않음
- 튜플
행,레코드
- 속성(Attribute)
열, 필드
- 도메인
하나의 속성이 취할 수 있는 값의 집합
필드에 제약조건을 줘서 필요한 데이터만 들어갈 수 있게 하는 것
(복합 속성이나 다치속성은 허용되지 않음)
제약조건에 다양한 속성을 부여하는 것은 허용되지 않는다.
- 카디널리티
행들의 수(튜플의 수)
- 차수
열들의 수(필드의 수)
- 널값
존재하지 않는 값을 의미
- 질의
사용자의 요구
- 키
릴레이션 내 튜플을 유일하게 구별할 수 있는 속성들의 모음
- 메인키
기본키, 대표성을 띄는 키
최소성과 유일성
- 외래키
서로 다른 테이블 사이를 연결시켜주는 키
(식별.비식별)
데이터의 무결성을 보장하는 키
- 복합키
두가지 이상의 속성을 합쳐져야 후보키의 역할을 하는 경우