XML과 데이터베이스 ㅎㅎ XML과 데이터베이스 XML과 데이터베이스 매핑 관계.

Slides:



Advertisements
Similar presentations
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
Advertisements

DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
JSP Programming with a Workbook
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
14장 질의응답 한빛미디어(주).
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
학습목표 학습목표 본 장은 데이터베이스를 조작하기 위한 SQL 문중에서 특별히 데이터베이스의 정의와 관련된 명령어인 DDL을 쿼리분석기를 사용하여 하나씩 실습을 통해서 학습한다. DDL 명령어로 데이터베이스 생성과 삭제, 테이블 생성, 수정, 삭제 등을 할 수 있다. 또한.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
14 SQLite DB 활용 B A S I C 1 4_ 고객 등록과 조회 L A B 1 4_ 수정과 삭제를 포함하는 고객관리시스템 Advanced LAB 14_ 탭 메뉴의 고객관리시스템.
KHS JDBC Programming 4 KHS
01 데이타베이스 개론 데이타베이스의 등장 배경 데이타베이스의 발전 과정 데이타베이스의 정의 데이타베이스의 특징
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
JDBC Lecture 004 By MINIO.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
ER-관계 사상에 의한 관계 데이터베이스 설계
Lesson 2. 기본 데이터형.
테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성
Chapter 03. 관계 데이터베이스 설계.
Database Management System
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
CHAP 21. 전화, SMS, 주소록.
DB 개요 1. 데이터베이스 정의 데이터의 중복성을 최소화하면서 조직 또는 기업에서 필요로 하는 상호 연관 있는 데이터들의 체계적인 집합 통합된 데이터(Integrated Data) : 자료 중복 최소화 저장된 데이터(Stored Data) : 저장 매체에 저장 운영 데이터(Operational.
문성우 SQL 실습 Part Ⅰ 문성우.
데이터 동적 할당 Collection class.
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
XML 문서 제작 기본 ㅎㅎ 정형식 문서와 유효한 XML 문서 XML 파서 XML 편집기.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
ER-관계 사상에 의한 관계 데이터베이스 설계
CHAP 15. 데이터 스토리지.
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
6 객체.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

XML과 데이터베이스 ㅎㅎ XML과 데이터베이스 XML과 데이터베이스 매핑 관계

학습목표 11장. XML과 데이터베이스 XML과 데이터베이스 개념 비교 XML 질의어 학습

데이터베이스란? 데이터베이스의 필요성 Section 01 XML과 데이터베이스 어느 조직에서 다수의 응용 시스템이 공유해서 사용할 수 있도록 통합, 저장된 운영 데이터의 집합 데이터베이스의 필요성 데이터 검색의 효율성 데이터 빠른 갱신성 데이터 일관성 데이터 중복성 방지

데이터베이스 관리 시스템(DBMS) 데이터베이스 스키마 Section 01 XML과 데이터베이스 데이터베이스를 생성/관리하며, 관리 대상인 데이터베이스로부터 사용자의 요구에 대한 정보를 제공할 수 있는 프로그램 집합 데이터베이스 스키마 스키마는 데이터베이스 구조와의 제약 조건에 대한 명세이며 데이터베이스 및 데이터 값의 제약 조건에 대한 정의의 총칭 스키마 3단계 외부 스키마 개념 스키마 내부 스키마

외부 스키마(external schema) Section 01 XML과 데이터베이스 외부 스키마(external schema) 전체 데이터베이스의 논리적 부분 사용자나 응용 프로그래머가 직접 필요로 하는 DB 구조 서브 스키마(sub schema), 뷰(view) 포함 여러 개의 외부 스키마가 존재할 수 있음 개념 스키마(conceptual schema) 모든 애플리케이션에 대해 하나의 전체 통합된 데이터베이스 각 응용에서 필요로 하는 데이터를 종합한 조직 전체의 DB 구조 전체 사용자를 위한 데이터베이스의 구조 및 접근 권한, 보안 정책, 무결성 규칙의 명세를 포함 내부 스키마(internal schema) 물리적 저장 장치 면에서 본 전체 DB 구조 개념 스키마의 물리적 저장 구조를 정의 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로, 데이터 항목 표현 방법, 레코드의 물리적 순서, 인덱스 사용 등을 기술

관계형 데이터베이스의 기본 구조 Section 01 XML과 데이터베이스 속성= 데이터 항목, 데이터 필드 개체 성질이나 상태 기술, 데이터의 가장 작은 논리적 단위 개체 데이터베이스가 표현하려고 하는 유/무형 정보 개체 개념적 정보 세계에서의 정보 단위 투플 = 레코드 데이터 저장의 기본 단위, 관련있는 데이터를 묶어서 저장한 것 관계: 여러 개체의 연관성을 의미 속성 학생(student) 이름 학번 전화번호 주소 차임표 20020001 02-99-3874 서울 한남동 손지창 20020002 02-48-4847 서울 강남동 차태현 20020003 02-32-4546 서울 신사동 관계스킴 튜플 [그림 11-1] 관계형 데이터베이스의 기본 구조

개체 관계도 매핑 원소 수에 다른 개체 분류 Section 01 XML과 데이터베이스 고객 상품 구입 X Y 일대일(1:1) 다대다(n:n)

SQL(Structured Query Language) Section 01 XML과 데이터베이스 SQL(Structured Query Language) 데이터베이스 질의언어 DML(Data Manipulation Language)과 DDL(Data Definition Language)로 구분 SQL 문 DDL DML Create Table Alter Table Drop Table Select Insert Delete Update 테이블 생성 테이블 구조 변경 테이블 삭제 데이터 조회 데이터 삽입 데이터 삭제 데이터 수정

기본 테이블 제거와 변경:DROP TABLE Section 01 XML과 데이터베이스 기본 테이블 생성:CREATE TABLE 기본 테이블 제거와 변경:DROP TABLE CREATE TABLE 테이블이름 ( 속성이름 데이터타입 [NOT NULL] ) 테이블 생성문 형식 CREATE TABLE Student ( sno int primary key not null, name varchar(10) not null, address varchar(50) ) 학생 테이블 생성 예 DROP TABLE 테이블이름 테이블 제거문 형식 DROP TABLE Student 학생 테이블 삭제 예

데이터 검색문: SELECT 데이터 갱신문: UPDATE Section 01 XML과 데이터베이스 SELECT 열_목록 FROM 테이블_목록 WHERE 조건 데이터 검색문 형식 SELECT sno, name FROM Student WHERE sno = 's100' S100인 학생 검색 예 UPDATE 테이블이름 SET 열_이름 = 바꿀_데이터 WHERE 조건 데이터 갱신문 형식 UPDATE Student SET name = '홍길동‘ WHERE sno = 's100' S100인 학생 이름을 홍길동으로 바꾸는 예

데이터 삽입문: INSERT 데이터 삭제문: DELETE Section 01 XML과 데이터베이스 INSERT INTO 테이블이름[(열_이름 목록)] VALUES (열_값 목록) 데이터 삽입문 형식 INSERT INTO Student (sno, name, address) VALUES (100, '홍길동‘, ’서울 신사동 11번지‘) 데이터 삽입 예 DELETE FROM 테이블이름 [WHERE 조건] 데이터 삭제문 형식 DELETE FROM Student WHERE sno = 's100' S100인 학생 삭제 예

데이터베이스 관리 언어의 역할 Section 01 XML과 데이터베이스 데이터베이스에 저장될 데이터의 구조 정의 정의된 구조에 따라 데이터를 저장/삭제하는 역할 사용자나 데이터베이스 관리자의 질문을 처리

XML 질의 언어 Section 01 XML과 데이터베이스 XML-QL XQL(XML Query Language) QUILT 반구조적 데이터를 위한 질의 언어 사용자 정의 가능한 태그와 입력 요소를 다루는 것이 가능 XQL(XML Query Language) XSL에서의 패턴 매치 구문과 유사한 질의 형태 QUILT XML-QL 장점인 질의 결과 재구성과 XQL 장점인 간편성을 고려해서 만든 언어 XQuery XML 구조를 이용해서 전체가 구조화되거나 부분적으로 구조된 XML 문서에 대한 복잡한 질의 수행 Quilt에서 유래 후, 다른 언어들이 가지고 있는 유용한 기능 추가 XQuery에서 질의는 하나의 표현으로 나타남 다양한 구조와 외형을 가진 몇 개의 표현이 지원 Xpath에 근거하고 있으며, 요소 생성자, For Let When Return, 함수와 산술연산 표현, 한정 [*] 표현, 조건 표현, 테이터 타입의 수정과 검증에 사용되는 표현 등의 방식이 지원

Section 02 XML과 데이터베이스 매핑 관계 플랫폼, 운영체제, 프로그래밍 언어 등에 완전히 독립적 W3C가 규정한 표준 개체 표현 방식

Section 02 XML과 데이터베이스 매핑 관계

Section 02 XML과 데이터베이스 매핑 관계 속성 중심 매핑 속성 중심의 데이터 확장 [그림 11-6] 속성 중심의 매핑 표현 [그림 11-7] 속성 중심의 데이터 확장

Section 02 XML과 데이터베이스 매핑 관계 요소 중심 매핑 요소 중심 데이터 확장 [그림 11-8] 요소 중심 매핑 표현 [그림 11-9] 요소 중심의 데이터 확장

Section 02 XML과 데이터베이스 매핑 관계 DTD나 XML 스키마가 정의된 경우 매핑 [그림 11-10] DTD에 따른 XML 문서 매핑 관계

Section 02 XML과 데이터베이스 매핑 관계 다중 테이블 기반 관계 매핑 [그림 11-11] 관계의 매핑 표현

Section 02 XML과 데이터베이스 매핑 관계 1단계: XML 스키마(DTD)가 객체 스키마로 매핑 2단계: 클래스가 테이블로, 기본형이 컬럼으로 매핑 포인터와 참조 관계는 기본키와 외래키 관계로 매핑

Section 02 XML과 데이터베이스 매핑 관계 DTD에 의한 XML 문서와 테이블간의 매핑 [그림 11-12] DTD에 의한 XML 문서와 테이블 간의 매핑

Section 02 XML과 데이터베이스 매핑 관계 순차 매핑 설계: DTD를 고려한 테이블 매핑의 설계 방식 DTD에서 순차적으로 표현된 요소는 클래스 속성으로 매핑 테이블은 각 속성에 따른 컬럼으로 매핑 기본키와 참조키를 고려해서 테이블 컬럼을 표현하고, 정규화를 거쳐 문제가 없는지 점검 DTD, 클래스, 테이블 스키마간의 순차 매핑 관계 XML` DTD 클래스 테이블 <S> <X> </X> <Y> </Y> <Z> </Z> </S> <!ELEMENT S(X,Y,Z)> <!ELEMENT X (#PCDATA)> <!ELEMENT Y (#PCDATA)> <!ELEMENT Z (#PCDATA)> class S { String X; String Y; String Z; } cretae table S ( X varchar(10), Y varchar(10), Z varchar(10))

Section 02 XML과 데이터베이스 매핑 관계 순차 매핑 설계: DTD를 고려한 테이블 매핑의 설계 방식 순차 매핑 관계 XML DTD 클래스 테이블 <A F="data"> <B> </B> <C> <D> </D> <E> </E> </C> </A> <!ELEMENT A(B,C)> <!ELEMENT B (#PCDATA)> <!ATTLIST A F CDATA #REQUIRED> <!ELEMENT C (D,E)> <!ELEMENT D (#PCDATA)> <!ELEMENT E (#PCDATA)> class A { String b; String f; C c ; } class C { String d; String e; } cretae table A ( B varchar(10), F varchar(10), C_fk varchar(10)) cretae table C ( C_pk varchar(10), D varchar(10), E varchar(10) )

Section 02 XML과 데이터베이스 매핑 관계 선택 매핑 설계 클래스 속성으로 매핑되고, 클래스 속성은 다시 테이블 컬럼으로 매핑 선택인 요소는 클래스 속성과 테이블 컬럼으로 매핑될 때 null 값을 가질 수 있다 XML DTD 클래스 테이블 <A F="data"> <C> <D/> </C> </A> ---------- <B> </B> <!ELEMENT A(B | C)> <!ELEMENT B (#PCDATA)> <!ATTLIST A F CDATA #IMPLIED> <!ELEMENT C (D | E)> <!ELEMENT D (#PCDATA)> <!ELEMENT E (#PCDATA)> class A { String b=null; String f=null; C c=null ; } class C { String d=null; String e=null; } cretae table A ( B varchar(10) null, F varchar(10) null, C_fk varchar(10) null) cretae table C ( C_pk varchar(10) null, D varchar(10) null, E varchar(10) null) [그림 11-15] 선택 매핑 관계

Section 02 XML과 데이터베이스 매핑 관계 반복되는 자식 요소 매핑 설계 부모 요소에서 여러 번 나타나는 자식 요소는 클래스에서 여러 값을 가질 수 있는 속성으로 매핑 이것은 다시 테이블의 여러 컬럼으로 매핑되거나, 다른 외부 테이블로 매핑=프로퍼티 테이블 반복 횟수를 미리 알 수 있다면 테이블에서 여러 개의 컬럼으로 표현할 수 있다.

Section 02 XML과 데이터베이스 매핑 관계 반복되는 자식 요소 매핑 설계 한정되어 반복되는 자식 요소 매핑 관계 무한정 반복되는 자식 요소 매핑 관계 XML DTD 클래스 테이블 <A> <B> </B> <C> </C> </A> <!ELEMENT A (B,B,B,C)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> class A { String[] b ; String c ; } cretae table A ( B1 varchar(10), B2 varchar(10), B3 varchar(10), C varchar(10) ) XML DTD 클래스 테이블 <A> <B> </B> <C> </C> </A> <!ELEMENT A (B+, C)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> class A { String[] b ; String c ; } cretae table A ( A_pk varchar(10), C varchar(10) ) cretae table B ( A_fk varchar(10), B varchar(10) )

Section 02 XML과 데이터베이스 매핑 관계 선택 요소 매핑 설계 부모 요소에서 선택 자식 요소를 갖는 경우에 클래스에서 자식 요소는 null 값을 가질 수 있는 속성으로 매핑 테이블은 null 값을 가질 수 있는 컬럼으로 매핑 XML DTD 클래스 테이블 <A> <B> </B> <C> </C> </A> <!ELEMENT A (B?, C*)> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> class A { String b=null ; String[] c=null ; } cretae table A ( A_pk varchar(10), B varchar(10) null ) cretae table C A_fk varchar(10), C varchar(10) null ) [그림 11-18] 선택 요소 매핑 관계

Section 02 XML과 데이터베이스 매핑 관계 혼합 내용 매핑 설계 혼합된 내용은 크기를 알 수 없고, null 값을 가질 수 있는 클래스로 매핑 테이블에서는 프로퍼티 테이블을 생성하여 매핑 XML DTD 클래스 테이블 <A> data <B> </B> <C> </C> </A> <!ELEMENT A (#PCDAT,B,C)*> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> class A { String[] pd=null ; String[] b=null ; String[] c=null ; } cretae table A ( A_pk varchar(10) ) cretae table B A_fk varchar(10), B varchar(10) null ) cretae table C C varchar(10) null ) cretae table pd pd varchar(10) null ) [그림 11-19] 혼합 내용 요소 매핑 관계

Section 02 XML과 데이터베이스 매핑 관계 속성 매핑 설계 XML 문서의 속성은 기본 타입으로 매핑 단일 값을 갖는 속성은 기본 타입으로 매핑 다수 값을 갖는 속성도 다수값을 갖는 기본 타입으로 매핑 ID는 기본키로 매핑 IDREF와 IDREFS는 외래키로 매핑 XML DTD 클래스 테이블 <A D="data"> <B> </B> <C> </C> </A> <!ELEMENT A (B, C)> <!ATTLIST A D IDREFS #IMPLIED> <!ELEMENT B (#PCDATA)> <!ELEMENT C (#PCDATA)> class A { String b ; String c ; String[] d ; } cretae table A ( A_pk varchar(10), B varchar(10), C varchar(10) ) cretae table D A_fk varchar(10), D varchar(10) ) [그림 11-20] 속성 매핑 관계