SQL 언어 SQL.

Slides:



Advertisements
Similar presentations
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
Advertisements

널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
PL/SQL.
데이터베이스 시스템.
Proc*C 기초 Style System 김도형.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
오라클 데이터베이스 성능 튜닝.
DataBase 기본 교육 신입사원용 최지철.
Database & Internet Computing Laboratory 한 양 대 학 교
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
제 5 장 인덱스 생성 및 관리.
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
요약 정보 만들기.
kHS 데이터베이스 테이블 및 인덱스 kHS.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
14장 뷰.
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
9장 테이블 생성 및 변경, 삭제하기(DDL).
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
시스템 보안 정보 보안 개론 9장.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
View(뷰) 1 가상 테이블(Virtual Relation)
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
06. SQL 명지대학교 ICT 융합대학 김정호.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
14 뷰(View) 뷰의 개념 뷰 관리.
제 5 장 MariaDB인덱스 생성 및 관리.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

SQL 언어 SQL

목차 I. SQL 명령문의 종류와 사용 방법 II. 오라클 오류 메시지

SQL 언어의 정의 SQL 언어의 정의 SQL 언어의 특징 관계형 데이터베이스를 조작하기 위한 표준 언어 관계 대수와 관계 해석의 수학적인 이론을 기초로 개발 데이터베이스의 구조를 정의하거나 데이터베이스에 저장된 데이터를 검색하기 위한 목적 SQL 언어의 특징 비절차적 언어 기존 프로그래밍 언어 : 레코드 단위로 처리 조건에 따라 데이터에 대한 접근 경로가 달라짐 SQL 언어 : 조건을 만족하는 데이터를 집합 단위로 한꺼번에 처리 대화식으로 사용되거나 응용 프로그램에 삽입하여 사용

SQL 명령문의 종류 [표2. 1] SQL 명령문의 종류 유형 명령문 기능 질의어 (DQL:Data Query Language) SELECT 데이터 검색 데이터 조작어 (DML:Data Manipulation Language) INSERT UPDATE DELETE 데이터 입력 데이터 수정 데이터 삭제 데이터 정의어 (DDL:Data Definition Language) CREATE ALTER DROP RENAME TRUNCATE 데이터베이스 객체생성 데이터베이스 객체변경 데이터베이스 객체삭제 데이터베이스 객체 이름 변경 데이터 및 저장 공간 삭제 트랜잭션 처리어 (TCL:Transaction Control Language) COMMIT ROLLBACK SAVEPOINT 트랜잭션의 정상적인 종료 처리 트랜잭션 취소 트랜잭션내에 임시 저장점 설정 데이터 제어어 (DCL:Data Control Language) GRANT REVOKE 데이터베이스 객체에 대한 접근 권한 부여 데이터베이스 객체에 대한 접근 권한 취소

예제 E/R 다이어그램 엔티티 속성 관계 [그림2. 1] 실습 예제 데이터베이스의 ER 다이어그램 부서 학생 교수 급여등급 #*부서 번호 * 부서 이름 o 위치 학생 #*학번 * 이름 o 사용자 아이디 o 학년 o 주민등록번호 o 생년월일 o 전화번호 o 키 o 몸무게 소속되어 소속되어 엔티티 근무되어 교수 #* 교수 번호 * 이름 o 사용자 아이디 o 직급 o 월급 o 입사일 o 보직수당 지도하여 급여등급 #* 등급 기호 * 하한 값 * 상한 값 속성 관계 [그림2. 1] 실습 예제 데이터베이스의 ER 다이어그램

테이블 인스턴스(table instance) 데이터베이스 설계시에 테이블의 구조와 칼럼의 특성을 알기 쉽게 요약한 내용 테이블 인스턴스는 테이블의 칼럼 이름, 데이터 타입, 키 종류, NULL이나 중복 값의 허용 여부, 외래 키 그리고 칼럼에 대한 설명으로 구성

