Discrete Mathematics

Similar documents
Microsoft PowerPoint MySQL 연동.ppt

Microsoft PowerPoint 세션.ppt

DBMS & SQL Server Installation Database Laboratory

쉽게 풀어쓴 C 프로그래밊

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint 웹 연동 기술.pptx

MySQL-.. 1

슬라이드 1

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

Microsoft Word - php14.doc

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint Python-DB

10.ppt

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

PHP & ASP

PowerPoint 프레젠테이션

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

5장 SQL 언어 Part II

윈도우시스템프로그래밍

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

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

MySQL-Ch05

untitled

PowerPoint Presentation

untitled

PowerPoint Template

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

문서 템플릿

Microsoft PowerPoint Python-WebDB

제목 레이아웃

Observational Determinism for Concurrent Program Security

chap 5: Trees

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

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

Tcl의 문법

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

슬라이드 제목 없음

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

소만사 소개

윈도우시스템프로그래밍

TITLE

빅데이터분산컴퓨팅-5-수정

강의 개요

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

13주-14주proc.PDF

FileMaker 15 ODBC 및 JDBC 설명서

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

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

PHP & ASP

PowerPoint Presentation

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

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Microsoft PowerPoint Predicates and Quantifiers.ppt

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

중간고사

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

Lec. 2: MySQL and RMySQL

adfasdfasfdasfasfadf

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Discrete Mathematics

제목을 입력하세요.

강의 개요

NoSQL

슬라이드 제목 없음

PowerPoint 프레젠테이션

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

SQL

thesis

C 언어 프로그래밊 과제 풀이

MySQL-Ch10

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

歯sql_tuning2

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

윈도우즈프로그래밍(1)

JDBC 소개및설치 Database Laboratory

PowerPoint Template

Microsoft PowerPoint - 04-UDP Programming.ppt

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint Presentation

FileMaker ODBC 및 JDBC 가이드


VENUS Express 사용자 매뉴얼

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

컴파일러

Chapter 4. LISTS

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Spring Boot/JDBC JdbcTemplate/CRUD 예제

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

JVM 메모리구조

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

PowerPoint 프레젠테이션

빅데이터 분산 컴퓨팅 -6

PowerPoint 프레젠테이션

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

ALTIBASE HDB Patch Notes

Transcription:

웹프로그래밍 () 2005 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학

데이터베이스? (1/4) 데이터베이스 (database), DBMS 처리 / 관리하고자하는정보혹은데이터를모아놓은저장소 저장된정보에의미를부여하고, 다양한연산 ( 검색, 갱신등 ) 을제공하는소프트웨어시스템 사용자에의해지시되는일련의연산 (transaction) 을효과적이고정확하게처리하는소프트웨어시스템 상용 DBMS (Commercial DBMS) Disk-based DBMS: Oracle, Informix, Sybase, UniSQL, MySQL, Main Memory DBMS: Ten-Times, Altibase, UniSQL, Page 2

데이터베이스? (2/4) 용어이해 속성 (attribute), 필드 (field) 이름을가진논리적데이터의최소단위 ( 예 : 나이필드, 이름속성 ) 특정객체 (object, entity) 의한성질의값 테이블 (table) 의 attribute 로이해할수있음 레코드 (record), 튜플 (tuple) 논리적으로서로연관된하나이상의데이터필드 ( 항목 ) 들의집합 엔티티타입 ( 예 : 학생 = { 이름필드, 학번필드, 성별필드, }) Page 3

데이터베이스? (3/4) 용어이해 ( 계속 ) 테이블 (table) 레코드 ( 정확히는레코드인스턴스 ) 의집합 (set of records) 관계형 DBMS 에서는대부분의연관성있는데이터를테이블로관리함 테이블의예 : 학생테이블, 성적테이블, 급여관리테이블등 인덱스 (index), 색인 검색하고자하는레코드를빠르게찾아내기위하여별도의 ( 메모리, 디스크 ) 구조를관리일반적으로, Unique한하나의속성에대해서인덱스를구성함트리혹은해싱등의인덱스기술 (technique) 을사용함인덱스의예 : 학생테이블에대해 학번 속성으로색인을구성 Page 4

