02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.

Slides:



Advertisements
Similar presentations
12 데이터 무결성 제약조건 데이터 무결성 제약조건의 개념 데이터 무결성 제약조건의 종류 무결성 제약조건의 생성 방법.
Advertisements

SQL 언어 SQL.
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
16 분석함수 분석 함수의 개념 분석 함수의 종류 계층적 질의문.
Database Laboratory, Hong Ik University
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
06 SQL 함수 SQL 함수의 개념 문자 함수 숫자 함수 날짜 함수 데이터 타입의 변환 일반 함수.
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
블록 속성 정의와 추출 속성 정의 블록을 만들 객체들에 문자를 사용하여 속성을 설명하는 꼬리표에 해당하는 태그를 정의하는
8장 서브 쿼리.
12장 데이터 읽기 일관성과 락.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
기본적인 SELECT문 작성.
SQL*PLUS.
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
6장 그룹 함수.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
08 조인(JOIN) 조인의 개념 칼럼 이름의 애매모호성, 테이블 별명, 조인 조건식 조인의 종류.
09 서브쿼리(Subquery) 서브쿼리의 개념 서브쿼리의 종류 데이터베이스 실무에서 서브쿼리 사용시 주의 사항.
14 뷰(View) 뷰의 개념 뷰 관리.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
KHS JDBC Programming 4 KHS
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
JA A V W. 03.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
03 SQL*Plus SQL*Plus 개요 SQL*Plus 명령어 SQL*Plus 사용 환경 명령어
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
2장. 변수와 타입.
Chapter 03. 관계 데이터베이스 설계.
자바 5.0 프로그래밍.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
CHAP 21. 전화, SMS, 주소록.
문성우 SQL 실습 Part Ⅰ 문성우.
6.오라클DBMS.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
6 객체.
Presentation transcript:

02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지

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

SQL 명령문의 종류와 사용방법 SQL 명령문의 종류 질의어 (DQL : Data Query Language) 데이터베이스에 저장된 데이터를 조회하는 명령어 데이터 조작어 (DML : Data Manipulation Language) 데이터베이스 응용 프로그램 개발을 위해 주로 사용되며 데이터를 입력, 수정 삭제하는 명령문 포함 데이터 정의어 (DDL : Data Definition Language) 데이터베이스 설계자가 데이터베이스의 구조를 정의하거나 수정하기 위한 목적으로 사용하며 데이터베이스 객체를 생성, 수정, 삭제하는 명령문 포함 트랜잭션 처리어 (TCL : Transaction Control Language) 트랜잭션 관리를 위한 목적으로 사용 데이터 제어어 (DCL : Data Control Language) 데이터베이스 관리자가 데이터나 데이터베이스 객체에 대한 접근 권한 부여와 같은 데이터베이스 시스템을 관리하기 위한 목적으로 사용 2장 SQL 언어

SQL 명령문의 종류 2장 SQL 언어

실습 예제 E/R 다이어그램 실습 예제 데이터베이스의 E/R 다이어그램 2장 SQL 언어

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

학생 테이블 인스턴스 & 예제 데이타 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 2장 SQL 언어

교수 테이블 인스턴스 & 예제 데이타 PROFNO NAME USERID POSITION SAL HIREDATE COMM DEPTNO ------- ----- ------- -------- --- --------- ----- ------- 김도훈 capool 교수 500 24-JUN-82 20 101 이재우 sweat413 조교수 320 12-APR-95 201 2장 SQL 언어

부서 등급 테이블 인스턴스 & 예제 데이타 DEPTNO DNAME COLLEGE LOC ------- ------------ -------- -------- 101 컴퓨터공학과 100 1호관 102 멀티미디어학과 100 2호관 2장 SQL 언어

급여 등급 테이블 인스턴스 & 예제 데이타 GRADE LOSAL HISAL ----- ------- ----- ----- ------- ----- 1 100 300 2 301 400 2장 SQL 언어

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

SQL*Plus의 실행 윈도우 환경에서 SQL*Plus 실행 2장 SQL 언어

PC에서의 SQL*Plus 로그인 - sys/change_on_install - system/manager - scott/tiger 2장 SQL 언어

