슬라이드 제목 없음

Similar documents
슬라이드 제목 없음

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

슬라이드 제목 없음

Microsoft PowerPoint - QVIZMVUMWURI.pptx

10.ppt

Microsoft PowerPoint SQL 추가 기능

PowerPoint Presentation

6장. SQL

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

MySQL-.. 1

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

슬라이드 제목 없음

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

13주-14주proc.PDF

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

슬라이드 제목 없음

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Microsoft PowerPoint - 10Àå.ppt

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

윈도우시스템프로그래밍

슬라이드 제목 없음

Microsoft PowerPoint SQL-99

90

The Relational Model

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2

Microsoft PowerPoint Python-DB

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

5장 SQL 언어 Part II

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

untitled

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - 5 [호환 모드]

SQL

Tablespace On-Offline 테이블스페이스 온라인/오프라인

PowerPoint Presentation

강의 개요

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Lab 3. 실습문제 (Single linked list)_해답.hwp

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

TITLE

PowerPoint Presentation

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

PowerPoint 프레젠테이션

PowerPoint Presentation

문서 템플릿

금오공대 컴퓨터공학전공 강의자료

PowerPoint Presentation

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

Microsoft PowerPoint - 27.pptx

4장.문장

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

슬라이드 1

Chapter 1: 데이터베이스시스템개관

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

adfasdfasfdasfasfadf

Ç¥Áö

Microsoft PowerPoint - chap05-제어문.pptx

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint Presentation

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

VENUS Express 사용자 매뉴얼

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

Microsoft PowerPoint - chap06-2pointer.ppt

MySQL-Ch10

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

RDB개요.ppt

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

ALTIBASE HDB Patch Notes

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

chap 5: Trees

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

ALTIBASE HDB Patch Notes

ESQL/C

Microsoft PowerPoint - chap04-연산자.pptx

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - e pptx

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Transcription:

4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여 다양한상용관계 DBMS마다지원하는 SQL 기능에다소차이가있음 본책에서는 SQL2를따름 2

4.2 SQL 개요 ( 계속 ) SQL 개요 ( 계속 ) SQL은비절차적언어 ( 선언적언어 ) 이므로사용자는자신이원하는바 (what) 만명시하며, 원하는것을처리하는방법 (how) 은명시할수없음 관계 DBMS는사용자가입력한 SQL문을번역하여사용자가요구한데이터를찾는데필요한모든과정을담당 자연어에가까운구문을사용하여질의를표현할수있음 두가지인터페이스 대화식 SQL(interactive SQL) 내포된 SQL(embedded SQL) 3

4.2 SQL 개요 ( 계속 ) 4

4.2 SQL 개요 ( 계속 ) 5

4.2 SQL 개요 ( 계속 ) 6

4.3 데이터정의어와무결성제약조건 7

4.3 데이터정의어와무결성제약조건 ( 계속 ) 릴레이션정의 8

4.3 데이터정의어와무결성제약조건 ( 계속 ) 9

4.3 데이터정의어와무결성제약조건 ( 계속 ) 릴레이션제거 DROP TABLE DEPARTMENT; ALTER TABLE ALTER TABLE EMPLOYEE ADD PHONE CHAR(13); 인덱스생성 CREATE INDEX EMPDNO_IDX ON EMPLOYEE(DNO); 도메인생성 CREATE DOMAIN DEPTNAME CHAR(10) DEFAULT 개발 ; 10

4.3 데이터정의어와무결성제약조건 ( 계속 ) 제약조건 11

4.3 데이터정의어와무결성제약조건 ( 계속 ) CREATE TABLE EMPLOYEE ( ID INTEGER, NAME CHAR(10), SALARY INTEGER, MANAGER_SALARY INTEGER, CHECK (MANAGER_SALARY > SALARY)); 12

4.3 데이터정의어와무결성제약조건 ( 계속 ) 참조무결성제약조건유지 ON DELETE NO ACTION ON DELETE CASCADE ON DELETE SET NULL ON DELETE SET DEFAULT ON UPDATE NO ACTION ON UPDATE CASCADE ON UPDATE SET NULL ON UPDATE SET DEFAULT 13