데이터베이스? (4/4) 테이블구성의예 Attribute (Column) 학번 이름 나이 본적 성 Schema 1243 홍길동 10 강원 남 Index 1257 1332 1334 김철수박영희이기수 20 19 21 경기충청전라 남여남 Tuple (Record) 1367 정미영 20 서울 여 1440 최미숙 21 강원 여 Page 5

데이터접근 (Data Access) (1/6) SQL Structured Query Language (, SEQUEL) 데이터베이스에서정보를얻거나갱신하기위한표준화된언어 DML (Data Manipulation Language) SELECT: 검색조건에맞는데이터 ( 레코드 ) 를선택 ( 조회 ) INSERT: 새로운데이터 ( 레코드 ) 를삽입 UPDATE: 기존의데이터 ( 레코드, 속성 ) 를수정 DELETE: 기존의데이터 ( 레코드 ) 를삭제 How about DDL(Data Definition Language)? 데이터형태및데이터베이스자체를정의하는언어 예 : 테이블생성및삭제 (create/drop table), 인덱스생성, DB 생성 Page 6

데이터접근 (Data Access) (2/6) 테이블예제 : fruit 테이블 name price color country 사과 10 빨간색 한국 배 20 노란색 한국 복숭아 30 분홍색 한국 수박 40 초록색 한국 감 50 주황색 한국 토마토 60 빨간색 미국 바나나 70 노란색 인도네시아 키위 80 초록색 호주 파인애플 90 초록색 인도네시아 대추 100 초록색 한국 Page 7

데이터접근 (Data Access) (3/6) SELECT 특정테이블에서원하는데이터 ( 레코드, 속성 ) 를검색할때사용 SELECT name, price FROM fruit WHERE color = 빨간색 ; 상기예는 fruit 테이블을사용하여색깔 (color) 이빨간색인과일의이름 (name) 과가격 (price) 를가져오는문장임 SQL 에서특정데이터가문자열로되어있으면작은따옴표 ( ) 로묶어주어야하며숫자는작은따옴표로묶지않고그냥사용 상기 SQL 문장의실행결과는다음과같음 name price 사과 10 토마토 60 Page 8

데이터접근 (Data Access) (4/6) INSERT 특정테이블에새로운데이터 ( 레코드 ) 를삽입할때사용 INSERT INTO fruit VALUES ( 멜론, 110, 초록색, 한국 ); 상기예는 fruit 테이블에서 이름은멜론이고가격은 110 원, 색깔은초록색이며원산지는한국 인새로운레코드를삽입 상기 SQL 문장의실행결과는다음과같은레코드가 fruit 테이블에추가됨 name price color country 멜론 110 초록색한국 Page 9

데이터접근 (Data Access) (5/6) UPDATE 특정테이블에서기존데이터 ( 레코드 ) 의내용을수정할때사용 UPDATE fruit SET price=120, country= 미국 WHERE name= 멜론 ; 상기예는 fruit 테이블에서 이름 (name) 이멜론인레코드의가격 (price) 을 120 원으로, 원산지 (country) 를미국으로수정 하는경우임 상기 SQL 문장의실행결과, 기존레코드는다음과같이내용이변경됨 name price color country 멜론 120 초록색미국 Page 10

데이터접근 (Data Access) (6/6) DELETE 특정테이블에서기존데이터 ( 레코드 ) 를지울때사용 DELETE FROM fruit WHERE name= 멜론 ; 상기예는 fruit 테이블에서 이름 (name) 이멜론인레코드를삭제 하는경우임 상기 SQL 문장의실행결과, 이름이멜론인레코드가 fruit 테이블에서삭제됨 Page 11

MySQL 사용법 (1/6) MySQL 사용순서 mysql_connect() 데이터베이스접속 mysql_select_db() 사용자데이터베이스선택 mysql_query() SQL 명령실행 mysql_fetch_row() 실행결과를한튜플 ( 행 ) 씩가져옴 mysql_close() 데이터베이스접속해제 Page 12