학생 테이블 인스턴스 & 예제 데이타 칼럼이름 데이터 타입 Key Type NN/ Unique FK table FK column 설명 STUDNO NUMBER(5) PK NN,U 학번 NAME VARCHAR2(10) NN 이름 USERID 사용자 아이디 GRADE VARCHAR2(1) 학년 IDNUM VARCHAR2(3) 주민등록번호 BIRTHDATE DATE 생년월일 TEL NUMBER(13) 전화번호 HEIGHT NUMBER(5,2) 키 WEIGHT 몸무게 DEPTNO NUMBER(4) DEPARTMENT 학과번호 PROFNO PROFESSOR 지도교수번호 STUD NAME USERID G IDNUM BIRTH TEL HE WE DNO PNO -------- ---------- ----------- -- ----- -- ----- 10101 전인하 jun123 4 7907021369824 79/07/02 051)781-2158 176 72 101 993 20101 이동훈 Dals 1 8312101128467 83/12/10 051)426-1752 172 64 201

교수 테이블 인스턴스 & 예제 데이타 칼럼이름 데이터 타입 Key Type NN/ Unique FK table FK column 설명 PROFNO NUMBER(4) PK NN,U 교수번호 NAME VARCHAR2(10) NN 이름 USERID 사용자 아이디 POSITION VARCHAR2(20) 직급 SAL NUMBER(10) 급여 HIREDATE DATE 입사일 COMM NUMBER(2) 보직수당 DEPTNO DEPARTMENT 학과번호 PROFNO NAME USERID POSITION SAL HIREDATE COMM DEPTNO -------- ------ -------------- ---------- ------------ 9901 김도훈 capool 교수 500 24-JUN-82 20 101 9902 이재우 sweat413 조교수 320 12-APR-95 201

부서등급 테이블 인스턴스 & 예제 데이타 칼럼이름 데이터 타입 Key Type NN/ Unique FK table FK column 설명 DEPTNO NUMBER(4) PK NN,U 부서번호 DNAME VARCHAR2(16) NN 부서이름 COLLEGE 상위부서번호 LOC VARCHAR2(10) 위치 DEPTNO DNAME COLLEGE LOC ------------ -------------- -------------- -------- 101 컴퓨터공학과 100 1호관 102 멀티미디어학과 100 2호관

급여등급 테이블 인스턴스 & 예제 데이타 칼럼이름 데이터 타입 Key Type NN/ Unique FK table FK column 설명 GRADE NUMBER(2) PK NN,U 등급기호 LOSAL NUMBER(5) NN 하한값 HISAL 상한값 GRADE LOSAL HISAL ------------ -------------- -------------- -------- 1 100 300 301 400 401 500

SQL*Plus의 기본 사용자 계정 기본 사용자 계정 오라클을 인스톨하면 기본적으로 SYS, SYSTEM, SCOTT라는 3종류의 사용자 계정이 생성 sys/change_on_install : 데이터베이스 관리자 권한, 모든 객체의 소유주 System/manager : 데이터베이스 관리자 권한 Scott/tiger : 일반 사용자 권한

SQL*Plus의 실행 윈도우 환경에서 SQL*Plus 실행

PC에서의 SQL*Plus 로그인

테이블 과 데이터 생성방법 강의 자료실에서 실습에 사용될 exam.sql 파일을 다운로드한다 SQL*Plus를 실행하여 Oracle 데이터베이스에 접속한다 SQL>@예제파일 위치

테이블 이름 확인 사용법 사용 예 현재 접속한 데이터베이스 계정에 생성된 모든 테이블 이름을 확인하여라 SQL> SELECT * FROM tab;

테이블 구조 확인 사용법 사용 예 학생 테이블(student)의 구조를 확인하여라 SQL> DESC[RIBE] table_name

SQL 명령문의 기초 SELECT 명령문 사용법 테이블에 저장된 데이터를 검색하기 위한 명령문 SELECT 명령문에서 SELECT절과 FROM절은 필수절 사용법 SELECT * | columnlist FROM table;

테이블의 모든 데이터를 검색 사용 예 부서 테이블의 모든 칼럼에 저장된 데이터를 출력하여라 출력 결과는 동일

테이블의 특정 컬럼을 선택 사용 예 부서 테이블에서 부서 이름(dname)과 부서 번호(deptno)를 출력하여라 SELECT 절에서 나열한 칼럼 이름 순서대로 출력

SQL 명령문의 표준 형식 SQL 명령문의 표준 형식 SELECT 명령문 작성시 규칙 키워드는 주로 대문자로 사용하고 테이블명, 칼럼 이름은 소문자로 작성하는 것을 권장 절은 줄을 구분하여 작성하고, 들여쓰기를 사용하여 읽기 쉽게 테이블명, 칼럼 이름, 키워드(SELECT, FROM, WHERE 등)는 축약할 수 없음  SELECT [DISTINCT] { * | column[alias]....} FROM table [WHERE condition ] [GROUP BY group_by_expression] [ HAVING group_condition] [ORDER BY column ];