UNIX/LINUX에서의 SQL*Plus 로그인 sqlplus username/password 형식으로 접속 또는 sqlplus 를 먼저 실행한 후, 사용자 이름과 암호 입력 가능 2장 SQL 언어

UNIX/LINUX에서의 SQL*Plus 로그인 SQL> 프롬프트상에서 “exit” 명령을 입력 2장 SQL 언어

초기 데이타베이스 생성 방법 본 교재의 실습용 테이블과 데이터 생성 방법 2장 SQL 언어

데이터 딕셔너리를 이용한 테이블 조회 데이터 딕셔너리 (Data dictionary) 테이블 이름 확인 데이타베이스 객체에 대한 다양한 시스템 정보를 저장하고 있는 테이블의 집합 테이블 이름 확인 사용자 데이타베이스 계정에 생성된 테이블 이름을 확인하기 위하여 tab 이라는 데이터 딕셔너리 테이블을 조회 2장 SQL 언어

데이터 딕셔너리를 이용한 테이블 조회 테이블의 구조 확인 데이터베이스의 모든 데이터는 테이블이라는 논리적인 구조에 저장 사용자가 테이블의 데이터 조회시 칼럼 이름을 잘못 적을 경우, ‘ORA-000904 : invalid identifier’ 오류 발생 테이블의 구조 정보를 조회하여 정확한 칼럼 이름 확인 필요 DESC[RIBE] 명령어 테이블의 칼럼 이름, 데이터 타입과 길이, NULL 허용 유무 등과 같은 테이블 구조 정보 확인 가능 2장 SQL 언어

학생(Student) 테이블 구조 확인 2장 SQL 언어

SQL 명령문의 기초 SELECT 명령문 테이블에 저장된 데이터를 검색하기 위한 명령문 SELECT 명령문에서 SELECT절과 FROM절은 필수절 SELECT …… FROM 테이블명 FROM 절에서 지정한 테이블에서 SELECT 절에서 나열한 칼럼에 저장된 데이터를 검색하라는 의미 2장 SQL 언어

테이블의 모든 데이터를 검색 모든 칼럼에 저장된 모든 데이터 검색 검색 방법 1 검색 방법 2 SELECT 명령문의 FROM 절에 검색을 원하는 테이블 이름 작성 SELECT 절에 FROM 절에 기술한 테이블의 모든 칼럼 이름 나열 검색 방법 2 SELECT 절에 모든 칼럼 이름을 일일이 나열하는 과정이 번거로우므로 와일드 문자인 ‘*’ 를 사용하여 모든 칼럼의 데이터 검색 가능 출력순서는 테이블 생성시 정의한 칼럼의 순서와 동일 2장 SQL 언어

테이블의 특정 칼럼을 선택 특정 칼럼의 선택적 출력방법 SELECT 절 다음에 출력을 원하는 칼럼 이름을 순서대로 나열 칼럼을 구분하기 위해 칼럼 이름과 칼럼 이름 사이에 콤마(,) 기술 2장 SQL 언어

SQL 명령문의 표준 형식 표준 형식 데이터 조회를 위해서는 SELECT 절과 FROM 절이 반드시 존재해야 함 WHERE, GROUP BY, HAVING, ORDER BY 절은 필요에 따라 선택적으로 사용 가능 대괄호로 표시된 형식은 생략 가능 2장 SQL 언어

SQL 명령문의 표준 형식 SELECT 명령문 작성시 규칙 SQL 명령문에서 대소문자를 구분하지 않음 키워드는 주로 대문자로 사용하고 테이블명, 칼럼 이름은 소문자로 작성하는 것을 권장 가능하면 절은 줄을 구분하여 작성하고, 들여쓰기를 사용하여 읽기 쉽게 작성할 것을 권장 테이블명, 칼럼 이름, 키워드(SELECT, FROM, WHERE 등)는 축약할 수 없음  2장 SQL 언어

중복행 출력 방지 중복행 제거 SELECT 절에 DISTINCT 키워드를 사용하여 중복행 제거 가능 2장 SQL 언어