MySQL 사용법 (2/6) mysql_connect resource mysql_connect ( [string hostname [:port] [:/path/to/socket] [, string username [, string password]]]) MySQL 이설치된 hostname 에접근하여 username 과 password 를통해 MySQL 에로그인을수행함 성공하면 MySQL link identifier 를리턴함 ( 다음단계에서활용함 ) mysql_close() 를호출하지않아도스크립트의실행이끝나면자동으로 close 됨 Page 13

MySQL 사용법 (3/6) mysql_select_db bool mysql_select_db ( string database_name [, resource link_identifier]) link_identifier 서버에서 database_name 의데이터베이스를연결함 연결에성공하면 TRUE, 실패하면 FALSE 를리턴함 만일 link_identifier 가없으면자동으로이전에열렸던 link_identifier 를이용하여데이터베이스를연결함 Page 14

MySQL 사용법 (4/6) mysql_query resource mysql_query ( string query [, resource link_identifier]) 지정된 link_identifier 를사용하여현재활성화된데이터베이스에서주어진질의문 (query) 를실행함 성공하면 TRUE, 실패하면 FALSE 를리턴함 query 에들어가는문자열의마지막에는세미콜론 (;) 을사용하지않음 Page 15

MySQL 사용법 (5/6) mysql_fetch_row array mysql_fetch_row (resource result) 질의문 ( 주로 Select 문 ) 의수행결과에따라, 각각의레코드 (tuple, row) 를차례로읽어들이는함수임 result 로부터결과값을배열로리턴 이함수를계속호출하게되면 result 로부터다음 row( 레코드 ) 를차례로읽어옴 더이상읽어올 row 가없으면 FALSE 를리턴 Page 16

MySQL 사용법 (6/6) mysql_close bool mysql_close ([resource link_identifier]) link_identifier 로연결된 MySQL 을닫음 ( Resource 를반환함 ) 성공하면 TRUE, 실패하면 FALSE 를리턴함 만일 link_identifier 가연결되어있지않으면마지막으로연결된 link_identifier 를닫음 Page 17

phpmyadmin 실행및로그인 (1/2) phpmyadmin DB 및 SQL 명령을자세히알지않고서도 MySQL 에대한사용을용이하게해주는유틸리티 APM 을정상적으로설치한경우, 자동적으로함께설치됨 실행하기 Page 18

phpmyadmin 실행및로그인 (2/2) 로그인하기 root/apmsetup Page 19

phpmyadmin 새로운 DB 만들기 (1/4) 새로운 DB 의이름을입력하고만들기를클릭 Page 20

phpmyadmin 새로운 DB 만들기 (2/4) 새로운 DB 의생성결과 대응되는 SQL Statement Page 21

phpmyadmin 새로운 DB 만들기 (3/4) 생성된 DB 확인하기 Page 22

phpmyadmin 새로운 DB 만들기 (4/4) 생성된 DB 확인하기 ( 결과화면 ) Page 23

phpmyadmin 새로운 Table 만들기 (1/5) Table 을만들고자하는 DB 를선택 ( 예의경우 goods) Page 24

phpmyadmin 새로운 Table 만들기 (2/5) 만들고자하는 Table 의이름과속성 ( 필드 ) 개수를입력 Page 25

phpmyadmin 새로운 Table 만들기 (3/5) Table 을구성하는속성의정보 ( 타입, 크기, 색인정보등 ) 를입력 Page 26

phpmyadmin 새로운 Table 만들기 (4/5) Table 생성에대한수행결과 대응되는 SQL Statement Page 27

phpmyadmin 새로운 Table 만들기 (5/5) 생성된 Table 에대한정보조회결과 Page 28

phpmyadmin 레코드삽입하기 (1/4) 원하는 Table 을메뉴에서삽입을클릭 Page 29

phpmyadmin 레코드삽입하기 (2/4) 해당레코드의 ( 속성 ) 값을입력하고실행 Page 30