4.3 데이터정의어와무결성제약조건 ( 계속 ) 14

4.3 데이터정의어와무결성제약조건 ( 계속 ) 15

4.3 데이터정의어와무결성제약조건 ( 계속 ) 무결성제약조건의추가및삭제 ALTER TABLE STUDENT ADD CONSTRAINT STUDENT_PK PRIMARY KEY (STNO); ALTER TABLE STUDENT DROP CONSTRAINT STUDENT_PK; 16

4.4 SELECT 문 SELECT 문 관계데이터베이스에서정보를검색하는 SQL문 관계대수의실렉션과의미가완전히다름 관계대수의실렉션, 프로젝션, 조인, 카티션곱등을결합한것 관계데이터베이스에서가장자주사용됨 여러가지질의들의결과를보이기위해서그림 4.8의관계데이터베이스상태를사용함 17

4.4 SELECT 문 ( 계속 ) 18

4.4 SELECT 문 ( 계속 ) 별칭 (alias) 서로다른릴레이션에동일한이름을가진애트리뷰트가속해있을때 애트리뷰트의이름을구분하는방법 EMPLOYEE.DNO FROM EMPLOYEE AS E, DEPARTMENT AS D 19

4.4 SELECT 문 ( 계속 ) 20

4.4 SELECT 문 ( 계속 ) 특정한투플들의검색 21

4.4 SELECT 문 ( 계속 ) 집단함수 데이터베이스에서검색된여러투플들의집단에적용되는함수 한릴레이션의한개의애트리뷰트에적용되어단일값을반환함 SELECT절과 HAVING절에만나타날수있음 COUNT(*) 를제외하고는널값을제거한후남아있는값들에대해서집단함수의값을구함 COUNT(*) 는결과릴레이션의모든행들의총개수를구하는반면에 COUNT( 애트리뷰트 ) 는해당애트리뷰트에서널값이아닌값들의개수를구함 키워드 DISTINCT가집단함수앞에사용되면집단함수가적용되기전에먼저중복을제거함 22

4.4 SELECT 문 ( 계속 ) 23

4.5 INSERT, DELETE, UPDATE 문 INSERT 문 기존의릴레이션에투플을삽입 참조되는릴레이션에투플이삽입되는경우에는참조무결성제약조건의위배가발생하지않으나참조하는릴레이션에투플이삽입되는경우에는참조무결성제약조건을위배할수있음 릴레이션에한번에한투플씩삽입하는것과한번에여러개의투플들을삽입할수있는것으로구분 릴레이션에한번에한투플씩삽입하는 INSERT문 INSERT INTO 릴레이션 ( 애트리뷰트1,..., 애트리뷰트n) VALUES ( 값1,..., 값n); 24

4.5 INSERT, DELETE, UPDATE 문 ( 계속 ) 25

4.5 INSERT, DELETE, UPDATE 문 ( 계속 ) DELETE 문 삭제연산은한릴레이션으로부터한개이상의투플들을삭제함 참조되는릴레이션의삭제연산의결과로참조무결성제약조건이위배될수있으나, 참조하는릴레이션에서투플을삭제하면참조무결성제약조건을위배하지않음 DELETE문의구문 DELETE FROM 릴레이션 WHERE 조건 ; 26

4.5 INSERT, DELETE, UPDATE 문 ( 계속 ) 27

4.5 INSERT, DELETE, UPDATE 문 ( 계속 ) UPDATE 문 한릴레이션에들어있는투플들의애트리뷰트값들을수정 기본키나외래키에속하는애트리뷰트의값이수정되면참조무결성제약조건을위배할수있음 UPDATE 문의구문 UPDATE 릴레이션 SET 애트리뷰트 = 값또는식 [, ] WHERE 조건 ; 28

