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

Similar documents
DBMS & SQL Server Installation Database Laboratory

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

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

Microsoft PowerPoint - 10Àå.ppt

untitled

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

슬라이드 제목 없음

10.ppt

ALTIBASE HDB Patch Notes

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

TITLE

Microsoft PowerPoint - QVIZMVUMWURI.pptx

MySQL-.. 1

강의 개요

6장. SQL

chap 5: Trees

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

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

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

쉽게 풀어쓴 C 프로그래밊

강의 개요

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

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

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

JUNIT 실습및발표

PowerPoint Template

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Çмú´ëȸ¿Ï¼º

2012³â8¿ùÈ£˙ȸš

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

Microsoft PowerPoint Python-DB

PowerPoint 프레젠테이션

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint 프레젠테이션

소만사 소개

Simple DBMS 이영준 개발환경 플랫폼 : Windows 7 32bit 언어 : Java (JavaSE-1.6) 개발툴 : Eclipse Java EE IDE for Web Developers (Indigo Service Release 2) 32bit + Java

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

Microsoft PowerPoint - 27.pptx

슬라이드 1

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

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

13주-14주proc.PDF

PowerPoint Presentation

개발문서 Oracle - Clob

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

문서 템플릿

JDBC 소개및설치 Database Laboratory

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

Microsoft PowerPoint - C++ 5 .pptx

윈도우시스템프로그래밍

Discrete Mathematics

BMP 파일 처리

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

PowerPoint Presentation

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

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

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

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

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

Microsoft Word - SQL튜닝_실습교재_.doc

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

FileMaker ODBC 및 JDBC 가이드

PowerPoint 프레젠테이션

RDB개요.ppt

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

슬라이드 1

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - PLSQL.doc

06장.리스트

Microsoft PowerPoint MySQL 연동.ppt

PowerPoint Presentation

201502IC1AP-1 DB 구축 2015 학년도 2 학기 프로젝트특강보고서 프로젝트명 : DB 구축 ( DB ) 2015 년 11 월 20 일 지도교수 : 황치곤교수님 학과 : 정보통신공학과 1팀제출자 : 역할성명학번 조장 조재석 조원 송찬호 2

°øÁÖ´ëÇб³Ãѵ¿Ã¢È¸º¸ 63È£

Microsoft PowerPoint - chap05-제어문.pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Ver. 4.0 OOPT Stage 1000 <Plan and Elaboration> Version 4.0 Project Team T7 Team Date Team Information 오세욱 임현유

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

ORACLE-SQL

중간고사

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

5장 SQL 언어 Part II

TEST BANK & SOLUTION

PowerPoint 프레젠테이션

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

PowerPoint Presentation

FileMaker 15 ODBC 및 JDBC 설명서

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

ALTIBASE HDB Patch Notes

Relational Model

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