SQL 명령문의 표준형식 기본적인 SQL 질의 SELECT절 FROM절 WHERE절 중첩질의 GROUP BY절 HAVING절 질의 결과를 포함 하려는 애트리뷰트들의 리스트 열거 DISTINCT 절을 사용해서 중복 제거 FROM절 질의에서 필요로 하는 릴레이션들의 리스트 열거 WHERE절 관계 대수의 셀렉션(Select) 연산의 조건에 해당 중첩질의 다른 질의의 WHERE절에 포함된 SELECT문 GROUP BY절 동일한 값을 갖는 튜플들을 한 그룹으로 묶는다 HAVING절 튜플들의 그룹이 만족해야 하는 조건 ORDER BY절 결과 튜플들의 정렬 순서

단일 칼럼에서 DISTINCT 키워드 사용 예 중복행 출력 금지-단일 칼럼 단일 칼럼에서 DISTINCT 키워드 사용 예 학생 테이블에서 중복되는 학과 번호(deptno)를 제외하고 출력하여라

복수 칼럼에서 DISTINCT 키워드 사용 예 중복행 출력 금지-복수 칼럼 복수 칼럼에서 DISTINCT 키워드 사용 예 학생 테이블에서 중복되는 학과 번호, 학년 제외하고 출력하여라

칼럼에 대한 별명 부여 별명 부여 방법 칼럼 이름과 별명 사이에 공백을 추가하는 방법 칼럼 이름과 별명 사이에 AS 키워드를 추가하는 방법 큰따옴표를 사용하는 방법 칼럼 이름과 별명 사이에 공백을 추가하는 경우 특수문자를 추가하거나 대소문자를 구분하는 경우

칼럼 별명 부여 예 사용 예 부서 테이블에서 부서 이름 칼럼의 별명은 dept_name, 부서 번호 칼럼의 별명은 DN으로 부여하여 출력하여라

칼럼 별명 부여 예 사용 예 부서 테이블에서 부서 이름 칼럼의 별명은 “Department Name”, 부서 번호 칼럼의 별명은 “부서 번호#”으로 부여하여 출력하여라 별명에 대소문자를 구분하거나 공백 및 특수문자를 사용하는 경우에는 “ “를 사용한다

합성(concatenation)연산자 (||) 합성 연산자 사용 합성(concatenation)연산자 (||) 하나의 칼럼과 다른 칼럼, 산술 표현식 또는 상수 값과 연결하여 하나의 칼럼처럼 출력할 경우에 사용 사용 예 학생 테이블에서 학번과 이름 칼럼을 연결하여 “Student”라는 별명으로 하나의 칼럼처럼 연결하여 출력하여라

산술 연산자 사용 산술 연산자(+,-, *, /) 칼럼 값에 산술 연산자를 적용하여 계산된 결과를 출력할 수 있는 기능을 제공 숫자 또는 날짜 타입에만 사용 가능 수학에서의 산술 연산자의 우선순위와 동일, 괄호를 사용하여 우선순위 변경 가능

산술 연산자 사용 사용 예 학생의 몸무게를 pound로 환산하고 칼럼 이름을 ‘weight_pound’ 라는 별명으로 출력하여라. 1kg은 2.2pound이다.

목차 I. SQL 명령문의 종류와 사용 방법 II. 오라클 오류 메시지

ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다(table or view does not exist) 자주 발생하는 오라클 오류 메시지 ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다(table or view does not exist) 대부분 테이블 이름을 잘못 입력한 경우에  발생 FROM 절에서 참조하는 테이블이나 뷰가 존재하지 않거나 사용자가 해당 테이블에 대한 접근 권한이 없는 경우에 발생 ORA-00904 : 열명이 부적합합니다(invalid column name) 사용자가 칼럼 이름을 잘못 입력한 경우 ORA-00923: 누락된 표현식(FROM keyword not found WHERE expected) SELECT 절에서 지정한 칼럼 별명 다음에 오는 칼럼 이름 사이에 콤마(,)를 누락한 경우 SELECT 절의 맨 마지막 칼럼에 콤마를 추가한 경우 FROM 키워드를 잘못 입력한 경우에 발생