phpmyadmin 레코드삽입하기 (3/4) 레코드생성의수행에따른결과화면 대응되는 SQL Statement Page 31

phpmyadmin 레코드삽입하기 (4/4) 레코드생성반복 Page 32

phpmyadmin 레코드검색하기 (1/6) 원하는 Table 을메뉴에서검색을클릭 Page 33

phpmyadmin 레코드검색하기 (2/6) 검색조건을입력 ( 아래예는테이블전체검색 ) Page 34

phpmyadmin 레코드검색하기 (3/6) 테이블전체검색의결과화면 대응되는 SQL Statement Page 35

phpmyadmin 레코드검색하기 (4/6) 검색조건을입력 ( 아래예는가격속성에조건입력 ) Page 36

phpmyadmin 레코드검색하기 (5/6) 가격속성에조건을준경우의결과화면 대응되는 SQL Statement Page 37

phpmyadmin 레코드검색하기 (6/6) SQL 문장을직접입력하는예제 Page 38

SQL 을포함한 PHP 프로그램예제 (1/3) 가격이 50 원이상인레코드들의출력프로그램 (fruit_mysql.php) <html> <body> <?PHP $conn = mysql_connect ( localhost, root, apmsetup ); $db_status = mysql_select_db ( goods ); if (!$db_status) { error ( DB_ERROR ); exit; } $query = select * from fruit where price >= 50 ; $result = mysql_query ($query); Page 39

SQL 을포함한 PHP 프로그램예제 (2/3) 가격이 50 원이상인레코드들의출력프로그램 ( 계속 ) print <table border=1><tr>. <th> 이름 </th>. <th> 가격 </th>. <th> 색깔 </th>. <th> 원산지 </th></tr> ; while ($row = mysql_fetch_row ($result)) { print <tr><td>. $row[0]. </td>. <td>. $row[1]. </td>. <td>. $row[2]. </td>. <td>. $row[3]. </td></tr> ; } print </table> ;?> </body> </html> Page 40

SQL 을포함한 PHP 프로그램예제 (3/3) 가격이 50 원이상인레코드들의출력프로그램실행화면 Page 41

MySQL 을이용한웹프로그래밍 (1/7) 테이블 (fruit) 에새로운레코드를삽입하는웹화면의구성 fruit1.php <html> <body> <form name=fruit method=post action=./fruit2.php > 새로운데이터를입력해주세요 <br> 이름 : <input type=text name=name><br> 가격 : <input type=text name=price><br> 색깔 : <input type=text name=color><br> 원산지 : <input type=text name=country><br> <input type=submit value= 입력 > <input type=reset value= 취소 > </form> </body> </html> Page 42

MySQL 을이용한웹프로그래밍 (2/7) fruit1.php 의실행결과 Page 43

MySQL 을이용한웹프로그래밍 (3/7) 삽입프로그램 : fruit2.php <html> <body> <?PHP $conn = mysql_connect ( localhost, root, apmsetup ); $db_status = mysql_select_db ( goods ); if (!$db_status) { error ( DB_ERROR ); exit; } $query = INSERT INTO fruit VALUES. ( $name, $price, $color, $country ) ; $result = mysql_query ($query); if ($result) print 입력되었습니다.<br> ; else print 입력되지않았습니다.<br> ;?> </body> </html> Page 44

MySQL 을이용한웹프로그래밍 (4/7) 삽입프로그램 (fruit2.php) 의실행결과 Page 45

MySQL 을이용한웹프로그래밍 (5/7) 검색을통한삽입결과확인 (fruit_mysql.php) Page 46

MySQL 을이용한웹프로그래밍 (6/7) fruit_mysql.php 의개선 (Sorting)...... $query = select * from fruit where price >= 50 order by price ; $result = mysql_query ($query);...... Page 47

MySQL 을이용한웹프로그래밍 (7/7) fruit_mysql.php 의개선 (Sorting) 결과화면 Page 48

Homework #10 교재연습문제 (Ch. 8): 1 해당하는 SQL 문장을작성하여보고서형식으로제출할것 Due Date: 6/8( 수 ) Page 49