Transcription:

Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다. 데이터저장에는 Berkeley DB를이용한다. 1. 요구사항 프로젝트 1-1 및프로젝트 1-2에서구현한프로그램을이용하여야한다. 2장에나열된모든 DML 구문을처리할수있어야한다. 테이블데이터를파일 ( 단일파일혹은여러개의파일 ) 에저장하여야한다. DBMS 콘솔을종료한후다시실행하더라도데이터가남아있어야한다. 테이블데이터저장에는 Berkeley DB를이용한다. 2 장에는실행예시와기본가정및각상황별로출력해야하는메시지의종류가나열되어있다. 메시지의내 용은메시지정의파일을참조한다. 2. SQL 2.1 INSERT DB_2015-12345> insert into account values(9732, 'Perryridge'); DB_2015-12345> The row is inserted 튜플 (tuple) 삽입에성공한다면, 테이블에값을삽입하고 InsertResult에해당하는메시지를출력한다. 테이블이존재하지않을경우, NoSuchTable에해당하는메시지출력 타입이맞지않는다면, InsertTypeMismatchError에해당하는메시지출력 null 값을가질수없는컬럼에 null 값을삽입하려고할경우,

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, InsertDuplicatePrimaryKeyError 에해당 하는메시지출력 실행결과가 foreign key 제약에위배된다면, InsertReferentialIntegrityError 에해 당하는메시지출력 튜플을삽입할때에는다음과같은가정을따른다. 2.2 DELETE char 컬럼타입에명시된최대길이보다긴문자열을삽입하려할때는, 에러를발생하지않고 길이에맞게자른 (truncate) 문자열을삽입한다. 테이블의컬럼이름은중복되지않는다. DB_2015-12345> delete from account where branch_name = 'Perryridge'; DB_2015-12345> 5 row(s) are deleted 입력한쿼리가올바르다면, 조건에해당되는튜플을삭제하고 DeleteResult(#count) 에해당하는메시지를출력한다. 실행결과, referential integrity 때문에일부튜플은삭제할수없었다면 DeleteReferentialIntegrityPassed(#count) 에해당하는메시지를추가로출력 DeleteResult(#count) 와 DeleteReferentialIntegrityPassed(#count) 모두출력하여야한다. Referential interegrity와관련된자세한사항은 About Referential Integrity Constraints 문서를참조 테이블이존재하지않을경우, NoSuchTable에해당하는메시지출력 where 절에서비교연산자 (>, <, =,!=, >=, <=) 로비교할수없는값들을서로비교할경우, WhereIncomparableError에해당하는메시지출력 where 절에서명시되지않은테이블을참조할경우, WhereTableNotSpecified에해당하는메시지출력 예 : 실행예시의 where 절에서 account 테이블이아닌다른테이블을참조할경우 where 절에서존재하지않는컬럼을참조할경우, WhereColumnNotExist에해당하는메시지출력

where 절에서참조가모호한경우, WhereAmbiguousReference 에해당하는메시지출력 다른테이블이참조하고있는테이블을삭제하려고할경우, DropReferencedTableError(#tableName) 에해당하는메시지출력 튜플을삭제할때에는다음과같은가정을따른다. 2.3 INSERT 아래경우에해당될때에만두값을비교할수있다. char 타입의값은길이와상관없이다른 char 타입의값과비교할수있다. int 타입의값은다른 int 타입의값과비교할수있다. date 타입의값은다른 date 타입의값과비교할수있다. null 값은다른모든타입의값과비교할수있다. null 값과다른값을비교할경우, 비교결과는 true, false, unknown 중하나이다. 자세한사항은교재및슬라이드를따른다. where 절이없다면모든튜플을삭제한다. DB_2015-12345> select * from account; ACCOUNT_NUMBER BRANCH_NAME BALANCE A-101 Downtown 500 A-102 Perryridge 400 A-201 Brighton 900 A-215 Mianus 700 A-217 Brighton 750 A-222 Redwood 700 A-305 Round Hill 350 DB_2015-12345> select customer_name, borrower.loan_number, amount from borrower, loan where borrower.loan_number = loan.loan_number and branch_name = 'Perryridge'; CUSTOMER_NAME LOAN_NUMBER AMOUNT Adams L-16 1300 Hayes L-15 1500 입력한쿼리가올바르다면, 결과를예시와같은형식으로출력한다. from 절에있는테이블중존재하지않는테이블이있다면, SelectTableExistenceError(#tabName) 에해당하는메시지를출력

select 뒤에나오는컬럼이름을해석하는데에문제가있다면, SelectColumnResolveError(#colName) 에해당하는메시지를출력 컬럼이존재하지않거나컬럼이름이모호한경우 select 쿼리를처리할때에는다음과같은가정을따른다. where 절에대한조건은 delete 쿼리와같다. where 절이없다면모든튜플을출력한다. 3. 개발환경 Java Eclipse Oracle Berkeley DB API 4. 제출 1. Runnable jar 파일 파일명 : PRJ1-3_ 학번.jar ( 예 : PRJ1-3_2015-12345.jar) jar 파일생성방법은강의홈페이지의공지사항을참조 2. Eclipse 프로젝트 소스파일은반드시적절한주석을포함하여야함 3. 리포트 파일명 : PRJ1-3_ 학번.pdf ( 예 : PRJ1-3_2015-12345.pdf) 반드시 pdf 포맷으로제출 포함되어야하는내용 핵심모듈과알고리즘에대한설명 구현한내용에대한간략한설명 ( 제시된요구사항중구현하지못한부분이있다면 ) 구현하지못한내용 가정한것들 컴파일과실행방법 프로젝트를하면서느낀점

위의 3가지파일을압축하여 lecture@europa.snu.ac.kr로제출 파일명 : PRJ1-3_ 학번.zip ( 예 : PRJ1-3_2015-12345.zip) 메일제목 : [DB Project1-3] 학번, 이름 ( 예 : [DB Project1-3] 2015-12345, 박정혁 ) 리포트의 hard copy는 11월 12일오후 6시까지 301동 420호로제출 Hard copy와 soft copy를모두제출하여야함 5. 성적관련사항 제출기한이후 24시간이내제출시 10% 감점 제출기한이후 24시간이후 48시간이내제출시 20% 감점 제출기한 48시간이후에는점수없음 부정행위는 0점처리 다른사람의코드를참조하는행위 이전에수강한사람의코드를참조하는행위 6. References Oracle Berkeley DB http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html 프로젝트관련질문은 etl 게시판을이용!