4.6 트리거 (trigger) 와주장 (assertion) 트리거 명시된이벤트 ( 데이터베이스의갱신 ) 가발생할때마다 DBMS가자동적으로수행하는, 사용자가정의하는문 ( 프로시저 ) 데이터베이스의무결성을유지하기위한일반적이고강력한도구 테이블정의시표현할수없는기업의비즈니스규칙들을시행하는역할 트리거를명시하려면트리거를활성화시키는사건인이벤트, 트리거가활성화되었을때수행되는테스트인조건, 트리거가활성화되고조건이참일때수행되는문 ( 프로시저 ) 인동작을표현해야함 트리거를이벤트-조건-동작 (ECA) 규칙이라고도부름 E는 Event, C는 Condition, A는 Action을의미 SQL3 표준에포함되었으며대부분의상용관계 DBMS에서제공됨 29

4.6 트리거와주장 ( 계속 ) 30

4.6 트리거와주장 ( 계속 ) 트리거 ( 계속 ) SQL3 에서트리거의형식 이벤트의가능한예로는테이블에투플삽입, 테이블로부터투플삭제, 테이블의투플수정등이있음 조건은임의의형태의프레디키트 동작은데이터베이스에대한임의의갱신 어떤이벤트가발생했을때조건이참이되면트리거와연관된동작이수행되고, 그렇지않으면아무동작도수행되지않음 삽입, 삭제, 수정등이일어나기전 (before) 에동작하는트리거와일어난후 (after) 에동작하는트리거로구분 31

4.6 트리거와주장 ( 계속 ) 32

4.6 트리거와주장 ( 계속 ) 연쇄적으로활성화되는트리거 하나의트리거가활성화되어이트리거내의한 SQL문이수행되고, 그결과로다른트리거를활성화하여그트리거내의 SQL문이수행될수있음 33

4.7 내포된 SQL 내포된 SQL(embedded SQL) SQL이호스트언어의완전한표현력을갖고있지않기때문에모든질의를 SQL로표현할수는없음 SQL은호스트언어가갖고있는조건문 (IF문), 반복문 (WHILE문), 입출력등과같은동작, 사용자와의상호작용, 질의결과를 GUI로보내는등의기능을갖고있지않음 C, C++, 코볼, 자바등의언어로작성하는프로그램에 SQL문을삽입하여, 데이터베이스를접근하는부분을 SQL이맡고 SQL에없는기능은호스트언어로작성하는것이필요 호스트언어에포함되는 SQL문을내포된 SQL이라부름 데이터구조가불일치하는문제 (impedance mismatch 문제 ) 34

4.7 내포된 SQL( 계속 ) 내포된 SQL( 계속 ) MS SQL SERVER 2005에서 C 언어에 SQL문을내포시키는환경을 ESQL/C라부름 호스트언어로작성중인프로그램에 SQL문을내포시킬때해당호스트언어의컴파일러가어떻게호스트언어의문과 SQL문을구별할것인가? 호스트언어로작성중인프로그램에포함된 SELECT, INSERT, DELETE, UPDATE 등모든 SQL문에는반드시문장의앞부분에 EXEC SQL을붙임 EXEC SQL은 EXEC SQL부터세미콜론 (;) 사이에들어있는문장이내포된 SQL문임을전컴파일러에게알림 ESQL/C 전컴파일러 (precompiler) 는내포된 SQL문을 C 컴파일러에서허용되는함수호출로변환함 35

4.7 내포된 SQL( 계속 ) 36

4.7 내포된 SQL( 계속 ) 37

4.7 내포된 SQL( 계속 ) 38

4.7 내포된 SQL( 계속 ) 불일치문제와커서 호스트언어는단일변수 / 레코드위주의처리 ( 투플위주의방식 ) 를지원하는반면에 SQL은데이터레코드들의처리 ( 집합위주의방식 ) 를지원하기때문에불일치문제가발생함 불일치문제를해결하기위해서커서 (cursor) 가사용됨 커서는한번에한투플씩가져오는수단 DECLARE CURSOR문을사용하여커서를정의함 OPEN cursor문은질의를수행하고, 질의수행결과의첫번째투플이전을커서가가리키도록한다. 이것이커서의현재투플 그다음에 FETCH문은커서를다음투플로이동하고, 그투플의애트리뷰트값들을 FETCH문에명시된호스트변수들에복사함 CLOSE cursor는커서를닫음 39

4.7 내포된 SQL( 계속 ) 40