중복행 출력 방지 2장 SQL 언어

칼럼에 대한 별명 부여 별명을 부여하는 일반적인 경우 별명 부여 방법 칼럼 이름이 너무 길어서 한 화면에 칼럼 이름 전체를 출력하기 어렵운 경우 SQL 함수나 산술 연산에 의해 일시적으로 만들어지는 가상 칼럼이 생기는 경우 별명 부여 방법 칼럼 이름과 별명 사이에 공백을 추가하는 방법 칼럼 이름과 별명 사이에 AS 키워드를 추가하는 방법 큰따옴표(“”)를 사용하는 방법 칼럼 이름과 별명 사이에 공백을 추가하고 큰따옴표를 사용 별명에 공백, 특수문자, 대소문자가 포함된 경우 주로 사용 2장 SQL 언어

칼럼 별명 부여 예 2장 SQL 언어

칼럼 별명 부여 예 2장 SQL 언어

합성 연산자 사용 합성(concatenation)연산자 (||) 하나의 칼럼과 다른 칼럼, 산술 표현식 또는 상수 값과 연결하여 하나의 칼럼처럼 출력할 경우에 사용 출력 형식은 합성 연산자를 기준으로 좌, 우로 연결된 칼럼의 데이터가 하나의 칼럼 데이터처럼 출력 합성연산자를 사용하여 리터럴(literal) 문자 출력 가능 리터럴 문자를 칼럼 값처럼 출력할 경우, 리터럴 문자를 단일 인용부호(‘’) 사이에 포함하여 사용 2장 SQL 언어

합성 연산자 사용 예1 2장 SQL 언어

합성 연산자 사용 예2 2장 SQL 언어

합성 연산자 사용 예3 2장 SQL 언어

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

산술 연산자 사용 예1 2장 SQL 언어

산술 연산자 사용 예2 2장 SQL 언어

자주 발생하는 오라클 오류 메시지 오라클 오류 메시지 오류 메시지는 ‘ORA-nnnnn’ 식으로 표현되며 오류의 원인과 해결 방법을 출력 ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다(table or view does not exist) 원인 FROM 절에서 참조한 테이블이나 뷰가 존재하지 않거나 사용자가 해당 테이블에 대한 접근 권한이 없는 경우 발생 대부분은 테이블 이름을 잘못 입력한 경우에 발생 해결 방법 FROM 절에서 테이블 이름을 정확하게 기술 SELECT * FROM tab; 명령문으로 데이터 딕셔너리를 조회하여 확인 필요 데이타베이스 관리자나 테이블 소유자로부터 해당 테이블에 접근할 수 있는 권한 부여받아야 함 2장 SQL 언어

자주 발생하는 오라클 오류 메시지 ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다 2장 SQL 언어

자주 발생하는 오라클 오류 메시지 ORA-00904 : 열명이 부적합합니다(invalid identifier) 원인 해결 방법 SELECT 절에서 지정한 칼럼이 FROM 절에서 지정한 테이블에 없는 경우에 발생 해결 방법 칼럼 이름을 정확하게 기술 칼럼 이름을 모를 경우, DESC 테이블명 명령어로 정확한 칼럼 이름 조회 필요 2장 SQL 언어

자주 발생하는 오라클 오류 메시지 ORA-00936: 누락된 표현식(missing expression) 원인 해결 방법 SELECT 절에서 지정한 여러 칼럼 이름 사이에 콤마(,)를 누락한 경우 SELECT 절의 맨 마지막 칼럼에 콤마를 추가한 경우 해결 방법 칼럼 이름 사이에 콤마(,)를 기술 SELECT 절의 마지막에 있는 콤마를 삭제 2장 SQL 언어

자주 발생하는 오라클 오류 메시지 ORA-00923 : FROM 키워드가 있어야 할 곳에 없습니다(FROM keyword not found WHERE expected) 원인 SELECT 절 다음에 FROM 키워드를 입력하지 않은 경우 FROM 키워드를 잘못 입력한 경우 해결 방법 SELECT 절 다음에 FROM 키워드를 입력 FROM 키워드를 올바르게 수정 2장 SQL 언어