데이터베이스도구의활용 (Using Delphi s Database Tools) 델파이는델파이를이용해서데이터베이스프로그래밍을할때에사용할수있는몇가지유틸리티프로그램을제공한다. 데이터베이스데스크탑 (Database Desktop), BDE Administrator (BDE 관리자 ), SQL 탐색기 (SQL Explorer), SQL 빌더 (SQL Builder), SQL 모니터 (SQL Monitor) 등의프로그램이그것이다. 이번장에서는델파이에서제공되는여러유틸리티프로그램의간단한사용방법과활용방안에대해서알아보도록한다. SQL 빌더에대해서는 15 장에서알아볼것이다. 데이터베이스데스크탑사용하기 가장흔하게사용하게되는유틸리티프로그램이바로데이터베이스데스크탑이다. 데이터데스크탑의역할은다양한데이터소스의데이터세트를열어서볼수있고, 여기에필드를추가하거나데이터의수정을하는등의여러가지작업을할수있게하는것이다. 다음에데이터베이스데스크탑의기본스피드메뉴와 Restrucure 기능에대해설명하였다. 그밖에도여러가지유틸리티기능과앨리어스관리자 (Alias Manager...) 등의기능이있으나, 여기에대해서는도움말을참고하기바란다. 데이터베이스데스크탑의기본스피드메뉴 데이터베이스데스크탑을실행하면 3 개의스피드버튼을볼수있다. 제일처음에나온아이콘을이용하면, 델파이에서지원되는모든테이블을열어볼수있다. 두번째아이콘은쿼리를동일한데이터소스로연다. 세번째아이콘을이용하면다양한 SQL 지정소스를열수있다. 데이터베이스데스크탑을이용하여실행할수있는간단한작업을시도해보자. 먼저데이터베이스데스크탑을실행하고, 스피드버튼중에서 Open Table 아이콘을선택한다. 그러면, 파일열기대화상자가나타나는데파일유형을열고자하는파일유형으로지정하고데이터베이스파일이있는디렉토리에가서파일을열면된다. 또한, 파일열기대화상자의제일마지막에있는콤보박스를클릭하면사용가능한앨리어스를선택할수있다. 여기서 DBDEMOS 를선택하고, 보이는데이터베이스파일중에서 Customer.db 파일을선택하도록하자. 그러면, 테이블의내용을보여주면서다음과같은스피드바가생성될것이다.
앞쪽에있는 3 가지스피드버튼은데이터의자르기 (cut), 복사 (copy) 및붙여넣기 (paste) 기능을수행한다. 네번째버튼은테이블의재구성 (restructure) 을하는역할을한다. Customer.db 파일에대해서 Restructure 를선택하면, 다음과같은화면이나타난다. 파라독스인경우에는이렇지만, 디베이스의경우는상당히다르다. 이대화상자의오른쪽에보면, Table Properties 콤보박스를이용하여테이블등록정보를선택할수있다. 그밑에있는편집필드들은프로그래머가선택하는등록정보 ( 파라독스의경우에는 Validity Check, 디베이스의경우 Indexes 가기본등록정보이다 ) 로지정된다. 콤보박스를선택하고, 등록정보목록을통해화면을이동하면, 이대화상자에포함되어있는모든테이블과데이터의형태가변한다. 좌측에있는필드를정의하고, 편집하는부분을 Field Roaster 라고한다. 여기에서테이블에필요한필드를추가할수도있고, 기존의필드에대한속성을변경할수도있다. 필드를추가하는방법은간단히 Insert 키를누르기만하면된다. 자리가확보되면필드이름을기록하고, Type 탭에가서스페이스바를누르면사용가능한필드데이터형이나열되며, 여기에서적당한데이터형을고르면된다. 가장우측의 Key 탭에는필드가 Primary Key 가된다면더블클릭하여 * 표시를해준다. 스피드바에서 Restructure 버튼옆에있는여러버튼들은레코드사이를이동하는역할을한다. 제일우측에서 2 번째버튼은 Field View 버튼으로이메뉴를이용하여디스플레
이영역에나타나지않는메모필드와같은필드의내용을볼수있다. 필드사이를이동할수있지만, 다른키는무시된다, 이기능을이용하면내용이변할염려없이특정필드의데이터를제대로볼수있다. 제일오른쪽에있는 Edit Data 버튼은선택한필드에어떤내용을입력하면, 데이터베이스데스크탑이그내용을변경한다. 이때 Field View 및 Edit Data 기능은해제된다. 또한, 필드에입력을위한삽입필드가나타난다. Restructure 대화상자이해하기 데이터베이스데스크탑의가장큰기능을든다면테이블의필드를추가, 삭제, 편집을하게되는 restructure 기능을들수있을것이다. 물론, 파라독스와디베이스가다른면이많다. 그밖에 DBMS 는각기다른유형의테이블등록정보를사용할것이다. 여기에서관심을가지고보아야할부분은 Table Properties 콤보상자에나타나는리스트이다. 이정보를이용하면, 델파이가특정테이블이나전체로서의데이터베이스와상호작용하는방법을변경할수있다. 다음은파라독스와디베이스에대한테이블등록정보와그기능을설명한것이다. 다른 XBase 언어도디베이스에대한기능과유사한등록정보를이용할것이다. 1. Validity Checks 테이블의각필드에대한최소및최대값과같은데이터입력의제한을할수있다. 디폴트 (Default Value) 필드는무시하기쉽지만, 올바른데이터입력방법을보여준다. 그리고, Picture 필드에는실제로복잡한데이터를입력할때도움을주는것으로, 테이블에입력하려는데이터의문자맵에의해문자를정의할수있다. Validity Checks 대화상자의아래쪽에보면 Assist 버튼이있는데, 이버튼을클릭하면다음과같은대화상자가나타난다.
여기서알아야할것은 Picture 박스작성방법과나타낼문자리스트의길이이다. Picture 문자세트에는다음과같은것들이있다. 문자 설명 문자 설명 # 수치? 모든영문자 ( 대문자, 소문자 ) & 모든영문자 ( 대문자 ) ~ 모든영문자 ( 소문자 ) @ 모든문자! 모든문자 ( 대문자로변환 ) ; 다음문자를일반문자로처리 * 뒤에반복될회수를숫자로붙이고, 중괄호와함께문자유형을붙임 [abc] 선택적인문자를나타냄 {a,b,c} 대괄호사용방법과의미가같다. 예를들어설명하면, 앞의그림의 *3(#)/*3(#)-*4(#) 의의미는처음에숫자 3 개를치면 / 가표시되고그다음에숫자 3 개를입력하면 - 가입력되며, 그이후에숫자 4 개를입력할수있다는의미가된다. 일단 picture 문장이작성되면 Verify Syntax 버튼을클릭하여오류가있는지검사하고, Test Value 버튼을클릭하여실제값이어떻게입력되는지확인하도록한다. 기존에저장된 picture 를가져올수도있고, 이렇게작성한 picture 를 Add to List 버튼을눌러서저장할수도있다. 2. Table Lookup
자동적으로조회테이블을지정할수있는것으로, Define 버튼을누르고조회테이블을지정하면된다. 조회테이블은보통광범위한데이터입력및확인을위해사용하게된다. 보통분류를할필요가있는데이터가있는경우에많이사용된다. 조회테이블을연결하는방법은먼저 Table Lookup 을선택하고, Define 버튼을클릭하면다음과같은대화상자가나타난다. 먼저해야할것은데이터소스를선택하는것으로, 일단은디렉토리나앨리어스를선택한다. 이렇게하면우측의리스트박스에선택가능한테이블의이름이나타나는데, 적당한테이블을선택한다. 그리고조회필드를선택할때에는 Lookup 필드로사용할마스터테이블의필드를 Field Name 으로선택하고, 해당되는조회테이블을더블클릭하면조회필드가선택된다. 이때조회테이블에조회가가능한필드의데이터형이맞지않으면경고메시지가나온다. 앞의그림은 Orders 테이블을마스터로 Items 테이블을조회테이블로설정한것이다. Lookup type 에서디폴트값인 Just Current Field 값을이용하면, 선택한데이터를완전히관리할수있게된다. All Corresponding Fields 옵션은조회테이블의필드와일치하는마스터테이블의모든필드를선택하게되는데, 두테이블의구조를확실히알지못하면엉뚱한결과가나타날수있기때문에잘사용되지않는다. Lookup Access 옵션에서디폴트값인 Help and Fill 은조회테이블의정보를이용하여선택한마스터테이블필드를자동으로채우고, 사용자를위한도움말로받아들인입력유형에대한메시지를제공할수있다는의미이다. Fill no Help 옵션은마스터테이블만채우고, 사용자에게메시지를전혀제공하지않는다.
이제 OK 를선택하면조회테이블이설정되어, 조회테이블이연결된필드로 Field Roaster 를위치시키면연결된조회테이블의이름이나타난다. 3. Secondary Indexes 파라독스는 primary index 와 secondary index 로인덱스의종류를구별한다. Primary index 는 Field Roaster 의 Key 필드를선택하면설정된다. 그렇지만, 프로그램사용자가데이터를여러가지방법으로검색할수있도록하려면, secodary index 를정의해주는것이좋다. 모든테이블에는기본적으로 primary index 를가지고있지만, secodary index 를이용해서조회및인쇄루틴을추가적으로지원하는것이보통이다. Secondary index 를선택하고, Define 버튼을클릭하면데이터베이스종류에따라다른대화상자가나타나는데, 파라독스의경우를바탕으로설명하겠다. 파라독스테이블의경우다음과같은대화상자가나타난다. Indexed fields 리스트박스에는 secondary index 가정의된필드가나타난다. 인덱스를정의하는방법은좌측의리스트박스에서인덱스를설정할필드를선택한후, 우측화살표버튼을누르면된다. Index options 박스에서인덱스에다양한효과를줄수있는데, Unique 옵션은사용자가이필드에중복된값을가질수없을때사용한다. Case sensitive 는영문자의경우대소문자를가리지않는의미이며, Maintained 옵션은인덱스를자동으로관리할것인지여부를결정하는것이다. 보통디폴트로체크되어있다. 마지막으로, 인덱스는기본적으로오름차순으로정렬되도록설정되어있는데, Descending 을선택하면내림차순으로정렬한다.
일단인덱스를정의하고나면, 대화상자를이용하여인덱스를저장할수있으며, 저장할이름을지정하면된다. 디베이스나다른데이터베이스의경우사용방법이다르지만, 여기에대한내용은도움말을참고하기바란다. 4. Referential Integrity 다수의사용자에대한다양한관계를설정하는것으로, 참조무결성의방법을정한다. 마스터테이블과디테일테이블의경우상응하는레코드가마스터테이블에존재하지않으면, 디테일테이블이 orphan 테이블이되는문제를해결하기위한방법을지정한다. 그러면, 마스터 / 디테일테이블관계를설정하고참조무결성옵션을선택하는방법을알아보자. 예를들어, orders.db 를마스터로하고, employee.db 를디테일로설정해서정의해보자. 먼저마스터테이블을열고 Referential Integrity 를선택한후, Define 버튼을누르면다음과같은대화상자가나타난다. 참고로, 이런작업을할때에는작업을하려는테이블을같은디렉토리에위치시키고, File Working Directory 메뉴에서작업을하고자하는디렉토리를지정하는것이좋다. 여기에서, 두테이블을연결한필드인 EmpNo 필드를더블클릭한다. 그리고, 연결한디테일테이블인 employee.db 를더블클릭하면다음과같이키들이연결된다. 그리고, OK 단추를누르면 Save Referential Integrity As 대화상자가나타나는데여기에참조무결성규칙의이름을지정하면된다.
이때중요한것은 Update rule 을결정하는것이다. Cascade 는해당디테일레코드를같 이삭제하는것이며, Prohibit 은마스터레코드를삭제할수없도록한다. 5. Password Security 다수의사용자가 SQL 서버를통해데이터베이스에접속하여데이터를공유한다면보안이문제가될수있다. 그러므로, 모든 SQL DBMS 제품들은암호화면을제공한다. 파라독스에서도암호보안을옵션으로제공하는데, 이를선택하고 Define 버튼을클릭하면 Password security 대화상자가나타난다. 이대화상자에서제공되는두필드에암호를입력하고 OK 버튼을클릭하면테이블에암호가지정된다. 6. Table Language Modify 버튼을클릭하면, 테이블의데이터를화면에표시하는데사용하는문자세트 ( 코드 페이지 ) 의변경이가능하다. 7. Dependent Tables 참조적무결성의현재테이블에의존하는모든테이블을화면에표시하는기능으로, 등록 정보와파일명목록을보고서마스터 / 디테일관계를알수있다. 8. Indexes
디베이스에서는 primary index 와 secodary index 를구별하지않는다. 여기에서는필요한 색인간의전환이가능하다. SQL 탐색기 (SQL Explorer) 와 BDE 관리자 (BDE Administrator) 델파이에서는데이터베이스의정보를보고, 편집할수있도록도와주는유틸리티인데이터베이스탐색기 (Database Explorer) 가제공된다. 이유틸리티프로그램의이름은 C/S 버전인경우에는 SQL 탐색기라고하며, SQL 링크를통해 SQL 데이터베이스에직접접근이가능하다. BDE 관리자는기본적으로 SQL 탐색기의기능의일부와동일하기때문에, 같이설명하기로한다. SQL 탐색기를사용할수있으면, BDE 관리자는쉽게사용할수있다. 기본적인 SQL 탐색기의기능을설명하면다음과같다. 1. BDE 앨리어스관리 2. 테이블, 뷰, 트리거, 저장프로시저등의메타데이터객체관리 3. 사용자와서버의보안정보관리 SQL 탐색기를처음시작하면다음과같은화면을볼수있다. Databases pane 에는가능한앨리어스를모두보여주며, 앨리어스를선택하고
Object Open 메뉴를선택하거나, Open 스피드버튼을클릭하면데이터베이스에연결되는데, 일단연결되면앞그림과같이좌측앨리어스의아이콘이녹색박스로둘러싸인다. SQL 탐색기는크게나누어탐색패널 (browsing panel) 과정보패널 (information panel) 의 2 부분으로구성되어있다. 좌측의탐색패널은 Databases, Dictionary 의 2 가지 pane 이있으며정보패널에는데이터베이스에따라여러가지정보가표시된다. 탐색패널 (Browsing Panel) 탐색패널에는모든사용가능한 BDE 앨리어스가트리뷰의형태로표시된다. 탐색패널에서는새로운앨리어스를생성하거나, 데이터베이스의로그온, 데이터베이스검사등을할수있다. 1. 새로운앨리어스의생성 새로운앨리어스를생성하려면, 탐색패널에서오른쪽버튼을클릭하고, 팝업메뉴에서 New 메뉴를선택하면된다. 이메뉴를선택하면, 앨리어스에사용할드라이버종류를묻는대화상자가나타나며, 일단드라이버종류가선택되면접속파라미터에대한디폴트값이정보패널에나타난다. 새로운앨리어스를저장하려면, 팝업메뉴또는툴바에서 Apply 메뉴를선택하면된다. 2. 데이터베이스에로그온 데이터베이스를탐색패널에서확장하면데이터베이스에로그온하게되는데, 이때사용자 ID 와패스워드를묻는다. 일단데이터베이스에접속되면, 탐색기는데이터베이스아이콘주변에녹색박스로둘러싸인다. 접속을종료하려면앨리어스를선택하고, 팝업메뉴에서 Close 메뉴를선택한다. 3. 데이터베이스검사 탐색기가데이터베이스를확장하면, 데이터베이스종류에따라데이터베이스의정보를보여주게된다. 앞의그림의경우 DBDEMOS 데이터베이스에대한정보로 4 가지정보를보여준다. 참고로 IBLocal 데이터베이스를선택하면 Domains, Tables, Views, Procedures, Functions, Generators, Exceptions, Blob Filters 등의여러가지정보가나타난다. 여기에서구체적인테이블들을탐색해가면서테이블의필드, 인덱스, 참조무결성등에대한테이블의자세한정보와직접 SQL 문장을입력하여실행하는등의작업을수행할수있다.
정보패널 (Information Panel) 정보패널에는탐색패널에서선택된아이템의물리적특징을보여주게된다. 정보패널은 페이지컨트롤로구성되어있고, 보통 Definition, Text, Data, Enter SQL 이라는 4 개의페 이지를보여주게된다. 1. Definitinon 탭 Definition 탭에표시되는정보는선택된객체의종류에따라다양하게표현된다. BDE 앨리어스가선택된경우에는그앨리어스의정보에대한 BDE 환경설정정보가표시되며, 테이블의필드가선택된경우에는 Definition 탭에필드구조에대한정보가표시된다. 대부분의경우에 Definition 탭에표시되는정보는편집할수없다. 데이터베이스나테이블, 필드등을 restructure 하는경우 Enter SQL 탭또는벤더에서제공하는소프트웨어를이용할수있다. 데이터베이스에접속되지않은경우에는 BDE 환경설정정보를직접편집할수있다. 2. Text 탭 Text 탭은선택된객체에대한메타-데이터정보를얻기위해데이터베이스쿼리를이용할때사용된다. 이정보는 SQL 스크립트로변경되어 Text 탭에표시된다. 이기능은테이블등의객체의구조를복제하여생성할때매우편리하게사용될수있다. 개발자는단순히원본객체를선택하고, SQL 스크립트를클립보드로복사한후, 이를 Enter SQL 탭에붙여넣어서사용하면된다. 3. Data 탭 Data 탭에는선택된테이블의데이터를탐색하고편집할수있게한다. 데이터는그리드의형태로표시되며, blob 데이터가있을경우에는 Explore Blob 스피드버튼을이용해서그내용을볼수있다. 데이터베이스데스크탑과마찬가지로실제데이터의편집이가능하므로편리하게사용할수있다.
4. Enter SQL 탭 Enter SQL 탭에서는선택된데이터베이스에대한 SQL 문장을실행할수있도록해준다. 여기에테이블을생성하거나, 권한부여, 트리거의생성과저장프로시저를생성하고실행 하는등의여러가지작업을할수있다.
SQL 문장을실행하려면, 앞의그림과같이 SQL 문장을쳐넣고번개모양의버튼을클릭하면된다. Select 문등을이용하여 SQL 문장을실행하면결과세트가반환되는데, 이내용은쿼리문의바로아래에나타나므로쿼리문장을테스트하는데대단히편리한환경이다. ODBC 를통해 DBMS 에접근하기 델파이가처음나왔을때에는 BDE 에의해파라독스와디베이스에접근하는것이가능했지만, 다른데이터베이스에접근하기위해서는 ODBC 를사용해야한다. 그런데, 문제는생각보다 ODBC 드라이버를설정하고이를이용하는것이간단하지않다는것이었다. 그런데, 델파이 4 에서는 SQL 탐색기를이용하여간단하게 ODBC 드라이버와 BDE 앨리어스가연동이된다. ODBC 드라이버가설정되면그내용이즉시 SQL 탐색기에앨리어스로접근이가능하기때문에, 대단히쉽게 ODBC 소스를설정하고여기에접근할수있게되었다. ODBC 를설정하기위해서는 SQL 탐색기의 Object ODBC Administrator 메뉴를선택한다. 이것에의해실행되는 ODBC 설정유틸리티는, 다음과같은제어판의 32 비트 ODBC 설정애플릿이다. 앞의그림에는필자가나름대로정의한 ODBC 원본이포함되어있다. 그러면, ODBC 원본을추가하고이를델파이에서사용할수있도록해보자. 먼저, 추가 버튼을눌러서새로운 ODBC 원본을추가하도록한다. 이버튼을누르면윈도우에추가된 ODBC 드라이버의
세트가나열된다. 여기서, 엑세스 97 의 ODBC 드라이버를설정하도록해보자. 드라이버 로 Microsoft Access Driver 를선택하고, 다음과같이이름과설명을설정한다. 그리고, 선택 버튼을클릭하여.mdb 파일을선택한다. 필자는 Microsoft Office\Office 디렉토리에있는 EMPLOYEE.MDB 파일을선택하였다. 그러면, 이제확인버튼을누르면설정이끝난다. 델파이를종료하고, SQL 탐색기를새로시작하면 Access Samples 라는새로운앨리어스가 Databases pane 에추가되어있을것이다. 이객체를선택하고접근하려하면사용자이름과패스워드를묻는데, 여기에 Admin 을사용자이름에입력하고패스워드는비운채로 확인 버튼을누르면 Employee.mdb 파일에접근할수있게된다. 이와같이 ODBC 를설정하는방법은 ODBC 드라이버의종류가어떤것이냐에따라달라진다. 이를위해서는설치할 ODBC 드라이버의사용법을익혀두어야한다. 어쨌든, SQL 탐색기를통해 ODBC 소스에접근하게되면여기에담겨있는테이블에접근할수있으며앞에서 DBDEMOS 앨리어스에있는여러가지테이블에접근하는것과마찬가지로다음과같이데이터를직접탐색하고, SQL 문장을입력할수있다.
데이터사전 (Data Dictionary) 데이터사전은일반언어사전과마찬가지로데이터베이스에대한사전의역할을한다. 데이터사전은여러데이터베이스를정의하고, 사용된용어의의미를알려준다. 데이터베이스사전에서단어에해당되는것이데이터베이스이며, 모든저장프로시저와쿼리뿐만아니라테이블및인덱스에대한정의를표시한다. 데이터사전을작성하려면우선 SQL 탐색기에서사용할데이터베이스를지정해주어야한다. 그리고, 하드디스크에데이터사전디렉토리를원하는디렉토리를지정하여작성한다. 이디렉토리는이후데이터에대한모든정의가저장되는위치이다. 데이터사전폴더에새로운데이터베이스항목을추가해야하는데, 표준 (Standard) 드라이버는디렉토리에패스를추가하는것만큼이나항목을간단하게해준다. 1. 데이터사전의작성 먼저 Databases pane 에서 New 명령을선택한후, 드라이버 type 을 STANDARD 로설정한다. 그리고, 사용하려는디렉토리를지정한다 (c:\temp\sample 등 ). 이렇게지정한데이터베이스앨리어스의이름을 Sample 이라고지정한다. 이제 SQL 탐색기를종료한후, 다시시작한다. 그리고, Dictionary pane 을선택한후오른쪽버튼을클릭하면나오는명령중에 New 를선택한다. 대화상자가나타나면다음과같이 Sample 앨리어스를선택하
고, 사전의이름을 SampleDictionary 로설정한다. 이렇게하면, 새로운데이터사전이정의된다. 데이터베이스사전을작성하는데에는시간이많이걸릴수도있다. 특히, 원격서버의 SQL 데이터베이스에저장할경우에는더욱그렇다. 일단데이터베이스데스크탑에서이작업이완료되면, 정보패널에사전항목이나타난다. 사전을정의했으면실제데이터를추가한다. 데이터베이스를추가할때에는 Dictionary Import 명령을이용한다. 여기서는 Import Database 를선택하여데이터사전을작성할것이다. 이명령을선택하면대화상자가나타나는데, 여기에서데이터사전을만들데이터베이스를선택한다. 여기서는 DBDEMOS 를선택하고 OK 버튼을클릭하면, 데이터사전을만드는작업이시작된다. 데이터사전이다만들어지면다음과같이데이터베이스목록이나타난다. 2. 데이터속성정의하기
데이터사전을사용하는가장큰목적은데이터베이스의여러필드에대한속성을직접관리하는것이다. 데이터사전의 Attribute Sets 섹션에는데이터사전에서정의된모든속성이포함되어있다. 속성 (Attribute) 이란데이터베이스필드에적용할수있는데이터의포맷, 최소-최대값, 정렬, 정밀도등의정보의컬렉션이다. 이런속성을활용할수있는것은, 여러어플리케이션에특정필드를같은방식으로정의한다고할때그필드에대한내용을적당한속성으로설정하면관리나, 재사용의측면에서바람직하다고말할수있다. 예를들어우편번호나주소, 전화번호와같이항상같은형식으로사용할수있는필드의내용을새로운속성 (Attibute) 으로등록하고, 이런필드형을사용하는데이터베이스가있으면직접데이터사전에서속성세트를검색하여지정하도록하는것이다. 다음은우편번호에대한새로운속성을등록하는실제예를보여주는그림이다. 새로운속성을생성하는방법은간단하다. Attribute Sets 객체를선택하고, 오른쪽버튼을클릭한후 New 명령을선택한다. 새로운 Attribute 가추가되었으면, 이름을적당히변경하고원하는형태로각종속성들을설정하면된다. 참고로 Alignment, ReadOnly, Required, Visible 프로퍼티와 TControlClass 를잘설정하면, 필드에디터에서폼으로드
래그 - 드롭했을때설정한속성에대한컨트롤이폼위에자동으로생성된다. 정리 (Summary) 이번장에서는데이터베이스어플리케이션을작성하면서유용하게사용할수있는각종유틸리티프로그램의사용방법에대해서알아보았다. 사용하기에따라서는매우유용하게사용하는사람도있을수있겠고, 어떤사람은거의사용하지않고모든것을코드로해결할수도있을것이다. 그렇지만, 구슬이서말이라도꿰어야보배라는속담도있지않은가? 사용하라고제공된도구를거들떠보지않는다면, 그거야말로낭비가될것이다. 이번장의내용을다시한번살펴보고, 앞으로데이터베이스어플리케이션을사용할때적극적으로사용하는지혜를기르기를기원한다.