Sei sulla pagina 1di 222

Designed by

Mr. hashank gnihotri DCA,PGDCA,O Level, A Level, BCA, MCA, M.Phill, PhD (Pur) Associate Professor Information Technolo ! De"t. GI#T, $ota, %a&asthan

Authors ' Pu(lisher

Edition ) *+,+ Version ,.,.+ Notice: -ithout -riter "rior "ermission of the authors . "u(lishers, no "erson . "u(lic. institute shoul/ use to full . "ast of the Te0t . Desi n . 1uestion . material of the (oo2. If an! (o/! . "u(lication is foun/ /oin so, le al action 3ill (e ta2en a ainst accor/in l!.

Shashank Agnihotri

About the Book


This (oo2 is (asicall! use/ for 4tu/ents of B.Tech.(Com"uter 4cience . Information Technolo !), BCA, MCA, M.4c The (oo2 covers com"lete DBM4 La( 3or2, Assi nments, Minor Pro&ect la!out, 1uestionin 5 Ans3erin 3hich are enerall! enerate Intervie3 . 6iva7 6oice ' La(s. The (oo2 hel"s the stu/ent to un/erstan/ %elational Data (ase conce"t. Basically This Book is based on B.Tech. (CS/IT) Syllabus of RT .

About
Language Team ( LT) is a Institute of Engineering Subject Studies, placed at Plot No 6, Jawahar Nagar Main Road, Opp. Petrol PumpJawahar Nagar, Kota, Rajasthan provide the conceptual classes of Computer Engineering & Technolog , The main objective of the LT is to providing help of those student !ho are not scoring high in e"amination but have a big talent & #ctiveness$

Thanks
-e are ver! than2ful to all of the res"ecte/ "ersons 3ho hel" an/ (lessin us to "u(lishin this Boo2.

RAJASTHAN TECHN CA! "N VERS T# V$ Se%& '()($)) DATABASE !AB * Co%%on to Co%+& Engg& , n-o& Tech . Class) 6 4em. B.Tech. #valuation Ma0imum Mar2s 8 ,++ Branch) I.T. . C.4. 9 4essional . Mi/7term (:+) ' #n/7term(;+) <

O(&ectives) At the en/ of the semester, the stu/ents shoul/ have clearl! un/erstoo/ an/ im"lemente/ the follo3in ) ,. *. =. ;. ?. :. B. C. 4tatin a /ata(ase /esi n "ro(lem. Pre"arin #% /ia ram >in/in the /ata fiel/s to (e use/ in the /ata(ase. 4electin fiel/s for 2e!s. @ormaliAin the /ata(ase inclu/in anal!sis of functional /e"en/encies. Installin an/ confi urin the /ata(ase server an/ the front en/ tools. Desi nin /ata(ase an/ 3ritin a""lications for mani"ulation of /ata for a stan/ alone an/ share/ /ata (ase inclu/in conce"ts li2e concurrenc! control, transaction roll (ac2, lo in , re"ort eneration etc. Get acDuainte/ 3ith 41L. In or/er to achieve the a(ove o(&ectives, it is e0"ecte/ that each stu/ents 3ill chose one "ro(lem. The im"lementation shall (ein 3ith the statement of the o(&ectives to (e achieve/, "re"arin #% /ia ram, /esi nin of /ata(ase, normaliAation an/ finall! mani"ulation of the /ata(ase inclu/in eneration of re"orts, vie3s etc. The "ro(lem ma! first (e im"lemente/ for a stan/alone s!stem to (e use/ (! a sin le user. All the a(ove ste"s ma! then (e follo3e/ for /evelo"ment of a /ata(ase a""lication to (e use/ (! multi"le users in a client server environment 3ith access control. The a""lication shall @OT use 3e( techniDues. One e0ercise ma! (e assi ne/ on creation of ta(le, mani"ulation of /ata an/ re"ort eneration usin 41L.

Suggested Too/s: >or stan/alone environment, 6isual >o0Pro or an! similar /ata(ase havin (oth the /ata(ase an/ mani"ulation lan ua e ma! (e use/. >or multi7user a""lication, ME4Dl is su este/. Fo3ever, an! other /ata(ase ma! also (e use/. >or front en/, 6B.@et, Gava, 6B 4cri"t or an! other convenient (ut currentl! use/ (! in/ustr! ma! (e chosen. In/icative List of e0ercises) ,. *. =. ;. ?. :. 4tu/ent information s!stem for !our colle e. 4tu/ent rievance re istration an/ re/ressal s!stem. A vi/eo li(rar! mana ement s!stem for a sho". Inventor! mana ement s!stem for a har/3are. sanitar! item sho". Inventor! mana ement s!stem for !our colle e. Guarantee mana ement s!stem for the eDui"ments in !our colle e.

Contents o- Book

S No +, +* += +; +? +: +B +C +I ,+ ,, ,* ,= ,; ,? ,: ,B ,B., ,B.* ,B.= ,B.; ,B.? ,B.: ,C ,I *+

To+ic Intro/uction of Data Base Hses of Data(ase in %eal Life Overvie3 of 41L DDL, DML an/ DCL Comman/s 3ith #0am"les %elational Data(ases 4tatin a /ata(ase /esi n "ro(lem. Pre"arin #% /ia ram ' D>D >in/in the /ata fiel/s to (e use/ in the /ata(ase 4electin fiel/s for 2e!s @ormaliAin the /ata(ase inclu/in anal!sis of functional /e"en/encies Installin an/ confi urin the /ata(ase server an/ the front en/ tools Desi nin /ata(ase an/ 3ritin a""lications for mani"ulation of /ata for a stan/ alone an/ share/ /ata (ase >ront #n/ ' Bac2 #n/ Conce"t 6B.@et, Gava, 6B 4cri"t 6isual Basic &@#T (6B B) ME41L, 6isual >o0"ro3 0R1JECTS 4tu/ent information s!stem for !our colle e. 4tu/ent rievance re istration an/ re/ressal s!stem. A vi/eo li(rar! mana ement s!stem for a sho". Inventor! mana ement s!stem for a har/3are. sanitar! item sho". Inventor! mana ement s!stem for !our colle e. Guarantee mana ement s!stem for the eDui"ments in !our colle e. !AB 2AN"A!S 1uestion 5 Ans3ers #0am"les

0age No

ntroduction o- Data Base

3hat is a database4 A /ata(ase is a collection of information that is or aniAe/ so that it can easil! (e accesse/, mana e/, an/ u"/ate/. In one vie3, /ata(ases can (e classifie/ accor/in to t!"es of content) (i(lio ra"hic, full7te0t, numeric, an/ ima es. In com"utin , /ata(ases are sometimes classifie/ accor/in to their or aniAational a""roach. The most "revalent a""roach is the relational /ata(ase, a ta(ular /ata(ase in 3hich /ata is /efine/ so that it can (e reor aniAe/ an/ accesse/ in a num(er of /ifferent 3a!s. A /istri(ute/ /ata(ase is one that can (e /is"erse/ or re"licate/ amon /ifferent "oints in a net3or2. An o(&ect7oriente/ "ro rammin /ata(ase is one that is con ruent 3ith the /ata /efine/ in o(&ect classes an/ su(classes. Com"uter /ata(ases t!"icall! contain a re ations of /ata recor/s or files, such as sales transactions, "ro/uct catalo s an/ inventories, an/ customer "rofiles. T!"icall!, a /ata(ase mana er "rovi/es users the ca"a(ilities of controllin rea/.3rite access, s"ecif!in re"ort eneration, an/ anal!Ain usa e. Data(ases an/ /ata(ase mana ers are "revalent in lar e mainframe s!stems, (ut are also "resent in smaller /istri(ute/ 3or2station an/ mi/7ran e s!stems such as the A4.;++ an/ on "ersonal com"uters. 41L (4tructure/ 1uer! Lan ua e) is a stan/ar/ lan ua e for ma2in interactive Dueries from an/ u"/atin a /ata(ase such as IBMJs DB*, MicrosoftJs Access, an/ /ata(ase "ro/ucts from Oracle, 4!(ase, an/ Com"uter Associates. A Database 2anage%ent Syste% (DB2S) is a set of com"uter "ro rams that controls the creation, maintenance, an/ the use of a /ata(ase. It allo3s or aniAations to "lace control of /ata(ase /evelo"ment in the han/s of /ata(ase a/ministrators (DBAs) an/ other s"ecialists. A DBM4 is a s!stem soft3are "ac2a e that hel"s the use of inte rate/ collection of /ata recor/s an/ files 2no3n as /ata(ases. It allo3s /ifferent user a""lication "ro rams to easil! access the same /ata(ase. DBM4s ma! use an! of a variet! of /ata(ase mo/els, such as the net3or2 mo/el or relational mo/el. In lar e s!stems, a DBM4 allo3s users an/ other soft3are to store an/ retrieve /ata in a structure/ 3a!. Instea/ of havin to 3rite com"uter "ro rams to e0tract information, user can as2 sim"le Duestions in a Duer! lan ua e. Thus, man! DBM4 "ac2a es "rovi/e >ourth7 eneration "ro rammin lan ua e (;GLs) an/ other a""lication /evelo"ment features. It hel"s to s"ecif! the lo ical or aniAation for a /ata(ase an/ access an/ use the information 3ithin a /ata(ase. It "rovi/es facilities for controllin /ata access, enforcin /ata inte rit!, mana in concurrenc!, an/ restorin the /ata(ase from (ac2u"s. A DBM4 also "rovi/es the a(ilit! to lo icall! "resent /ata(ase information to users A DBM4 is a set of soft3are "ro rams that controls the or aniAation, stora e, mana ement, an/ retrieval of /ata in a /ata(ase. DBM4s are cate oriAe/ accor/in to their /ata structures or t!"es. The DBM4 acce"ts reDuests for /ata from an a""lication "ro ram an/ instructs the o"eratin s!stem to transfer the a""ro"riate /ata. The Dueries an/ res"onses must (e su(mitte/ an/ receive/ accor/in to a format that conforms to one or more a""lica(le "rotocols. -hen a DBM4 is use/, information s!stems can (e chan e/ much more easil! as the or aniAationJs information reDuirements chan e. @e3 cate ories of /ata can (e a//e/ to the /ata(ase 3ithout /isru"tion to the e0istin s!stem. Data(ase servers are com"uters that hol/ the actual /ata(ases an/ run onl! the DBM4 an/ relate/ soft3are. Data(ase servers are usuall! multi"rocessor com"uters, 3ith enerous memor! an/ %AID /is2 arra!s use/ for sta(le stora e. Far/3are /ata(ase accelerators, connecte/ to one or more servers via a hi h7s"ee/ channel, are also use/ in lar e volume transaction "rocessin environments. DBM4s are foun/ at the heart of most /ata(ase a""lications. DBM4s ma! (e (uilt aroun/ a custom multitas2in 2ernel 3ith (uilt7in net3or2in su""ort, (ut mo/ern DBM4s t!"icall! rel! on a stan/ar/ o"eratin s!stem to "rovi/e these functions. A /ata(ase mana ement s!stem (DBM4), sometimes &ust calle/ a database manager, is a "ro ram that lets one or more com"uter users create an/ access /ata in a /ata(ase. The DBM4 mana es user reDuests (an/ reDuests from other

"ro rams) so that users an/ other "ro rams are free from havin to un/erstan/ 3here the /ata is "h!sicall! locate/ on stora e me/ia an/, in a multi7user s!stem, 3ho else ma! also (e accessin the /ata. In han/lin user reDuests, the DBM4 ensures the integrity of the /ata (that is, ma2in sure it continues to (e accessi(le an/ is consistentl! or aniAe/ as inten/e/) an/ security (ma2in sure onl! those 3ith access "rivile es can access the /ata). The most t!"ical DBM4 is a relational /ata(ase mana ement s!stem (%DBM4). A stan/ar/ user an/ "ro ram interface is the 4tructure/ 1uer! Lan ua e (41L). A ne3er 2in/ of DBM4 is the o(&ect7oriente/ /ata(ase mana ement s!stem (ODBM4). A DBM4 can (e thou ht of as a file manager that mana es /ata in /ata(ases rather than files in file s!stems. In IBMJs mainframe o"eratin s!stems, the nonrelational /ata mana ers 3ere (an/ are, (ecause these le ac! a""lication s!stems are still use/) 2no3n as access methods. A DBM4 is usuall! an inherent "art of a /ata(ase "ro/uct. On PCs, Microsoft Access is a "o"ular e0am"le of a sin le7 or small7 rou" user DBM4. MicrosoftJs 41L 4erver is an e0am"le of a DBM4 that serves /ata(ase reDuests from multi"le (client) users. Other "o"ular DBM4s (these are all %DBM4s, (! the 3a!) are IBMJs DB*, OracleJs line of /ata(ase mana ement "ro/ucts, an/ 4!(aseJs "ro/ucts. IBMJs Information Mana ement 4!stem (IM4) 3as one of the first DBM4s. A DBM4 ma! (e use/ (! or com(ine/ 3ith transaction mana ers, such as IBMJs Customer Information Control 4!stem (CIC4).

'

"ses o- Database in Rea/ !i-e Real!"ife #atabase $%a&'les To sa! that the /ata(ases are ever!3here 3oul/ (e an un/erstatement. The! virtuall! "ermeate our lives) Online stores, health care "rovi/ers, clu(s, li(raries, vi/eo stores, (eaut! salons, travel a encies, "hone com"anies, overnment a encies li2e >BI, I@4, I%4, an/ @A4A K the! all use /ata(ases. These /ata(ases can (e ver! /ifferent in their nature an/ usuall! have to (e s"ecificall! /esi ne/ to cater to some s"ecial customer nee/s. Fere are some e0am"les. Note All relational /ata(ases can (e /ivi/e/ into t3o main cate ories accor/in to their "rimar! function K online transaction processing (OLTP) an/ data warehouse s!stems. OLTP t!"icall! has man! users simultaneousl! creatin an/ u"/atin in/ivi/ual recor/sL in other 3or/s itJs volatile an/ com"utation7intensive. Data 3arehouse is a /ata(ase /esi ne/ for information "rocessin an/ anal!sis, 3ith focus on "lannin for the future rather than on /a!7to7/a! o"erations. The information in these is not oin to chan e ver! often, 3hich ensures the information consistenc! (re"eata(le result) for the users. In the real 3orl/ most s!stems are h!(ri/s of these t3o, unless s"ecificall! /esi ne/ as /ata 3arehouse.

1rder %anage%ent syste% database A t!"ical /ata(ase for a com"an! that sells (uil/in materials mi ht (e arran e/ as follo3s) The com"an! must have at least one customer. #ach customer in the /ata(ase is assi ne/ one or more a//resses, one or more contact "hones, an/ a /efault sales"erson 3ho is the liaison (et3een the customer an/ the com"an!. The com"an! sells a variet! of "ro/ucts. #ach "ro/uct has a "rice, a /escri"tion, an/ some other characteristics. Or/ers can (e "lace/ for one or more "ro/uct at a time. #ach "ro/uct lo icall! forms an or/er line. -hen an or/er is com"lete it can (e shi""e/ an/ then invoice/. Invoice num(er an/ shi"ment num(er are "o"ulate/ automaticall! in the /ata(ase an/ can not (e chan e/ (! users. #ach or/er has a status assi ne/ to it) COMPL#T#, 4FIPP#D, I@6OIC#D, an/ so on. The /ata(ase also contains s"ecific shi"ment information ((ill of la/in num(er, num(er of (o0es shi""e/, /ates, an/ so on). Hsuall! one shi"ment contains one or/er, (ut the /ata(ase is /esi ne/ in such a 3a! that one or/er can (e /istri(ute/ (et3een more than one shi"ment, as 3ell as one shi"ment can contain more than one or/er. 4ome constraints also e0ist in the /ata(ase. >or e0am"le, some fiel/s cannot (e em"t!, an/ some other fiel/s can contain onl! certain t!"es of information. Eou alrea/! 2no3 that a /ata(ase is a multi user environment (! /efinition. ItJs a common "ractice to rou" users accor/in to the functions the! "erform an/ securit! levels the! are entitle/ to. The or/er mana ement s!stem /escri(e/ here coul/ have three /ifferent user rou"s) 4ales /e"artment cler2sJ function is to enter or mo/if! or/er an/ customer informationL shi""in /e"artment em"lo!ees create an/ u"/ate shi"ment /ataL 3arehouse su"ervisors han/le "ro/ucts. In a//ition, all three user rou"s vie3 /iverse /ata(ase information un/er /ifferent an les, usin re"orts an/ a/7hoc Dueries. -eJll use this /ata(ase, 3hich 3eJll call ACM#, throu hout this (oo2 for e0am"les an/ e0ercises. ACM# /ata(ase is a sim"lifie/ version of a real "ro/uction /ata(ase. It has onl! ,= ta(les, an/ the real one 3oul/ easil! have over a hun/re/. Fealth care "rovi/er /ata(ase A health "rovi/er com"an! has multi"le offices in man! /ifferent states. Man! /octors 3or2 for the com"an!, an/ each /octor ta2es care of multi"le "atients. 4ome /octors &ust 3or2 in one office, an/ others 3or2 in /ifferent offices on /ifferent /a!s. The /ata(ase 2ee"s information a(out each /octor, such as name, a//ress, contact "hones, area of s"ecialiAation, an/ so on. #ach "atient can (e assi ne/ to one or more /octors. 4"ecific "atient information is also 2e"t in the /ata(ase (name, a//ress, "hones, health recor/ num(er, /ate of (irth, histor! of a""ointments, "rescri"tions, (loo/ tests, /ia noses, etc.). Customers can sche/ule an/ cancel

a""ointments an/ or/er "rescri"tion /ru s either over the "hone or usin the com"an! -e( site. 4ome restrictions a""l! K for e0am"le, to see a s"ecialist, the "atient nee/s an a""roval from his.her "rimar! "h!sicianL to or/er a "rescri"tion the "atient shoul/ have at least one vali/ refill left, an/ so on. @o3, 3hat are the main /ata(ase user rou"sM Patients shoul/ (e a(le to access the /ata(ase usin a -e( (ro3ser to or/er "rescri"tions an/ ma2e a""ointments. This is all that "atients ma! /o in the /ata(ase. Doctors an/ nurses can (ro3se information a(out their "atients, 3rite an/ rene3 "rescri"tions, sche/ule (loo/ tests an/ N7%a!s, an/ so on. A/ministrative staff (rece"tionists, "harmac! assistants) can sche/ule a""ointments for "atients, fill "rescri"tions, an/ run s"ecific re"orts. A ain, in real life this /ata(ase 3oul/ (e far more com"licate/ an/ 3oul/ have man! more (usiness rules, (ut our main oal no3 is &ust to ive a eneral i/ea 3hat 2in/ of information a /ata(ase coul/ contain. The health "rovi/er an/ or/er mana ement s!stem /ata(ases are (oth e0am"les of a t!"ical hybrid /ata(ase (thou h the former is "ro(a(l! closer to an OLTP). 4cientific /ata(ase A /ata(ase for enome research an/ relate/ research areas in molecular an/ cellular (iolo ! can (e a oo/ e0am"le of a scientific /ata(ase. It contains ene catalo s for com"letel! seDuence/ enomes an/ some "artial enomes, enome ma"s an/ or anism information, an/ /ata a(out seDuence similarities amon all 2no3n enes in all or anisms in the /ata(ase. It also contains information on molecular interaction net3or2s in the cell an/ chemical com"oun/s an/ reactions. This /ata(ase has &ust one user rou" K all researchers have the same access to all the information. This is an e0am"le of a /ata 3arehouse. @on"rofit or aniAation /ata(ase A /ata(ase of an antiDue automo(ile clu( can (e "rett! sim"le. Also, such an or aniAation 3oul/ not t!"icall! have too man! mem(ers, so the /ata(ase is not oin to (e ver! lar e. Eou nee/ to store mem(ersJ "ersonal information such as a//ress, "hone num(er, area of interest, an/ so on. The /ata(ase mi ht also contain the information a(out the autos ((ran/, !ear, color, con/ition, etc.). Autos are tie/ to their o3ners (mem(ers of the clu(). #ach mem(er can have one or more vehicles, an/ a vehicle can (e o3ne/ (! &ust one mem(er. The /ata(ase 3oul/ onl! have a fe3 users K "ossi(l!, the chairman of the clu(, an assistant, an/ a secretar!. The last t3o e0am"les are not (usiness7critical /ata(ases an/ /onJt have to (e im"lemente/ on e0"ensive enter"rise soft3are. The /ata still have to (e 2e"t safel! an/ shoul/ not (e lost, (ut in case of, letJs sa!, har/3are failure it "ro(a(l! can 3ait a /a! or t3o (efore the /ata(ase is restore/ from a (ac2u". 4o, the use of a free /ata(ase, li2e m!41L, Post re41L, or even nonrelational Pos res is a""ro"riate. Another oo/ choice mi ht (e M4 Access, 3hich is a "art of Microsoft Office ToolsL if !ou (ou ht M4 Office &ust (ecause !ou 3ant to use -or/ an/ #0cel, !ou shoul/ (e a3are that !ouJve ot a free relational /ata(ase as 3ell. (M4 Access 3or2s 3ell 3ith u" to ,? users.)

5&

16er6ie7 o- S8! DD!9 D2! and DC! Co%%ands 3ith E:a%+/es&

DD! is Data De-inition !anguage state%ents& So%e e:a%+/es: C%#AT# 7 to create o(&ects in the /ata(ase ALT#% 7 alters the structure of the /ata(ase D%OP 7 /elete o(&ects from the /ata(ase T%H@CAT# 7 remove all recor/s from a ta(le, inclu/in all s"aces allocate/ for the recor/s are remove/ COMM#@T 7 a// comments to the /ata /ictionar! G%A@T 7 ives userJs access "rivile es to /ata(ase %#6O$# 7 3ith/ra3 access "rivile es iven 3ith the G%A@T comman/ DML is Data Mani"ulation Lan ua e statements. 4ome e0am"les) 4#L#CT 7 retrieve /ata from the a /ata(ase I@4#%T 7 insert /ata into a ta(le HPDAT# 7 u"/ates e0istin /ata 3ithin a ta(le D#L#T# 7 /eletes all recor/s from a ta(le, the s"ace for the recor/s remain CALL 7 call a PL.41L or Gava su("ro ram #NPLAI@ PLA@ 7 e0"lain access "ath to /ata LOC$ TABL# 7 control concurrenc! DCL is Data Control Lan ua e statements. 4ome e0am"les) COMMIT 7 save 3or2 /one 4A6#POI@T 7 i/entif! a "oint in a transaction to 3hich !ou can later roll (ac2 %OLLBAC$ 7 restore /ata(ase to ori inal since the last COMMIT 4#T T%A@4ACTIO@ 7 Chan e transaction o"tions li2e 3hat roll(ac2 se ment to use Basic S8! DD! Co%%ands& To +ractice basic S8! DD! Co%%ands such as CREATE9 DR109 etc& )& S8! $ CREATE TAB!E Synta:: CREATE TAB!E tab/ena%e *co/u%n;na%e data; ty+e constraints9 <. E:a%+/e: N0"T: 41LO C%#AT# TABL# #m" ( #m"@o short CO@4T%AI@T P$e! P%IMA%E $#E, #@ame 6arChar(,?), Go( Char(,+) CO@4T%AI@T Hni2, H@I1H#, M r short CO@4T%AI@T >$e!, %#>#%#@C#4 #MP (#m"@o), Fire/ate Date, De"t@o short CO@4T%AI@T >$e!* %#>#%#@C#4 D#PT(De"t@o))L RES"!T: Ta(le create/. 41LOCreate ta(le "ro *+ ("name varchar*(*+) not null), /o& /ate not null,/o( /ate not null, se0 varchar(,) not null, "rof, varchar(*+),"rof* varchar(*+),salar! num(er(B,*) not null)L RES"!T: Ta(le create/. 41LO/esc "ro *+L @ame @ullM T!"e 777777777777777777777777777777777 77777777 7777777777777777777777777777 P@AM# @OT @HLL 6A%CFA%*(*+) DOG @OT @HLL DAT# DOB @OT @HLL DAT# 4#N @OT @HLL 6A%CFA%*(,) P%O>, 6A%CFA%*(*+) P%O>* 6A%CFA%*(*+) 4ALA%E @OT @HLL @HMB#%(B,*)

'& S8! $ A!TER TAB!E N0"T: 41LOALT#% TABL# #MP ADD CO@4T%AI@T P2e!, P%IMA%E $#E (#m"@o)L RES"!T: Ta(le Altere/. 4imilarl!, ALT#% TABL# #MP D%OP CO@4T%AI@T P2e!,L 5& S8! $ DR10 TAB!E 5 Deletes ta(le structure 5 Cannot (e recovere/ 5 Hse 3ith caution N0"T: S8!= D%OP TABL# #MPL Fere #MP is ta(le name RES"!T: Ta(le Dro""e/. ;& TR"NCATE T%H@CAT# TABL# PTABL# @AM#OL Basic S8! D2! Co%%ands& To +ractice basic S8! D2! Co%%ands such as NSERT9 DE!ETE9 etc& )& S8! $ NSERT NT1 4!nta0) I@4#%T I@TO ta(lename 6ALH#4 (value list) 4in le7ro3 insert I@4#%T I@TO 4 6ALH#4(Q4=R,R4HP=R,RBLO%#R,,+) Insertin one ro3, man! columns at a time I@4#%T I@TO 4 (4@O, 4@AM#) 6ALH#4 (Q4,R, Q4mithR)L4,R 4mithR Insertin man! ro3s, all.some columns at a time. I@4#%T I@TO @#-S4HPPLI#% (4@O, 4@AM#) 4#L#CT 4@O, 4@AM# >%OM 4 -F#%# CITE I@ (QBLO%#R,RMAD%A4R) 1ther E:a%+/es: N0"T: 41LOInsert into "ro values (Q222R,R+?7ma!7?:R)L RES"!T: , ro3 create/. N0"T: 41LOInsert into "ro *+ values(QFemaR,R*?7se"t7+,R*C7&an7C?R,RfR,RcR,RcTTR,R*?+++R)L RES"!T: , ro3 create/. N0"T: 41LOInsert into "ro values(Q'"nameR,R'/o&R)L 41LO Insert into "ro values(J'"nameJ,J'/o&J)L #nter value for "name) ravi #nter value for /o&) ,?7&une7C, RES"!T: ol/ ,) Insert into "ro values(J'"nameJ,J'/o&J) ne3 ,) Insert into "ro values(JraviJ,J,?7&une7C,J) , ro3 create/. '& S8! $ "0DATE 4!nta0) HPDAT# ta(lename 4#T columnSname 8value 9 -F#%# con/ition<

E:a%+/es: HPDAT# 4#T CITE 8 Q$A@PH%R -F#%# 4@O8Q4,R HPDAT# #MP 4#T 4AL 8 ,.,+ U 4AL 41LO u"/ate em" set sal8*++++ 3here em"no8B=:IL , ro3 u"/ate/. 5& S8! $ DE!ETE >R12 4!nta0) D#L#T# >%OM ta(lename -F#%# con/ition E:a%+/es: D#L#T# >%OM 4P -F#%# P@O8 QP,R D#L#T# >%OM 4P N0"T: 41LODelete from em" 3here em"no8B=:IL RES"!T: , ro3 /elete/. Basic S8! DC! Co%%ands& To +ractice basic S8! DC! Co%%ands such as C122 T9 R1!!BAC? etc& )& C122 T Sa6e changes *transactiona/.& Synta:: COMMIT 9-O%$< 9COMM#@T Jcomment_textJ< COMMIT 9-O%$< 9>O%C# Jforce_textJ 9,int< < >1RCE $ 7i// %anua//y co%%it an in$doubt distributed transaction -orce;te:t $ transaction identi-ier *see the DBA;'0C;0END N@ 6ie7) int $ sets a s+eci-ic SCN& - a net7ork or %achine -ai/ure +re6ents a distributed transaction -ro% co%%itting +ro+er/y9 1rac/e 7i// store any co%%it co%%ent in the data dictionary a/ong 7ith the transaction D& N0"T: S8!=co%%itA RES"!T: Commit com"lete. '& R1!!BAC? "ndo 7ork done *transactiona/.& Synta:: %OLLBAC$ 9-O%$< 9TO 94A6#POI@T<Jsavepoint_text_identifierJ<L %OLLBAC$ 9-O%$< 9>O%C# Jforce_textJ<L >O%C# 7 3ill manuall! roll(ac2 an in7/ou(t distributed transaction N0"T: 41LOroll(ac2L RES"!T:%oll(ac2 com"lete. 5& SAVE01 NT Sa6e changes to a +oint *transactiona/.& Synta:: 4A6#POI@T text_identifier E:a%+/e) HPDAT# em"lo!ees 4#T salar! 8 I?+++ -F#%# lastSname 8 J4mithJL 4A6#POI@T &ustsmithL HPDAT# em"lo!ees

4#T salar! 8 ,++++++L 4A6#POI@T ever!oneL 4#L#CT 4HM(salar!) >%OM em"lo!eesL %OLLBAC$ TO 4A6#POI@T &ustsmithL COMMITL 3riting and 0ractice o- Si%+/e 8ueries& To 7rite si%+/e Bueries and +ractice the%& ,& @et the descri+tion o- E20 tab/e& 41LO/esc em"L RES"!T: @ame @ullM T!"e 77777777777777777777777777777777 77777777777777777777777 7777777777777777777777777 #MP@O @OT @HLL @HMB#%(;) #@AM# 6A%CFA%*(,+) GOB 6A%CFA%*(I) MG% @HMB#%(;) FI%#DAT# DAT# 4AL @HMB#%(B,*) COMM @HMB#%(B,*) D#PT@O @HMB#%(=) AG# @HMB#%(=) #4AL @HMB#%(,+) '& @et the descri+tion DE0T tab/e& 41LO/esc /e"tL RES"!T: @ame @ullM T!"e 777777777777777777777777777777777 777777777777777777777 777777777777777777777777777 D#PT@O @OT @HLL @HMB#%(*) D@AM# 6A%CFA%*(,;) LOC 6A%CFA%*(,=) 5&!ist a// e%+/oyee detai/s& 41LOselect U from em"L RES"!T: #MP@O #@AM# GOB MG% FI%#DAT# 4AL COMM D#PT@O AG# #4AL 77777777 7777777777 777777777 7777777777 777777777 7777777777 7777777777 7777777777 7777777777 77777777777777777 B=:I 4MITF CL#%$ BI+* ,B7D#C7C+ C++ + *+ *? + B;II ALL#@ 4AL#4MA@ B:IC *+7>#B7C, ,:++ =++ =+ *? + B?*, -A%D 4AL#4MA@ B:IC **7>#B7C, ,*?+ ?++ =+ *? + B?:: GO@#4 MA@AG#% BC=I +*7AP%7C, *IB? ?++ *+ *? + B:IC BLA$# MA@AG#% BC=I +,7MAE7C, *C?+ ,;++ =+ *? + C&!ist a// e%+/oyee na%es and their sa/aries9 7hose sa/ary /ies bet7een )D((E$ and 5D((E$ both inc/usi6e& N0"T 41LOselect ename from em" 3here sal (et3een ,?++ an/ =?++L RES"!T #@AM# 7777777777 ALL#@ GO@#4

BLA$# CLA%$ 4COTT TH%@#% >O%D russel re I ro3s selecte/. D& !ist a// e%+/oyee na%es and their and their %anager 7hose %anager is FG(' or FDHH (r FFIG& N0"T 41LOselect ename from em" 3here m r in(B:+*,B?::,BBCI)L RES"!T ENAME 7777777 4COTT >O%D H& !ist a// e%+/oyees 7hich starts 7ith either J or T& N0"T 41LOselect ename from em" 3here ename li2e QGVR or ename li2e QTVRL RES"!T: #@AM# 777777777 GO@#4 TH%@#% GAM#4 F& !ist a// e%+/oyee na%es and Jobs9 7hose Job tit/e inc/udes 2 or 0& N0"T 41LOselect ename,&o( from em" 3here &o( li2e QMVR or &o( li2e QPVRL RES"!T: ENAME JO 7777777777 777777777 GO@#4 MA@AG#% BLA$# MA@AG#% CLA%$ MA@AG#% $I@G P%#4ID#@T I& !ist a// Jobs a6ai/ab/e in e%+/oyee tab/e& N0"T 41LOselect /istinct &o( from em"L RES"!T: JO 777777777 A@ALE4T CL#%$ MA@AG#% P%#4ID#@T 4AL#4MA@ assistant cler2 B ro3s selecte/. G& !ist a// e%+/oyees 7ho be/ongs to the de+art%ent )( or '(& N0"T 41LOselect ename from em" 3here /e"tno in (,+,*+)L RES"!T:

#@AM# 7777777777 4MITF GO@#4 CLA%$ 4COTT $I@G ADAM4 >O%D MILL#% C ro3s selecte/. )(& !ist a// e%+/oyee na%es 9 sa/ary and )DK rise in sa/ary& N0"T 41LOselect ename , sal , salT+.,?U sal from em"L RES"!T: #@AM# 4AL 4ALT+.,?U4AL 7777777777 7777777777 777777777777 4MITF C++ I*+ ALL#@ ,:++ ,C;+ -A%D ,*?+ ,;=B.? GO@#4 *IB? =;*,.*? MA%TI@ ,*?+ ,;=B.? BLA$# *C?+ =*BB.? CLA%$ *;?+ *C,B.? B ro3s selecte/. ))& !ist %ini%u% 9 %a:i%u% 9 a6erage sa/aries o- e%+/oyee& N0"T 41LOselect min(sal),ma0(sal),av (sal) from em"L RES"!T: MI@(4AL) MAN(4AL) A6G(4AL) 777777777 7777777777 7777777777 = ?+++ ,I=:.I;,,C )'& >ind ho7 %any Job tit/es are a6ai/ab/e in e%+/oyee tab/e& N0"T 41LOselect count (/istinct &o() from em"L RES"!T: COH@T(DI4TI@CTGOB) 777777777777777777 B )5& 3hat is the di--erence bet7een %a:i%u% and %ini%u% sa/aries oe%+/oyees in the organiLation4 N0"T 41LOselect ma0(sal)7min(sal) from em"L RES"!T: MAN(4AL)7MI@(4AL) 77777777777777777 ;IIB )C& Dis+/ay a// e%+/oyee na%es and sa/ary 7hose sa/ary is greater than %ini%u% sa/ary o- the co%+any and Job tit/e starts 7ith M2N& N0"T 41LOselect ename,sal from em" 3here &o( li2e QMVR an/ sal O (select min (sal) from em")L RES"!T

ENA2E SA! 7777777777 7777777777 GO@#4 *IB? BLA$# *C?+ CLA%$ *;?+ )D& >ind ho7 %uch a%ount the co%+any is s+ending to7ards sa/aries& N0"T 41LOselect sum (sal) from em"L RES"!T 4HM(4AL) 777777777 =*I*C )H& Dis+/ay na%e o- the de+t& 7ith de+tno '(& N0"T 41LOselect ename from em" 3here /e"tno 8 *+L RES"!T ENA2E 7777777777 4MITF GO@#4 4COTT ADAM4 )F& !ist ena%e 7hose co%%ission is N"!!& N0"T 41LOselect ename from em" 3here comm is nullL ENA2E RES"!T 7777777777 CLA%$ 4COTT $I@G ADAM4 GAM#4 >O%D : ro3s selecte/. )I& >ind no&o- de+t in e%+/oyee tab/e& N0"T 41LOselect count (/istinct ename) from em"L RES"!T COH@T(DI4TI@CT#@AM# 77777777777777777777 ,B )G& !ist ena%e 7hose %anager is not N"!!& N0"T 41LOselect ename from em" 3here m r is not nullL RES"!T #@AM# 7777777777 4MITF ALL#@ -A%D GO@#4 MA%TI@ ? ro3s selecte/.

3riting 8ueries using @R1"0 B# and other c/auses& To 7rite Bueries using c/auses such as @R1"0 B#9 1RDER B#9 etc& and retrie6ing in-or%ation by Joining tab/es& Source tab/es: em", /e"t, "ro rammer, soft3are, stu/!. 1rder by : The or/er (! clause is use/ to /is"la! the results in sorte/ or/er. @rou+ by ) The attri(ute or attri(utes iven in the clauses are use/ to form rou"s. Tu"les 3ith the same value on all attri(utes in the rou" (! clause are "lace/ in one rou". Ha6ing) 41L a""lies "re/icates (con/itions) in the havin clause after rou"s have (een forme/, so a re ate function (e use/. )& Dis+/ay tota/ sa/ary s+ent -or each Job category& N0"T 41LOselect &o(,sum (sal) from em" rou" (! &o(L RES"!T GOB 4HM(4AL) 777777777 7777777777 A@ALE4T :+++ CL#%$ *=+?+ MA@AG#% C*B? P%#4ID#@T ?+++ 4AL#4MA@ ?:++ assistant **++ cler2 *++= B ro3s selecte/. '& Dis+/ay /o7est +aid e%+/oyee detai/s under each %anager& N0"T 41LOselect ename, sal from em" 3here sal in (select min(sal) from em" rou" (! m r)L RES"!T $(AM$ SA" 7777777777 7777777777 chai = GAM#4 I?+ MILL#% ,+++ ADAM4 ,,++ russel **++ ? ro3s selecte/. 5& Dis+/ay nu%ber o- e%+/oyees 7orking in each de+art%ent and their de+art%ent na%e& N0"T 41LO select /name, count (ename) from em", /e"t 3here em"./e"tno8/e"t./e"tno rou" (! /nameL RES"!T D@AM# COH@T(#@AM#) 77777777777777 777777777777 ACCOH@TI@G = %#4#A%CF ? SA"$S ) C& Dis+/ay the sa/es cost o- +ackage de6e/o+ed by each +rogra%%er&

N0"T 41LOselect "name, sum(scost) from soft3are rou" (! "nameL RES"!T P@AM# 4HM(4CO4T) 77777777777777777777 7777777777 &ohn ,*+++ 2amala ,*+++ ra&u ,*=== = ro3s selecte/. D& Dis+/ay the nu%ber o- +ackages so/d by each +rogra%%er& N0"T 41LOselect "name, count(title) from soft3are rou" (! "nameL RES"!T P@AM# COH@T(TITL#) 77777777777777777777 777777777777 &ohn , 2amala , ra&u , ramana , rani , ? ro3s selecte/. H& Dis+/ay the nu%ber o- +ackages in each /anguage -or 7hich the de6e/o+%ent cost is /ess than thousand& N0"T 41LOselect /evin, count(title) from soft3are 3here /cost P ,+++ rou" (! /evinL RES"!T D#6I@ COH@T(TITL#) 7777777777 777777777777 co(ol , F& Dis+/ay each institute na%e 7ith nu%ber o- students& N0"T 41LOselect s"lace, count("name) from stu/! rou" (! s"laceL RES"!T 4PLAC# COH@T(P@AM#) 77777777777777777777 777777777777 BDP4 * BIT4 , B@%ILLIA@I , COIT , FED , ? ro3s selecte/. I& Ho7 %any co+ies o- +ackage ha6e the /east di--erence bet7een de6e/o+%ent and se//ing cost9 7ere so/d4 N0"T 41LOselect sol/ from soft3are 3here scost 5 /cost8(select min(scost 5 /cost) from soft3are)L RES"!T S*"# !!!!!!!!! ,, G& 3hich is the cost/iest +ackage de6e/o+ed in 0asca/& N0"T 41LOselect title from soft3are 3here /evin 8 QPA4CALR an/ /cost 8 (select ma0(/cost)from soft3are 3here /evin 8 QPA4CALR)L RES"!T

no ro3s selecte/ )(& 3hich /anguage 7as used to de6e/o+ %ost no &o- +ackages& N0"T 41LOselect /evin, count (U) from soft3are rou" (! /evin havin count(U) 8 (select ma0(count(U) ) from soft3are rou" (! /evin)L RES"!T D#6I@ COH@T(U) 7777777777 7777777777 &s" * ))&3ho are the %a/e +rogra%%ers earning be/o7 the a6erage sa/ary o-e%a/e +rogra%%ers4 N0"T 41LOselect "name from "ro rammer 3here sal P (select av (sal) from "ro rammer 3here se0 8 Q>R) an/ se0 8 QMRL RES"!T +(AM$ 77777777777777777777 vi&a! )'& Dis+/ay the detai/s o- so-t7are de6e/o+ed by the %a/e +rogra%%ers earning %ore than 5(((E$& N0"T 41LOselect "ro rammer."name, title, /evin from "ro rammer, soft3are 3here sal O =+++ an/ se0 8 QMR an/ "ro rammer."name 8 soft3are."nameL RES"!T no ro3s selecte/ )5& Dis+/ay the detai/s o- so-t7are de6e/o+ed in c /anguage by -e%a/e +rogra%%ers o- +ragathi& N0"T 41LOselect soft3are."name, title, /evin, scost, /cost, sol/ from "ro rammer, soft3are, stu/! 3here /evin 8 QcR an/ se0 8R>R an/ s"lace 8 Q"ra athiR an/ "ro rammer."name 8 soft3are."name an/ soft3are."name 8 stu/!."nameL )C& 3hich /anguage has been stated by the %ost o- the +rogra%%ers as +ro-iciency one4 N0"T 41LOselect "rof,, count(U) from "ro rammer rou" (! "rof, havin count (U) 8 (select ma0 (count (U) ) from "ro rammer rou" (! "rof,)L 3riting Nested 8ueries& To 7rite Bueries using Set o+erations and to 7rite nested Bueries& Set *'erations, H@IO@ 7 O% I@T#%4#CT 7 A@D #NC#PT 7 7 @OT @#4T#D 1H#%E)7 A neste/ Duer! ma2es use of another su(7Duer! to com"ute or retrieve the information. )& >ind the na%e o- the institute in 7hich the +erson studied and de6e/o+ed the cost/iest +ackage& N0"T 41LOselect s"lace, "name from stu/! 3here "name 8 (select "name from soft3are 3here scost 8 (select ma0 (scost) from soft3are)L RES"!T S+"AC$ +(AM$ 777777777777 7777777777777 4AFBFA%I MA%E

'. >ind the sa/ary and institute o- a +erson 7ho de6e/o+ed the highest se//ing +ackage& N0"T 41LO select stu/!."name, sal, s"lace from stu/!, "ro rammer 3here stu/!."name 8 "ro rammer."name an/ stu/!."name 8 (select "name from soft3are 3here scost 8 (select ma0 (scost) from soft3are))L RES"!T +(AM$ SA" S+"AC$ 77777777777 777777 77777777777 MA%E ;?++ 4ABFA%I 5& Ho7 %any +ackages 7ere de6e/o+ed by the +erson 7ho de6e/o+ed the chea+est +ackage& N0"T 41LOselect "name, count (title) from soft3are 3here /cost 8 (select min(/cost) from soft3are) rou" (! "nameL RES"!T P@AM# COH@T(TITL#) 7777777777777 7777777777777777777777 6IGAE , C& Ca/cu/ate the a%ount to be reco6ered -or those +ackages 7hose de6e/o+%ent cost has not yet reco6ered& N0"T 41LOselect title , (/cost7scost) from soft3are 3here /cost O scostL D& Dis+/ay the tit/e9 scost9 dcost9 di--erence o- scost and dcost in the descending order o- di--erence& N0"T 41LO select title, scost, /cost, (scost 7 /cost) from soft3are /escen/in or/er (! (scost7/cost)L H& Dis+/ay the detai/s o- those 7ho dra7 the sa%e sa/ary& N0"T 41LO select "."name, ".sal from "ro rammer ", "ro rammer t 3here "."name PO t."name an/ ".sal 8 t.salL(or) N0"T 41LOselect "name,sal from "ro rammer t 3here "namePOt."name an/ sal8 t.salL

3riting 8ueries using -unctions&


AIM, To -rite .ueries using single ro- functions and grou' functions. )& Dis+/ay the na%es and dob o- a// +rogra%%ers 7ho 7ere born in January& N0"T 41LOselect "name , /o( from "ro rammer 3here toSchar (/o(,RMO@R)8RGA@RL '& Ca/cu/ate the e:+erience in years o- each +rogra%%er and dis+/ay a/ong 7ith +rogra%%er na%e in descending order& N0"T 41LO select "name, roun/ (monthsS(et3een(s!s/ate, /o&).,*, *) W#NP#%I#@C#W from "ro rammer or/er (! monthsS(et3een (s!s/ate, /o&) /escL 5& !ist out the +rogra%%er na%es 7ho 7i// ce/ebrate their birthdays during current %onth& N0"T 41LOselect "name from "ro rammer 3here toSchar(/o(,RMO@R) li2e toSchar (s!s/ate, QMO@R)L C& Dis+/ay the /east e:+erienced +rogra%%erNs detai/s& N0"T 41LOselect U from "ro rammer 3here /o& 8 (select ma0 (/o&) from "ro rammer)L D& 3ho is the %ost e:+erienced +rogra%%er kno7ing +asca/& N0"T 41LOselect "name from "ro rammer 3here /o& 8 (select min (/o&) from "ro rammer)L H& 3ho is the youngest +rogra%%er born in )GHD& N0"T 41LO select "name , /o( from "ro rammer 3here /o( 8 (select ma0 (/o() from "ro rammer 3here toSchar (/o(,J!!J) 8 :?)L F& n 7hich year9 %ost o- the +rogra%%ers are born& N0"T 41LOselect toSchar (/o( , QEER) from "ro rammer rou" (! toSchar (/o(, QEER) havin count(U) 8 (select ma0 (count(U)) from "ro rammer rou" (! toSchar(/o(,REER)L I& n 7hich %onth %ost nu%ber o- +rogra%%ers are Joined& N0"T 41LOselect toSchar (/o&,REER) from "ro rammer rou" (! toSchar (/o&,REER) havin count (U) 8 (select ma0 (count(U)) from "ro rammer rou" (! toSchar (/o&,REER)L G& 3hat is the /ength o- the shortest na%e in +rogra%%er tab/e 4 N0"T 41LOselect len th ("name) from "ro rammer 3here len th ("name) 8 select min ( len th ("name) from "ro rammer)L )(& Dis+/ay the na%es o- the +rogra%%ers 7hose na%e contains u+ to D characters& N0"T 41LOselect "name from "ro rammer 3here len th ("name) P8?L ))& Dis+/ay a// +ackages na%es in s%a// /etters and corres+onding +rogra%%er na%es in u++ercase /etters& N0"T 41LOselect lo3er (title), u""er ("name) from soft3areL

/riting 0ueries on 1ie-s.


AIM, To -rite .ueries on 1ie-s. )& Create a 6ie7 -ro% sing/e tab/e containing a// co/u%ns -ro% the base tab/e& 41LOcreate vie3 vie3, as (select U from "ro rammer)L '& Create a 6ie7 -ro% sing/e tab/e 7ith se/ected co/u%ns& 41LOcreate a vie3 vie3* as (select "name,/o(,/o&,se0,sal from "ro rammer)L 5& Create a 6ie7 -ro% t7o tab/es 7ith a// co/u%ns& 41LOcreate vie3 0!A as select U from "ro rammer full natural &oin soft3areL C& Create a 6ie7 -ro% t7o tab/es 7ith se/ected co/u%ns& 41LO create vie3 lmn as (select "ro rammer, "name, title, /evin from "ro rammer, soft3are 3here sal P =+++ an/ "ro rammer."name 8 soft3are."name)L D& Check a// D2! co%%ands 7ith abo6e C 6ie7s& N0"T 41LO insert into vie3, values (QramuR,R,*7se"7+=R,R*C7&an7 C?R,RfR,R/(aseR,RoracleR,B;+++)L RES"!T , ro3 create/L N0"T 41LOu"/ate vie3, set salar! 8?++++ 3here "name li2e Qra&uRL RES"!T , ro3 u"/ate/. @ote) u"/ate comman/ /oes not 3or2s for all Dueries on vie3s. N0"T 41LO/elete from vie3, 3here "name li2e Qra&uRL RES"!T , ro3 /elete/. H& Dro+ 6ie7s 7hich you generated& N0"T 41LO/ro" vie3 vie3,L RES"!T 6ie3 /ro""e/L N0"T 41LO/ro" vie3 vie3*L RES"!T 6ie3 /ro""e/L N0"T 41LO/ro" vie3 0!AL The CREATE TAB!E Co%%and E:a%+/e: Create all ta(les sho3n in the "revious cha"ter alon 3ith their structure. CREATE TAB!E ODBA;BAN?S#SO&OBRANCH;2STRO* WB%A@CFS@OW 6A%CFA%*(,+), W@AM#W 6A%CFA%*(*?).A CREATE TAB!E ODBA;BAN?S#SO&OE20;2STRO* W#MPS@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WD#PTW 6A%CFA%*(=+), WD#4IGW 6A%CFA%*(=+).A CREATE TAB!E ODBA;BAN?S#SO&OC"ST;2STRO* WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?),

WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,).A CREATE TAB!E ODBA;BAN?S#SO&OS0RT;D1CO* WACCTSCOD#W 6A%CFA%*(;), WTEP#W 6A%CFA%*(;+), WDOC4W 6A%CFA%*(B?).A CREATE TAB!E ODBA;BAN?S#SO&OACCT;2STRO* WACCTS@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WL>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WTEP#W 6A%CFA%*(*), WOP%SMOD#W 6A%CFA%*(*), WCH%SACCTSTEP#W 6A%CFA%*(;), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WAPL@DTW DAT#, WOP@DTW DAT#, W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), WCH%BALW @HMB#%(C, *), W4TATH4W 6A%CFA%*(,).A CREATE TAB!E ODBA;BAN?S#SO&O>D;2STRO* W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,).A CREATE TAB!E ODBA;BAN?S#SO&O>DS!AB;2STRO* W>D4LABS@OW @HMB#%(*), WMI@P#%IODW @HMB#%(?), WMANP#%IODW @HMB#%(?), WI@T%AT#W @HMB#%(?,*).A CREATE TAB!E ODBA;BAN?S#SO&O>D;DT!SO* W>DS4#%S@OW 6A%CFA%*(,+), W>DS@OW 6A%CFA%*(,+), WTEP#W 6A%CFA%*(,), WPAETOSACCT@OW 6A%CFA%*(,+), WP#%IODW @HMB#%(?), WOP@DTW DAT#, WDH#DTW DAT#, WAMTW @HMB#%(C,*), WDH#AMTW @HMB#%(C,*), WI@T%AT#W @HMB#%(=), W4TATH4W 6A%CFA%*(,), WAHTOS%#@#-ALW 6A%CFA%*(,).A CREATE TAB!E ODBA;BAN?S#SO&OACCT;>D;C"ST;DT!SO* WACCTS>DS@OW 6A%CFA%*(,+), WCH4TS@OW 6A%CFA%*(,+).A CREATE TAB!E ODBA;BAN?S#SO&ON12 NEE;2STRO* W@OMI@##S@OW 6A%CFA%*(,+), WACCTS>DS@OW 6A%CFA%*(,+), W@AM#W 6A%CFA%*(B?), WDOBW DAT#, W%#LATIO@4FIPW 6A%CFA%*(*?).A CREATE TAB!E ODBA;BAN?S#SO&OADDR;DT!SO* WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WADD%STEP#W 6A%CFA%*(,), WADD%,W 6A%CFA%*(?+), WADD%*W 6A%CFA%*(?+), WCITEW 6A%CFA%*(*?),

W4TAT#W 6A%CFA%*(*?), WPI@COD#W 6A%CFA%*(:).A CREATE TAB!E ODBA;BAN?S#SO&OCNTC;DT!SO* WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WC@TCSTEP#W 6A%CFA%*(,), WC@TCSDATAW 6A%CFA%*(B?).A CREATE TAB!E ODBA;BAN?S#SO&OTRANS;2STRO* WT%A@4S@OW 6A%CFA%*(,+), WACCTS@OW 6A%CFA%*(,+), WDTW DAT#, WTEP#W 6A%CFA%*(,), WPA%TICHLA%W 6A%CFA%*(=+), WD%SC%W 6A%CFA%*(,), WAMTW @HMB#%(C,*), WBALA@C#W @HMB#%(C,*).A CREATE TAB!E ODBA;BAN?S#SO&OTRANS;DT!SO* WT%A@4S@OW 6A%CFA%*(,+), WI@4TS@OW @HMB#%(:), WI@4TSDTW DAT#, WPAETOW 6A%CFA%*(=+), WI@4TSCL%SDTW DAT#, WBA@$S@AM#W 6A%CFA%*(=?), WB%A@CFS@AM#W 6A%CFA%*(*?), WPAID>%OMW 6A%CFA%*(,+).A 1ut+ut -or each o- the abo6e CREATE TAB!E state%ents: Ta(le create/.

nserting Data nto Tab/es E:a%+/e: Insert the values into the B%A@CFSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NSERT NSERT NSERT NSERT NSERT NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB,J, J6ile Parle (FO)J.A NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB*J, JAn/heriJ.A NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB=J, JChurch ateJ.A NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB;J, J4ionJ.A NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB?J, JBorivaliJ.A NT1 BRANCH;2STR *B%A@CFS@O, @AM#. VA!"ES*JB:J, JMatun aJ.A

1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the #MPSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#,J, JB,J, JIvanJ, J@elsonJ, JBa!rossJ, JA/ministrationJ, JMana in DirectorJ .A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#*J, JB,J, JAmitJ, null, JDesaiJ, JLoans An/ >inancin J, JFea/ Of De"t.J.A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#=J, JB,J, JMa!aJ, JMahimaJ, JGoshiJ, JAccountsJ, JFea/ Of De"t.J.A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#;J, JB,J, JPeterJ, JI!erJ, JGose"hJ, JClient 4ervicin J, JCler2J.A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#?J, JB,J, JMan/harJ, JDili"J, JDalviJ, JMar2etin J, JFea/ Of De"t.J.A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#:J, JB,J, J4onalJ, JA(/ulJ, J$hanJ, JA/ministrationJ, JA/min. #0ecutiveJ .A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#BJ, JB,J, JAnilJ, JAshutoshJ, J$am(liJ, JA/ministrationJ, JOffice Asst.J .A

NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#CJ, JB,J, J4eemaJ, JP.J, JA"teJ, JClient 4ervicin J, JCler2J .A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#IJ, JB,J, J6i2ramJ, J6ilasJ, J%an/iveJ, JAccountsJ, JOffice Asst.J.A NSERT NT1 E20;2STR *#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG. VA!"ES*J#,+J, JB,J, JAn&aliJ, J4ameerJ, JPatha2J, JMar2etin J, JMar2etin Mana erJ.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the CH4TSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC*J, JChriselleJ, JIvanJ, JBa!rossJ, J*I7OCT7,IC*J, J4erviceJ, JD).ClntPht.C*. ifJ, JD).Clnt4 nt.C*. ifJ, J@J, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC=J, JMamtaJ, JArvin/J, JMuAum/arJ, J*C7AHG7,IB?J, J4erviceJ, JD).ClntPht.C=. ifJ, JD).Clnt4 nt.C=. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC;J, JChha!aJ, J4u/ha2arJ, JBan2arJ, J+:7OCT7,IB:J, J4erviceJ, JD).ClntPht.C;. ifJ, JD).Clnt4 nt.C;. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC?J, JAsh3iniJ, JDili"J, JGoshiJ, J*+7@O67,IBCJ, JBusinessJ, JD).ClntPht.C?. ifJ, JD).Clnt4 nt.C?. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC:J, JFanselJ, JI.J, JColacoJ, J+,7GA@7,IC*J, J4erviceJ, JD).ClntPht.C:. ifJ, JD).Clnt4 nt.C:. ifJ, J@J, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JCBJ, JAnilJ, JArunJ, JDhoneJ, J,*7OCT7,IC=J, J4elf #m"lo!e/J, JD).ClntPht.CB. ifJ, JD).Clnt4 nt.CB. ifJ, J@J, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JCCJ, JAle0J, JAustinJ, J>ernan/esJ, J=+74#P7,I:*J, J#0ecutiveJ, JD).ClntPht.CC. ifJ, JD).Clnt4 nt.CC. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JCIJ, JAsh3iniJ, J4han2arJ, JA"teJ, J,I7AP%7,IBIJ, J4erviceJ, JD).ClntPht.CI. ifJ, JD).Clnt4 nt.CI. ifJ, JEJ, JEJ.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JC,+J, J@amitaJ, J4.J, J$ana/eJ, J,+7GH@7,IBCJ, J4elf #m"lo!e/J, JD).ClntPht.C,+. ifJ, JD).Clnt4 nt.C,+. ifJ, JEJ, JEJ.A DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

DOBSI@C, OCCHP,

NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JO,,J, null, null, null, J,;7@O67,IIBJ, J%etail BusinessJ, null, null, JEJ, J@J.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JO,*J, null, null, null, J*=7OCT7,II*J, JInformation Technolo !J, null, null, JEJ, J@J.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JO,=J, null, null, null, J+?7>#B7,ICIJ, JCommunit! -elfareJ, null, null, JEJ, J@J.A NSERT NT1 C"ST;2STR *CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+. VA!"ES*JO,;J, null, null, null, J*;7MAE7,IC+J, J%etail BusinessJ, null, null, J@J, JEJ.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the 4P%TSDOC ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JDrivin Licence . %ation Car/ . Pass"ortJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JBirth Certificate . 4chool Leavin CertificateJ .A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J,CJ, JPro"riet! . 4ole Tra/in ConcernsJ, JLetter >rom The Pro"riet!J .A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J*CJ, JPartnershi" ConcernsJ, JLetter >rom The PartnersJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J*CJ, JPartnershi" ConcernsJ, JPartnershi" Dee/ . %e istration CertificateJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JLetter >rom The $artaJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JList Of Mem(ersJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J;CJ, JLimite/ Com"aniesJ, JCo"! Of Boar/ Of DirectorsJJ %esolution >or O"enin The AccountJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J;CJ, JLimite/ Com"aniesJ, JMemoran/um an/ Articles Of AssociationJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J;CJ, JLimite/ Com"aniesJ, JCertificate Of Incor"orationJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J;CJ, JLimite/ Com"aniesJ, JCertificate Of Commencement Of Business . %e istration CertificateJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J?CJ, JTrust AccountsJ, JTrust Dee/J.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J?CJ, JTrust AccountsJ, J%esolution Of TrusteesJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J?CJ, JTrust AccountsJ, JList Of TrustiesJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J:CJ, JClu(s . 4ocietiesJ, J%esolutionJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J:CJ, JClu(s . 4ocietiesJ, JConstitution An/ B!e7la3sJ.A

NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*J:CJ, JClu(s . 4ocietiesJ, JCertificate Of %e istrationJ.A NSERT NT1 S0RT;D1C *ACCTSCOD#, TEP#, DOC4. VA!"ES*JBCJ, JLe islative Bo/iesJ, JLetter >rom The Authorit!J .A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the ACCTSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4B,J, J4>7+++,J, JGA@+=7+?J, JB,J, JC,J, J4B,J, JEJ, J4BJ, J4IJ, J+4J, null, null, J+?7GA@7*++=J, J+?7GA@7*++=J, J#,J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*JCA*J, J4>7+++*J, JGA@+=7,+J, JB,J, JC,J, J4B,J, JEJ, JCAJ, JGOJ, J,CJ, JHttam 4toresJ, JO,,J, J+B7 GA@7*++=J, J,+7GA@7*++=J, J#,J, JEJ, JEJ, *+++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4B=J, J4>7+++=J, JGA@+=7**J, JB,J, JC;J, J4B=J, JEJ, J4BJ, J4IJ, J+4J, null, null, J*+7GA@7*++=J, J**7GA@7*++=J, J#;J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*JCA;J, J4>7+++;J, J>#B+=7+?J, JB,J, JC;J, J4B=J, JEJ, JCAJ, JA4J, J;CJ, J4unJJs Pvt. Lt/.J, JO,*J, J+*7>#B7*++=J, J+?7>#B7*++=J, J#;J, JEJ, JEJ, *+++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4B?J, J4>7+++?J, J>#B+=7,?J, JB,J, JC,J, J4B,J, JEJ, J4BJ, JGOJ, J+4J, null, null, J,;7>#B7*++=J, J,?7>#B7*++=J, J#,J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4B:J, J4>7+++:J, J>#B+=7*BJ, JB,J, JC?J, J4B:J, JEJ, J4BJ, J#4J, J+4J, null, null, J*B7>#B7*++=J, J*B7>#B7*++=J, J#;J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4.

VA!"ES*JCABJ, J4>7+++BJ, JMA%+=7,;J, JB,J, JCCJ, JCABJ, JEJ, JCAJ, JA4J, J:CJ, JPuru Fs . 4ocJ, JO,=J, J,;7MA%7*++=J, J,;7MA%7*++=J, J#;J, JEJ, JEJ, *+++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4BCJ, J4>7+++CJ, JMA%+=7*IJ, JB,J, JCIJ, J4BCJ, JEJ, J4BJ, J4IJ, J+4J, null, null, J*B7MA%7*++=J, J*I7MA%7*++=J, J#,J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*J4BIJ, J4>7+++IJ, JAP%+=7+?J, JB,J, JC,+J, J4BIJ, JEJ, J4BJ, JGOJ, J+4J, null, null, J+?7AP%7*++=J, J+?7AP%7*++=J, J#;J, JEJ, JEJ, ?++, JAJ.A NSERT NT1 ACCT;2STR *ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4. VA!"ES*JCA,+J, J4>7++,+J, JAP%+=7,IJ, JB,J, JC,+J, J4BIJ, JEJ, JCAJ, JA4J, J=CJ, JGhar $aro(arJ, JO,;J, J,I7AP%7*++=J, J,I7AP%7*++=J, J#;J, JEJ, JEJ, *+++, JAJ.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the >DSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 >D;2STR *>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@. VA!"ES *J>4,J, J4>7++,,J, JB,J, JCA*J, JHttam 4toresJ, JO,,J, J,CJ, null, null, J@J, J#,J, JEJ, JEJ .A NSERT NT1 >D;2STR *>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@. VA!"ES *J>4*J, J4>7++,*J, JB,J, JCA;J, J4unJJs Pvt. Lt/.J, JC,*J, J;CJ, null, null, J@J, J#,J, JEJ, JEJ .A NSERT NT1 >D;2STR *>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@. VA!"ES *J>4=J, J4>7++,=J, JB,J, JCABJ, JPuru Fs . 4ocJ, JO,=J, J:CJ, null, null, J@J, J#;J, JEJ, JEJ .A NSERT NT1 >D;2STR *>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@. VA!"ES *J>4;J, J4>7++,;J, JB,J, JCA,+J, JGhar $aro(arJ, JO,;J, J=CJ, null, null, J@J, J#;J, JEJ, JEJ .A NSERT NT1 >D;2STR *>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@. VA!"ES *J>4?J, J4>7++,?J, JB,J, null, null, null, J+4J, JCBJ, J4B:J, JEJ, J#;J, JEJ, JEJ .A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the >D4LABSM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#.

VA!"ES*,, ,, =+, ?.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES**, =,, I*, ?.?.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES*=, I=, ,C=, :.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES*;, ,C;, =:?, :.?.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES*?, =::, B=,, B.?.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES*:, B=*, ,+IB, C.?.A NSERT NT1 >DS!AB;2STR *>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#. VA!"ES*B, ,+IC, ,C*I, ,+.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the >DSDTL4 ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4,J, J>,J, J4J, JCA*J, =:?, J+*7AP%7*++=J, J+,7AP%7*++;J, ?+++, ?=?+.++, :.?, JAJ, JEJ .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4,J, J>*J, J4J, JCA*J, =:?, J+*7AP%7*++=J, J+,7AP%7*++;J, ?+++, ?=?+.++, :.?, JAJ, J@J .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4*J, J>=J, J4J, JCA;J, =::, J*?7MAE7*++=J, J*?7MAE7*++;J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4*J, J>;J, J4J, JCA;J, =::, J,?7GH@7*++=J, J,?7GH@7*++;J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4=J, J>?J, J4J, JCABJ, ,C=, J*;7GH@7*++=J, J*;7D#C7*++=J, *+++, *+:+.,:, :, JAJ, JEJ .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4;J, J>:J, J4J, JCA,+J, B=*, J,I7GHL7*++=J, J*+7GHL7*++?J, ?+++, ?I+*.;B, C.?, JAJ, JEJ .A NSERT NT1 >D;DT!S *>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL . VA!"ES*J>4?J, J>BJ, J4J, J4B:J, =::, J*B7GHL7*++=J, J*B7GHL7*++;J, ?+++, ?;+,.,+, B.?, JAJ, J@J .A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the ACCTS>DSCH4TSDTL4 ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NSERT NSERT NSERT NSERT NSERT NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B,J, JC,J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA*J, JC*J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA*J, JC=J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B=J, JC;J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA;J, JC;J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA;J, JC?J.A

NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT NSERT

NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B?J, JC,J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B?J, JC;J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B:J, JC?J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4B:J, JCBJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCABJ, JC:J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCABJ, JCCJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4BCJ, JCIJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4BIJ, JC=J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J4BIJ, JC,+J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA,+J, JC,+J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*JCA,+J, JCIJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4,J, JC*J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4,J, JC=J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4*J, JC;J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4*J, JC?J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4*J, JC?J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4=J, JC:J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4=J, JCCJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4;J, JC,+J.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4;J, JCIJ.A NT1 ACCT;>D;C"ST;DT!S *ACCTS>DS@O, CH4TS@O. VA!"ES*J>4?J, JC?J.A

1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the @OMI@##SM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,J, JCA*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@*J, JCA*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@=J, J4B,J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JDau hterJ.A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@;J, J4B=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J.A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@?J, J4B:J, JPreeti 4uresh 4hahJ, J,*7>#B7,IBCJ, J>rien/J.A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@:J, J4BCJ, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@BJ, JCA,+J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J@ieceJ.A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@CJ, J>4,J, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@IJ, J>4*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,+J, J>4*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,,J, J>4=J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JCollea ueJ .A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,*J, J>4=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J.A NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,=J, J>4;J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J%elativeJ.A

NSERT NT1 N12 NEE;2STR *@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP. VA!"ES*J@,;J, J>4?J, JPramila P. PiusJ, J,+7OCT7,IC?J, J@ieceJ .A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the ADD%SDTL4 ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,, JB,J, JFJ, JA.?, Ga! Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**, JB*J, JBJ, JB4#4 Cham(ers, ,+th floor,J, J@ear %l!. 4tation, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=, JB=J, JBJ, JPra(hat Com"le0, @o. ? . :,J, JO"". Air In/ia Bl/ ., Church ate,J, JMum(aiJ, JMaharashtraJ, J;++++;J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*;, JB;J, JBJ, J*=.A, 43arna Bl/ ., 4mt. %ai Mar ,J, J#astern #0"ress Fi h3a!, $urla (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++;?J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*?, JB?J, JBJ, J6i2as Centre, 4ho" =B, @ear @ational Par2,J, J-estern #0"ress Fi h3a!, Borivali (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*:, JB:J, JBJ, J*;.A, Mahim PlaAa, >irst >loor,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J .A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*B, J#,J, J@J, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*C, J#*J, JCJ, JDesai Fouse, Plot @o. *?, P.G. Mar ,J, J@ear Mala/ %l!. 4tat., Mala/ (-est),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*I, J#=J, J@J, J%oom @o. ?:, =r/ >loor, 43ami(havan,J, JG. P. %oa/ Gunction, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?IJ.A

NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,+, J#;J, JCJ, J=+,, Thomas Palace, O"". In/u Chil/ Care,J, JEa/ni2 @a ar, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,,, J#?J, JCJ, J;?:.A, Bl/ . @o. ;, 6ahatu2 @a ar,J, JAm(oli, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,*, J#:J, J@J, J*+,, Meena To3ers, @r. 4un Gas A enc!,J, J4. 6. %/., Gore oan (-est),J, JMum(aiJ, JMaharashtraJ, J;+++B:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,=, J#BJ, J@J, JPatel Cha3l, %m. @o. ,?, B. P. Lal Mar ,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,;, J#CJ, JCJ, JA 7 ,+, @eelam, L. G. %oa/,J, JMahim (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,?, J#IJ, J@J, J,.,* Bal Govin/as 4ociet!, M. B. %aut %/.,J, JDa/ar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++*CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,:, J#,+J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,B, JC,J, JCJ, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,C, JC*J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*,I, JC=J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**+, JC;J, JCJ, J;, 4am"a/a,J, J$ataria %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**,, JC?J, JCJ, J,+;, 6i2ram A"ts. Bha at Lane,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A

NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES***, JC:J, JCJ, J,*, %a/ha $un&, @.C $el2ar %oa/,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++*CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**=, JCBJ, JCJ, JA.,;, 4hanti 4ociet!, Mo al Lane,J, JMahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**;, JCCJ, JCJ, J?, 6a /evi, 4ena"ati Ba"at %/.,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**?, JCIJ, JCJ, JA7,+ @utan 6aishali,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J .A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**:, JC,+J, JCJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**B, J@,J, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**C, J@*J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES**I, J@=J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J .A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=+, J@;J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=,, J@?J, JCJ, J%ita A"artment, %oom @o. ;:, *n/ >loor,J, JG. P. %oa/, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++:BJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=*, J@:J, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*==, J@BJ, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A

NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=;, JO,,J, JFJ, J4ho" @o. ;, 4imon 4treams,J, J6. P. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=?, JO,*J, JFJ, J*=+7#, Patel Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=:, JO,=J, JFJ, JG7*, Puru Fs . 4ociet!,J, J4ena"ati Ba"at %/., Da/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=B, JO,;J, JFJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=C, J@CJ, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*=I, J@IJ, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ.A

NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*;+, J@,+J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) VA!"ES*;,, J@,,J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J .A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*;*, J@,*J, JCJ, JMa esh Prasa/J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*;=, J@,=J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J.A NSERT NT1 ADDR;DT!S *ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#. VA!"ES*;;, J@,;J, JCJ, J;+?,6ahatu2 @a ar, $evni7Pa/a,J, JGo esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the C@TCSDTL4 ta(le NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,, JB,J, JOJ, J*:,*;?B,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,, JB,J, J>J, J*:,*;?==J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,, JB,J, J#J, Ja/minSvile"arleX(om*.vsnl.inJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**, JB*J, JOJ, J*:BI++,;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**, JB*J, J#J, Ja/minSan/heriX(om*.vsnl.inJ .A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=, JB=J, JOJ, J*=;?BC??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=, JB=J, J#J, Ja/minSchurch ateX(om*.vsnl.inJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;, JB;J, JOJ, J*??;?;??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA.

VA!"ES*;, JB;J, J#J, Ja/minSsionX(om*.vsnl.inJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*?, JB?J, JOJ, J*C,B?;?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*?, JB?J, J#J, Ja/minS(orivaliX(om*.vsnl.inJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*:, JB:J, JOJ, J*;=+;?;?J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*:, JB:J, J#J, Ja/minSmatun aX(om*.vsnl.inJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*B, J#,J, J%J, J*:+;?I?=J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*C, J#*J, J%J, J*CCC=BBIJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*I, J#=J, J%J, J*C=BB:=;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,+, J#;J, J%J, J*:=*=?:+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,,, J#?J, J%J, J*:BI=*=,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,*, J#:J, J%J, J*C+C?:?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,=, J#BJ, J%J, J*;;;*=;*J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,;, J#CJ, J%J, J*;=:?:B*J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,?, J#IJ, J%J, J*;=*B=;IJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,:, J#,+J, J%J, J*;=+*?BIJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,B, JC,J, J%J, J*:;+?C?=J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,B, JC,J, JOJ, J*:,=;??=J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,B, JC,J, JOJ, J*:,=;?B,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,B, JC,J, JMJ, JIC*+,BCI??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,C, JC*J, J%J, J*:+;?B?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,C, JC*J, JOJ, J*:,=;?B,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,I, JC=J, J%J, J*C=*;?:BJ.A

NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*,I, JC=J, JOJ, J*:,IB:?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**+, JC;J, J%J, J*;;;IC?*J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**+, JC;J, JOJ, J*CB;,=B+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**,, JC?J, J%J, J*;=+*I=;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) VA!"ES**,, JC?J, JOJ, J**C,II:;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES***, JC:J, J%J, J*;*,B?I*J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**=, JCBJ, J%J, J*;=B**;BJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**;, JCCJ, JOJ, J*:;C+I+=J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**?, JCIJ, J%J, J*;=,=;+CJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**?, JCIJ, JMJ, JIC*,,B::?,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**:, JC,+J, J%J, J*;=:*:C+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**:, JC,+J, JOJ, J*CIB==??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**:, JC,+J, JMJ, JIC*+;C;:;CJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**B, J@,J, J%J, J*:B:*,?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**C, J@*J, J%J, J*;=+BCCBJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES**I, J@=J, J%J, J*:+;??B?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=+, J@;J, J%J, J*C:;?;CIJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=,, J@?J, J%J, J=+I+=?:;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=*, J@:J, J%J, J*:BI=BB,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*==, J@BJ, J%J, J*;=+;;??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=;, JO,,J, JOJ, J*:BI++??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=;, JO,,J, J>J, J*:BC;;+IJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=?, JO,*J, JOJ, J*:,*+;??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=?, JO,*J, JOJ, J*:,*+;?:J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=?, JO,*J, J>J, J*:,*,;?+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=?, JO,*J, J#J, Ja/minXsun"vtlt/.comJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA.

VA!"ES*=?, JO,*J, J-J, J333.sun"vtlt/.comJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=:, JO,=J, JOJ, J*;=+,+I+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=:, JO,=J, JOJ, J*;=+,,I:J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=B, JO,;J, JOJ, J*;=*,,**J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=C, J@CJ, J%J, J*:BI=BB,J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*=I, J@IJ, J%J, J*:B:*,?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;+, J@,+J, J%J, J*;=+BCCBJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;,, J@,,J, J%J, J*:+;?B?;J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;*, J@,*J, J%J, J*C:;?;CIJ.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;=, J@,=J, J%J, J*;=+;;??J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;;, J@,;J, J%J, J*:BI+,C+J.A NSERT NT1 CNTC;DT!S *ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA. VA!"ES*;;, J@,;J, J%J, J*:BB,*B?J.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the T%A@4SM4T% ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT,J, J4B,J, J+?7GA@7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT*J, JCA*J, J,+7GA@7*++=J, JCJ, JInitial Pa!mentJ, JDJ, *+++, *+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT=J, J4B=J, J**7GA@7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT;J, JCA;J, J+?7>#B7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT?J, J4B?J, J,?7>#B7*++=J, JBJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JT:J, J4B:J, J*B7>#B7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JTBJ, JCABJ, J,;7MA%7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, BALA@C#. VA!"ES*JTCJ, J4BCJ, J*I7MA%7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A D%SC%, AMT, D%SC%, AMT, D%SC%, AMT, D%SC%, AMT, D%SC%, AMT, D%SC%, AMT, D%SC%, AMT, D%SC%, AMT,

NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JTIJ, J4BIJ, J+?7AP%7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JT,+J, J4BIJ, J,?7AP%7*++=J, JBJ, JCL%7*+;I+BJ, JDJ, =+++, =?++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JT,,J, J4BIJ, J,B7AP%7*++=J, JCJ, J4elfJ, J-J, *?++, ,+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JT,*J, JCA,+J, J,I7AP%7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JT,=J, J4BIJ, J+?7GH@7*++=J, JBJ, JCL%7*+;I+CJ, JDJ, =+++, ;+++.A NSERT NT1 TRANS;2STR *T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#. VA!"ES*JT,;J, J4BIJ, J*B7GH@7*++=J, JCJ, J4elfJ, J-J, *?++, ,?++.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/. Insert the values into the T%A@4SDTL4 ta(le (>or values refer to :th cha"ter un/er Test %ecor/s) NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JT;J, +IC=*;, J+*7>#B7*++=J, J4elfJ, J+?7>#B7*++=J, JFD>CJ, J6ile Parle (#ast)J, J*IC*J .A NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JT?J, *=*=*;, J,;7>#B7*++=J, J4elfJ, J,?7>#B7*++=J, JIn/ia Ban2J, JAn/heri (-est)J, J=+;=;J.A NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JTBJ, ;=;?:+, J,;7MA%7*++=J, J4elfJ, J,;7MA%7*++=J, JICICI Ban2J, JBan/ra (-est)J, J;CC*J.A NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JT,+J, *+;I+B, J,;7AP%7*++=J, J4elfJ, J,?7AP%7*++=J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ.A NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JT,*J, ,++I+B, J,I7AP%7*++=J, J4elfJ, J,I7AP%7*++=J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J*++,J.A NSERT NT1 TRANS;DT!S *T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM. VA!"ES*JT,=J, *+;I+C, J+,7GH@7*++=J, J4elfJ, J+?7GH@7*++=J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ.A 1ut+ut -or each o- the abo6e NSERT NT1 state%ents: , ro3 create/.

C&

Re/ationa/ Databases

The frustration 3ith the ina/eDuate ca"a(ilities of net3or2 an/ hierarchical /ata(ases resulte/ in the invention of the relational data model. The relational /ata mo/el too2 the i/ea of the net3or2 /ata(ase some several ste"s further. %elational mo/els K &ust li2e hierarchical an/ net3or2 mo/els K are (ase/ u"on ta(les an/ use "arent.chil/ relationshi"s. (Thou h this relationshi" 3as im"lemente/ throu h column values as o""ose/ to a lo37level "h!sical "ointer /efinin the relationshi"L more on that later in the cha"ter.) Ta(les A ta(le is a (asic (uil/in unit of the relational /ata(ase. It is a fairl! intuitive 3a! of or aniAin /ata an/ has (een aroun/ for centuries. A ta(le consists of ro3s an/ columns (calle/ records an/ fields in /ata(ase &ar on). #ach ta(le has a uni!ue name in the /ata(ase (i.e., uniDue fully !ualified name, the one that inclu/es schema or /ata(ase name as a "refi0). Note The Dot (.) notation in a full! Dualifie/ name is commonl! use/ in the "ro rammin 3orl/ to /escri(e hierarch! of the o(&ects an/ their "ro"erties. This coul/ refer not onl! to the /ata(ase o(&ects (ut also to the structures, user7/efine/ t!"es, an/ such. >or e0am"le, a ta(le fiel/ in an M4 41L 4erver /ata(ase coul/ (e referre/ to as ACM#.DBO.CH4TOM#%. CH4TSIDS@ 3here ACM# is a /ata(ase name, DBO is the ta(le o3ner (Microsoft stan/ar/), CH4TOM#% is the name of the ta(le, an/ CH4TSIDS@ is the column name in the CH4TOM#% ta(le.

#ach fiel/ has a uniDue name 3ithin the ta(le, an/ an! ta(le must have at least one fiel/. The num(er of fiel/s "er ta(le is usuall! limite/, the actual limitation (ein /e"en/ent on a "articular im"lementation. Hnli2e le ac! /ata(ase structure, recor/s in a ta(le are not store/ or retrieve/ in an! "articular or/er, the tas2 of sortin the recor/ in relational /ata(ases s!stems (%DBM4) is rele ate/ to 41L. A recor/ thus is com"ose/ of a num(er of cells, 3here each cell has a uniDue name an/ mi ht contain some /ata. A ta(le that has no recor/s is calle/ an em"t! ta(le. Data 3ithin the fiel/ must (e of the same t!"e, for e0am"le, the fiel/ AMOUNT contains onl! num(ers, an/ fiel/ DESCRIPTION, onl! 3or/s. The set of the /ata 3ithin one fiel/ is sai/ to (e columnJs domain. #arl! /ata(ases K relational or other3ise K 3ere /esi ne/ to contain onl! te0t /ataL mo/ern /ata(ases store an!thin that coul/ (e converte/ into (inar! format) "ictures, movies, au/io recor/s, an/ so on. The oo/ relational /esi n 3oul/ ma2e sure that such a recor/ /escri(es an entity " another relational /ata(ase term to (e /iscusse/ later in the (oo2 (ut 3orth mentionin here. To "ut it in other 3or/s, the recor/ shoul/ not contain irrelevant information) CH4TOM#% ta(le /eals 3ith the customer information onl!, its recor/s shoul/ not contain information a(out, sa!, "ro/ucts that this customer or/ere/. There is no theoretical limit on the num(er of ro3s a ta(le coul/ have, thou h some im"lementations im"ose restrictionsL also there are (or at least ou ht to (e) "ractical consi/erations to the limits) /ata retrieval s"ee/, amount of stora e, an/ so on. %elationshi"s Ta(les in %DBM4 mi ht or mi ht not (e relate/. As it 3as mentione/ (efore, %DBM4 is (uilt u"on "arent.chil/ relationshi" notion (hence the name K relational), (ut unli2e Win le ac! /ata(ases (hierarchical, net3or2) these relations are (ase/ solel! on the values in the ta(le columnsL these relationshi"s are meanin ful in lo ical terms, not in lo37level com"uter s"ecific "ointers. LetJs ta2e the e0am"le of our fictitious or/er entr! /ata(ase (the one that 3e 3ill /esi n, (uil/, an/ use throu hout the (oo2). The ORDER_HEADER ta(le is relate/ to CUSTOMER ta(le since (oth of these ta(les have a common set of values) The fiel/ ORDHDR_CUSTID_FN (customer ID) in ORDER_HEADER (and its values) corres"on/s to CUST_ID_N in CUSTOMER. The fiel/ CUST_ID_N is sai/ to (e a primary #ey for the CUSTOMER ta(le an/ a foreign #ey for the ORDER_HEADER ta(le (un/er /ifferent name). Primar! 2e! Note

The primary #ey hol/s more than one &o( in %DBM4. -eJve sai/ alrea/! that it is use/ to /efine a relationshi"L (ut its "rimar! role is to uniDuel! i/entif! each recor/ in a ta(le. In the /a!s of le ac! /ata(ases, the recor/s 3ere al3a!s store/ in some "re/efine/ or/erL if such an or/er ha/ to (e (ro2en ((ecause some(o/! ha/ inserte/ recor/s in a 3ron or/er or (usiness rule 3as chan e/), then the 3hole ta(le (an/, most li2el!, the 3hole /ata(ase) ha/ to (e re(uilt. The %DBM4 a(olishes fi0e/ or/er for the recor/s, (ut it still nee/s some mechanism of i/entif!in the recor/s uniDuel!, an/ the "rimar! 2e!, (ase/ on the i/ea of a fiel/ (or fiel/s) that contains set uniDue values, serves e0actl! this "ur"ose. B! it is ver! nature, the "rimar! 2e! cannot (e em"t!L this means that in a ta(le 3ith /efine/ "rimar! 2e!, the "rimar! 2e! fiel/s must contain /ata for each recor/. Note Thou h it is not a reDuirement to have a "rimar! 2e! on each an/ ever! ta(le, it is consi/ere/ to (e a oo/ "ractice to have oneL in fact, man! %DBM4 im"lementations 3oul/ 3arn !ou if !ou create a ta(le 3ithout /efinin a "rimar! 2e!. 4ome "urists o even further, s"ecif!in that the "rimar! 2e! shoul/ (e meaningless in the sense that the! 3oul/ use some enerate/ uniDue value (li2e E%&L'(EE)I*) instea/ of, sa!, 4ocial 4ecurit! num(ers (/es"ite that these are uniDue as 3ell). A "rimar! 2e! coul/ consist of one or more columns, i.e., thou h some fiel/s ma! contain /u"licate values, their com(ination (set) is uniDue throu h the entire ta(le. A 2e! that consists of several columns is calle/ a composite #ey. Note In the 3orl/ of %DBM4, onl! ta(les that have "rimar! 2e!s can (e relate/. Thou h the "rimar! 2e! is a cornerstone for /efinin relation in %DBM4, the actual im"lementations (es"eciall! earl! ones) have not al3a!s "rovi/e/ a (uilt7in su""ort for this lo ical conce"t. In "ractice, the tas2 of enforcin uniDueness of a chosen "rimar! 2e! 3as the res"onsi(ilit! of "ro rammers (reDuirin them to chec2 for e0istin values (efore insertin ne3 recor/s, for e0am"le). To/a! all ma&or relational /ata(ase "ro/ucts have (uilt7in su""ort for "rimar! 2e!sL on a ver! (asic level this means that the /ata(ase /oes its o3n chec2in for uniDue constraint violations an/ 3ill raise an error 3henever an attem"t to insert a /u"licate recor/ is ma/e. >orei n 2e! LetJs o (ac2 to our CH4TOM#% an/ O%D#%SF#AD#% ta(les. B! no3 !ou un/erstan/ 3h! the CH4TSIDS@ 3as /esi nate/ as a "rimar! 2e! K it has uniDue value, no customer can "ossi(l! have more than one ID, an/ no ID coul/ (e assi ne/ to more than one customer. To trac2 3hat customers "lace/ 3hich or/ers, !ou nee/ somethin that 3ill "rovi/e a lin2 (et3een customers an/ their or/ers. Ta(le O%D#%SF#AD#% has its o3n "rimar! 2e! K O%DFD%SIDS@ 3hich uniDuel! i/entifies or/ersL in a//ition to that it 3ill have a forei n 2e! O%DFD%SCH4TIDS>@ fiel/. The values in that fiel/ corres"on/ to the values in the CH4TSIDS@ "rimar! 2e! fiel/ for the CH4TOM#% ta(le. @ote that, unli2e the "rimar! 2e!, the forei n 2e! is not reDuire/ to (e uniDue K one customer coul/ "lace several or/ers. @o3, (! loo2in into ORDER_HEADER ta(le !ou can fin/ 3hich customers "lace/ "articular or/ers. The ta(le ORDER_HEADER (ecame relate/ to ta(le CUSTOMER. It (ecame eas! to fin/ a customer (ase/ on or/ers, or fin/ or/ers for a customer. Eou no lon er nee/ to 2no3 /ata(ase la!out, or/er of the recor/s in the ta(le, or master some lo37level "ro"rietar! "ro rammin lan ua e to Duer! /ataL itJs no3 "ossi(le to run a/7hoc Dueries formulate/ in stan/ar/ #n lish7li2e lan ua e K the 4tructure/ 1uer! Lan ua e. Invasion of %DBM4 In s"ite of the clear a/vanta es of the relational /ata(ase mo/el, it too2 some time for it to (ecome 3or2a(le. One of the main reasons 3as the har/3are. The lo icall! clear an/ clean mo/el "rove/ to (e Duite a tas2 to im"lement, an/ even then it reDuire/ much more in terms of memor! an/ "rocessin "o3er than le ac! /ata(ases. The /evelo"ment of relational /ata(ases 3as /riven (! the nee/ of the me/ium to (i (usinesses to ather, "reserve, an/ anal!Ae /ata. In ,I:?, Gor/on Moore, the cofoun/er of Intel, ma/e his famous o(servation that the num(er of transistors "er sDuare inch on the inte rate/ circuits (IC) /ou(les ever! !ear ever since the IC 3as

invente/. 4ur"risin l!, this rule still hol/s true. More "o3erful machines ma/e it feasi(le to im"lement an/ sell %DBM4L chea" memor! an/ "o3erful "rocessors ma/e them fastL "er"etuall! ro3in a""etites for information ma/e %DBM4 "ro/ucts a commo/it!, /rasticall! cuttin their "rice /o3n. To/a!, accor/in to some estimates, less than ,+ "ercent of the mar2et is (ein hel/ (! the /ata(ase le ac! W/inosaursW K mostl! (ecause of si nificant investment ma/e (! their o3ners more than *+ !ears a o. >or (etter or for 3orse, relational /ata(ase s!stems have come to rule on "lanet #arth.

Stating a database design +rob/e%&

Before I start 3ith the list, let me (e honest for a minute. I use/ to have a "reacher 3ho ma/e sure to tell us (efore some sermons that he 3as "reachin to himself as much as he 3as to the con re ation. -hen I s"ea2, or 3hen I 3rite an article, I have to listen to that tin! little voice in m! hea/ that hel"s filter out m! o3n (a/ ha(its, to ma2e sure that I am teachin onl! the (est "ractices. Fo"efull!, after rea/in this article, the little voice in !our hea/ 3ill tal2 to !ou 3hen !ou start to stra! from 3hat is ri ht in terms of /ata(ase /esi n "ractices. 4o, the list) )& 0oor designE+/anning '& gnoring nor%a/iLation 5& 0oor na%ing standards C& !ack o- docu%entation D& 1ne tab/e to ho/d a// do%ain 6a/ues H& "sing identityEguid co/u%ns as your on/y key F& Not using S8! -aci/ities to +rotect data integrity I& Not using stored +rocedures to access data G& Trying to bui/d generic obJects )(& !ack o- testing Poor /esi n."lannin W$f you don%t #now where you are going& any road will ta#e you thereW 5 Geor e Farrison Pro"hetic 3or/s for all "arts of life an/ a /escri"tion of the t!"e of issues that "la ue man! "ro&ects these /a!s. Let me as2 !ou) 3oul/ !ou hire a contractor to (uil/ a house an/ then /eman/ that the! start "ourin a foun/ation the ver! ne0t /a!M #ven 3orse, 3oul/ !ou /eman/ that it (e /one 3ithout (lue"rints or house "lansM Fo"efull!, !ou ans3ere/ WnoW to (oth of these. A /esi n is nee/e/ ma2e sure that the house !ou want ets (uilt, an/ that the lan/ !ou are (uil/in it on 3ill not sin2 into some un/er roun/ cavern. If !ou ans3ere/ !es, I am not sure if an!thin I can sa! 3ill hel" !ou. Li2e a house, a oo/ /ata(ase is (uilt 3ith forethou ht, an/ 3ith "ro"er care an/ attention iven to the nee/s of the /ata that 3ill inha(it itL it cannot (e tosse/ to ether in some sort of reverse im"losion. 4ince the /ata(ase is the cornerstone of "rett! much ever! (usiness "ro&ect, if !ou /onJt ta2e the time to ma" out the nee/s of the "ro&ect an/ ho3 the /ata(ase is oin to meet them, then the chances are that the 3hole "ro&ect 3ill veer off course an/ lose /irection. >urthermore, if !ou /onJt ta2e the time at the start to et the /ata(ase /esi n ri ht, then !ouJll fin/ that an! su(stantial chan es in the /ata(ase structures that !ou nee/ to ma2e further /o3n the line coul/ have a hu e im"act on the 3hole "ro&ect, an/ reatl! increase the li2elihoo/ of the "ro&ect timeline sli""in . >ar too often, a "ro"er "lannin "hase is i nore/ in favor of &ust W ettin it /oneW. The "ro&ect hea/s off in a certain /irection an/ 3hen "ro(lems inevita(l! arise 5 /ue to the lac2 of "ro"er /esi nin an/ "lannin 5 there is Wno timeW to o (ac2 an/ fi0 them "ro"erl!, usin "ro"er techniDues. ThatJs 3hen the Whac2in W starts, 3ith the veile/ "romise to o (ac2 an/ fi0 thin s later, somethin that ha""ens ver! rarel! in/ee/. A/mitte/l! it is im"ossi(le to "re/ict ever! nee/ that !our /esi n 3ill have to fulfill an/ ever! issue that is li2el! to arise, (ut it is im"ortant to miti ate a ainst "otential "ro(lems as much as "ossi(le, (! careful "lannin . I norin @ormaliAation

@ormaliAation /efines a set of metho/s to (rea2 /o3n ta(les to their constituent "arts until each ta(le re"resents one an/ onl! one Wthin W, an/ its columns serve to full! /escri(e onl! the one Wthin W that the ta(le re"resents. The conce"t of normaliAation has (een aroun/ for =+ !ears an/ is the (asis on 3hich 41L an/ relational /ata(ases are im"lemente/. In other 3or/s, 41L 3as create/ to 3or2 3ith normaliAe/ /ata structures. @ormaliAation is not &ust some "lot (! /ata(ase "ro rammers to anno! a""lication "ro rammers (that is merel! a satisf!in si/e effectY) 41L is ver! a//itive in nature in that, if !ou have (its an/ "ieces of /ata, it is eas! to (uil/ u" a set of values or results. In the >R12 clause, !ou ta2e a set of /ata (a ta(le) an/ a// (GOI@) it to another ta(le. Eou can a// as man! sets of /ata to ether as !ou li2e, to "ro/uce the final set !ou nee/. This a//itive nature is e0tremel! im"ortant, not onl! for ease of /evelo"ment, (ut also for "erformance. In/e0es are most effective 3hen the! can 3or2 3ith the entire 2e! value. -henever !ou have to use S"BSTR N@, CHAR NDEP, ! ?E, an/ so on, to "arse out a value that is com(ine/ 3ith other values in a sin le column (for e0am"le, to s"lit the last name of a "erson out of a full name column) the 41L "ara/i m starts to (rea2 /o3n an/ /ata (ecomes (ecome less an/ less searcha(le. 4o normaliAin !our /ata is essential to oo/ "erformance, an/ ease of /evelo"ment, (ut the Duestion al3a!s comes u") WFo3 normaliAe/ is normaliAe/ enoughMW If !ou have rea/ an! (oo2s a(out normaliAation, then !ou 3ill have hear/ man! times that =r/ @ormal >orm is essential, (ut ;th an/ ?th @ormal >orms are reall! useful an/, once !ou et a han/le on them, Duite eas! to follo3 an/ 3ell 3orth the time reDuire/ to im"lement them. In realit!, ho3ever, it is Duite common that not even the first @ormal >orm is im"lemente/ correctl!. -henever I see a ta(le 3ith re"eatin column names a""en/e/ 3ith num(ers, I crin e in horror. An/ I crin e in horror Duite often. Consi/er the follo3in e0am"le Custo%er ta(le)

Are there al3a!s ,* "a!mentsM Is the or/er of "a!ments si nificantM Does a @HLL value for a "a!ment mean H@$@O-@ (not fille/ in !et), or a misse/ "a!mentM An/ 3hen 3as the "a!ment ma/eMYM A "a!ment /oes not /escri(e a Custo%er an/ shoul/ not (e store/ in the Custo%er ta(le. Details of "a!ments shoul/ (e store/ in a 0ay%ent ta(le, in 3hich !ou coul/ also recor/ e0tra information a(out the "a!ment, li2e 3hen the "a!ment 3as ma/e, an/ 3hat the "a!ment 3as for)

In this secon/ /esi n, each column stores a sin le unit of information a(out a sin le Wthin W (a "a!ment), an/ each ro3 re"resents a s"ecific instance of a "a!ment. This secon/ /esi n is oin to reDuire a (it more co/e earl! in the "rocess (ut, it is far more li2el! that !ou 3ill (e a(le to fi ure out 3hat is oin on in the s!stem 3ithout havin to hunt /o3n the ori inal "ro rammer an/ 2ic2 their (uttZsorr!Z fi ure out 3hat the! 3ere thin2in Poor namin stan/ar/s W'hat which we call a rose& by any other name would smell as sweetW This Duote from %omeo an/ Guliet (! -illiam 4ha2es"eare soun/s nice, an/ it is true from one an le. If ever!one a ree/ that, from no3 on, a rose 3as oin to (e calle/ /un , then 3e coul/ et over it an/ it 3oul/ smell &ust as s3eet. The "ro(lem is that if, 3hen (uil/in a /ata(ase for a florist, the /esi ner calls it /un an/ the client calls it a rose, then !ou are oin to have some meetin s that soun/ far more li2e an A((ott an/ Costello routine than a serious conversation a(out storin information a(out horticulture "ro/ucts. @ames, 3hile a "ersonal choice, are the first an/ most im"ortant line of /ocumentation for !our a""lication. I 3ill not et into all of the /etails of ho3 (est to name thin s here5 it is a lar e an/ mess! to"ic. -hat I 3ant to stress in this article is the nee/ for consistency. The names !ou choose are not &ust to ena(le !ou to i/entif! the "ur"ose of an o(&ect, (ut to allo3 all future "ro rammers, users, an/ so on to Duic2l! an/ easil! un/erstan/ ho3 a com"onent "art of !our /ata(ase 3as inten/e/ to (e use/, an/ 3hat /ata it stores. @o future user of !our /esi n shoul/ nee/ to 3a/e throu h a ?++ "a e /ocument to /etermine the meanin of some 3ac2! name. Consi/er, for e0am"le, a column name/, P5(C;DSCR. -hat the hec2 /oes that meanM Eou mi ht /eci/e, after some hea/ scratchin , that it means WN=+; /escri"tionW. Possi(l! it /oes, (ut ma!(e DSCR means /iscriminator, or /iscretiAatorM Hnless !ou have esta(lishe/ DSCR as a cor"orate stan/ar/ a((reviation for /escri"tion, then P5(C;DESCR 0T 1N is a much (etter name, an/ one leaves nothin to the ima ination. That &ust leaves !ou to fi ure out 3hat the P5(C "art of the name means. On first ins"ection, to me, N=+; soun/s li2e more li2e it shoul/ (e /ata in a column rather than a column name. If I su(seDuentl! foun/ that, in the or aniAation, there 3as also an N=+? an/ N=+: then I 3oul/ fla that as an issue 3ith the /ata(ase /esi n. >or ma0imum fle0i(ilit!, /ata is store/ in columns, not in column names. Alon these same lines, resist the tem"tation to inclu/e Wmeta/ataW in an o(&ectJs name. A name such as tb/Custo%er or co/VarcharAddress mi ht seem useful from a /evelo"ment "ers"ective, (ut to the en/ user it is &ust confusin . As a /evelo"er, !ou shoul/ rel! on (ein a(le to /etermine that a ta(le name is a ta(le name (! conte0t in the co/e or tool, an/ "resent to the users clear, sim"le, /escri"tive names, such as Custo%er an/ Address.

A "ractice I stron l! a/vise a ainst is the use of s"aces an/ Duote/ i/entifiers in o(&ect names. Eou shoul/ avoi/ column names such as WPart @um(erW or, in Microsoft st!le, 9Part @um(er<, therefore reDuirin !ou users to inclu/e these s"aces an/ i/entifiers in their co/e. It is anno!in an/ sim"l! unnecessar!. Acce"ta(le alternatives 3oul/ (e +art;nu%ber, +artNu%ber or 0artNu%ber. A ain, consistenc! is 2e!. If !ou choose 0artNu%ber then thatJs fine 5 as lon as the column containin invoice num(ers is calle/ n6oiceNu%ber, an/ not one of the other "ossi(le variations. Lac2 of /ocumentation I hinte/ in the intro that, in some cases, I am 3ritin for m!self as much as !ou. This is the to"ic 3here that is most true. B! carefull! namin !our o(&ects, columns, an/ so on, !ou can ma2e it clear to an!one 3hat it is that !our /ata(ase is mo/elin . Fo3ever, this is onl! ste" one in the /ocumentation (attle. The unfortunate realit! is, thou h, that Wste" oneW is all too often the only ste". @ot onl! 3ill a 3ell7/esi ne/ /ata mo/el a/here to a soli/ namin stan/ar/, it 3ill also contain /efinitions on its ta(les, columns, relationshi"s, an/ even /efault an/ chec2 constraints, so that it is clear to ever!one ho3 the! are inten/e/ to (e use/. In man! cases, !ou ma! 3ant to inclu/e sam"le values, 3here the nee/ arose for the o(&ect, an/ an!thin else that !ou ma! 3ant to 2no3 in a !ear or t3o 3hen Wfuture !ouW has to o (ac2 an/ ma2e chan es to the co/e. N1TE: (here this documentation is stored is largely a matter of corporate standards and)or convenience to the developer and end users. $t could be stored in the database itself& using extended properties. Alternatively& it might be in maintained in the data modeling tools. $t could even be in a separate data store& such as Excel or another relational database. My company maintains a metadata repository database& which we developed in order to present this data to end users in a searchable& lin#able format. *ormat and usability is important& but the primary battle is to have the information available and up to date. Eour oal shoul/ (e to "rovi/e enou h information that 3hen !ou turn the /ata(ase over to a su""ort "ro rammer, the! can fi ure out !our minor (u s an/ fi0 them (!es, 3e all ma2e (u s in our co/eY). I 2no3 there is an ol/ &o2e that "oorl! /ocumente/ co/e is a s!non!m for W&o( securit!.W -hile there is a hint of truth to this, it is also a 3a! to (e hate/ (! !our co3or2ers an/ never et a raise. An/ no oo/ "ro rammer I 2no3 of 3ants to o (ac2 an/ re3or2 their o3n co/e !ears later. It is (est if the (u s in the co/e can (e mana e/ (! a &unior su""ort "ro rammer 3hile !ou create the ne0t ne3 thin . Go( securit! alon 3ith raises is achieve/ (! (ein the o7to "erson for ne3 challen es. One ta(le to hol/ all /omain values WOne +ing to rule them all and in the dar#ness bind themW This is all 3ell an/ oo/ for fantas! lore, (ut itJs not so oo/ 3hen a""lie/ to /ata(ase /esi n, in the form of a Wrulin W /omain ta(le. %elational /ata(ases are (ase/ on the fun/amental i/ea that ever! o(&ect re"resents one an/ onl! one thin . There shoul/ never (e an! /ou(t as to 3hat a "iece of /ata refers to. B! tracin throu h the relationshi"s, from column name, to ta(le name, to "rimar! 2e!, it shoul/ (e eas! to e0amine the relationshi"s an/ 2no3 e0actl! 3hat a "iece of /ata means. The (i m!th "er"etrate/ (! architects 3ho /onJt reall! un/erstan/ relational /ata(ase architecture (me inclu/e/ earl! in m! career) is that the more ta(les there are, the more com"le0 the /esi n 3ill (e. 4o, conversel!, shoul/nJt con/ensin multi"le ta(les into a sin le Wcatch7allW ta(le sim"lif! the /esi nM It /oes soun/ li2e a oo/ i/ea, (ut at one time ivin Paul! 4hore the lea/ in a movie soun/e/ li2e a oo/ i/ea too. >or e0am"le, consi/er the follo3in mo/el sni""et 3here I nee/e/ /omain values for)

Customer Cre/it4tatus Customer T!"e Invoice 4tatus Invoice Line Item Bac2Or/er 4tatus Invoice Line Item 4hi" 6ia Carrier

On the face of it that 3oul/ (e five /omain ta(lesZ(ut 3h! not &ust use one eneric /omain ta(le, li2e thisM

This ma! seem a ver! clean an/ natural 3a! to /esi n a ta(le for all (ut the "ro(lem is that it is &ust not ver! natural to 3or2 3ith in 41L. 4a! 3e &ust 3ant the /omain values for the Custo%er ta(le) 4#L#CT U >%OM Customer GOI@ GenericDomain as CustomerT!"e O@ Customer.CustomerT!"eI/ 8 CustomerT!"e.GenericDomainI/ an/ CustomerT!"e.%elate/ToTa(le 8 JCustomerJ an/ CustomerT!"e.%elate/ToColumn 8 JCustomerT!"eI/J GOI@ GenericDomain as Cre/it4tatus O@ Customer.Cre/it4tatusI/ 8 Cre/it4tatus.GenericDomainI/ an/ Cre/it4tatus.%elate/ToTa(le 8 JCustomerJ an/ Cre/it4tatus.%elate/ToColumn 8 J Cre/it4tatusI/J As !ou can see, this is far from (ein a natural &oin. It comes /o3n to the "ro(lem of mi0in a""les 3ith oran es. At first lance, /omain ta(les are &ust an a(stract conce"t of a container that hol/s te0t. An/ from an im"lementation centric stan/"oint, this is Duite true, (ut it is not the correct 3a! to (uil/ a /ata(ase. In a /ata(ase, the "rocess of normaliAation, as a means of (rea2in /o3n an/ isolatin /ata, ta2es ever! ta(le to the "oint 3here one ro3

re"resents one thin . An/ each /omain of values is a /istinctl! /ifferent thin from all of the other /omains (unless it is not, in 3hich case the one ta(le 3ill suffice.). 4o 3hat !ou /o, in essence, is normaliAe the /ata on each usa e, s"rea/in the 3or2 out over time, rather than /oin the tas2 once an/ ettin it over 3ith. 4o instea/ of the sin le ta(le for all /omains, !ou mi ht mo/el it as)

Loo2s har/er to /o, ri htM -ell, it is initiall!. >ran2l! it too2 me lon er to flesh out the e0am"le ta(les. But, there are Duite a fe3 tremen/ous ains to (e ha/)

Hsin the /ata in a Duer! is much easier) 4#L#CT U >%OM Customer GOI@ CustomerT!"e O@ Customer.CustomerT!"eI/ 8 CustomerT!"e.CustomerT!"eI/ GOI@ Cre/it4tatus O@ Customer.Cre/it4tatusI/ 8 Cre/it4tatus.Cre/it4tatusI/ Data can (e vali/ate/ usin forei n 2e! constraints ver! naturall!, somethin not feasi(le for the other solution unless !ou im"lement ran es of 2e!s for ever! ta(le 5 a terri(le mess to maintain. If it turns out that !ou nee/ to 2ee" more information a(out a Shi+ViaCarrier than &ust the co/e, JHP4J, an/ /escri"tion, JHnite/ Parcel 4erviceJ, then it is as sim"le as a//in a column or t3o. Eou coul/ even e0"an/ the ta(le to (e a full (lo3n re"resentation of the (usinesses that are carriers for the item.

All of the smaller /omain ta(les 3ill fit on a sin le "a e of /is2. This ensures a sin le rea/ (an/ li2el! a sin le "a e in cache). If the other case, !ou mi ht have !our /omain ta(le s"rea/ across man! "a es, unless !ou cluster on the referrin ta(le name, 3hich then coul/ cause it to (e more costl! to use a non7clustere/ in/e0 if !ou have man! values. Eou can still have one e/itor for all ro3s, as most /omain ta(les 3ill li2el! have the same (ase structure.usa e. An/ 3hile !ou 3oul/ lose the a(ilit! to Duer! all /omain values in one Duer! easil!, 3h! 3oul/ !ou 3ant toM (A union Duer! coul/ easil! (e create/ of the ta(les easil! if nee/e/, (ut this 3oul/ seem an unli2el! nee/.)

I shoul/ "ro(a(l! re(ut the thou ht that mi ht (e in !our min/. W-hat if I nee/ to a// a ne3 column to all /omain ta(lesMW >or e0am"le, !ou for ot that the customer 3ants to (e a(le to /o custom sortin on /omain values an/ /i/nJt "ut an!thin in the ta(les to allo3 this. This is a fair Duestion, es"eciall! if !ou have ,+++ of these ta(les in a ver! lar e /ata(ase. >irst, this rarel! ha""ens, an/ 3hen it /oes it is oin to (e a ma&or chan e to !our /ata(ase in either 3a!. 4econ/, even if this (ecame a tas2 that 3as reDuire/, 41L has a com"lete set of comman/s that !ou can use to a// columns to ta(les, an/ usin the s!stem ta(les it is a "rett! strai htfor3ar/ tas2 to (uil/ a scri"t to a// the same column to hun/re/s of ta(les all at once. That 3ill not (e as eas! of a chan e, (ut it 3ill not (e so much more /ifficult to out3ei h the lar e (enefits. The "oint of this ti" is sim"l! that it is (etter to /o the 3or2 u"front, ma2in structures soli/ an/ maintaina(le, rather than tr!in to attem"t to /o the least amount of 3or2 to start out a "ro&ect. B! 2ee"in ta(les /o3n to re"resentin one Wthin W it means that most chan es 3ill onl! affect one ta(le, after 3hich it follo3s that there 3ill (e less re3or2 for !ou /o3n the roa/. Hsin i/entit!. ui/ columns as !our onl! 2e! >irst @ormal >orm /ictates that all ro3s in a ta(le must (e uniDuel! i/entifia(le. Fence, ever! ta(le shoul/ have a "rimar! 2e!. 41L 4erver allo3s !ou to /efine a numeric column as an DENT T# column, an/ then automaticall! enerates a uniDue value for each ro3. Alternativel!, !ou can use NE3 D*. (or NE3SE8"ENT A! D*.) to enerate a ran/om, ,: (!te uniDue value for each ro3. These t!"es of values, 3hen use/ as 2e!s, are 3hat are 2no3n as surrogate keys. The 3or/ surro ate means Wsomethin that su(stitutes forW an/ in this case, a surro ate 2e! shoul/ (e the stan/7in for a natural 2e!. The "ro(lem is that too man! /esi ners use a surro ate 2e! column as the only 2e! column on a iven ta(le. The surro ate 2e! values have no actual meanin in the real 3orl/L the! are &ust there to uniDuel! i/entif! each ro3. @o3, consi/er the follo3in 0art ta(le, 3here(! 0art D is an DENT T# column an/ is the "rimar! 2e! for the ta(le)

0art D , * =

0artNu%ber NNNNNNNN NNNNNNNN EEEEEEEE

Descri+tion The N "art The N "art The E "art

Fo3 man! ro3s are there in this ta(leM -ell, there seem to (e three, (ut are ro3s 3ith 0art Ds , an/ * actuall! the same ro3, /u"licate/M Or are the! t3o /ifferent ro3s that shoul/ (e uniDue (ut 3ere 2e!e/ in incorrectl!M

The rule of thum( I use is sim"le. If a human (ein coul/ not "ic2 3hich ro3 the! 3ant from a ta(le 3ithout 2no3le/ e of the surro ate 2e!, then !ou nee/ to reconsi/er !our /esi n. This is 3h! there shoul/ (e a 2e! of some sort on the ta(le to uarantee uniDueness, in this case li2el! on 0artNu%ber. In summar!) as a rule, each of !our ta(les shoul/ have a natural 2e! that means somethin to the user, an/ can uniDuel! i/entif! each ro3 in !our ta(le. In the ver! rare event that !ou cannot fin/ a natural 2e! ("erha"s, for e0am"le, a ta(le that "rovi/es a lo of events), then use an artificial.surro ate 2e!. @ot usin 41L facilities to "rotect /ata inte rit! All fun/amental, non7chan in (usiness rules shoul/ (e im"lemente/ (! the relational en ine. The base ru/es of nulla(ilit!, strin len th, assi nment of forei n 2e!s, an/ so on, shoul/ all (e /efine/ in the database. There are man! /ifferent 3a!s to im"ort /ata into 41L 4erver. If !our (ase rules are /efine/ in the /ata(ase itself can !ou uarantee that the! 3ill never (e (!"asse/ an/ !ou can 3rite !our Dueries 3ithout ever havin to 3orr! 3hether the /ata !ouJre vie3in a/heres to the (ase (usiness rules. %ules that are o"tional, on the other han/, are 3on/erful can/i/ates to o into a (usiness la!er of the a""lication. >or e0am"le, consi/er a rule such as this) W>or the first "art of the month, no "art can (e sol/ at more than a *+V /iscount, 3ithout a mana erJs a""rovalW. Ta2en as a 3hole, this rule smac2s of (ein rather mess!, not ver! 3ell controlle/, an/ su(&ect to freDuent chan e. >or e0am"le, 3hat ha""ens 3hen ne0t 3ee2 the ma0imum /iscount is =+VM Or 3hen the /efinition of Wfirst "art of the monthW chan es from ,? /a!s to *+ /a!sM Most li2el! !ou 3onJt 3ant o throu h the /ifficult! of im"lementin these com"le0 tem"oral (usiness rules in 41L 4erver co/e 5 the (usiness la!er is a reat "lace to im"lement rules li2e this. Fo3ever, consi/er the rule a little more closel!. There are elements of it that 3ill "ro(a(l! never chan e. #. .

The ma0imum /iscount it is ever "ossi(le to offer The fact that the a""rover must (e a mana er

These as"ects of the (usiness rule ver! much ou ht to et enforce/ (! the /ata(ase an/ /esi n. #ven if the su(stance of the rule is im"lemente/ in the (usiness la!er, !ou are still oin to have a ta(le in the /ata(ase that recor/s the siAe of the /iscount, the /ate it 3as offere/, the ID of the "erson 3ho a""rove/ it, an/ so on. On the Discount column, !ou shoul/ have a CHEC? constraint that restricts the values allo3e/ in this column to (et3een +.++ an/ +.I+ (or 3hatever the ma0imum is). @ot onl! 3ill this im"lement !our Wma0imum /iscountW rule, (ut 3ill also uar/ a ainst a user enterin a *++V or a ne ative /iscount (! mista2e. On the 2anager D column, !ou shoul/ "lace a forei n 2e! constraint, 3hich reference the Mana ers ta(le an/ ensures that the ID entere/ is that of a real mana er (or, alternativel!, a tri er that selects onl! E%+/oyee ds corres"on/in to mana ers). @o3, at the ver! least 3e can (e sure that the /ata meets the ver! (asic rules that the /ata must follo3, so 3e never have to co/e somethin li2e this in or/er to chec2 that the /ata is oo/)

4#L#CT CA4# -F#@ /iscount P + then + else -F#@ /iscount O , then ,Z -e can feel safe that /ata meets the (asic criteria, ever! time. @ot usin store/ "roce/ures to access /ata 4tore/ "roce/ures are !our frien/. Hse them 3henever "ossi(le as a metho/ to insulate the /ata(ase la!er from the users of the /ata. Do the! ta2e a (it more effortM 4ure, initiall!, (ut 3hat oo/ thin /oesnJt ta2e a (it more timeM

4tore/ "roce/ures ma2e /ata(ase /evelo"ment much cleaner, an/ encoura e colla(orative /evelo"ment (et3een !our /ata(ase an/ functional "ro rammers. A fe3 of the other interestin reasons that store/ "roce/ures are im"ortant inclu/e the follo3in . 2aintainabi/ity 4tore/ "roce/ures "rovi/e a 2no3n interface to the /ata, an/ to me, this is "ro(a(l! the lar est /ra3. -hen co/e that accesses the /ata(ase is com"ile/ into a /ifferent la!er, "erformance t3ea2s cannot (e ma/e 3ithout a functional "ro rammerJs involvement. 4tore/ "roce/ures ive the /ata(ase "rofessional the "o3er to chan e characteristics of the /ata(ase co/e 3ithout a//itional resource involvement, ma2in small chan es, or lar e u" ra/es (for e0am"le chan es to 41L s!nta0) easier to /o. Enca+su/ation 4tore/ "roce/ures allo3 !ou to Wenca"sulateW an! structural chan es that !ou nee/ to ma2e to the /ata(ase so that the 2noc2 on effect on user interfaces is minimiAe/. >or e0am"le, sa! !ou ori inall! mo/ele/ one "hone num(er, (ut no3 3ant an unlimite/ num(er of "hone num(ers. Eou coul/ leave the sin le "hone num(er in the "roce/ure call, (ut store it in a /ifferent ta(le as a sto" a" measure, or even "ermanentl! if !ou have a W"rimar!W num(er of some sort that !ou al3a!s 3ant to /is"la!. Then a store/ "roc coul/ (e (uilt to han/le the other "hone num(ers. In this manner the im"act to the user interfaces coul/ (e Duite small, 3hile the co/e of store/ "roce/ures mi ht chan e reatl!. Security 4tore/ "roce/ures can "rovi/e s"ecific an/ ranular access to the s!stem. >or e0am"le, !ou ma! have ,+ store/ "roce/ures that all u"/ate ta(le N in some 3a!. If a user nee/s to (e a(le to u"/ate a "articular column in a ta(le an/ !ou 3ant to ma2e sure the! never u"/ate an! others, then !ou can sim"l! rant to that user the "ermission to e0ecute &ust the one "roce/ure out of the ten that allo3s them "erform the reDuire/ u"/ate. 0er-or%ance There are a cou"le of reasons that I (elieve store/ "roce/ures enhance "erformance. >irst, if a ne3(ie 3rites ratt! co/e (li2e usin a cursor to o ro3 (! ro3 throu h an entire ten million ro3 ta(le to fin/ one value, instea/ of usin a -F#%# clause), the "roce/ure can (e re3ritten 3ithout im"act to the s!stem (other than ivin (ac2 valua(le resources.) The secon/ reason is "lan reuse. Hnless !ou are usin /!namic 41L calls in !our "roce/ure, 41L 4erver can store a "lan an/ not nee/ to com"ile it ever! time it is e0ecute/. ItJs true that in ever! version of 41L 4erver since B.+ this has (ecome less an/ less si nificant, as 41L 4erver ets (etter at storin "lans a/ hoc 41L calls (see note (elo3). Fo3ever, store/ "roce/ures still ma2e it easier for "lan reuse an/ "erformance t3ea2s. In the case 3here a/ hoc 41L 3oul/ actuall! (e faster, this can (e co/e/ into the store/ "roce/ure seamlessl!. In *++?, there is a /ata(ase settin (0ARA2ETER QAT 1N >1RCED) that, 3hen ena(le/, 3ill cause all Dueries to have their "lans save/. This /oes not cover more com"licate/ situations that "roce/ures 3oul/ cover, (ut can (e a (i hel". There is also a feature 2no3n as +/an guides, 3hich allo3 !ou to overri/e the "lan for a 2no3n Duer! t!"e. Both of these features are there to hel" out 3hen store/ "roce/ures are not use/, (ut store/ "roce/ures /o the &o( 3ith no tric2s. An/ this list coul/ o on an/ on. There are /ra3(ac2s too, (ecause nothin is ever "erfect. It can ta2e lon er to co/e store/ "roce/ures than it /oes to &ust use a/ hoc calls. Fo3ever, the amount of time to /esi n !our interface an/ im"lement it is 3ell 3orth it, 3hen all is sai/ an/ /one. Tr!in to co/e eneric T741L o(&ects I touche/ on this su(&ect earlier in the /iscussion of eneric /omain ta(les, (ut the "ro(lem is more "revalent than that. #ver! ne3 T741L "ro rammer, 3hen the! first start co/in store/ "roce/ures, starts to thin2 WI 3ish I coul/ &ust

"ass a ta(le name as a "arameter to a "roce/ure.W It /oes soun/ Duite attractive) one eneric store/ "roce/ure that can "erform its o"erations on an! ta(le !ou choose. Fo3ever, this shoul/ (e avoi/e/ as it can (e ver! /etrimental to "erformance an/ 3ill actuall! ma2e life more /ifficult in the lon run. T741L o(&ects /o not /o W enericW easil!, lar el! (ecause lots of /esi n consi/erations in 41L 4erver have clearl! (een ma/e to facilitate reuse of "lans, not co/e. 41L 4erver 3or2s (est 3hen !ou minimiAe the un2no3ns so it can "ro/uce the (est "lan "ossi(le. The more it has to eneraliAe the "lan, the less it can o"timiAe that "lan. @ote that I am not s"ecificall! tal2in a(out /!namic 41L "roce/ures. D!namic 41L is a reat tool to use 3hen !ou have "roce/ures that are not o"timiAa(le . mana ea(le other3ise. A oo/ e0am"le is a search "roce/ure 3ith man! /ifferent choices. A "recom"ile/ solution 3ith multi"le O% con/itions mi ht have to ta2e a 3orst case scenario a""roach to the "lan an/ !iel/ 3ea2 results, es"eciall! if "arameter usa e is s"ora/ic. Fo3ever, the main "oint of this ti" is that !ou shoul/ avoi/ co/in ver! eneric o(&ects, such as ones that ta2e a ta(le name an/ t3ent! column names.value "airs as a "arameter an/ lets !ou u"/ate the values in the ta(le. >or e0am"le, !ou coul/ 3rite a "roce/ure that starte/ out) C%#AT# P%OC#DH%# u"/ateAn!Ta(le Xta(le@ame s!sname, Xcolumn@ame, s!sname, Xcolumn@ame,6alue varchar(ma0) Xcolumn@ame* s!sname, Xcolumn@ame*6alue varchar(ma0) Z The i/ea 3oul/ (e to /!namicall! s"ecif! the name of a column an/ the value to "ass to a 41L statement. This solution is no (etter than sim"l! usin a/ hoc calls 3ith an HPDAT# statement. Instea/, 3hen (uil/in store/ "roce/ures, !ou shoul/ (uil/ s"ecific, /e/icate/ store/ "roce/ures for each tas2 "erforme/ on a ta(le (or multi"le ta(les.) This ives !ou several (enefits)

Pro"erl! com"ile/ store/ "roce/ures can have a sin le com"ile/ "lan attache/ to it an/ reuse/. Pro"erl! com"ile/ store/ "roce/ures are more secure than a/7hoc 41L or even /!namic 41L "roce/ures, re/ucin the surface area for an in&ection attac2 reatl! (ecause the onl! "arameters to Dueries are search ar uments or out"ut values. Testin an/ maintenance of com"ile/ store/ "roce/ures is far easier to /o since !ou enerall! have onl! to search ar uments, not that ta(les.columns.etc e0ist an/ han/lin the case 3here the! /o not

A nice techniDue is to (uil/ a co/e eneration tool in !our favorite "ro rammin lan ua e (even T741L) usin 41L meta/ata to (uil/ ver! s"ecific store/ "roce/ures for ever! ta(le in !our s!stem. Generate all of the (orin , strai htfor3ar/ o(&ects, inclu/in all of the te/ious co/e to "erform error han/lin that is so essential, (ut "ainful to 3rite more than once or t3ice. In m! A"ress (oo2, Pro 41L 4erver *++? Data(ase Desi n an/ O"timiAation, I "rovi/e several such Wtem"latesW (manl! for tri ers, a(ut also store/ "roce/ures) that have all of the error han/lin (uilt in, I 3oul/ su est !ou consi/er (uil/in !our o3n ("ossi(l! (ase/ on mine) to use 3hen !ou nee/ to manuall! (uil/ a tri er."roce/ure or 3hatever. Lac2 of testin -hen the /ial in !our car sa!s that !our en ine is overheatin , 3hat is the first thin !ou (lameM The en ine. -h! /onJt !ou imme/iatel! assume that the /ial is (ro2enM Or somethin else minorM T3o reasons)

The en ine is the most im"ortant com"onent of the car an/ it is common to (lame the most im"ortant "art of the s!stem first. It is all too often true.

As /ata(ase "rofessionals 2no3, the first thin to et (lame/ 3hen a (usiness s!stem is runnin slo3 is the /ata(ase. -h!M >irst (ecause it is the central "iece of most an! (usiness s!stem, an/ secon/ (ecause it also is all too often true. -e can "la! our "art in /is"ellin this notion, (! ainin /ee" 2no3le/ e of the s!stem 3e have create/ an/ un/erstan/in its limits throu h testing. But letJs face itL testin is the first thin to o in a "ro&ect "lan 3hen time sli"s a (it. An/ 3hat suffers the most from the lac2 of testin M >unctionalit!M Ma!(e a little, (ut users 3ill notice an/ com"lain if the W4aveW (utton /oesnJt actuall! 3or2 an/ the! cannot save chan es to a ro3 the! s"ent ,+ minutes e/itin . -hat reall! ets the shaft in this 3hole "rocess is /ee" s!stem testin to ma2e sure that the /esi n !ou ("resuma(l!) 3or2e/ so har/ on at the (e innin of the "ro&ect is actuall! im"lemente/ correctl!. But, !ou sa!, the users acce"te/ the s!stem as 3or2in , so isnJt that oo/ enou hM The "ro(lem 3ith this statement is that 3hat user acce"tance Wtestin W usuall! amounts to is the users "o2in aroun/, tr!in out the functionalit! that the! un/erstan/ an/ ivin !ou the thum(s u" if their little (it of the s!stem 3or2s. Is this reasona(le testin M @ot in an! other in/ustr! 3oul/ this (e va uel! acce"ta(le. Do !ou 3ant !our automo(ile teste/ li2e thisM W-ell, 3e /rove it slo3l! aroun/ the (loc2 once, one sunn! afternoon 3ith no "ro(lemsL it is oo/YW -hen that car su(seDuentl! Wfaile/W on the first /rive alon a free3a!, or /urin the first /rive throu h rain or sno3, then the /river 3oul/ have ever! ri ht to (e ver! u"set. Too man! /ata(ase s!stems et teste/ li2e that car, 3ith &ust a (it of "o2in aroun/ to see if in/ivi/ual Dueries an/ mo/ules 3or2. The first real test is in "ro/uction, 3hen users attem"t to /o real 3or2. This is es"eciall! true 3hen it is im"lemente/ for a sin le client (even 3orse 3hen it is a cor"orate "ro&ect, 3ith mana ement "ushin for com"letion more than Dualit!). Initiall!, ma&or (u s come in thic2 an/ fast, es"eciall! "erformance relate/ ones. If the first time !ou have trie/ a full "ro/uction set of users, (ac2 roun/ "rocess, 3or2flo3 "rocesses, s!stem maintenance routines, #TL, etc, is on !our s!stem launch /a!, !ou are e0tremel! li2el! to /iscover that !ou have not antici"ate/ all of the loc2in issues that mi ht (e cause/ (! users creatin /ata 3hile others are rea/in it, or har/3are issues cause (! "oorl! set u" har/3are. It can ta2e 3ee2s to live /o3n the cries of W41L 4erver canJt han/le itW even after !ou have /one the "ro"er tunin . Once the ma&or (u s are sDuashe/, the frin e cases (3hich are "rett! rare cases, li2e a user enterin a ne ative amount for hours 3or2e/) start to raise their u l! hea/s. -hat !ou en/ u" 3ith at this "oint is soft3are that irre ularl! fails in 3hat seem li2e 3eir/ "laces (since lar e Duantities of frin e (u s 3ill sho3 u" in 3a!s that arenJt ver! o(vious an/ are reall! har/ to fin/.) @o3, it is far har/er to /ia nose an/ correct (ecause no3 !ou have to /eal 3ith the fact that users are 3or2in 3ith live /ata an/ tr!in to et 3or2 /one. Plus !ou "ro(a(l! have a mana er or t3o sittin on !our (ac2 sa!in thin s li2e W3hen 3ill it (e /oneMW ever! =+ secon/s, even thou h it can ta2e /a!s an/ 3ee2s to /iscover the 2in/s of (u s that result in minor (!et im"ortant) /ata a(errations. Fa/ "ro"er testin (een /one, it 3oul/ never have ta2en 3ee2s of testin to fin/ these (u s, (ecause a "ro"er test "lan ta2es into consi/eration all "ossi(le t!"es of failures, co/es them into an automate/ test, an/ tries them over an/ over. Goo/ testin 3onJt fin/ all of the (u s, (ut it 3ill et !ou to the "oint 3here most of the issues that corres"on/ to the ori inal /esi n are irone/ out. If ever!one insiste/ on a strict testin "lan as an inte ral an/ immuta(le "art of the /ata(ase /evelo"ment "rocess, then ma!(e some/a! the /ata(ase 3onJt (e the first thin to (e fin ere/ 3hen there is a s!stem slo3/o3n.

Su&&ary Data(ase /esi n an/ im"lementation is the cornerstone of an! /ata centric "ro&ect (rea/ II.IV of (usiness a""lications) an/ shoul/ (e treate/ as such 3hen !ou are /evelo"in . This article, 3hile "ro(a(l! a (it "reach!, is as much a remin/er to me as it is to an!one else 3ho rea/s it. 4ome of the ti"s, li2e "lannin "ro"erl!, usin "ro"er normaliAation, usin a stron namin stan/ar/s an/ /ocumentin !our 3or25 these are thin s that even the (est DBAs an/ /ata architects have to fi ht to ma2e ha""en. In the heat of (attle, 3hen !our mana erJs mana erJs mana er is (ein (erate/ for thin s ta2in too lon to et starte/, it is not eas! to "ush (ac2 an/ remin/ them that the! "a! !ou no3, or the! "a! !ou later. These tas2s "a! /ivi/en/s that are ver! /ifficult to Duantif!, (ecause to Duantif! success !ou must fail first. An/ even 3hen !ou succee/ in one area, all too often other minor failures cro" u" in other "arts of the "ro&ect so that some of !our successes /onJt even et notice/. The ti"s covere/ here are ones that I have "ic2e/ u" over the !ears that have turne/ me from (ein me/iocre to a oo/ /ata architect./ata(ase "ro rammer. @one of them ta2e e0traor/inar! amounts of time (e0ce"t "erha"s /esi n an/ "lannin ) (ut the! all ta2e more time u"front than /oin it the Weas! 3a!W. LetJs face it, if the eas! 3a! 3ere that eas! in the lon run, I for one 3oul/ a(an/on the har/er 3a! in a secon/. It is not until !ou see the en/ result that !ou realiAe that success comes from startin off ri ht as much as finishin ri ht.

0re+aring ER diagra% , D>D

An #ntit!7%elationshi" /ia ram is a visual re"resentation of the structure of a /ata(ase. An #7% /ia ram visuall! s"ecifies all entities, "rimar! 2e!s, forei n 2e!s, artificial 2e!s an/ secon/ar! 2e!s. In a//ition, a /ashe/ line /efines relationshi"s an/ a /ot at the en/ of a /ashe/ line in/icates the Wman!W "art of a one7to7man! relationshi". In soft3are en ineerin , an entit!7relationshi" mo/el (#%M) is an a(stract an/ conce"tual re"resentation of /ata. #ntit!7relationshi" mo/elin is a /ata(ase mo/elin metho/, use/ to "ro/uce a t!"e of conce"tual schema or semantic /ata mo/el of a s!stem, often a relational /ata(ase, an/ its reDuirements in a to"7/o3n fashion. Dia rams create/ (! this "rocess are calle/ entit!7relationshi" /ia rams, #% /ia rams, or #%Ds. There are man! #% /ia rammin tools. 4ome free soft3are #% /ia rammin tools that can inter"ret an/ enerate #% mo/els, 41L an/ /o /ata(ase anal!sis are M!41L -or2(ench an/ DBDesi ner (o"en7source). A free3are #% tool that can enerate /ata(ase an/ a""lication la!er co/e (3e(services) is the %I4# #/itor. 4ome of the "ro"rietar! #% /ia rammin tools are A%I4, Avolution, /(>or e 4tu/io for M!41L, De[i n for Data(ases, #%.4tu/io, Dev ems Data Mo/eler, #%3in, M#GA International, OmniGraffle, Oracle Desi ner, Po3erDesi ner, %ational %ose, 4"ar0 #nter"rise Architect, 41L!o , 4!stem Architect, Toa/ Data Mo/eler, 41L Maestro, Microsoft 6isio, 6isi(le Anal!st, an/ 6isual Para/i m. 4ome free soft3are /ia ram tools &ust /ra3 the sha"es 3ithout havin an! 2no3le/ e of 3hat the! mean, nor /o the! enerate 41L. These inclu/e $ivio an/ Dia. DIA /ia rams, ho3ever, can (e translate/ 3ith te/ia*sDl. O"en Paint. Clic2 WAll Pro rams,W clic2 WAccessories,W an/ then clic2 WPaint.W Paint is the ra"hic soft3are a""lication that is inclu/e/ 3ith the 6ista O"eratin 4!stem. O"en a @e3 file. Clic2 W>ile,W then clic2 W@e3.W 4elect a %ectan le s!m(ol. Go to the Paint tool(o0 an/ clic2 the W%ectan le s!m(ol,W then o to the canvas an/ 3ith !our mouse /ra3 the W%ectan le s!m(ol.W I/entif! the Customer #ntit!. Insi/e the rectan le, t!"e WCustomer@um,W as the "rimar! 2e! of the Customer entit!, then /ra3 a horiAontal line. Insi/e the rectan le, t!"e WLast@ame(4$),W s2i" a line then t!"e W>irst@ame(4$)LW the (4$) re"resents the secon/ar! 2e!s. I/entif! the 4ales #ntit!. Insi/e the rectan le, t!"e W4alesID,W as the "rimar! 2e! of the 4ales, then /ra3 a horiAontal line. Insi/e the rectan le, t!"e W4alesDate,W s2i" a line then t!"e WGe3elr!Piece,W s2i" a line then t!"e WCustomer@um(>$)LW the (>$) re"resents the forei n 2e!. I/entif! the relationshi" (et3een the Customer an/ 4ales #ntities. Go to the Paint tool(o0 an/ clic2 the WLine s!m(ol,W then o to the canvas an/ /ra3 /ashes (et3een the Customer #ntit! an/ the 4ales #ntit!

D>D A D>D contains four 2in/s of s!m(ol) ,. 0rocesses 77 The onl! active elements. Processes cause somethin to ha""en. The! have em(e//e/ /escri"tions, often in ver(7o(&ect form. (4ometimes informall! calle/ W(u((lesW (ecause of their sha"e in an earl! version of 4A.) *. Ter%inators 77 %e"resent users or other s!stems, i.e. entities outsi/e the (oun/ar! of the s!stem (ein /escri(e/. =. Data-/o7s 77 Com"osite /ata items (or obJects) that "ass either o from an! element to a "rocess (in"ut /ataflo3) or o from a "rocess to an! element (out"ut /ataflo3) ;. Data stores 77 Fol/in "laces for /ataflo3sL often im"lemente/ (! /ata(ases. #ach s!m(ol is labelled 3ith a /escri"tion in #n lish or another natural lan ua e. So%e co%%on$sense ru/es 4!stems anal!sts a""l! this chec2list to loo2 for errors in their D>Ds) ,. #ver! "rocess must have at least one in"ut /ataflo3 (6iolators are calle/ Wma icW "rocesses, since the! claim to /o somethin (ase/ on no in"ut, not even a tri er.) *. #ver! "rocess must have at least one out"ut /ataflo3 (6iolators are calle/ W(lac2 holeW "rocesses, since their in"uts are s3allo3e/ u" for no reason.) =. #ver! /ataflo3 must connect t3o elements. One of them must (e a "rocessL the other can (e a terminator, a /ata store or another "rocess. ;. #ach /ataflo3 /ia ram shoul/ contain no more than si0 or seven "rocesses an/ no more than si0 or seven /ata stores, an/ all the "rocesses shoul/ (e conce"tuall! at the same level of /etail. If a "art of the s!stem is too (i or too com"licate/ to /escri(e in an easil! ras"e/ /ia ram, (rea2 it /o3n into t3o or three lo3er7level /ia rams. (-e sometimes see han in on an office 3all a hu e tour de force D>D that tries to /escri(e an entire lar e s!stem at a lo3 level of /etail 3ith several /oAen "rocesses an/ convolute/ intersectin /ataflo3 arro3s. ThatJs not somethin to (e "rou/ of. It /oesnJt communicate to an! au/ience.) ?. >or ever! "rocess, one of the follo3in must eventuall! (e true) a. The /escri"tion la(el is so sim"le an/ unam(i uous that ever! rea/er 3ill un/erstan/ it in e0actl! the same 3a!. (. It is e0"an/e/ or /ecom"ose/ into a se"arate lo3er7level /ataflo3 /ia ram that "reserves e0actl! the same net in"uts an/ out"uts, (ut sho3s internal /etail, such as /ata stores an/ internal "rocesses. c. It is ri orousl! /escri(e/ (! a se"arate "rocess s"ecification ((usiness rule, /ecision rule, function /efinition, al orithm, etc.). The starting +oint: Conte:t */e6e/$(. diagra% The s!stems anal!st (e ins (! "re"arin the to"7level D>D. This Wconte0t /ia ramW sho3s the entire s!stem as a sin le "rocess. Interactions 3ith users an/ other e0ternal entities are sho3n as /ataflo3s. The conte0t /ia ram, althou h often almost triviall! sim"le, serves t3o essential "ur"oses)

It clarifies to the user au/ience the anal!stJs un/erstan/in of the scope of the "ro"ose/ s!stem, the 2in/s of users the s!stem 3ill have, an/ the /ata comin out from an/ oin into the s!stem. A sur"risin num(er of misun/erstan/in s are e0"ose/ at this earl! sta e. It motivates an/ esta(lishes a frame3or2 for the more com"licate/ ne0t level ((elo3).

The syste% diagra% */e6e/$) D>D.

After ever!one a rees that the conte0t /ia ram is correct an/ com"lete, the s!stems anal!st e0amines the first7level (rea2/o3n of ma&or functions. Most s!stems can (e /ecom"ose/ into (et3een t3o an/ seven ma&or areas. The result is calle/ the Ws!stem /ia ramW. It ives a clear overvie3 of the s!stem an/ serves as a (ase for further /ecom"osition. The end The /ataflo3 /ia rams are com"lete 3hen)

#ver! "rocess on ever! D>D com"lies 3ith rule num(er ? a(ove. #ver! /ataflo3 sho3n on ever! D>D is /efine/ in the /ata /ictionar!.

ThereJs more to come, (ut the remainin com"onents of the s!stem s"ecification (or /etaile/ user reDuirements /ocumentation) have little or no effect on the functionality of the "ro"ose/ s!stem. @ote that the information containe/ in these /ocuments is essential not onl! as a foun/ation for (uil/in a custom a""lication (ut also as a (asis for evaluatin an/ choosin a "ac2a e/ a""lication soft3are "ro/uct.

DATA >!13 D A@RA2S Syste%s Ana/ysis >ocus is the logical vie3 of the s!stem, not the "h!sical

\-hat] the s!stem is to accom"lish, not ho3 Tools)

/ata flo3 /ia rams /ata /ictionar! "rocess s"ecification

entit!7relationshi" /ia rams Data >/o7 Diagra%: Wa net3or2 re"resentation of a s!stem. The s!stem ma! (e automate/, manual, or mi0e/. The D>D "ortra!s the s!stem in terms of its com"onent "ieces, 3ith all interfaces amon the com"onents in/icate/.W 7 Tom DeMarco hence D>Ds) focus on the movement of /ata (et3een e0ternal entities an/ "rocesses, an/ (et3een "rocesses an/ /ata stores

$%a&'le #ata 2lo- #iagra&

data store

process
data flow external entity

Data >/o7 Diagra%s are: Hse/ to "erform structure/ anal!sis to /etermine lo ical reDuirements

A relativel! sim"le techniDue to learn an/ use 3hy Conduct 0rocess 2ode/ing4

A ra"hical tool, useful for communicatin 3ith users, mana ers, an/ other I4 "ersonnel Hseful for anal!Ain e0istin as 3ell as "ro"ose/ s!stems

Hn/erstan/ com"onents of current lo ical or "h!sical s!stem for "ur"ose of re(uil/in in a /ifferent "h!sical form.technolo !, "ossi(l! 3ith some chan e/ functionalit! >in/ inefficiencies in current s!stem %e7en ineer current s!stem

SourcesESinks *e:terna/ entities. An! class of "eo"le, an or aniAation, or another s!stem 3hich e0ists outsi/e the s!stem !ou are stu/!in . >orm the (oun/aries of the s!stem. The s!stem an/ e0ternal entities e0chan e /ata in the form of /ata flo3s. Must (e name/, titles "referre/ to names of in/ivi/uals 7 use a noun Data >/o7s /ata in motion mar2s movement of /ata throu h the s!stem 7 a "i"eline to carr! /ata connects the "rocesses, e0ternal entities an/ /ata stores Hni/irectional ori inate O% en/ at a "rocess (or (oth) name as s"ecificall! as "ossi(le 7 reflect the com"osition of the /ata 7 a noun /o not sho3 control flo3Y Control flo3 is eas! to i/entif!7 a si nal 3ith onl! one (!te 7 (on.off). FI@T) if !ou canJt name it) either itJs control flo3, /oesnJt e0ist or !ou nee/ to et more informationY

0rocesses transform incomin /ata flo3s into out oin /ata flo3s re"resent 3ith a (u((le or roun/e/ sDuare name 3ith a stron 6#%B.OBG#CT com(inationL e0am"les) createSe0ce"tionSre"ort vali/ateSin"utScharacters calculateS/iscount Data Stores /ata at rest re"resents hol/in areas for collection of /ata, "rocesses a// or retrieve /ata from these stores name usin a noun (/o not use QfileR) onl! "rocesses are connecte/ to /ata stores sho3 net flo3 of /ata (et3een /ata store an/ "rocess. >or instance, 3hen access a DBM4, sho3 onl! the result flo3, not the reDuest Data >/o7 Diagra% DonNts ,. BLAC$ FOL#4 *. MI%ACL#4 =. Let it et too COMPL#N) B ^ * "rocesses ;. Leave thin s H@LAB#L#D (corollar!) la(els shoul/ have meanin ) ?. Data stores that are \4OH%C#4] or \4I@$4] :. Data flo3s that are H@A44OCIAT#D 3ith a P%OC#44 ,. Expect your diagram to be -perfect. the first time/ Data >/o7 Diagra% DonNts

proc ess stuff

1. Black Hole

proc ess stuff

2. Its a Miracle

Data >/o7 Diagra% DonNts

ds 1 A. 1 data

A. 2

!. "ea#e $%in&s 'nla(eled )orollary* "a(els +%ould Ha#e Meanin&


Data >/o7 Diagra% DonNts

data store

,. Miracle data source


,. Black %ole data source

data store
Data >/o7 Diagra% DonNts

-. .ata /lows 'nassociated 0it% a 1rocess


data store to entity or re#erse entity to entity

data store to data store


Diagra%%ing A Syste% D>Ds are create/ at increasin levels of /etail Di--erent Ty+es o- D>Ds

multi"le D>Ds are reDuire/ to re"resent a s!stem

Conte0t /ia ram Level7+ /ia ram (s!stem /ia ram) Level7n /ia ram

Primitive /ia ram Conte:t Diagra% /efines the sco"e of the s!stem (! i/entif!in the s!stem (oun/ar! contains)

one "rocess (3hich re"resents the entire s!stem) all sources.sin2s (e0ternal entities)

/ata flo3s lin2in the "rocess to the sources an/ sin2s (e0ternal entities) E:a%+/e Conte:t Diagra% Constructing a Conte:t Diagra%

create conte0t /ia ram !e6e/$( Diagra% /escri(es the overall "rocessin of the s!stem

i/entif! an/ list sources.sin2s (e0ternal entities) i/entif! an/ list in"uts to an/ out"uts from sources.sin2s (e0ternal entities)

sho3 one "rocess for each ma&or "rocessin ste" or functional reDuirement /ata flo3s from the conte0t a""ear on s!stem /ia ram also (level (alancin ) can sho3 a sin le /ata store to re"resent all /ata in a re ate at this level

can /ra3 /u"licate sources, sin2s an/ /ata stores to increase le i(ilit! Dra7ing a !e6e/$( Diagra%

num(er "rocesses >unctiona/ Deco%+osition similar to a series of more /etaile/ ma"s

list the ma&or /ata stores list ma&or (usiness ste"s /ra3 a se ment for each (usiness ste" assem(le into sin le D>D re7or aniAe until satisfie/

iterative "rocess of (rea2in the /escri"tion of a s!stem into finer an/ finer /etail to create a set of charts in 3hich one process on a iven chart is e0"laine/ in reater /etail on another chart referre/ to as e0"lo/in , "artitionin , or levelin must use !our &u/ ment to /eci/e 3hat oes on each level sho3 error an/ e0ce"tion han/lin on lo3er levels (if at all) !o7er !e6e/ Diagra%s e0"lo/e the "rocesses sho3n on the level7+ /ia ram each "rocess is re"resente/ (! its o3n D>D (alance /ata /ata flo3s on u""er level a""ear on lo3er level, or /ata flo3s on u""er level are (ro2en into com"onent "ieces 3ith com"onents sho3n on lo3er level each lo3er level sho3s reater an/ reater /etail

follo3 num(erin convention Ba/ancing D>Ds

conserve /ata from level to level 7 in"uts an/ out"uts on the hi her level must a""ears some3here on the lo3er level Ad6anced Ru/es Com"osite /ata flo3 on one level can (e s"lit into its com"onent /ata flo3s on the ne0t level 7 (ut ne3 /ata cannot (e a//e/ an/ all /ata in the com"osite must (e inclu/e/ in the su(7flo3s The in"uts to a "rocess must (e sufficient to "ro/uce the out"uts. Ma! re"eat /ata stores or sources.sin2 to avoi/ crossin lines Additiona/ @uide/ines the in"uts to a "rocess are different from the out"uts of that "rocess /o not chan e /ata flo3 names on lo3er levels unless !ou are /ecom"osin a /ata flo3 into com"onent "ieces. never e0"lo/e a sin le "rocess into another sin le "rocess. If !ou cannot "artition the "rocess, then the lo3er level D>D is not nee/e/. e0"ect to iterate, "ut /o3n the D>D an/ o (ac2 to it a fe3 times to create somethin satisfactor!. 1ther 8uestions about !o7er /e6e/ diagra%s ,. Fo3 /ee"M (ho3 man! levelsM) if the "rocess has onl! one in"ut or one out"ut, "ro(a(l! cannot "artition furtherL can !ou /escri(e the "rocess in #n lish in a(out ,.* "a eM *. Fo3 (roa/M (ho3 man! "rocesses on a levelM)

Lo3est level D>Ds ma! a// ne3 /ata flo3s to re"resent e0ce"tion han/lin , i.e., error messa es

o(&ects in a set of D>Ds have uniDue names

B ^ t3o is a reasona(le heuristic ma! tem"oraril! "lace much of the s!stem on a sin le /ia ram then re7/ra3 into se"arate levels 8ua/ity @uide/ines Com"leteness all com"onents inclu/e/ ' in "ro&ect /ictionar! Consistenc! (et3een levels) (alancin , levelin Timin consi/erations assume s!stem never starts an/ never sto"s Iterative nature revisions are common Dra3in "rimitives (lo3est level) 3hen to sto"M

F )& '& 5& C& D& H& F& I& G& )(&

>inding the data -ie/ds to be used in the database 0/an E:ecuting the 0/an >irst 7ay to enab/e in+ut o- ne7 records 6ia Buery based -or% Second 7ay to enab/e in+ut o- ne7 records 6ia Buery based -or% - it 7onRt 7ork&&& A Big 3arning 2o6ing on&&&& 0ostscri+t !ast/y Editoria/ 0hi/oso+hy

The 0/an;;;;;;;;;;;;;;; Part of the art of creatin oo/ /ata(ases lies in choosin 3hat fiel/s 3ill a""ear in 3hat ta(les. The ta(les are the (e/roc2 of an! /ata(ase. There are serious rules a(out 3hat shoul/ an/ shoul/ not (e in them... tr! to fin/ /iscussions of data nor%a/iLation to hel" !ou start learnin a(out those rules. The rules su""ort a cou"le of i/eas)

DonJt enter an!thin t3ice in the /ata(ase. $ee" thin s sim"le. Avoi/ enterin thin s !ou /onJt nee/ to enter.

In connection 3ith that last "oint, consi/er the follo3in /ata(ase a""lication, an/ tr! to ima ine the man!, man! similar situations. Ima ine that !ou are 2ee"in trac2 of some stoc2 mar2et investments. (Ees, I 2no3 that 3hat follo3s 3oul/ not serve an investorJs real nee/s. It is &ust to illustrate a "oint.) In the /ata(ase 3e are oin to have a recor/ for each hol/in . If >re/ ha/...

,++ shares of IBM ?+ shares of Goo le, an/ ,+ shares of #00om

....then heJ/ have = recor/s in his /ata(ase. #ach recor/ 3oul/ have the follo3in fiel/s) Com"an! name, @um(er of shares o3ne/, 6alue of a sin le share. (That last fiel/ 3oul/ (e a "ain... if >re/ 3ante/ an u"7to7/ate i/ea of his sharesJ total value, heJ/ have to o into the /ata(ase an/ chan e the values in each of the WPer4hareW fiel/s.) 3ou &ight think it 3oul/ (e nice to have a W6alue of the hol/in W -ie/d. I.e., if IBM 3ere 3orth _C+ "er share, >re/Js ,++ shares 3oul/ (e 3orth _C+++, an/ that WC+++W coul/ (e store/ in the tab/e. This 3oul/ (e a Bad dea) In a sense !ou 3oul/ (rea2in the WDonJt enter somethin t3iceW rule (the W6alue of Fol/in W fiel/ 3oul/, essentiall!, /u"licate a com(ination of the W4haresW an/ WPer4hareW fiel/s), and it 3oul/ (rea2 the WDonJt enter thin s !ou /onJt nee/ toW rule. But that /oesnJt mean that >re/ canJt ma2e the com"uter 3or2 out for him that the IBM hol/in s are 3orth _C+++Y 4o- he gets that infor&ation5 the right -ay5 is the sub6ect of this tutorial7

Before 3e "rocee/) A /etail. Investors 3ill 3ant to 2no3 the value of their shares on s"ecific /ates. The "er share value of a share varies from /a! to /a!. The /ata(ase, as /escri(e/ here, 3ill either nee/ all the "rices re7entere/ for 3hatever /a! is of interest, or a more com"le0 /ata(ase (Weasil!W create/) 3ill (e nee/e/. To 2ee" thin s sim"le, 3hich is all 3e nee/ for the s2ills un/er consi/eration, &ust thin2 of this /ata(ase of a 3a! to 2no3 the cost of /ifferent investments, an/ ima ine that the Per4hare fi ure recor/s 3hat 3as "ai/ for the shares on the /a! the! 3ere "urchase/. (An/ !es, I /o realiAe that if this /ata(ase 3ere to (e use/ in the real 3orl/, the /ate the shares 3ere "urchase/ 3oul/ also (e in the ta(le.) An/ a (it of (a/ ne3s (efore 3e "rocee/) As /escri(e/ in the main "art of this tutorial, !ou can have a form to vie3 information from a /ata(ase, com"lete 3ith some calculate/ fiel/s (i.e. the W6alue of hol/in W information). Fo3ever, !ou 3ill have, for no3, to use a separate form if !ou 3ant to ma2e chan es to an! ta(le or ta(les un/erl!in the form 3ith calculate/ fiel/s. An/, more (a/ ne3s, !ou 3ill "ro(a(l! have to clic2 (uttons to ma2e the Winfo /is"la!W form u"/ate itself after an! chan es on the W/ata entr!W form. 4orr!Y IJm learnin all the time, an/ ma! Wcrac2W this one sometime... (ut for no3, hereJs Wa 3a!W, (e it ever so cru/e... E:ecuting the +/an;;;;;;;;;;;;;;; 4ome earlier tutorials ive !ou more su""ort than this one /oes. If !ou fin/ it /ifficult to com"lete the tas2s s"ecifie/ (elo3, !ou mi ht 3ant to 3or2 thou h some of the earlier tutorials first. Create a ta(le calle/ WMainW. Do it ho3ever !ou 3ish, 3ith the 3iAar/, or in /esi n mo/e. Be sure to set the first fiel/ as the "rimar! 2e!, 3ith the WAutovalueW "ro"ert! set to WEesW. Define the fiel/s 3ith the follo3in fiel/ t!"es, names, len ths, etc, as sho3n) D (Primar! 2e!, Inte er, Auto6alue) Shares (Inte er) 0erShare (@um(er, len th ,:, /ecimal "laces) *)(This for "rice) Co%+any (Te0t 9varchar<, len th)?) Put some /ata in the ta(le. T3o recor/s 3ill suffice. Close the ta(le. @o3 that !ou have the ta(le, there are t3o 3a!s !ou can "rovi/e !ourself 3ith a 3a! to e/it 3hat is in it. >or sim"le thin s, !ou ma! nee/ nothin more than a sim"le form. But if !ou 3ant a calculate/ fiel/ /is"la!e/, then this mornin (Gul! *++I, an/ a ain March *+,+) I can onl! /o that 3ith a form (ase/ on a Duer!. (I coul/ have sworn I ha/ a form 3or2in 3ith a calculate/ fiel/, 3ithout a Duer! in *++I... (ut I canJt /o it no3.) The calculate/ fiel/ 3ill sho3 the value of the shares. Create a Duer!. I use/ the 3iAar/. Inclu/e ALL of the fiel/s. (Eou ma! not nee/ to, (ut for no3) inclu/e them, &ust in case.) Do not set a sort or/er. (Eou "ro(a(l! coul/, (ut IJm tr!in to 2ee" this sim"le.) Do not set an! search con/itions. 4te" ;) Acce"t the /efault WDetaile/W t!"e Duer!. This 3ill allo3 !ou to s2i" a fe3 ste"s. @e0t ste") In at least some "re7version =., variants of DataBase, at the ne0t ste", the /efault aliases inclu/e WMain.W in front of WIDW, W4haresW, etc. If !ou are usin an ol/ version, an/ seein this, e/it the

WMain.W off of the aliases. (#. ., ma2e the alias for WMain.4haresW &ust W4haresW, etc.). If !ou are usin DataBase version =.,, !ou 3onJt nee/ to /o this, an/ the ste" 3here !ou 3ill (e a(le to see the aliases 3ill (e ste" B. I sus"ect it 3as ste" B for a lon time... (ut there 3as 3hat I thin2 3as a t!"o in this tutorial, an/ the tutorial sai/ the WAliasesW ste" 3as ste" ?. (If !ou can confirm that it 3as once ste" ?, IJ/ (e intereste/. Or if !ou are still usin DataBase *.;, "lease chec2 3hat itJs WAliasesW ste" is for meM (An/ then u" ra/e !ourselfY) Call the Duer! W1uer!-ithCalcW... even thou h it /oesnJt have a calculate/ fiel/ !etY Before !ou clic2 W>inishW to leave ste" C, select WMo/if! Duer!W for 3hat ha""ens ne0t. The main /esi n 3in/o3 for the Duer! shoul/ o"en. Across the (ottom is a ta(le, 3ith four "o"ulate/ columns. Clic2 in the W>iel/W cell, the to" one, of the fifth column, the first em"t! one. #nter.... 4haresUPer4hare ... (ein careful to use the same ca"italiAation as !ou use/ in namin those fiel/s... it /oes matter. Do not (e alarme/ if DataBase "uts some Duotation mar2s aroun/ the names. If !ou have a fiel/ name 3ith s"aces in the name, enclose the name in Duote mar2s, e. . WPer 4hareW @e0t, fill in Va/ue o- Shares for the alias of the fourth column. (It /oesnJt have to (e (ol/, I &ust 3ante/ to avoi/ usin Duote mar2s to /elimit the alias, as !ou shoul/nJt use them 3ith !our entr!.) Put a tic2 in the Wvisi(leW (o0, if it isnJt tic2e/ alrea/!. >inall!, save the Duer! /efinition an/ run it. Eou shoul/ see sensi(le results, an/ !ou can alter the contents of the /ata(ase.... if all is 3ell. (DonJt fool 3ith the WIDW fiel/Js contents.) (The time I trie/ ma2in a Duer! 3ithout the ID fiel/, I coul/ see sensi(le results... (ut not chan e an!thin .) I ho"e !ou 3oul/nJt e0"ect to (e a(le to /irectl! chan e the W6alue of Fol/in W entr!M Thin2 a(out it. Eou can try.. no harm 3ill come of /oin so. @.B. - !ou fin/ that !ou can chan e the num(er of shares in a recor/, or chan e the cost "er share fiel/, then 3hen !ou /o it, the WFol/in valueW 3ill not chan e imme/iatel!. It 7i// chan e 3hen !ou...

Go to a /ifferent record (chan in fields is not enou h), or... Clic2 on the W4ave Current %ecor/W icon, or... Close the Duer!.

4oY -e have a Duer! that fetches the num(er of shares, an/ the value "er share from the ta(le, an/ then 3or2s out for us the value of the hol/in . In a sense, 3e have achieve/ our oal... (ut it 3oul/ (e (etter to "ress on, an/ com"lete a//itional ste"s.... @o3 use the 3iAar/ to create a ne3 form. In ste" ,, select our ne3l! create/ Duer! W1uer!-ithCalcW, an/ as2 for all of its fiel/s to (e inclu/e/ in the form. 4te" *) DonJt set u" a su(7form, &ust clic2 W@e0tW. 4te" ?) I use/ a WData 4heetW arran ementL I /onJt /ou(t others 3oul/ 3or2, too.

In ste" :, set /ata entr! to W/is"la! allW, 3ithout Wchan eW restrictions. 4te" B) An! st!le 3ill /o. 4te" C) Hse W>orm-ithCalcW for the formJs name, or W>ormBase/On1uer!-ithCalcW, an/ tell the 3iAar/ that !ou 3ant to 3or2 3ith the form after it is create/. Clic2 W>inishW, to com"lete the 3iAar/, an/ !ou shoul/ fin/ !ou have a oo/ interface to the ta(le, 3ith the calculate/ fiel/ tellin !ou the value of each hol/in . Ta /aM Ees... if !ou are onl! tr!in to ins"ect /ata in the ta(le, an/ learn the values of /ifferent hol/in s, i.e. the ans3er to Wnum(er of share multi"lie/ (! value "er share.W At this "oint, this mornin (IMar,+, DataBase =.,.+, -inNP) I a& able to chan e /ata in the un/erl!in ta(le via the Duer! (ase/ formY As lon as, for no3, I onl! chan e /ata in existing records.... (ut see (elo3. I have 3restle/ 3ith this sort of thin a ain an/ a ain, ettin /ifferent ans3ers ever! timeY I have not (!etY) teste/ alterin /ata in ta(les from forms /is"la!in the results of a !uery pulling data from &ore than one table. That ma! (e A Different 4tor!.) If at this "oint !ou tr! to a// a ne3 record, i.e. a ne3 ro3 of /ata, !ou 3ill "ro(a(l! et W#rror 3ritin /ata to /ata(ase... In"ut reDuire/... J6alue of 4haresJ...W. ButY -e can fi0 thisY There are t3o 3a!s. In either case, start (! closin the form. >irst 7ay to enab/e in+ut o- ne7 records 6ia Buery based -or% This is a little more Wcum(ersomeW that the secon/, (ut it a""eals to m! (elief that the more chec2in !ou have the (etter. The secon/ solution turns off more than !ou nee/ to. O"en the form for e/itin . %i ht clic2 on the column hea/in W6alue of 4haresW (the calculate/ fiel/). Clic2 on the WColumn...W o"tion. A /ialo hea/e/ WPro"erties) >ormatte/ >iel/W shoul/ o"en. 4elect the WDataW ta(. 4et WIn"ut reDuire/W to W@oW. That shoul/ /o itY @e0t IJll ive !ou an alternative solution in case for some reason !ou /onJt li2e that. (Or in case it 3onJt 3or2 for !ou. If it 3onJt, an/ !ou are usin DataBase =.,.+ or later, "lease contact me, citin Wf/(,calcf,W, an/ I 3ill loo2 at this again.) Second 7ay to enab/e in+ut o- ne7 records 6ia Buery based -or% The form shoul/ (e close/. In the DataBase main "ro&ect mana er 3in/o3, select W>ormsW in the left han/ "anel, a then ri ht clic2 on W>orm-CalcW. Clic2 on the WData(aseW entr! at the (ottom of the "o" u" menu. Clic2 on WA/vance/ 4ettin sW. %emove the tic2 in front of W>orm /ata in"ut chec2s for reDuire/ fiel/sW. 4ave the e/ite/ form. O"en it for normal use... !ou shoul/ no3 (e a(le to enter /ata in the ta(le throu h the form 3hich is (ase/ on the Duer!. If !ou canJt, an/ !ou are usin DataBase =.,.+ or later, "lease contact me, citin Wf/(,calcf,W, an/ I 3ill loo2 at this again.)

If !ou 3orr! (as I thin2 !ou shoul/) a(out the ramifications of this turnin off of chec2s, I can at least reassure !ou that some chec2s remain in "lace. >or instance, I trie/ to enter W00W into a fiel/ that 3as of t!"e Winte erW. The W00W 3as converte/ to a Aero. If it 3onJt 3or2... There is a Wcru/eW ans3er !ou can use 3hen !ou canJt et /ata to "ass (ac2 to !our ta(les from a form) use multi"le forms.... one (Duer! (ase/) 3ith 3hatever !ou nee/ to see, an/ another, sim"ler, form (or forms) for chan in /ata in the ta(le(s). A Big 3arning DonJt fall to the tem"tation of 3or2in /irectl! 3ith a Duer! in ho"es of chan in 3hat is in a ta(le. -hen !ou chan e entries in the result of a Duer!, it 3ill a""ear to 3or2, (ut !ou are onl! chan in 3hat !ou see on the screen, not 3hat is in the un/erl!in ta(le. 2o6ing on&&&& I ho"e !ou have a sensi(le result, after 3or2in throu h 3hat is a(ove. A"olo ies if the ans3er is still fla3e/ at this time... IJve s"ent hours on this over the !ears. But /o Wcom"lainW if nee/ (eY 0ostscri+t;;;;;;;;;;;;;;; FaY Pro ressM Preliminar! e0"eriments su est that the a(ove techniDues 3onJt 3or2 if !our Duer! /ra3s /ata from more than one un/erl!in ta(le. 4i h. But a least a can/i/ate for 3h! the thin W3or2sW sometimes, an/ not others. 4o ho3 DO 3e /o it in multi7ta(le situationsM An enDuir! at the e0cellent ooo>urum.or ave rise to this information from 6illero!, 3ho has su""lie/ man! e0cellent ans3ers for the communit! over the !ears. @ote that he su""orts m! i/ea that !ou nee/ to inclu/e the "rimar! 2e! in the form or Duer!, even if !ou /onJt display it. But note the a//itional "oint he ma2es) Eou DO nee/ to /is"la! the "rimar! 2e! if its WautovalueW "ro"ert! isnJt set to W!esW. Also, alas, note that he sa!s !ou canJt use the techniDues a(ove on a Duer! /ra3in information from more than one ta(le.... unless, as the! sa!, !ou 2no3 other3iseMM Eour form is 3rita(le if it is (oun/ to some recor/ set from a sin le ta(le an/ if the ta(leJs "rimar! 2e! is inclu/e/. This means that the form is (oun/ to the entire ta(le an/ the ta(le is e/ita(le O% the form is (oun/ to some ro3 set li2e 4#L#CT >%OM W4In leSTa(leW -F#%# ... O%D#% BE... This ro3 set is e/ita(le &ust li2e the ta(le if an/ onl! if the fiel/ list inclu/es the "rimar! 2e! of the sin le ta(le. If the P$ is an auto7value !ou /onJt have to /is"la! the P$ (! means of a form control. 6isi(le or not, It is "art of the formJs ro3 set. 4u(forms follo3 the same rules. A "air of su(form an/ "arent form reflects a one7to7man! relation an/ ma2es

this relation e/ita(le. The e/ita(le "arent selects e/ita(le recor/s in the su(form. As I sai/ a(ove, IJve 3restle/ 3ith this for some time. The follo3in ma! (e useful of interestin if !ou fin/ that 3hatJs a(ove /oesnJt Gust -or2. In a /iscussion at the O"en Office forum, t3o comments 3ere ma/e, 3hich ma! (e of interest) >orms /onJt calculate an!thin , (ut the! can (e use/ to /is"la! results calculate/ in Dueries. Eou coul/ a// a su(form to the form, a// te0t(o0 to su(form an/ as /atasource use Duer! 3hich calculates the value.

The first su ests that 3hat as of IMar,+ I thin2 3or2s never has. But IJve (een throu h "erio/s of not (ein a(le to ma2e it 3or2Y The secon/ su ests u" an interestin alternate "ath to a solution. I (elieve that ans3er is even suite/ to forms that /is"la! more than one recor/ at a time. I 3on/er if it 3oul/ reDuire a full (lo3n Duer!, or 3hether the su(7form coul/ (e as2e/ more /irectl! &ust to /is"la! the result of W4haresWUWPer4hareW. (I /i/nJt have much luc2 3hen I trie/ to /o this 3ithout a Duer!... (ut I live in ho"e that it CA@ (e /one, at least for a form /is"la!in &ust one recor/. (There are 3a!s if !ou 3ant to et into usin macros.) (A//in a su(7form I4 covere/ in another of m! "a es, (ut that "a e tal2s a(out a reat /eal elseY (A//in the su(form isnJt har/... 3hen !ou 2no3 ho3... (ut 3hat !ou nee/ to /o in or/er to a// a su(form ma! not seem Wo(viousW... it 3asnJt to me, an!3a!Y)) Another forum.or /iscussion 3hich ma! (e useful is a form that can BOTF (e use/ to enter ne3 /ata, A@D 3hich can /is"la! a calculate/ result from fiel/s. Also uses a macro. Fmmm... Wstran er, stran er an/ har/er....W In e0"lorin a Duestion from a rea/er, = March ,+, IJve stum(le/ into somethin that ma! or ma! not (e true, ma! or ma! not (e useful.... M! current (est uess... nee/s 3or2... is.... If !ou &ust 3ant to loo2 at some /ata, e. . the investment /ata use/ as the e0am"le at the to" of the "a e, A@D have a calculate/ fiel/, then The -a! To Go is to set u" a Duer! to WharvestW the /ata, an/ calculate 3hat 3ill (e in the calculate/ fiel/... as set out in the main "art of 3hat starts at the to" of this "a e. 88 B T 88) If !ou 3ant to ADD O% #DIT %#CO%D4 via the same form, then thin s et a little tiresome. Fo3ever, it MAE *0&S& no7 *G 2arch '()(. think that the -o//o7ing is unnecessari/y co%+/icated9 that the si%+/e ans7er in the %ain +art o- this +age 31R?S&. (e "ossi(le to "rocee/ as follo3s. -hat follo3s is @OT e0tensivel! teste/, an/ the te0t nee/s 3or2, (ut ma! et !ou 3here !ou 3ant to o, if !ou 3ant to (e a "ioneerY 4et u" a form. Put a /ata ri/ on it, (ase/ /irectl! on the un/erl!in ta(le. Continuin 3ith the e0am"le I starte/ 3ith, on that !ou 3oul/ DI4PLAE the three Wo(viousW fiel/s) 4hares, Per4hare, Com"an!. I thin2 !ouJ/ 3ant the ID fiel/ availa(le... it ma! (e an!3a!.... (ut not sho3in . 4et u" a Duer! to return ID an/ W4hares U Per4hareW A// a su(form to the main form, have it /is"la! the W4haresUPer4hareW "art of the Duer!.

I TFI@$ !ou can et that su(form line/ u" on the screen 3ith the main form, creatin somethin that almost loo2s li2e one /ata ri/ 3ith ; columns. The human 3onJt 2no3 (or care) that the first = come from one control, an/ the last from a se"arate control... (ut that MAE et !ou aroun/ the "ro(lem of creatin a form 3hich can /is"la! calculate/ fiel/s A@D (e use/ to e/it the un/erl!in ta(le. (If an! rea/er $@O-4 this i/ea is a non7starter, or (etter !et, tries it an/ ets it to -O%$YY, IJ/ (e /eli hte/ to hear from sai/ rea/erY)

!ast/y;;;;;;;;;;;;;;; It ma2es little sense to sho3 the recor/ ID on the form /is"la!in the ta(leJs /ata an/ the calculate/ values of the share hol/in s. It, in this e0am"le, is &ust an WinternalW thin , of interest onl! to DataBase. I thin2 that the ID fiel/ must remain in the Duer! if !ou have a Duer! (ase/ on more than one ta(le (3hich ma! or ma! not (e a(le to "ass /ata (ac2 to the un/erl!in ta(le s, (ut !ou are allo3e/ to /o the follo3in . (At the time of 3ritin , I havenJt teste/ these techniDues 3ith Dueries "ullin /ata from multi"le ta(les. A"olo ies if since 3ritin this, IJve one on to the more a/vance/ case, foun/ it 3or2in , an/ for otten to remove this 3arnin .) O"en the form (the one (ase/ on the Duer!) for e/itin . %i ht7clic2 on the WIDW column hea/in . Clic2 on WFi/e columnsW. 4ave !our form. The form shoul/ still 3or2, (ut not display the ID column, 3hich is a necessar! column, for the com"uter, (ut one of little interest to a user of the /ata(ase.

$ditorial +hiloso'hy I /isli2e Jfanc!J 3e(sites 3ith more concern for a flash! a""earance than for oo/ content. >or a "rett! "icture, I can o to an art aller!. Of course, an attractive site -ITF content /eserves "raise... as lon as that "rett! face /oesnJt cost /o3nloa/ time. In an! case....

Se/ecting -ie/ds -or keys

A "rimar! 2e! is a fiel/ in the ta(le that Access can use to i/entif! each fiel/ uniDuel!. >or instance, !ou ma! have several Gohn 4miths in !our /ata(ase, so ho3 can !ou tell them a"artM Access su ests that !ou create a fiel/, "erha"s a co/e num(er, for each recor/, 3ith no t3o recor/s havin the same value in this fiel/. If !ou mar2 this fiel/ as the "rimar! 2e!, then Access 3ill ma2e sure no t3o entries are ever the same. A oo/ e0am"le of a "rimar! 2e! fiel/ is one set u" as an Auto@um(er t!"e. This 3ill automaticall! fill in a co/e num(er for each recor/, startin at , for the first. Primar! 2e! 7 Primar! 2e! means main 2e! /ef)7 A "rimar! 2e! is one 3hich uniDuel! i/entifies a ro3 of a ta(le. this 2e! /oes not allo3 null values an/ also /oes not allo3 /u"licate values. for e0, em"no em"name salar! , * = firoA (asha =?+++ =;+++

chintoo ;++++

it 3ill not the values as follo3s) , , firoA (asha chintoo =?+++ =;+++ =?+++

HniDue 2e! 7 sin le an/ main 2e! A uniDue is one 3hich uniDuel! i/entifies a ro3 of a ta(le, (ut there is a Difference li2e it 3ill not allo3 /u"licate values an/ it 3ill an! num(er of allo3 null values(In oracle). it allo3s onl! a sin le null value(In sDl server *+++) Both 3ill function in a similar 3a! (ut a sli ht /ifference 3ill (e there. 4o, /ecalarin it as a "rimar! 2e! is the (est one. forei n 2e! 7 a forei n 2e! is one 3hich 3ill refer to a "rimar! 2e! of another ta(le

for e0, em"Sta(le /e"tSta(le /e"tno /e"tname

em"no em"name salar! /e"tno

In the a(ove relation, /e"tno is there in em"Sta(le 3hich is a "rimar! 2e! of /e"tSta(le. that means, /e"tno is referin the /e"tSta(le.

+ri%ary key De-inition) The "rimar! 2e! of a relational ta(le uniDuel! i/entifies each recor/ in the ta(le. It can either (e a normal attri(ute that is uarantee/ to (e uniDue (such as 4ocial 4ecurit! @um(er in a ta(le 3ith no more than one recor/ "er "erson) or it can (e enerate/ (! the DBM4 (such as a lo(all! uniDue i/entifier, or GHID, in Microsoft 41L 4erver). Primar! 2e!s ma! consist of a sin le attri(ute or multi"le attri(utes in com(ination. >or more information on 2e!s, rea/ the article Data(ase $e!s. >or more on selectin a""ro"riate "rimar! 2e!s for a ta(le, rea/ Choosin a Primar! $e!. Candidate key De-inition) A can/i/ate 2e! is a com(ination of attri(utes that can (e uniDuel! use/ to i/entif! a /ata(ase recor/ 3ithout an! e0traneous /ata. #ach ta(le ma! have one or more can/i/ate 2e!s. One of these can/i/ate 2e!s is selecte/ as the ta(le "rimar! 2e!. Su+er key De-inition) A su"er2e! is a com(ination of attri(utes that can (e uniDuel! use/ to i/entif! a /ata(ase recor/. A ta(le mi ht have man! su"er2e!s. Can/i/ate 2e!s are a s"ecial su(set of su"er2e!s that /o not have an! e0traneous information in them. In relational /ata(ase /esi n, a uniDue 2e! can uniDuel! i/entif! each ro3 in a ta(le, an/ is closel! relate/ to the 4u"er2e! conce"t. A uniDue 2e! com"rises a sin le column or a set of columns. @o t3o /istinct ro3s in a ta(le can have the same value (or com(ination of values) in those columns if @HLL values are not use/. De"en/in on its /esi n, a ta(le ma! have ar(itraril! man! uniDue 2e!s (ut at most one "rimar! 2e!. HniDue 2e!s /o not enforce the @OT @HLL constraint in "ractice. Because @HLL is not an actual value (it re"resents the lac2 of a value), 3hen t3o ro3s are com"are/, an/ (oth ro3s have @HLL in a column, the column values are not consi/ere/ to (e eDual. Thus, in or/er for a uniDue 2e! to uniDuel! i/entif! each ro3 in a ta(le, @HLL values must not (e use/, ho3ever a column /efine/ as uniDue 2e! column allo3s onl! one null value, 3hich in turn can uniDuel! i/entif! that ro3.tu"le. A uniDue 2e! must uniDuel! i/entif! all possible ro3s that e0ist in a ta(le an/ not onl! the currentl! e0istin ro3s. #0am"les of uniDue 2e!s are 4ocial 4ecurit! num(ers (associate/ 3ith a s"ecific "erson9,<9*<) or I4B@s (associate/ 3ith a s"ecific (oo2). Tele"hone (oo2s an/ /ictionaries cannot use names, 3or/s, or De3e! Decimal s!stem num(ers as can/i/ate 2e!s (ecause the! /o not uniDuel! i/entif! tele"hone num(ers or 3or/s. A "rimar! 2e! is a s"ecial case of uniDue 2e!s. The ma&or /ifference is that for uniDue 2e!s the im"licit @OT @HLL constraint is not automaticall! enforce/, 3hile for "rimar! 2e!s it is enforce/. Thus, the values in uniDue 2e! columns ma! or ma! not (e @HLL. Another /ifference is that "rimar! 2e!s must (e /efine/ usin another s!nta0. Thus Primar! $e! column allo3s no ro3 havin @HLL 3hile HniDue $e! column allo3s onl! one ro3 havin null value.

The relational mo/el, as e0"resse/ throu h relational calculus an/ relational al e(ra, /oes not /istin uish (et3een "rimar! 2e!s an/ other 2in/s of 2e!s. Primar! 2e!s 3ere a//e/ to the 41L stan/ar/ mainl! as a convenience to the a""lication "ro rammer. HniDue 2e!s as 3ell as "rimar! 2e!s can (e reference/ (! forei n 2e!s. E:a%+/es) $magine we have a 0'12EN'0 table that contains a record for each student at a university. 'he student%s uni!ue student $2 number would be a good choice for a primary #ey in the 0'12EN'0 table. 'he student%s first and last name would not be a good choice& as there is always the chance that more than one student might have the same name.

Nor%a/iLing the database inc/uding ana/ysis o- -unctiona/ de+endencies Illo icall! or inconsistentl! store/ /ata can cause a num(er of "ro(lems. In a relational /ata(ase, a lo ical an/ efficient /esi n is &ust as critical. A "oorl! /esi ne/ /ata(ase ma! "rovi/e erroneous information, ma! (e /ifficult to use, or ma! even fail to 3or2 "ro"erl!. Most of these "ro(lems are the result of t3o (a/ /esi n features calle/) re/un/ant /ata an/ anomalies. %e/un/ant /ata is unnecessar! reoccurrin /ata (re"eatin rou"s of /ata). Anomalies are an! occurrence that 3ea2ens the inte rit! of !our /ata /ue to irre ular or inconsistent stora e (/elete, insert an/ u"/ate irre ularit!, that enerates the inconsistent /ata). Basicall!, normalisation is the "rocess of efficientl! or anisin /ata in a /ata(ase. There are t3o main o(&ectives of the normaliAation "rocess) eliminate re/un/ant /ata (storin the same /ata in more than one ta(le) an/ ensure /ata /e"en/encies ma2e sense (onl! storin relate/ /ata in a ta(le). Both of these are valua(le oals as the! re/uce the amount of s"ace a /ata(ase consumes an/ ensure that /ata is lo icall! store/. The "rocess of /esi nin a relational /ata(ase inclu/es ma2in sure that a ta(le contains onl! /ata /irectl! relate/ to the "rimar! 2e!, that each /ata fiel/ contains onl! one item of /ata, an/ that re/un/ant (/u"licate/ an/ unnecessar!) /ata is eliminate/. The tas2 of a /ata(ase /esi ner is to structure the /ata in a 3a! that eliminates unnecessar! /u"lication(s) an/ "rovi/es a ra"i/ search "ath to all necessar! information. This "rocess of s"ecif!in an/ /efinin ta(les, 2e!s, columns, an/ relationshi"s in or/er to create an efficient /ata(ase is calle/ normaliAation. @ormalisation is "art of successful /ata(ase /esi n. -ithout normalisation, /ata(ase s!stems can (e inaccurate, slo3, an/ inefficient an/ the! mi ht not "ro/uce the /ata !ou e0"ect. -hen normalisin a /ata(ase !ou shoul/ achieve four oals) ,. *. =. ;. Arran in /ata into lo ical rou"s such that each rou" /escri(es a small "art of the 3hole MinimiAin the amount of /u"licate/ /ata store/ in a /ata(ase Buil/in a /ata(ase in 3hich !ou can access an/ mani"ulate the /ata Duic2l! an/ efficientl! 3ithout com"romisin the inte rit! of the /ata stora e Or anisin the /ata such that, 3hen !ou mo/if! it, !ou ma2e the chan es in onl! one "lace

)'

>ront End , Back End Conce+t

>ront end an/ back end are eneraliAe/ terms that refer to the initial an/ the en/ sta es of a "rocess. The front en/ is res"onsi(le for collectin in"ut in various forms from the user an/ "rocessin it to conform to a s"ecification the (ac2 en/ can use. The front en/ is an interface (et3een the user an/ the (ac2 en/.

>ront end ma! refer to)


The front of a vehicle (o/! >ront7en/ loa/, a char e in investin >ront #n/ Loa/er, a (an/ >ront7en/ loa/er, construction eDui"ment >ront7en/ loa/in , in "ro&ect mana ement %> front en/, in electronics

The su""ort com"onents of a com"uter s!stem. It t!"icall! refers to the /ata(ase mana ement s!stem (DBM4), 3hich is the storehouse for the /ata.

)C

16er6ie7 o- Scri+t !anguage9 Ja6a Scri+t9 Ja6a9 VB Scri+t9 VB&Net9

A hi h7level "ro rammin lan ua e that is inter"rete/ (! another "ro ram at runtime rather than com"ile/ (! the com"uterRs "rocessor as other "ro rammin lan ua es (such as C an/ CTT) are. 4cri"tin lan ua es, 3hich can (e em(e//e/ 3ithin FTML, commonl! are use/ to a// functionalit! to a -e( "a e, such as /ifferent menu st!les or ra"hic /is"la!s or to serve /!namic a/vertisements. These t!"es of lan ua es are client7si/e scri"tin lan ua es, affectin the /ata that the en/ user sees in a (ro3ser 3in/o3. Other scri"tin lan ua es are server7si/e scri"tin lan ua es that mani"ulate the /ata, usuall! in a /ata(ase, on the server. 4cri"tin lan ua es came a(out lar el! (ecause of the /evelo"ment of the Internet as a communications tool. Gava4cri"t, A4P, G4P, PFP, Perl, Tcl an/ P!thon are e0am"les of scri"tin lan ua es.

Ja6aScri+t is an im"lementation of the #CMA4cri"t lan ua e stan/ar/ an/ is t!"icall! use/ to ena(le "ro rammatic access to com"utational o(&ects 3ithin a host environment. It can (e characteriAe/ as a "rotot!"e7(ase/ o(&ect7 oriente/ scri"tin lan ua e that is /!namic, 3ea2l! t!"e/ an/ has first7class functions. It is also consi/ere/ a functional "ro rammin lan ua e9:< li2e 4cheme an/ OCaml (ecause it has closures an/ su""orts hi her7or/er functions. Gava4cri"t is "rimaril! use/ in the form of client7si/e Gava4cri"t, im"lemente/ as "art of a 3e( (ro3ser in or/er to "rovi/e enhance/ user interfaces an/ /!namic 3e(sites. Fo3ever, its use in a""lications outsi/e 3e( "a es is also si nificant. Gava4cri"t an/ the Gava "ro rammin lan ua e (oth use s!nta0es influence/ (! that of C s!nta0, an/ Gava4cri"t co"ies man! Gava names an/ namin conventionsL (ut the t3o lan ua es are other3ise unrelate/ an/ have ver! /ifferent semantics. The 2e! /esi n "rinci"les 3ithin Gava4cri"t are ta2en from the 4elf an/ 4cheme "ro rammin lan ua es. The "rimar! use of Gava4cri"t is to 3rite functions that are em(e//e/ in or inclu/e/ from FTML "a es an/ that interact 3ith the Document O(&ect Mo/el (DOM) of the "a e

Ja6aScri+t >i/ena%e e:tension nternet %edia ty+e "ni-or% Ty+e denti-ier Ty+e o-or%at .&s

a""lication.&avascri"t, te0t.&avascri"t

com.netsca"e.&avascri"t7source

4cri"tin lan ua e

Ja6aScri+t and Ja6a Common misconce"tion is that Gava4cri"t is similar or closel! relate/ to Gava. It is true that (oth have a C7li2e s!nta0, the C lan ua e (ein their most imme/iate common ancestor lan ua e. The! are (oth o(&ect7oriente/, t!"icall! san/(o0e/ (3hen use/ insi/e a (ro3ser), an/ are 3i/el! use/ in client7si/e -e( a""lications. In a//ition, Gava4cri"t 3as /esi ne/ 3ith GavaJs s!nta0 an/ stan/ar/ li(rar! in min/. In "articular, all Gava 2e!3or/s are reserve/ in Gava4cri"t, Gava4cri"tJs stan/ar/ li(rar! follo3s GavaJs namin conventions, an/ Gava4cri"tJs Math an/ Date o(&ects are (ase/ on classes from Gava ,.+. But the similarities en/ there. Gava has static t!"in L Gava4cri"tJs t!"in is /!namic (meanin a varia(le can hol/ an o(&ect of an! t!"e an/ cannot (e restricte/). Gava is loa/e/ from com"ile/ (!teco/eL Gava4cri"t is loa/e/ as human7 rea/a(le source co/e. GavaJs o(&ects are class7(ase/L Gava4cri"tJs are "rotot!"e7(ase/. Gava4cri"t also has man! functional features (ase/ on the 4elf lan ua e. Ja6a Gava is a "ro rammin lan ua e an/ more. It ori inate/ from 4un Micros!stemJs Oa2 "ro&ect an/ 4un still /evelo", maintain an/ su""l! it. Althou h itJs not o"en source, nor /elivere/ un/er the GPL license, much is availa(le as a no7 char e /o3nloa/ from 4unJs various 3e( sites. At its first release, Gava "rimaril! 3as use/ as a lan ua e for 3ritin a""lications to (e em(e//e/ in (ro3sers (2no3n as a""lets), (ut it has ro3n into man! other areas. These /a!s, a""lets are ver! much a minorit! use of Gava, althou h still an im"ortant one. Other uses inclu/e 3e( server7si/e "ro rammin (usin WservletsW or WGava 4erver Pa esW) an/ lar e7scale, enter"rise73i/e a""lications usin resource servers, W#nter"rise BeansW an/ more. 3.4 'he fundamental elements of Java Gava is an o(&ect oriente/ lan ua e, an/ all co/e !ou 3rite is or anise/ into classes. If !ou structure the 3a! a class is /efine/ an/ calle/ accor/in to certain rules, then that class ma! (e usa(le as a "ro ram, or as an a""let, or as a servlet. The co/e !ou actuall! 3rite (Wsource co/eW) is #n lish7li2e te0t, an/ !ou save it into a re ular te0t file, &ust as !ou /o 3ith other "ro rammin lan ua es.

0ource 5ode LetJs see an e0am"le of the source co/e of a Gava "ro ram) .. Tiniest of "ro rams to chec2 com"ile . inter"ret tools "u(lic class Fello ` "u(lic static voi/ main(4trin 9< ar s) ` 4!stem.out."rintln(WA "ro ram to e0ercise the Gava toolsW)L a a -eJve save/ this e0am"le into a file calle/ Fello.&ava. @ote that the file name shoul/ (e the same as the class name /eclare/ in the file follo3e/ (! W.&avaW. This rule can (e (ro2en 3ith some environments an/ com"ilers, (ut itJs a oo/ rule to follo3. Gava is case sensitive. @ote that 3e have starte/ our class name 3ith a ca"ital, follo3e/ (! lo3er case letters 5 another su este/ convention. 5lass files 4ome lan ua es, are inter"rete/ an/ run /irectl! from the source co/e, (ut Gava isnJt one of those. ItJs a lan ua e thatJs /esi ne/ to run Duic2l!, an/ inter"retin the 3hole thin W"u(licW, etc., ever! time itJs calle/ is inefficient, so 3e com"ile the Gava into a (inar! format. LetJs use the W&avacW "ro ram, su""lie/ (! 4un as "art of their free /o3nloa/s, to /o the conversion) (ash7*.+;_ /s Fello.&ava (ash7*.+;_ Ja6ac He//o&Ja6a (ash7*.+;_ /s Fello.class Fello.&ava (ash7*.+;_ If thin s are O$, &avac /oesnJt "ro/uce an! messa e. But if !our source co/e isnJt in the correct s!nta0 or refers to somethin that /oesnJt e0ist, !ouJll "ro(a(l! et an error messa e at com"ile time, such as) (ash7*.+;_ Ja6ac 1o+s&Ja6a Oo"s.&ava)?) cannot resolve s!m(ol s!m(ol ) class strin location) class Oo"s "u(lic static voi/ main(strin 9< ar s) ` b , error (ash7*.+;_ #/it the source file, correct !our error, save the file an/ com"ile a ain. Eou ma! have to o roun/ this c!cle a num(er of times until !ou et ri/ of all !our errors. B! the 3a!, the mista2e here 3as that 3e use/ a lo3er case WsW not a ca"ital W4W for the 3or/ W4trin W. Once !ou com"ile successfull!, the class file is in a "u(lishe/ (inar! format, (ut itJs ver! rare for most "ro rammers to have to et involve/ at that level. 4uffice it to sa! at this sta e that the class file is com"act an/ is in/e"en/ent of host com"uter architecture. Hnli2e most com"ilers, &avac /oes not "ro/uce a sni""et of e0ecuta(le co/e tune/ for the "articular "rocessor architecture on 3hich it is run. Eou mi ht li2e to see 3hat the format loo2s li2e. FereJs a (inar! /um") +++++++ M M M c+ c+ c+ . c+ +=? cn c+ ++: c+ +,B ct +++++*+ c+ +*+ c+ +*, c( c+ +** cn c+ +*= c+ +*; ca c+ +*? ca +++++;+ c+ +*: ++, c+ ++: P i n i t O ++, c+ ++= ( ) +++++:+ 6 ++, c+ ++; C o / e ++, c+ +,B L i n e @ ++++,++ u m ( e r T a ( l e ++, c+ ++; m a i ++++,*+ n ++, c+ +*: ( 9 L & a v a . l a n ++++,;+ . 4 t r i n L ) 6 ++, c+ cn 4 o u ++++,:+ r c e > i l e ++, c+ cn F e l l o .

++++*++ & a v a cf c+ ca c+ c( ca c+ +*B cf c+ +=+ c+ ++++**+ +=, ++, c+ _ A " r o r a m t o ++++*;+ e 0 e r c i s e t h e G a ++++*:+ v a t o o l s ca c+ +=* cf c+ +== c+ +=; ++++=++ ++, c+ ++? F e l l o ++, c+ +*+ & a v a . ++++=*+ l a n . O ( & e c t ++, c+ +*+ & a ++++=;+ v a . l a n . 4 ! s t e m ++, c+ ++++=:+ ++= o u t ++, c+ +*? L & a v a . i o . ++++;++ P r i n t 4 t r e a m L ++, c+ +*= & ++++;*+ a v a . i o . P r i n t 4 t r e ++++;;+ a m ++, c+ ca " r i n t l n ++, c+ +*? ( ++++;:+ L & a v a . l a n . 4 t r i n ++++?++ L ) 6 c+ Y c+ ++? c+ ++: c+ c+ c+ c+ c+ ++* ++++?*+ c+ ++, c+ ca c+ c( c+ ++, c+ ct c+ c+ c+ +=? c+ ++, ++++?;+ c+ ++, c+ c+ c+ ++? U de c+ ++, d^ c+ c+ c+ ++, c+ ++++?:+ cn c+ c+ c+ ++: c+ ++, c+ c+ c+ ++= c+ ct c+ cv c+ ++++:++ cf c+ ++, c+ ct c+ c+ c+ V c+ ++* c+ ++, c+ c+ c+ ++++:*+ ct M c+ ++* +** ++= df c+ ++; d^ c+ c+ c+ ++, c+ cn ++++:;+ c+ c+ c+ cn c+ ++* c+ c+ c+ ++: c+ c( c+ ca c+ ++, ++++::+ c+ cr c+ c+ c+ ++* c+ +,: ++++:B+ 'he Java +untime Environment Fo3 /o 3e use a (inar! class that 3onJt run on !our com"uterM -e run it thou h another "ro ram 2no3n as a Gava 6irtual Machine (G6M) 3hich inter"rets each of the elements of the class file an/ "erforms the actions sti"ulate/. There are oin to (e man! thin s that !ou 3ant to /o in !our Gava that others 3ant to /o as 3ell, thin s as sim"le as out"uttin te0t. 4o alon 3ith the G6M, 4un "rovi/e a lar e li(rar! of e0tra classes 3hich ive !ou the facilities !ou nee/ 3ithout havin to 3rite them !ourself. There are so man! e0tra classes that the!Jre arran e/ into W"ac2a esW to ma2e them more mana ea(le, an/ the com(ination of the Gava 6irtual Machine an/ these stan/ar/ "ac2a es is 2no3n as the Gava %untime #nvironment or G%#. LetJs run the e0am"le "ro ram that 3e com"ile/ earlier in the W&avaW G%#, 3hich lets us run an a""ro"riate class as a stan/7alone "ro ram) (ash7*.+;_ Ja6a He//o A "ro ram to e0ercise the Gava tools (ash7*.+;_ 'he Java (orld -ell Fouse ConsultantsR courses s"ecialise in the teachin of "ro rammin lan ua es an/ their a""lication, so !ouJll (e oin on in su(seDuent sections to cover the /etails of 3hat to "ut into the source files an/ (unless this is a com"resse/ course) ho3 to thin2 throu h the /esi n of !our a""lication an/ source co/e so that itJs 3ell structure/, eas! to use, eas! to maintain, an/ eas! to u"/ate in the future as !our reDuirement(s) /evelo". At first, a lot of this ma! seem ver! theoretic, so here 3eJll ive !ou a (rief lance further into the Gava 3orl/ that !ouJre hea/e/ for. Java development environments and tools As !our Gava source co/e ro3s in siAe, !ouJll fin/ that itJs Duite a tas2 to 2ee" trac2 of all the various classes an/ other com"onents involve/. Develo"ment environments such as GDevelo"er, GBuil/er an/ >orte "rovi/e !ou 3ith facilities to ma2e this mana ement much easier, an/ 3ith shortcuts that let !ou enter an/ e/it co/e far more efficientl! than !ou coul/ 3ith a stan/ar/ e/itor. -e fin/ that itJs (est to teach !ou the fun/amentals of the Gava lan ua e (efore 3e e0"ose !ou to these tools. Other 3ise, !ouJre li2el! to fin/ !ourself s"en/in a reat /eal of time tr!in to un/erstan/ some of the su este/ co/e an/ o"tions that the tool offers (ut 3hich 3e havenJt !et covere/. To ive !ou a flavour of the loo2 an/ feel of a Gava Develo"ment #nvironment, here are some screen shots from OracleJs

G/ev. ItJs easier to learn than some of the environments 3eJve seen, (ut !ou still nee/ to un/erstan/ the Duestions (ein as2e/an/ the co/e (efore !ou can ma2e oo/ use of it "ac2a e 3ellhoL im"ort &ava0.servlet.UL im"ort &ava0.servlet.htt".UL im"ort &ava.io.Print-riterL im"ort &ava.io.IO#0ce"tionL "u(lic class /emolet e0ten/s Ftt"4ervlet im"lements 4in leThrea/Mo/el ` "rivate static final 4trin CO@T#@TSTEP# 8 Wte0t.htmlL charset83in/o3s7,*?*WL "u(lic voi/ init(4ervletConfi confi ) thro3s 4ervlet#0ce"tion ` su"er.init(confi )L a .UU U Process the FTTP /oGet reDuest. U. "u(lic voi/ /oGet(Ftt"4ervlet%eDuest reDuest, Ftt"4ervlet%es"onse res"onse) thro3s 4ervlet#0ce"tion, IO#0ce"tion ` 4trin var+sho3 8 WWL tr! ` var+sho3 8 reDuest. etParameter(Wsho3thisW)L a catch(#0ce"tion e) ` e."rint4tac2Trace()L a res"onse.setContentT!"e(CO@T#@TSTEP#)L Print-riter out 8 res"onse. et-riter()L out."rintln(WPhtmlOW)L out."rintln(WPhea/OPtitleO/emoletP.titleOP.hea/OW)L out."rintln(WP(o/!OW)L out."rintln(WP"OThe servlet has receive/ a G#T. This is the re"l!.P."OW)L out."rintln(WP.(o/!OP.htmlOW)L out.close()L a .UU U Process the FTTP /oPost reDuest. U. "u(lic voi/ /oPost(Ftt"4ervlet%eDuest reDuest, Ftt"4ervlet%es"onse res"onse) thro3s 4ervlet#0ce"tion, IO#0ce"tion ` 4trin var+sho3 8 WWL tr! ` var+sho3 8 reDuest. etParameter(Wsho3thisW)L a catch(#0ce"tion e) ` e."rint4tac2Trace()L a res"onse.setContentT!"e(CO@T#@TSTEP#)L

Print-riter out 8 res"onse. et-riter()L out."rintln(WPhtmlOW)L out."rintln(WPhea/OPtitleO/emoletP.titleOP.hea/OW)L out."rintln(WP(o/!OW)L out."rintln(WP"OThe servlet has receive/ a PO4T. This is the re"l!.P."OW)L out."rintln(WP.(o/!OP.htmlOW)L out.close()L a a 4unJs /istri(ution inclu/es a num(er of tools in a//ition to Ja6a an/ Ja6ac, inclu/in ) Jar a tool for creatin an/ mani"ulatin &ava archive files (&ars) Ja6adoc enerates API /ocumentation from source files Ja6a+ enerates a human7rea/a(le /escri"tion of the API of a class file Jdb a te0t7(ase/ /e(u er Gava is i/eall! suite/ for lar er "ro&ects. 4uch "ro&ects ma! involve consi/era(le mana ement of /evelo"ment an/ runtime files, such as sources, classes, li(raries etc., 3here man! of the files are /erive/ from others an/ nee/ to (e u"/ate/ 3hen an! of the files on 3hich the! /e"en/ are chan e/. A"ache Ant is a Gava7(ase/ (uil/ tool. In theor!, it is some3hat li2e ma2e, (ut 3ithout ma2eJs 3rin2les. ItJs o"en source an/ (ecomin ver! "o"ular. 4ee http6))ant.apache.org) for further /etails. Java +untime Environments 4tan/7alone "ro rams "ro(a(l! arenJt 3hat !ouJll (e 3ritin in the lon er term, even thou h the!Jre e0cellent for learnin the fun/amentals of Gava. Later on !ouJll (e slottin !our classes into other Gava runtime environments, some of 3hich are o"en source an/ others are commercial "ro/ucts. 4erver si/e, there are a num(er of environment interfaces !ou ma! use. These inclu/e) Ser6/ets #0ecuta(le "ro rams 3ith a 3e( interface JS0s #m(e//in server e0ecuta(le content 3ithin a 3e( "a e R2 an/ EJBs Provi/in o(&ect servers G%#s that su""ort these interfaces inclu/e A"ache Tomcat, B#A -e(Lo ic G%oc2it an/ IBMJs -e(4"here a""lication server. Client si/e, most users 3ant to access information via their (ro3ser these /a!s an/ "lu ins that su""ort Gava are availa(le for most common (ro3sers. Gava is (uilt in to certain (ro3sers too, (ut /o (e3are that itJs often in ol/ (or even ancient) versions. A""let6ie3er, a "art of 4unJs /istri(ution, is a G%# 3ith the same interface that a (ro3ser "rovi/es (ut 3ithout the cachin or overhea/ of a (ro3ser, an/ is useful for /evelo"ment an/ testin . An/ it turns out that the G%# that !ou use for stan/7alone "ro rams can /o much more. Eou can have 3hat loo2s li2e a stan/7alone "ro ram at Wthe to"W (ut have it act as a client or server (or (othY). Eou can have it "rovi/e a ra"hic user interface (GHI) in much the same 3a! that an a""let 3oul/, an/ much more. Java distributions >or one "ro rammer, Gava mi ht (e the tool he uses to "ro ram a toaster. Another mi ht (e usin it to "rovi/e the core financial accountin services for a ma&or (an2. Is it "ossi(le for (oth of these reDuirements to (e met (! the same /o3nloa/e/ lan ua eM Ees...an/ no. Gava is /escri(e/ as a Wsim"leW lan ua e an/ in/ee/ at itJs centre it is. The s!nta0 is not overcom"le0, the facilities of the lan ua e itself are relativel! fe3, 3hich ma2e it into somethin of a lean an/ mean core facilit!. The real "o3er

comes in the stan/ar/ "ac2a es that are availa(le, an/ thatJs 3here the reDuirements of our /omestic a""liance "ro rammer 3ill var! from the reDuirements of our (an2er. The Gava * 4tan/ar/ #/ition (G*4#) "rovi/es the essential com"iler, tools, runtimes, an/ APIs for 3ritin , /e"lo!in , an/ runnin a""lets an/ a""lications in the Gava "ro rammin lan ua e. All /evelo"ers 3ill nee/ to /o3nloa/ a co"! of G*4#, or its eDuivalent. The Gava * #nter"rise #/ition (G*##) technolo ! an/ its com"onent7(ase/ mo/el sim"lifies enter"rise /evelo"ment an/ /e"lo!ment. The G*## "latform mana es the infrastructure an/ su""orts the -e( services to ena(le /evelo"ment of secure, ro(ust an/ inter7o"era(le (usiness a""lications. The /o3nloa/ has essential e0tra classes an/ environments to use in a//ition to the G*4#, 3hich !ou 3ill also nee/. The Gava * Micro #/ition (G*M#) s"ecificall! a//resses the consumer s"ace, 3hich covers the ran e of e0tremel! tin! commo/ities, such as smart car/s or a "a er, u" to the set7to" (o0. This /o3nloa/ "rovi/es a hi hl! o"timise/ runtime environment. A ain, to /evelo" co/e, !ouJll also nee/ G*4#. All of the a(ove can (e /o3nloa/e/ from http6))7ava.sun.com Also availa(le is a Gava %untime environment (G*%#) 3hich 3ill (e reDuire/ (! users rather than /evelo"ers. It inclu/es the G6M an/ the classes that ma2e u" the G%#, (ut not tools such as the com"iler. Different licensin rules 3ill a""l!. Java standard pac#ages Much of the "o3er of a Gava a""lication is veste/ not in the lan ua e itself, (ut in all the stan/ar/ classes "rovi/e/ an/ o"tional classes availa(le. There are so man! classes that the!Jve (een or anise/ into (un/les (calle/ W"ac2a esW) for easier mana ement. The first release of Gava inclu/e/ ei ht "ac2a es. These /a!s it /e"en/s on &ust 3hat e/ition !ouJre tal2in a(out, (ut !ouJll "ro(a(l! fin/ !ou have some3here more than ,++ "ac2a es in !our G%#. 4tan/ar/ "ac2a e names start W&ava.W or W&ava0.W. >or e0am"le, thereJs 7ava.lang to "rovi/e (asic lan ua e facilities, 7ava.net to "rovi/e net3or2 access, 7avax.swing to "rovi/e the 43in GHI an/ 7avax.servlet to "rovi/e 4ervlet su""ort. EouJll come across man! more stan/ar/ "ac2a es as !ou learn GavaL ho3ever, as a rule of thum(, if the "ac2a e name starts W&avaW or W&ava0W, itJs stan/ar/, (ut if it starts 3ith somethin else li2e WcomW, it isnJt. Java versions Gava starte/ off as Gava release ,.+, an/ "ro resse/ throu h to Gava ,.?. 4un 3ere ver! conservative in movin the release num(ers for3ar/, so much so that the W,.W Gust (ecame a "art of the name. In summer *++;, Gava ,.? 3as re7 (ran/e/ Gava ?. Gava ,.* 3as a ma&or ste", 3ith a tri"lin of the num(er of "ac2a es "rovi/e/. At that "oint 4un re(ran/e/ the ne3 version the WGava * PlatformW. Althou h Gava is /esi ne/ to (e "rocessor7 an/ o"eratin 7s!stem in/e"en/ent, !ou nee/ to (e careful as !ou /evelo" co/e that !ou /o so for a runtime environment that 3ill (e availa(le to !our user. 4ee ho3 the num(er of stan/ar/ "ac2a es an/ classes has increase/) Classes "ac2a es Gava ,.+ *,* Gava ,., ?+; Gava * ,.* ,?*+ Gava * ,.= ,C;* Gava * ,.; *II, Gava * ?.+ more C *= ?I B: ,=? more

As 3ell as the e0tra "ac2a es, there have (een some lan ua e chan es, such as an assert statement a//e/ to the lan ua e at release ,.;. @ote that there is a ver! lar e installe/ (ase of (ro3sers runnin Gava ,.,, so !ou ma! still 3ant to use it for 3ritin sim"le a""lets. If thatJs the case, !ouJll nee/ to o(tain a co"! of the GD$ (Gava Develo"ment $it) for that release. The GD$ (ecame the 4D$ (4oft3are Develo"ment $it), no3 Gava * 4D$ 4tan/ar/ e/ition, 6ersion ,.?or ?.+

VB Scri+t 6B4cri"t (6isual Basic 4cri"tin #/ition) is a scri"tin lan ua e /evelo"e/ (! Microsoft for -in/o3s o"eratin s!stems. A 6B4cri"t co/e must (e e0ecute/ 3ithin a host environment. It allo3s !ou to interact 3ith the host environment to "erform some "ro rammin tas2s. A host environment 3ill usuall!)

Provi/e !ou a s"ecific 3a! to enter !our 6B4cri"t source co/e. Provi/e !ou some (asic o(&ects /efine/ in the 6B4cri"t core s"ecification. Provi/e !ou some s"ecific o(&ects to let !our co/e to interact 3ith the host a""lication. Provi/e !ou a//itional o(&ects to let !our co/e to access certain o"eratin s!stem resources.

#0am"les of 6B4cri"t host environments

Internet #0"lorer (I#) 7 Allo3s !ou to inclu/e 6B4cri"t co/e in FTML /ocuments to (e e0ecute/ 3hile I# is ren/erin FTML /ocuments on the screen. This is also calle/ client si/e scri"tin . Internet Information 4ervices (II4) 7 Allo3s !ou to inclu/e 6B4cri"t co/e in FTML /ocuments to (e e0ecute/ 3hile II4 is fetchin FTML /ocuments on the -e( server to /eliver to client machines. This is also calle/ server si/e scri"tin .

-in/o3s 4cri"t Fost (-4F) 7 Allo3s !ou to inclu/e 6B4cri"t co/e in scri"t files to (e e0ecute/ /irectl! on the -in/o3s o"eratin s!stem.

6B4cri"t version histor!) ,II: 6B4cri"t ,.+ ,IIB 6B4cri"t *.+ 7 %ename/ to ?.+ later *++* 6B4cri"t ?.: *++B 6B4cri"t ?.B 6B4cri"t is actuall! is a limite/ variation of MicrosoftJs 6isual Basic "ro rammin lan ua e. Therefore 6B4cri"t shares the same lan ua e s!nta0 as 6isual Basic. 6isual Basic can (e use/ to /evelo" stan/ alone -in/o3s a""lications. 6isual Basic can also (e use/ to 3rite macro co/es for other -in/o3s a""lications li2e Microsoft Access. 'his section provides tutorial example on how to embed a 8 0cript code in a 9'M: document to be executed by $nternet Explorer on the client machine.

Internet #0"lorer (I#) is a Microsoft a""lication that can (e use/ a -e( (ro3ser to vie3 -e( "a es. I# also su""orts a 6B4cri"t host environment that allo3s !ou to em(e/ 6B4cri"t co/es into source co/es of -e( "a es 7 FTML /ocuments. 6B4cri"t co/es em(e/e/ in FTML /ocuments 3ill (e e0ecute/ 3hile I# is ren/erin FTML /ocuments on the (ro3ser 3in/o3. This is also calle/ client si/e scri"tin , (ecauses scri"t co/es are e0ecute/ on the client machine instea/ of the server machine. To a// 6B4cri"t co/es into !our FTML /ocuments, !ou nee/ to use the Wscri"tW ta 3ith the Wlan ua e8v(scri"tW attri(ute. Insi/e the Wscri"tW ta , !ou can "lace an! num(er of 6B statements. Fere is the s!nta0 of a//in 6B4cri"t co/es in FTML /ocuments) ... (FTML ta s) Pscri"t lan ua e8v(scri"tO ... (6B statements) P.scri"tO ... (FTML ta s) @o3 letJs tr! to 3rite our first 6B4cri"t co/e in a FTML /ocument. ,. O"en the @ote"a/ to enter the follo3in FTML /ocument) PhtmlO P(o/!O Pscri"t lan ua e8Wv(scri"tWO /ocument.3rite(WFello 3orl/Y 7 6B4cri"t in I#W) P.scri"tO P.(o/!O P.htmlO *. 4ave the FTML /ocument as helloSv(.html. =. 6ie3 the FTML /ocument 3ith I#. Eou shoul/ see the follo3in messa e in the I# 3in/o3) Fello 3orl/Y 7 6B4cri"t in I# Con ratulations. Eou have successfull! 3ritten a 6B4cri"t co/e for the host environment su""orte/ in I#Y -hat ha""ene/ here 3as)

-e have a//e/ a Wscri"tW ta in our FTML /ocument, helloSv(.html.

-e inclu/e/ a sim"le 6B4cri"t co/e insi/e the Wscri"tW ta . environment to insert a te0t strin into the FTML /ocument.

The 6B4cri"t co/e calls the W/ocument.3riteW function, 3hich is a function "rovi/e/ (! the I# host

-e ran I# to vie3 helloSv(.html an/ ot e0actl! 3hat 3e e0"ecte/.

Internet Information 4ervices (II4) is a Microsoft "ro/uct that offers an/ mana es the Internet services, li2e the -e( (FTTP) server, an/ the email (4MTP) server. II4 also su""orts a 6B4cri"t host environment that allo3s !ou to em(e/ 6B4cri"t co/es into source co/es of -e( "a es 7 FTML /ocuments. 6B4cri"t co/es em(e/e/ in FTML /ocuments 3ill (e e0ecute/ 3hile II4 is fetchin FTML /ocuments on the -e( server to /eliver to the client machine. This is also calle/ server si/e scri"tin , (ecauses scri"t co/es are e0ecute/ on the server machine instea/ of the client machine. One 3a! to a// 6B4cri"t co/es into !our FTML /ocuments for II4 to e0ecute is to use the A4P (Active 4erver Pa es) technolo !. If !ou have II4 installe/ on !our -in/o3s s!stem, !ou can use the follo3in ste"s to run a sim"le 6B4cri"t co/e in II4. ,. Go to Control Panel, then A/ministrative Tools, then Internet 4ervices Mana er, an/ ri ht mouse clic2 on Default -e( 4ite, then select "ro"erties comman/. *. Clic2 on Fome Director! ta( on the "ro"erties /ialo (o0, then clic2 the Confi uration (utton. =. Clic2 on A"" Ma""in s ta( on the confi uration /ialo (o0, then chec2 to see the follo3in line in the ma""in area to ma2e sure that A4P is su""orte/ (! II4) #0tension #0ecuta(le Path .as" 6er(s

c)c3inntcs!stem=*cinetsrvcas"./ll G#T,F#AD,PO4T,T%AC# ;. Create the follo3in hello.as" file) PVX lan ua e8Wv(scri"tWVO PhtmlOP(o/!O PV res"onse.3rite(WFello 3orl/Y 7 6B4cri"t in II4W) VO P.(o/!OP.htmlO

?. Co"! hello.as" to cinet"u(c333root, 3hich is the /irector! 3here II4 ta2es FTML /ocuments. :. %un Internet #0"lorer (I#) 3ith this url) htt")..localhost.hello.as". B. Eou shoul/ see WFello 3orl/Y 7 6B4cri"t in II4W on the I# 3in/o3. Con ratulations. Eou have successfull! 3ritten a 6B4cri"t co/e for the host environment su""orte/ in II4Y -hat ha""ene/ here 3as)

-e chec2e/ the II4 settin to ensure that A4P is su""orte/.

-e create/ a sim"le A4P "a e 7 a FTML /ocument 3ith a sim"le 6B4cri"t co/e.

The 6B4cri"t co/e calls the Wres"onse.3riteW function, 3hich is a function "rovi/e/ (! the II4 host environment to insert a te0t strin into the FTML /ocument. -e ran I# to vie3 the resultin FTML /ocument enerate/ (! II4 an/ ot e0actl! 3hat 3e e0"ecte/.

-in/o3s 4cri"t Fost (-4F) is a -in/o3s a/ministration tool that "rovi/es host environments for several scri"tin lan ua es inclu/in 6B4cri"t. 6B4cri"t co/es inclu/e/ in scri"t files 3ill (e e0ecute/ (! -4F /irectl! on the -in/o3s o"eratin s!stem. If !ou are runnin a -in/o3s NP s!stem, !ou can tr! these ste"s to run a sim"le 6B4cri"t co/e 3ith -in/o3s 4cri"t Fost) ,. Create a scri"t file calle/ hello.v(s) -4cri"t.4t/Out.-riteLine WFello -orl/Y 7 6B4cri"t in -4FW *. %un hello.v(s 3ith the Wcscri"tW comman/ in a comman/ 3in/o3) C)cheron Ocscri"t hello.v(s Microsoft (%) -in/o3s 4cri"t Fost 6ersion ?.: Co"!ri ht (C) Microsoft Cor"oration ,II:7*++,. All ri hts reserve/. Fello -orl/Y 7 6B4cri"t in -4F Con ratulations. Eou have successfull! 3ritten a 6B4cri"t co/e for the host environment "rovi/e/ (! -4FY -hat ha""ene/ here 3as)

-e create/ a sim"le 6B4cri"t co/e file.

The 6B4cri"t co/e calls the W-4cri"t.4t/Out.-riteLineW function, 3hich is a function "rovi/e/ (! the -4F host environment to "rint a te0t strin to the stan/ar/ out"ut channel 7 the comman/ 3in/o3 in this case.

"sing Visua/ Basic 7ith 2icroso-t Access Microsoft Access is a Microsoft a""lication that can (e use/ to store an/ mana e /ata in /ata(ase ta(les. Microsoft Access also su""orts a macro mo/ule that allo3s !ou to 3rite macro co/e 3ith 6isual Basic (6B) lan ua e. If !ou have Microsoft Access installe/ on !our -in/o3s s!stem, !ou can follo3 the ste"s (elo3 to create a sim"le a""lication in 6isual Basic lan ua e 3ithin Microsoft Access. ,. %un Microsoft Access, an/ create a (lan2 Access Data(ase calle/ v(Stutorial.m/(. *. Clic2 Insert O Mo/ule from the menu. The Microsoft 6isual Basic 3in/o3 sho3s u".

=. #nter the follo3in co/e into the em"t! co/e mo/ule) 4u( Main() Ms Bo0 (WFello 3orl/Y 7 6isual Basic in AccessW) #n/ 4u( ;. Clic2 >ile O 4ave from the menu. #nter WFelloW as the mo/ule name an/ save it. ?. Clic2 %un O %un 4u(.Hser>orm from the menu. The macro selection /ialo (o0 sho3s u". :. 4elect WMainW macro, an/ clic2 W%unW. A /ialo (o0 sho3s u" 3ith the follo3in messa e) Fello 3orl/Y 7 6isual Basic in Access Con ratulations. Eou have successfull! 3ritten a 6isual Basic macro in Microsoft AccessY -hat ha""ene/ here 3as)

-e have a//e/ a 6B macro calle/ WFelloW to our Access /ata(ase, v(Stutorial.m/(. -e have a//e/ a 6B "roce/ure calle/ WMainW in the 6B macro. Access calls this "roce/ure as a macro. The WMainW "roce/ure calls the WMs Bo0W function, 3hich is a 6B (uilt7in function that /is"la!s -in/o3s /ialo (o0 3ith the s"ecifie/ te0t messa e. -e ran the WMainW "roce/ure an/ ot e0actl! 3hat 3e e0"ecte/.

Visua/ Basic &NET *VB F. The ori inal 6isual Basic .@#T 3as release/ alon si/e 6isual Cg an/ A4P.@#T in *++*. 4i nificant chan es (ro2e (ac23ar/ com"ati(ilit! 3ith ol/er versions an/ cause/ a rift 3ithin the /evelo"er communit! 6isual Basic .@#T *++= (6B B.,) 6isual Basic .@#T *++= 3as release/ 3ith version 4.4 of the .@#T >rame3or2. @e3 features inclu/e/ su""ort for the .@#T Com"act >rame3or2 an/ a (etter 6B u" ra/e 3iAar/. Im"rovements 3ere also ma/e to the "erformance an/ relia(ilit! of the .@#T ID# ("articularl! the (ac2 roun/ com"iler) an/ runtime. In a//ition, 6isual Basic .@#T *++= 3as availa(le in the 8isual 0tudio .NE' 3;;< Academic Edition (64+=A#). 64+=A# is /istri(ute/ to a certain num(er of scholars from each countr! 3ithout cost. 6isual Basic *++? (6B C.+) 6isual Basic *++? is the name use/ to refer to the u"/ate to 6isual Basic .@#T, Microsoft havin /eci/e/ to /ro" the .@#T "ortion of the title.

>or this release, Microsoft a//e/ man! features, inclu/in )


Edit and 5ontinue Desi n7time e0"ression evaluation. The My "seu/o7names"ace (overvie3, /etails), 3hich "rovi/es) eas! access to certain areas of the .@#T >rame3or2 that other3ise reDuire si nificant co/e to access /!namicall!7 enerate/ classes (nota(l! My.*orms) Im"rovements to the 6B7to76B.@#T converter The 1sing 2e!3or/, sim"lif!in the use of o(&ects that reDuire the Dis"ose "attern to free resources Just My 5ode, 3hich 3hen /e(u in hi/es (ste"s over) (oiler"late co/e 3ritten (! the 6isual 4tu/io .@#T ID# an/ s!stem li(rar! co/e Data 4ource (in/in , easin /ata(ase client.server /evelo"ment The a(ove functions ("articularl! My) are inten/e/ to reinforce 6isual Basic .@#TJs focus as a ra"i/ a""lication /evelo"ment "latform an/ further /ifferentiate it from Cg. 6isual Basic *++? intro/uce/ features meant to fill in the a"s (et3een itself an/ other Wmore "o3erfulW .@#T lan ua es, a//in )

.@#T *.+ lan ua es features such as) enerics Partial classes, a metho/ of /efinin some "arts of a class in one file an/ then a//in more /efinitions laterL "articularl! useful for inte ratin user co/e 3ith auto7 enerate/ co/e @ulla(le T!"es NML comments that can (e "rocesse/ (! tools li2e @Doc to "ro/uce WautomaticW /ocumentation O"erator overloa/in 4u""ort for unsi ne/ inte er /ata t!"es commonl! use/ in other lan ua es R sNotR o+erator +atented One other feature of 6isual Basic *++? is the Is@ot o"erator that ma2es JIf N Is@ot EJ eDuivalent to JIf @ot N Is EJ, 3hich aine/ notoriet! 3hen it 3as foun/ to (e the su(&ect of a Microsoft "atent a""lication. Visua/ Basic '((D E:+ress Part of the 6isual 4tu/io "ro/uct ran e, Microsoft create/ a set of free /evelo"ment environments for ho((!ists an/ novices, the 6isual 4tu/io *++? #0"ress series. One e/ition in the series is 6isual Basic *++? #0"ress #/ition, 3hich 3as succee/e/ (! 6isual Basic *++C #0"ress #/ition in the *++C e/ition of 6isual 4tu/io #0"ress. The #0"ress #/itions are tar ete/ s"ecificall! for "eo"le learnin a lan ua e. The! have a streamline/ version of the user interface, an/ lac2 more a/vance/ features of the stan/ar/ versions. On the other han/, 6isual Basic *++? #0"ress #/ition does contain the 6isual Basic :.+ converter, so it is a 3a! to evaluate feasi(ilit! of conversion from ol/er versions of 6isual Basic. 6isual Basic *++C (6B I.+) 6isual Basic I.+ 3as release/ to ether 3ith the Microsoft .@#T >rame3or2 =.? on @ovem(er ,I, *++B. >or this release, Microsoft a//e/ man! features, inclu/in )

A true con/itional o"erator, WIf((oolean, value, value)W, to re"lace the WIIfW function. Anon!mous t!"es 4u""ort for LI@1 Lam(/a e0"ressions

NML Literals T!"e Inference #0tension metho/s 6isual Basic *+,+ (6B ,+.+) In A"ril *+,+, Microsoft release/ 6isual Basic *+,+. Microsoft ha/ "lanne/ to use the D!namic Lan ua e %untime (DL%) for that release (ut shifte/ to a co7evolution strate ! (et3een 6isual Basic an/ sister lan ua e Cg to (rin (oth lan ua es into closer "arit! 3ith one another. 6isual BasicJs innate a(ilit! to interact /!namicall! 3ith CL% an/ COM o(&ects has (een enhance/ to 3or2 3ith /!namic lan ua es (uilt on the DL% such as IronP!thon an/ Iron%u(!. The 6isual Basic com"iler 3as im"rove/ to infer line continuation in a set of common conte0ts, in man! cases removin the nee/ for the W SW line continuation character. Also, e0istin su""ort of inline >unctions 3as com"lemente/ 3ith su""ort for inline 4u(s as 3ell as multi7line versions of (oth 4u( an/ >unction lam(/as. Relation to older 1ersions of 9isual Basic (9B: and 're1ious) -hether 6isual Basic .@#T shoul/ (e consi/ere/ as &ust another version of 6isual Basic or a com"letel! /ifferent lan ua e is a to"ic of /e(ate. This is not o(vious, as once the metho/s that have (een move/ aroun/ an/ that can (e automaticall! converte/ are accounte/ for, the (asic s!nta0 of the lan ua e has not seen man! W(rea2in W chan es, &ust a//itions to su""ort ne3 features li2e structure/ e0ce"tion han/lin an/ short7circuite/ e0"ressions. T3o im"ortant /ata t!"e chan es occurre/ 3ith the move to 6B.@#T. Com"are/ to 6B:, the Inte er /ata t!"e has (een /ou(le/ in len th from ,: (its to =* (its, an/ the Lon /ata t!"e has (een /ou(le/ in len th from =* (its to :; (its. This is true for all versions of 6B.@#T. A ,:7(it inte er in all versions of 6B.@#T is no3 2no3n as a 4hort. 4imilarl!, the -in/o3s >orms GHI e/itor is ver! similar in st!le an/ function to the 6isual Basic form e/itor. The version num(ers use/ for the ne3 6isual Basic (B, B.,, C, I, ...) clearl! im"l! that it is vie3e/ (! Microsoft as still essentiall! the same "ro/uct as the ol/ 6isual Basic. The thin s that have chan e/ si nificantl! are the semanticsKfrom those of an o(&ect7(ase/ "ro rammin lan ua e runnin on a /eterministic, reference7counte/ en ine (ase/ on COM to a full! o(&ect7oriente/ lan ua e (ac2e/ (! the .@#T >rame3or2, 3hich consists of a com(ination of the Common Lan ua e %untime (a virtual machine usin enerational ar(a e collection an/ a &ust7in7time com"ilation en ine) an/ a far lar er class li(rar!. The increase/ (rea/th of the latter is also a "ro(lem that 6B /evelo"ers have to /eal 3ith 3hen comin to the lan ua e, althou h this is some3hat a//resse/ (! the My feature in 6isual 4tu/io *++?. The chan es have altere/ man! un/erl!in assum"tions a(out the Wri htW thin to /o 3ith res"ect to "erformance an/ maintaina(ilit!. 4ome functions an/ li(raries no lon er e0istL others are availa(le, (ut not as efficient as the WnativeW .@#T alternatives. #ven if the! com"ile, most converte/ 6B: a""lications 3ill reDuire some level of refactorin to ta2e full a/vanta e of the ne3 lan ua e. Documentation is availa(le to cover chan es in the s!nta0, /e(u in a""lications, /e"lo!ment an/ terminolo !. Com"arative sam"les The follo3in sim"le e0am"le /emonstrates similarit! in s!nta0 (et3een 6B an/ 6B.@#T. Both e0am"les "o" u" a messa e (o0 sa!in WFello, -orl/W 3ith an O$ (utton. Private 4u( Comman/,SClic2() Ms Bo0 WFello, -orl/W #n/ 4u( A 6B.@#T e0am"le, Ms Bo0 or the Messa eBo0 class can (e use/) Pu(lic Class >orm, Private 4u( Button,SClic2(B!6al sen/er As 4!stem.O(&ect, B!6al e

As 4!stem.#ventAr s) Fan/les Button,.Clic2 Ms (o0(WFello, -orl/W) #n/ 4u( #n/ Class Pu(lic Class >orm, Private 4u( Button,SClic2(B!6al sen/er As 4!stem.O(&ect, B!6al e As 4!stem.#ventAr s) Fan/les Button,.Clic2 Messa eBo0.4ho3(WFello, -orl/W) #n/ 4u( #n/ Class Both 6isual Basic : an/ 6isual Basic .@#T 3ill automaticall! enerate the 4u( an/ #n/ 4u( statements 3hen the corres"on/in (utton is clic2e/ in /esi n vie3. 6isual Basic .@#T 3ill also enerate the necessar! Class an/ #n/ Class statements. The /evelo"er nee/ onl! a// the statement to /is"la! the WFello, -orl/W messa e (o0. @ote that all "roce/ure calls must (e ma/e 3ith "arentheses in 6B.@#T, 3hereas in 6B: there 3ere /ifferent conventions for functions ("arentheses reDuire/) an/ su(s (no "arentheses allo3e/, unless calle/ usin the 2e!3or/ Call). Also note that the names Comman/, an/ Button, are not o(li ator!. Fo3ever, these are /efault names for a comman/ (utton in 6B: an/ 6B.@#T res"ectivel!. In 6B.@#T, the Fan/les 2e!3or/ is use/ to ma2e the su( Button,SClic2 a han/ler for the Clic2 event of the o(&ect Button,. In 6B:, event han/ler su(s must have a s"ecific name consistin of the o(&ectJs name (WComman/,W), an un/erscore (WSW), an/ the eventJs name (WClic2W, hence WComman/,SClic2W). There is a function calle/ Ms Bo0 in the Microsoft.6isualBasic names"ace 3hich can (e use/ similarl! to the corres"on/in function in 6B:. There is a controvers! a(out 3hich function to use as a (est "ractice (not onl! restricte/ to sho3in messa e (o0es (ut also re ar/in other features of the Microsoft.6isualBasic names"ace). 4ome "ro rammers "refer to /o thin s Wthe .@#T 3a!W, since the >rame3or2 classes have more features an/ are less lan ua e7s"ecific. Others ar ue that usin lan ua e7s"ecific features ma2es co/e more rea/a(le (for e0am"le, usin int (Cg) or Inte er (6B.@#T) instea/ of 4!stem.Int=*). In 6B *++C, the inclusion of B!6al sen/er as O(&ect, B!6al e as #ventAr s has (ecome o"tional. The follo3in e0am"le /emonstrates a /ifference (et3een 6B: an/ 6B.@#T. Both e0am"les close the active 3in/o3. Classic 6B #0am"le) 4u( cm/CloseSClic2() Hnloa/ Me #n/ 4u( A 6B.@#T e0am"le) 4u( (tnCloseSClic2(B!6al sen/er As O(&ect, B!6al e As #ventAr s) Fan/les (tnClose.Clic2 Me.Close() #n/ 4u( @ote the Jcm/J "refi0 (ein re"lace/ 3ith the J(tnJ "refi0, conformin to the ne3 convention "reviousl! mentione/. 6isual Basic : /i/ not "rovi/e common o"erator shortcuts. The follo3in are eDuivalent) 6B: #0am"le) 4u( Timer,STimer() Me.Fei ht 8 Me.Fei ht 7 ,

#n/ 4u( 6B.@#T e0am"le) 4u( Timer,STic2(B!6al sen/er As O(&ect, B!6al e As #ventAr s) Fan/les Timer,.Tic2 Me.Fei ht 78 , #n/ 4u( Criticism Lon 7time 6isual Basic users have com"laine/ a(out 6isual Basic .@#T (ecause initial versions /ro""e/ a lar e num(er of lan ua e constructs an/ user interface features that 3ere availa(le in 6B: (3hich is no lon er sol/ (! Microsoft), an/ chan e/ the semantics of those that remaine/L for e0am"le, in 6B.@#T "arameters are ((! /efault) "asse/ (! value, not (! reference. Detractors refer "e&orativel! to 6B.@#T as 8isual *red or 2O'NO'. On March C, *++?, a "etition 3as set u" in res"onse to MicrosoftJs refusal to e0ten/ its mainstream su""ort for 6B:. 6B.@#TJs su""orters state that the ne3 lan ua e is in most res"ects more "o3erful than the ori inal, incor"oratin mo/ern o(&ect oriente/ "ro rammin "ara/i ms in a more natural, coherent an/ com"lete manner than 3as "ossi(le 3ith earlier versions. O""onents ten/ to res"on/ that althou h 6B: has fla3s in its o(&ect mo/el, the cost in terms of re/evelo"ment effort is too hi h for an! (enefits that mi ht (e aine/ (! convertin to 6B.@#T. 9citation needed< It is sim"ler to /ecom"ile lan ua es that tar et Common Interme/iate Lan ua e (CIL), inclu/in 6B.@#T, com"are/ to lan ua es that com"ile to machine co/e. Tools such as .@#T %eflector can "rovi/e a close a""ro0imation to the ori inal co/e /ue to the lar e amount of meta/ata "rovi/e/ in CIL.9citation needed< Microsoft su""lies an automate/ 6B:7to76B.@#T converter 3ith 6isual 4tu/io .@#T, 3hich has im"rove/ over time, (ut it cannot convert all co/e, an/ almost all non7trivial "ro rams 3ill nee/ some manual effort to com"ile. Most 3ill nee/ a si nificant level of co/e refactorin to 3or2 o"timall!. 6isual Basic "ro rams that are mainl! al orithmic in nature can (e mi rate/ 3ith fe3 /ifficultiesL those that rel! heavil! on such features as /ata(ase su""ort, ra"hics, unmana e/ o"erations or on im"lementation /etails are more trou(lesome.9citation needed< In a//ition, the reDuire/ runtime li(raries for 6B: "ro rams are "rovi/e/ 3ith -in/o3s IC 4# an/ a(ove, 3hile 6B.@#T "ro rams reDuire the installation of the si nificantl! lar er .@#T >rame3or2. The frame3or2 is inclu/e/ 3ith -in/o3s B, -in/o3s 6ista, -in/o3s NP Me/ia Center #/ition, -in/o3s NP Ta(let PC #/ition, -in/o3s 4erver *++C an/ -in/o3s 4erver *++=. >or other su""orte/ o"eratin s!stems such as -in/o3s *+++ or -in/o3s NP (Fome or Professional #/itions), it must (e se"aratel! installe/. MicrosoftJs res"onse to /evelo"er /issatisfaction has focuse/ aroun/ ma2in it easier to move ne3 /evelo"ment an/ shift e0istin co/e(ases from 6B: to 6B.@#T. Their latest offerin is the 6B%un 3e(site, 3hich offers co/e sam"les an/ articles for)

Hsin 6B.@#T to com"lete tas2s that 3ere common in 6B:, li2e creatin a "rint "revie3 Inte ratin 6B: an/ 6B.@#T solutions (/u((e/ 8 *usion) Cross!'latfor& and o'en!source de1elo'&ent The creation of o"en7source tools for 6B.@#T /evelo"ment have (een slo3 com"are/ to Cg, althou h the Mono /evelo"ment "latform "rovi/es an im"lementation of 6B.@#T7s"ecific li(raries an/ a 6B.@#T C.+ com"ati(le com"iler 3ritten in 6B.@#T, as 3ell as stan/ar/ frame3or2 li(raries such as -in/o3s >orms GHI li(rar!. 4har"Develo" an/ MonoDevelo" are o"en7source alternative ID#s.

$%a&'les The follo3in is a ver! sim"le 6B.@#T "ro ram, a version of the classic WFello 3orl/W e0am"le create/ as a console a""lication) Mo/ule Mo/ule, 4u( Main() Console.-riteLine(WFello, 3orl/YW) #n/ 4u( #n/ Mo/ule The effect is to 3rite the te0t 9ello& world/ to the comman/ line. #ach line serves a s"ecific "ur"ose, as follo3s) Mo/ule Mo/ule, This is a mo/ule /efinition, a /ivision of co/e similar to a class, althou h mo/ules can contain classes. Mo/ules serve as containers of co/e that can (e reference/ from other "arts of a "ro ram It is common "ractice for a mo/ule an/ the co/e file, 3hich contains it, to have the same nameL ho3ever, this is not reDuire/, as a sin le co/e file ma! contain more than one mo/ule an/.or class /efinition. 4u( Main() This is the entr! "oint 3here the "ro ram (e ins e0ecution. 0ub is an a((reviation of Wsu(routine.W Console.-riteLine(WFello, 3orl/YW) This line "erforms the actual tas2 of 3ritin the out"ut. 5onsole is a s!stem o(&ect, re"resentin a comman/7line interface an/ rantin "ro rammatic access to the o"eratin s!stemJs stan/ar/ streams. The "ro ram calls the 5onsole metho/ (rite:ine& 3hich causes the strin "asse/ to it to (e /is"la!e/ on the console. Another common metho/ is usin Ms Bo0 (a Message ox). Messa e Bo0es are use/ to /is"la! information, error or Duestions. A Messa e Bo0 contains a title, te0t an/ a (utton. Multi"le t!"es of Messa es Bo0es are availa(le, 3hich /iffer in the soun/ it is ma2in an/ the "icture. The (uttons also chan e accor/in to the t!"e of Messa e Bo0 use/. Messa eBo0.4ho3(WFello, -orl/W, WTitleW, Messa eBo0Buttons.Ees@o, Messa eBo0Icon.1uestion) Ms Bo0(WFello -orl/YW, Ms Bo04t!le.1uestion, WTitleW) There are several /ifferent o"tions availa(le for the Messa eBo0.4ho3 function. The Buttons an/ Icons availa(le are) Buttons A(ort%etr!I nore O$ O$Cancel %etr!Cancel Ees@o Ees@oCancel

con Na%e Asteris2 #rror #0clamation Fan/ Information 1uestion 4to" -arnin

con %age

The (uttons have a /ifferent value. The Messa e Bo0 can (e save/ into an Inte er an/ then an if7statement can (e use/ to /o certain thin s /e"en/in on 3hich (utton the user clic2e/. #0am"le) Private 4u( Button,SClic2(B!6al sen/er As 4!stem.O(&ect, B!6al e As 4!stem.#ventAr s) Fan/les Button,.Clic2 Dim result As Inte er 8 Messa eBo0.4ho3(WDo !ou 3ant to ...MW, WTitleW, Messa eBo0Buttons.Ees@o, Messa eBo0Icon.Asteris2) If result 8 : Then J!es 3as clic2e/ #lse Jno 3as clic2e/ #n/ If #n/ 4u( The Inte er is create/ (! 2im result As $nteger. result is the name of the Inte er an/ can (e freel! chosen. The Messa e Bo0 contains t3o (uttons 2essageBo:Buttons&#esNo(Ees an/ @o) the value of Ees is : an/ of @o is B. The follo3in If7statement chec2s the value of the Inte er result if it is eDual to : then the first function 3ill (e calle/ other3ise the function else is use/. The follo3in ta(le sho3s the value of each (utton. Button O$ Cancel A(ort %etr! I nore Ees @o Va/ue , * = ; ? : B

Another 3a! to use the Messa e Bo0es 3ith multi"le ans3er choices sho3s the follo3in e0am"le) If Ms Bo0(WThe "rocess 3ill (e starte/W, Ms Bo04t!le.O2Cancel, WTitleW) 8 Dialo %esult.O$ Then Jo2 3as clic2e/ #lse Jcancel 3as clic2e/ #n/ If

Hsin a Messa e Bo0 3ithout a varia(le is also "ossi(le (! creatin the Messa e Bo0 in the If7statement. The Messa eBo0 (utton O$ corres"on/es to the 2ialog+esult.O= co/e. Thus the "ro ram runs a function /e"en/in on 3hat Button the Hser clic2e/.

)H

2#S8!9 Visua/ >o:+ro

A Database 2anage%ent Syste% (DB2S) is a set of com"uter "ro rams that controls the creation, maintenance, an/ the use of a /ata(ase. It allo3s or aniAations to "lace control of /ata(ase /evelo"ment in the han/s of /ata(ase a/ministrators (DBAs) an/ other s"ecialists. A DBM4 is a s!stem soft3are "ac2a e that hel"s the use of inte rate/ collection of /ata recor/s an/ files 2no3n as /ata(ases. It allo3s /ifferent user a""lication "ro rams to easil! access the same /ata(ase. DBM4s ma! use an! of a variet! of /ata(ase mo/els, such as the net3or2 mo/el or relational mo/el. In lar e s!stems, a DBM4 allo3s users an/ other soft3are to store an/ retrieve /ata in a structure/ 3a!. Instea/ of havin to 3rite com"uter "ro rams to e0tract information, user can as2 sim"le Duestions in a Duer! lan ua e. Thus, man! DBM4 "ac2a es "rovi/e >ourth7 eneration "ro rammin lan ua e (;GLs) an/ other a""lication /evelo"ment features. It hel"s to s"ecif! the lo ical or aniAation for a /ata(ase an/ access an/ use the information 3ithin a /ata(ase. It "rovi/es facilities for controllin /ata access, enforcin /ata inte rit!, mana in concurrenc!, an/ restorin the /ata(ase from (ac2u"s. A DBM4 also "rovi/es the a(ilit! to lo icall! "resent /ata(ase information to users. Visua/ >o:0ro is a /ata7centric o(&ect7oriente/ an/ "roce/ural "ro rammin lan ua e "ro/uce/ (! Microsoft. It is /erive/ from >o0Pro (ori inall! 2no3n as >o:BASE) 3hich 3as /evelo"e/ (! >o0 4oft3are (e innin in ,IC;. >o0 Technolo ies mer e/ 3ith Microsoft in ,II*, after 3hich the soft3are acDuire/ further features an/ the "refi0 W6isualW. The last version of >o0Pro (*.:) 3or2e/ un/er Mac O4, DO4, -in/o3s, an/ Hni0) 6isual >o0Pro =.+, the first W6isualW version, /ro""e/ the "latform su""ort to onl! Mac an/ -in/o3s, an/ later versions 3ere -in/o3s7onl!. The current version of 6isual >o0Pro is COM7(ase/ an/ Microsoft has state/ that the! /o not inten/ to create a Microsoft .@#T version. >o0Pro ori inate/ as a mem(er of the class of lan ua es commonl! referre/ to as W0BaseW lan ua es, 3hich have s!nta0 (ase/ on the /Base "ro rammin lan ua e. Other mem(ers of the 0Base lan ua e famil! inclu/e Cli""er an/ %ecital. (A histor! of the earl! !ears of 0Base can (e foun/ in the /Base entr!.) 6isual >o0Pro, commonl! a((reviate/ as 6>P, is ti htl! inte rate/ 3ith its o3n relational /ata(ase en ine, 3hich e0ten/s >o0ProJs 0Base ca"a(ilities to su""ort 41L Duer! an/ /ata mani"ulation. Hnli2e most /ata(ase mana ement s!stems, 6isual >o0Pro is a full7feature/, /!namic "ro rammin lan ua e that /oes not reDuire the use of an a//itional eneral7"ur"ose "ro rammin environment. It can (e use/ to 3rite not &ust tra/itional Wfat clientW a""lications, (ut also mi//le3are an/ 3e( a""lications.

3hat s S8!4 41L (4tructure/ 1uer! Lan ua e) is a com"tuer lan ua e that allo3s users to interact 3ith %elational Data(ase Mana ement 4!stems (%DBM4) to /efine /ata t!"e an/ structure, an/ to insert, u"/ate or /elete /ata instances. Hsuall!, an %DBM4 s!stem 3ill offer a user interface (HI) to allo3 !ou to issue 41L statements to /irectl! o"erate on the %DBM4 s!stem) Hser P77O HI P7741L77O %DBM4 P77O Data stora e A t!"ical %DBM4 s!stem /oes also offer A""lication Pro rammin Interface (API) to allo3 a""lication "ro rams to use 41L statements to interact 3ith the %DBM4 s!stem) Hser P77O A""lication P7741L77O %DBM4 P77O Data stora e

41L is a non7"rece/ural lan ua e. #ach 41L statement is an in/ivi/ual e0ecution unit, in/e"en/ent of other statements. There is no con/itional statements, &um"in statements or loo"in statements to rou" multi"le statements to ether into a com"le0t e0ecution unit. There is no 3a! to /efine a "roce/ure of statements, an/ no "roce/ure call statements.

In the "revious section, 3e learne/ ho3 to start an/ shut/o3n M!41L server. @o3 letJs see ho3 3e can use M!41L client interface to create a ta(le an/ run Dueries. >irst start the M!41L server in one comman/ 3in/o3, then run the start the M!41L client interface in another comman/ 3in/o3, an/ run the follo3in M!41L client comman/s) cm!sDlc(incm!sDl -elcome to the M!41L monitor. Comman/s en/ 3ith L or c . Eour M!41L connection i/ is , to server version) ;.+.,C7ma07/e(u T!"e Jhel"LJ or JchJ for hel". T!"e JccJ to clear the (uffer. m!sDlO sho3 /ata(asesL T7777777777T h Data(ase h T7777777777T h m!sDl h h test h T7777777777T * ro3s in set (+.+: sec) m!sDlO use testL Data(ase chan e/ m!sDlO sho3 ta(lesL #m"t! set (+.++ sec) m!sDlO create ta(le hello (messa e varchar(C+))L 1uer! O$, + ro3s affecte/ (+.?C sec) m!sDlO insert into hello (messa e) values (JFello 3orl/YJ)L 1uer! O$, , ro3 affecte/ (+.=C sec) m!sDlO select U from helloL T77777777777777T h messa e h T77777777777777T h Fello 3orl/Y h T77777777777777T , ro3 in set (+.+; sec)

m!sDlO /ro" ta(le helloL 1uer! O$, + ro3s affecte/ (+.=; sec) m!sDlO DuitL B!e

A store/ "roce/ure can have local varia(les. To /efine a local varia(le, !ou can use the D#CLA%# statement) D#CLA%# varia(le /ataSt!"e 9D#>AHLT value<L To assi n a ne3 value to a varia(le, !ou can use the 4#T statement) 4#T varia(le 8 e0"ressionL The 4#L#CT statement can also (e use/ to assi n values to varia(les) 4#L#CT e0"ression, e0"ression, ... I@TO varia(le, varia(le, ... 9>%OM clause<L Once a varia(le is /efine/, it can (e use/ in an! e0"ressions in an! statements To selectivel! e0ecutin a rou" of statements, !ou can use the I> statement) I> con/ition TF#@ statementSlist #L4# I> con/ition TF#@ statementSlist #L4# I> con/ition TF#@ statementSlist ...... #L4# statementSlist #@D I> To re"eate/l! e0ecutin a rou" of statements 3ithout an! con/itions, !ou can use the LOOP statement) LOOP statementSlist #@D LOOP To re"eate/l! e0ecutin a rou" of statements 3ith an en/in con/ition, !ou can use the %#P#AT statement) %#P#AT statementSlist H@TIL con/ition #@D %#P#AT

To re"eate/l! e0ecutin a rou" of statements 3ith an en/in con/ition, !ou can use the -FIL# statement) -FIL# con/ition statementSlist #@D -FIL# Belo3 is a sam"le co/e that uses a 3hile loo" to insert multi"le ro3s into a ta(le) 77 Proce/ureLoo".sDl 77 Co"!ri ht (c) *++; (! Dr. Feron Ean 77 D%OP DATABA4# I> #NI4T4 F!TestL C%#AT# DATABA4# F!TestL H4# F!TestL 77 D%OP P%OC#DH%# I> #NI4T4 InitTa(leL D#LIMIT#% J.JL C%#AT# P%OC#DH%# InitTa(le(I@ @ I@T#G#%) B#GI@ D#CLA%# I I@T#G#%L 4#T I 8 +L -FIL# I P @ DO I@4#%T I@TO M!Ta(le 6ALH#4 (I, %A@D()U@)L 4#T I 8 I T ,L #@D -FIL#L #@D. D#LIMIT#% JLJ. 77 D%OP TABL# I> #NI4T4 M!Ta(leL C%#AT# TABL# M!Ta(le (ID I@T#G#%, 6alue I@T#G#%)L CALL InitTa(le(,++)L 77 4#L#CT JM! ta(le)J A4 J777JL 4#L#CT U >%OM M!Ta(le -F#%# ID P ,+L Out"ut) M! ta(le) ID 6alue + = , := * C = ?* ; =? ? ,C : C:

B C I

B? ,C :=

Hsin DDL to Create Ta(les an/ In/e0es


DLL (Data Definition Lan ua e) contains C%#AT#, ALT#% an/ D%OP statements. C%#AT# TABL# statements are use/ to create ta(les. C%#AT# I@D#N statements are use/ to create in/e0es. ALT#% TABL# statements are use/ to alter ta(le structures. The create ta(le statement allo3s !ou to create a ne3 ta(le in the /ata(ase. It has a num(er of s!nta0 formats) ,. To create a "ermanent ta(le) C%#AT# TABL# t(lSname (columnSlist)L 3here WcolumnSlistW /efines the columns of the ta(le 3ith the follo3in s!nta0) colSname colSt!"e colSo"tions, colSname colSt!"e colSo"tions, ... colSname colSt!"e colSo"tions *. To create a tem"orar! ta(le) C%#AT# T#MPO%A%E TABL# t(lSname (columnSlist)L =. To create a "ermanent ta(le if it /oesnJt e0ist) C%#AT# TABL# t(lSname I> @OT #NI4T4 (columnSlist)L ;. To create a "ermanent ta(le 3ith /ata t!"es an/ /ata enerate/ from a select statement) C%#AT# TABL# t(lSname selectSstatementL To sho3 the columns of an e0istin ta(le, !ou can use the sho3 columns statement) 4FO- COLHM@4 >%OM t(lSnameL To /elete an e0istin ta(le, !ou can use the /ro" ta(le statement) D%OP TABL# t(lSnameL Fere is an e0am"le 41L co/e, CreateTa(le.sDl, sho3in !ou ho3 to create a ta(le (! selectin /ata from e0istin ta(les)

CreateTa(le.sDl C%#AT# TABL# I> @OT #NI4T4 Hser (Lo in 6A%CFA%(C), Pass3or/ CFA%(C))L I@4#%T I@TO Hser 6ALH#4 (Jheron J,JCI4=$ON-J)L I@4#%T I@TO Hser 6ALH#4 (Jmi2eJ,JP[+GGJ)L 4#L#CT JHser ta(le)JL 4FO- COLHM@4 >%OM HserL 4#L#CT U >%OM HserL 77 C%#AT# TABL# I> @OT #NI4T4 HserCo"! 4#L#CT U >%OM HserL 4#L#CT JHserCo"! ta(le)JL 4FO- COLHM@4 >%OM HserCo"!L 4#L#CT U >%OM HserCo"!L 77 C%#AT# TABL# I> @OT #NI4T4 HserDum" 4#L#CT CO@CAT(Lo in,J)J) A4 Lo in, CFA%SL#@GTF(Pass3or/) A4 Count >%OM HserL 4#L#CT JHserCo"! ta(le)JL 4FO- COLHM@4 >%OM HserDum"L 4#L#CT U >%OM HserDum"L 77 D%OP TABL# HserL D%OP TABL# HserCo"!L D%OP TABL# HserDum" If !ou run the co/e, !ou 3ill et) Hser ta(le) Hser ta(le) >iel/ T!"e @ull $e! Default #0tra Lo in varchar(C) E#4 @HLL Pass3or/ varchar(C) E#4 @HLL Lo in Pass3or/ heron CI4=$ONmi2e P[+GG HserCo"! ta(le) HserCo"! ta(le) >iel/ T!"e @ull $e! Default #0tra Lo in varchar(C) E#4 Pass3or/ varchar(C) E#4 Lo in Pass3or/ heron CI4=$ONmi2e P[+GG HserDum" ta(le) HserDum" ta(le) >iel/ T!"e @ull $e! Default #0tra

Lo in Count Lo in heron mi2e)

char(I) E#4 int(,+) E#4 Count )C ?

A cou"le of interestin notes on the out"ut)

The sho3 columns statement re"orts that M!41L sets all columns to (e varia(le len th, if one column is varia(le len th. The out"ut of the HserCo"! ta(le sho3s that the create ta(le statement 3ith select su(7statement 3or2s "erfectl!. The out"ut of the HserDum" ta(le sho3s that the columns t!"es are (ase/ the /ata t!"es of the out"ut of the select su(7statement, if it use/ in the create ta(le statement An insert statement allo3s !ou to insert ne3 ro3s of /ata into an e0istin ta(le. It has a num(er of s!nta0 formats) ,. To insert a sin le ro3 of all columns 3ith values resultin from the s"ecifie/ e0"ressions) I@4#%T I@TO t(lSname 6ALH#4 (e0"ression, e0"ression, ...)L -hen e0ecute/, all e0"ressions 3ill (e evaluate/, an/ the resultin values 3ill form the ne3 ro3, 3hich 3ill (e inserte/ into the s"ecifie/ ta(le. Of course, the num(er of e0"ressions must (e eDual to the num(er of columns in ta(le. *. To insert a sin le ro3 3ith some columns havin s"ecifie/ values, an/ others havin /efault values) I@4#%T I@TO t(lSname (column, column, ...) 6ALH#4 (e0"ression, e0"ression, ...)L @otes)

O(viousl!, /u"licate/ columns are not allo3e/ in the column list. The num(er of e0"ressions must (e eDual to the num(er of s"ecifie/ columns. Default values 3ill (e "rovi/e/ for those columns that are not s"ecifie/ in the column list. =. To insert one or more ro3s of all columns 3ith a select su(7statement) I@4#%T I@TO t(lSname selectSstatementL -hen e0ecute/, the out"ut ro3s of the select su(7statement 3ill (e inserte/ into the s"ecifie/ ta(le. Of course, the num(er of select e0"ressions in the select statement must (e eDual to the num(er of columns of the s"ecifie/ ta(le. ;. To insert one or more ro3s 3ith some column havin values from the s"ecifie/ select su(7statement, an/ other columns havin /efault values) I@4#%T I@TO t(lSname (column, column, ...) selectSstatementL

@otes)

O(viousl!, /u"licate/ columns are not allo3e/ in the column list. The num(er of select e0"ressions must (e eDual to the num(er of s"ecifie/ columns. Default values 3ill (e "rovi/e/ for those columns that are not s"ecifie/ in the column list. Fere is an e0am"le 41L co/e, Insert%o3s.sDl, sho3in !ou ho3 to insert ro3s into an e0istin ta(le) 77 Insert%o3s.sDl 77 Co"!ri ht (c) ,III (! Dr. Feron Ean 77 D%OP TABL# I> #NI4T4 HserL C%#AT# TABL# Hser (Lo in 6A%CFA%(C), Pass3or/ CFA%(C))L I@4#%T I@TO Hser 6ALH#4 (Jheron J,JCI4=$ON-J)L I@4#%T I@TO Hser (Lo in) 6ALH#4 (Jmi2eJ)L I@4#%T I@TO Hser 4#L#CT Lo in, Pass3or/ >%OM HserL I@4#%T I@TO Hser (Pass3or/) 4#L#CT CO@CAT(JSSJ,Lo in) >%OM HserL 4#L#CT JHser ta(le)J A4 J777JL 4#L#CT U >%OM HserL If !ou run the co/e, !ou 3ill et) 777 Hser ta(le) Lo in Pass3or/ heron CI4=$ONmi2e @HLL heron CI4=$ONmi2e @HLL @HLL SSheron @HLL SSmi2e @HLL SSheron @HLL SSmi2e A /elete statement allo3s !ou to /elete e0istin ro3s from an e0istin ta(le. The s!nta0 of a /elete statement is) D#L#T# >%OM t(lSname 9-F#%# clause< If e0ecute/, all ro3s that satisf! the con/ition in the 3here clause 3ill (e /elete/. If no W3here clauseW s"ecifie/, all ro3s 3ill (e /elete/. Fere is an e0am"le 41L co/e, Delete%o3s.sDl, sho3in !ou ho3 to /elete ro3s from an e0istin ta(le) 77 Delete%o3s.sDl 77 Co"!ri ht (c) ,III (! Dr. Feron Ean 77 D%OP TABL# I> #NI4T4 HserL

C%#AT# TABL# Hser (Lo in 6A%CFA%(C), Pass3or/ CFA%(C))L I@4#%T I@TO Hser 6ALH#4 (Jheron J,JCI4=$ONJ)L I@4#%T I@TO Hser (Lo in) 6ALH#4 (Jmi2eJ)L D#L#T# >%OM Hser -F#%# Lo in 8 Jheron JL 4#L#CT JHser ta(le)J A4 J777JL 4#L#CT U >%OM HserL If !ou run the co/e, !ou 3ill et) 777 Hser ta(le) Lo in Pass3or/ mi2e @HLL 4#L#CT statements returns /ata in ro3s an/ fiel/s from (ase ta(les. The >%OM clause /efines the (ase ta(le, filter, a re ation an/ sortin or/er. The -F#%# clause /efines filter con/itions. The G%OHP BE clause /efines a re ation rules. The O%D#% BE clause /efines sortin or/ers. The GOI@ o"eration /efines ho3 t3o ta(les can (e com(ine/ into a sin le (ase ta(le. A select statement is also calle/ a Duer! statement. It is normall! use/ to retrieve ro3s of /ata selecte/ from s"ecifie/ ta(les. The eneric s!nta0 of a select statement is) 4#L#CT selectSe0"ressionSlist 9>%OM clause< 3here We0"ressionSlistW /efines a list of select e0"ressions, an/ W>%OM clauseW /efines a select ta(le 3ith ro3s an/ columns of values. Column names of the select ta(le can (e use/ as varia(les in select e0"ressions to re"resent column values in each ro3. -hen a select statement is e0ecute/, a neste/ loo" lo ic 3ill (e "erforme/ to enerate ro3s of out"ut /ata) Loo" on each ro3 of the select ta(le, /o) Loo" on each select e0"ression, /o) #valuate this e0"ression 3ith "ossi(le column values in current ro3 of the select ta(le. #n/ of loo" %eturn the results of all select e0"ressions as a ro3 of out"ut /ata #n/ of loo" @ote)

The num(er of columns of an out"ut ro3 eDuals to the num(er of select e0"ressions. The num(er of ro3s of the out"ut /ata eDuals to the num(er of ro3s of the select ta(le. If the select ta(le has no ro3s, no /ata 3ill (e returne/. The select ta(le is o"tional. If it is not s"ecifie/, onl! one ro3 of /ata 3ill (e returne/.

4am"le select statements 3ithout >%OM clause) 4#L#CT JFello 3orl/YJL 4#L#CT JA""leJ, JOran eJL 4#L#CT CFA%SL#@GTF(JFello 3orl/YJ)L 4#L#CT ,, ;, I, ,:, *?L 4#L#CT PI()L 4#L#CT CH%%#@TSDAT#(), CH%%#@TSTIM#()L A &oin ta(le is the out"ut ta(le of a &oin o"eration on t3o ta(les. There are several t!"es of &oin o"erations) ,. Cross Goin 7 Ta2es each ro3 in the left ta(le, an/ &oins onto all ro3s in the ri ht ta(le. The num(er of columns of the out"ut ta(le is the num(er of columns of the left ta(le "lus the num(er of columns of the ri ht ta(le. The num(er of ro3s of the out"ut ta(le is the num(er of ro3s of the left ta(le times the num(er of ro3s of the ri ht ta(le. A cross &oin o"eration is also calle/ Cartesian "ro/uct o"eration. There are t3o 3a!s to 3rite a cross &oin ta(le) ta(leSl, ta(leSr ta(leSl C%O44 GOI@ ta(leSr The cross &oin o"eration lo ic can (e e0"resse/ as) Loo" on each ro3 in the left ta(le (L) Loo" on each ro3 in the ri ht ta(le (%) Generate an out"ut ro3 3ith all columns of the current ro3 of L an/ all columns of the current ro3 of % #n/ of loo" #n/ of loo" *. Inner Goin 7 Ta2es the out"ut ta(le of the cross &oin o"eration, an/ filter out ro3s that /o not satisf! the s"ecifie/ &oin con/ition, 3hich shoul/ (e an eDualit! com"arison of one column in the left ta(le an/ one column in the ri ht ta(le. The s!nta0 form of an inner &oin ta(le is) ta(leSl I@@#% GOI@ ta(leSr O@ ta(leSl.columnSl8ta(leSr.columnSr The inner &oin o"eration lo ic can (e e0"resse/ as) Loo" on each ro3 in the left ta(le (L) Loo" on each ro3 in the ri ht ta(le (%) If the value of columnSl eDuals to the value of columnSr Generate an out"ut ro3 3ith all columns of the current ro3 of L an/ all columns of the current ro3 of % Brea2 the loo" on % #n/ if #n/ of loo" #n/ of loo" =. Left Outer Goin 7 Ta2es the out"ut ta(le of the inner &oin o"eration, an/ a//s one ro3 for each ro3 in the left ta(le that has no matchin ro3s in the ri ht ta(le. This ne3 out"ut ro3 3ill contain the ro3 from the left ta(le an/

null values to occu"! the out"ut columns corres"on/in to the ri ht ta(le. The s!nta0 form of a left outer &oin ta(le is) ta(leSl L#>T OHT#% GOI@ ta(leSr O@ ta(leSl.columnSl8ta(leSr.columnSr The left outer &oin o"eration lo ic can (e e0"resse/ as) Loo" on each ro3 in the left ta(le (L) 4et matchSfoun/ 8 >AL4# Loo" on each ro3 in the ri ht ta(le (%) If the value of columnSl eDuals to the value of columnSr Generate an out"ut ro3 3ith all columns of the current ro3 of L an/ all columns of the current ro3 of % 4et matchSfoun/ 8 T%H# #n/ if #n/ of loo" If matchSfoun/ is >AL4# Generate an out"ut ro3 3ith all columns of the current ro3 of L an/ null values for columns corres"on/in to columns of % #n/ if #n/ of loo" ;. %i ht Outer Goin 7 Ta2es the out"ut ta(le of the inner &oin o"eration, an/ a//s one ro3 for each ro3 in the ri ht ta(le that has no matchin ro3s in the left ta(le. This ne3 out"ut ro3 3ill contain the ro3 from the ri ht ta(le an/ null values to occu"! the out"ut columns corres"on/in to the left ta(le. The s!nta0 form of a ri ht outer &oin ta(le is) ta(leSl %IGFT OHT#% GOI@ ta(leSr O@ ta(leSl.columnSl8ta(leSr.columnSr The ri ht outer &oin o"eration lo ic can (e e0"resse/ as) Loo" on each ro3 in the ri ht ta(le (%) 4et matchSfoun/ 8 >AL4# Loo" on each ro3 in the left ta(le (L) If the value of columnSl eDuals to the value of columnSr Generate an out"ut ro3 3ith all columns of the current ro3 of L an/ all columns of the current ro3 of % 4et matchSfoun/ 8 T%H# #n/ if #n/ of loo" If matchSfoun/ is >AL4# Generate an out"ut ro3 3ith all columns of the current ro3 of % an/ null values for columns corres"on/in to columns of L #n/ if #n/ of loo" To vali/ate the &oin ta(le lo ics mentione/ in the "revious section, I 3rote the follo3in 41L co/e, GointTa(le.sDl)

77 GoinTa(le.sDl 77 Co"!ri ht (c) ,III (! Dr. Feron Ean 77 77 Creatin user ta(le D%OP TABL# I> #NI4T4 HserL C%#AT# TABL# Hser (ID I@T, Lo in CFA%(C), De"tSID I@T)L I@4#%T I@TO Hser 6ALH#4 (,,Jheron J,,)L I@4#%T I@TO Hser 6ALH#4 (*,Jmi2eJ,*)L I@4#%T I@TO Hser 6ALH#4 (=,J(illJ,=)L I@4#%T I@TO Hser 6ALH#4 (;,Jmar!J,=)L I@4#%T I@TO Hser 6ALH#4 (?,JlisaJ,?)L 77 Creatin /e"t ta(le D%OP TABL# I> #NI4T4 De"tL C%#AT# TABL# I> @OT #NI4T4 De"t (ID I@T, @ame CFA%(,:))L I@4#%T I@TO De"t 6ALH#4 (,,JMathJ)L I@4#%T I@TO De"t 6ALH#4 (=,JChemJ)L I@4#%T I@TO De"t 6ALH#4 (;,JLa3J)L I@4#%T I@TO De"t 6ALH#4 (?,J#n lishJ)L I@4#%T I@TO De"t 6ALH#4 (?,JLatinJ)L 77 Generatin &oin ta(les 4#L#CT J%unnin cross &oinJ A4 J777JL 4#L#CT U >%OM Hser C%O44 GOI@ De"tL 4#L#CT J%unnin inner &oinJ A4 J777JL 4#L#CT U >%OM Hser I@@#% GOI@ De"t O@ Hser.De"tSID8De"t.IDL 4#L#CT J%unnin left outer &oinJ A4 J777JL 4#L#CT U >%OM Hser L#>T OHT#% GOI@ De"t O@ Hser.De"tSID8De"t.IDL 4#L#CT J%unnin ri ht outer &oinJ A4 J777JL 4#L#CT U >%OM Hser %IGFT OHT#% GOI@ De"t O@ Hser.De"tSID8De"t.IDL @ote that)

WUW can (e use/ as selection e0"ression. It 3ill (e evaluate/ to a list of values from all columns in the select ta(le. A select e0"ression 3ill have s!stem /efault column name in the out"ut ta(le. Eou can chan e the /efault column name (! usin WA4 ne3SnameW o"tion. -hen referrin to a column in a ta(le, !ou can use the full! Duantifie/ column name)

ta(leSname.columnSname. Out"ut of GoinTa(l.sDl) 777 %unnin cross &oin ID Lo in De"tSID ID @ame , heron , , Math

* mi2e * , Math = (ill = , Math ; mar! = , Math ? lisa ? , Math , heron , = Chem * mi2e * = Chem = (ill = = Chem ; mar! = = Chem ? lisa ? = Chem , heron , ; La3 * mi2e * ; La3 = (ill = ; La3 ; mar! = ; La3 ? lisa ? ; La3 , heron , ? #n lish * mi2e * ? #n lish = (ill = ? #n lish ; mar! = ? #n lish ? lisa ? ? #n lish , heron , ? Latin * mi2e * ? Latin = (ill = ? Latin ; mar! = ? Latin ? lisa ? ? Latin 777 %unnin inner &oin ID Lo in De"tSID ID @ame , heron , , Math = (ill = = Chem ; mar! = = Chem ? lisa ? ? #n lish ? lisa ? ? Latin 777 %unnin left outer &oin ID Lo in De"tSID ID @ame , heron , , Math * mi2e * @HLL @HLL = (ill = = Chem ; mar! = = Chem ? lisa ? ? #n lish ? lisa ? ? Latin 777 %unnin ri ht outer &oin ID Lo in De"tSID ID @ame

, heron , = (ill = ; mar! = @HLL @HLL ? lisa ? ? lisa ?

Math = Chem = Chem @HLL ; ? #n lish ? Latin

La3

@otes on the out"ut)

4ur"risin l!, the cross &oin 3as "erforme/ 3ith the outer loo" on the ri ht ta(le columns. This is /ifferent than m! e0"ectation. Inner &oin, left outer &oin, an/ ri ht outer &oin 3ere "erforme/ as e0"ecte/. As I mentione/ earlier, the -F#%# clause mo/ifies the (ase ta(le (! filterin out ro3s of /ata that /o not satisf! the s"ecifie/ con/itions. Fere is its s!nta0) -F#%# 3hereScon/ition 3here W3hereScon/itionW is a "re/icate o"eration that 3ill result a true or false con/ition. -F#%# clause sam"les) -F#%# 4alar! P8 ;?+++.++ -F#%# 4alar! O ;?+++.++ A@D 4alar! P8 :?+++.++ -F#%# De"t I@ (JMathJ,JChemJ) -F#%# (De"t 8 JMathJ O% De"t 8 JChemJ) A@D 4alar! P8 ;?+++.++ -F#%# Hser.De"tSID 8 De"t.ID WG%OHP BE clauseW mo/ifies the (ase ta(le (! rou"in ori inal ro3s into rou" ro3s (ase/ on i/entical com(ine/ values of the s"ecifie/ rou" columns. In other 3or/s, each resultin ro3 re"resents a rou" of ori inal ro3s that has a uniDue com(ination of the values in the s"ecifie/ rou" columns. Ori inal columns are re/uce/ to the s"ecifie/ rou" columns onl!. Grou" ro3s can also (e filtere/ out (! a s"ecifie/ con/ition. WG%OHP BE clauseW s!nta0 is) G%OHP BE rou"Scolumns 9FA6I@G havin Scon/ition< 3here W rou"ScolumnsW is a list of columns in the ori inal (ase ta(le, an/ Whavin Scon/itionW is a "re/icate o"eration that 3ill result a true or false con/ition. Ru/e )) T3o t!"es of /ata can (e use/ in select e0"ressions) ,. rou" columnsL *. a rou" function of an! ori inal columns. Grou" functions are)

COH@T(column)) @um(er of ori inal recor/s in the rou" re"resente/ (! this resultin recor/. Actuall!, the COH@T() 3ill "ro/uce the same num(er re ar/less of the s"ecifie/ fiel/. 4HM(column)) The sum of all values of the s"ecifie/ column in the rou" re"resente/ (! this resultin ro3. MI@(column)) The minimum value of the s"ecifie/ column in the rou" re"resente/ (! this resultin ro3. MAN(column)) The ma0imum value of the s"ecifie/ column in the rou" re"resente/ (! this resultin ro3. A6G(column)) The avera e value of the s"ecifie/ column in the rou" re"resente/ (! this resultin ro3.

>or e0am"les, the follo3in is nice salar! statistics re"ort "er /e"artment) 4#L#CT De"artment, COH@T(@ame) A4 @um(erOf#m"lo!ees, MI@(4alar!) A4 Minimum4alar!, MAN(4alar!) A4 Ma0imum4alar!, A6G(4alar!) as Avera e4alar! >%OM #m"lo!ee -F#%# 4tatus8JActiveJ G%OHP BE De"artment Ru/e ') If multi"le rou" columns are use/, ro3s are rou"e/ into a sin le ro3s (ase/ the i/entical com(ine/ values of the rou" columns, not in/ivi/ual i/entical values. >or e0am"le, the follo3in statement re"orts a e statistics "er /e"artment an/ "er se0) 4#L#CT De"artment, 4e0, COH@T(@ame) A4 @um(erOf#m"lo!ees, MI@(4alar!) A4 Minimum4alar!, MAN(4alar!) A4 Ma0imum4alar!, A6G(4alar!) as Avera e4alar! >%OM #m"lo!ee -F#%# 4tatus8JActiveJ G%OHP BE De"artment, 4e0 If there are ,+ in/ivi/ual /e"artments, !ou 3ill et *+ recor/s, assumin that ever! /e"artment has (oth se0es. Ru/e 5) If a havin con/ition is s"ecifie/, it 3ill (e use/ to filter out the resultin rou" ro3s that /o not satisf! this con/ition. 4ince the havin con/ition is a""lie/ on the rou"e/ ro3s, it can onl! use rou" columns an/ rou" functions. >or e0am"le, the follo3in statement re"ort salar! statistics onl! for those /e"artments that have more than ,+ active em"lo!ees) 4#L#CT De"artment, COH@T(@ame) A4 @um(erOf#m"lo!ees, MI@(4alar!) A4 Minimum4alar!, MAN(4alar!) A4 Ma0imum4alar!, A6G(4alar!) as Avera e4alar! >%OM #m"lo!ee -F#%# 4tatus8JActiveJ G%OHP BE De"artment FA6I@G COH@T(@ame)O,+ The follo3in is (a/ e0am"le, W4e08JMaleJW can onl! (e use/ in the -F#%# clause, not in the FA6I@G clause) 4#L#CT De"artment, COH@T(@ame) A4 @um(erOf#m"lo!ees, MI@(4alar!) A4 Minimum4alar!, MAN(4alar!) A4 Ma0imum4alar!, A6G(4alar!) as Avera e4alar! >%OM #m"lo!ee -F#%# 4tatus8JActiveJ G%OHP BE De"artment FA6I@G se08JMaleR

WO%D#% BE clauseW mo/ifies the (ase ta(le (! sortin ro3s accor/in the s"ecifie/ or/er. WO%D#% BE clauseW s!nta0 is) O%D#% BE or/erSe0", or/erSe0", ... 3here Wor/erSe0"W s"ecif! a sin le or/er e0"ression. If multi"le or/er e0"ressions are s"ecifie/, the or/er e0"ression on the left has hi her "rece/ence than the one on the ri ht. This means the or/er e0"ression on the ri ht 3ill onl! (e use/ to sort ro3s that are havin the same for the or/er e0"ression on the left. If O%D#% BE clause is use/ 3ith G%OHP BE clause, it must contain onl! rou" columns or rou" functions. >or e0am"le, the follo3in statement sho3s us 3hich /e"artment has the ol/est avera e a e)

4#L#CT /e"artment, COH@T(name) A4 num(erOf#m"lo!ees, min(a e) A4 minimumA e, ma0(a e) A4 ma0imumA e, A6G(a e) as avera eA e >%OM em"lo!ee -F#%# status8JActiveJ G%OHP BE /e"artment O%D#% BE A6G(a e) D#4C

"sing D2! to nsert9 "+date and De/ete Records


DML (Data Mani"ulation Lan ua e) contains I@4#%T, HPDAT# an/ D#L#T# statements. I@4#%T I@TO statements are use/ to insert recor/s into ta(les. HPDAT# statements are use/ to u"/ate recor/s store/ in ta(les. D#L#T# >%OM statements are use/ to /elete recor/s from ta(les.

)F )F&)

0R1JECTS Student in-or%ation syste% -or your co//ege&

Desi n the >orm for #ntr! Level

Desi n form for re"orts ' filtrtation

-rite /o3n the a""ro"riate co/e for 4tu/ent information s!stem li2e (elo3 e0.

)F&5

A 6ideoE /ibrary %anage%ent syste% -or a sho+&

INTRODUCTION $%is report will pro#ide a detailed account of t%e processes our &roup used to desi&n and i2ple2ent a data(ase t%at can (e used to 2ana&e a li(rary syste2. 3ac% su(section of t%e report corresponds to an i2portant feature of data(ase desi&n. REQUIREMENT ANALYSIS A li(rary data(ase needs to store infor2ation pertainin& to its users 4or custo2ers56 its workers6 t%e p%ysical locations of its (ranc%es6 and t%e 2edia stored in t%ose locations. 0e %a#e decided to li2it t%e 2edia to two types* (ooks and #ideos. $%e li(rary 2ust keep track of t%e status of eac% 2edia ite2* its location6 status6 descripti#e attri(utes6 and cost for losses and late returns. Books will (e identified (y t%eir I+B76 and 2o#ies (y t%eir title and year. In order to allow 2ultiple copies of t%e sa2e (ook or #ideo6 eac% 2edia ite2 will %a#e a uni8ue I. nu2(er. )usto2ers will pro#ide t%eir na2e6 address6 p%one nu2(er6 and date of (irt% w%en si&nin& up for a li(rary card. $%ey will t%en (e assi&ned a uni8ue user na2e and I. nu2(er6 plus a te2porary password t%at will %a#e to (e c%an&ed. )%eckout operations will re8uire a li(rary card6 as will re8uests to put 2edia on %old. 3ac% li(rary card will %a#e its own fines6 (ut acti#e fines on any of a custo2er9s cards will pre#ent t%e custo2er fro2 usin& t%e li(rary9s ser#ices. $%e li(rary will %a#e (ranc%es in #arious p%ysical locations. Branc%es will (e identified (y na2e6 and eac% (ranc% will %a#e an address and a p%one nu2(er associated wit% it. Additionally6 a li(rary (ranc% will store 2edia and %a#e e2ployees. 32ployees will work at a specific (ranc% of t%e li(rary. $%ey recei#e a payc%eck6 (ut t%ey can also %a#e li(rary cards: t%erefore6 t%e sa2e infor2ation t%at is collected a(out custo2ers s%ould (e collected a(out e2ployees. /unctions for custo2ers* "o& in +earc% for 2edia (ased on one or 2ore of t%e followin& criteria* type 4(ook6 #ideo6 or (ot%5 title aut%or or director year Access t%eir own account infor2ation* )ard nu2(er4s5 /ines Media currently c%ecked out Media on %old 1ut 2edia on %old 1ay fines for lost or late ite2s 'pdate personal infor2ation* 1%one nu2(ers Addresses 1asswords

/unctions for li(rarians are t%e sa2e as t%e functions for custo2ers plus t%e followin&* Add custo2ers Add li(rary cards and assi&n t%e2 to custo2ers )%eck out 2edia Mana&e and transfer 2edia t%at is currently on %old Handle returns Modify custo2ers9 fines Add 2edia to t%e data(ase ;e2o#e 2edia fro2 t%e data(ase ;ecei#e pay2ents fro2 custo2ers and update t%e custo2ers9 fines <iew all custo2er infor2ation except passwords ER DESIGN It is clear t%at t%e p%ysical o(=ects fro2 t%e pre#ious section t%e custo2ers6 e2ployees6 cards6 2edia6 and li(rary (ranc%es correspond to entities in t%e 3ntity ;elations%ip 2odel6 and t%e operations to (e done on t%ose entities %olds6 c%eckouts6 and so on correspond to relations%ips. Howe#er6 a &ood desi&n will 2ini2i>e redundancy and atte2pt to store all t%e re8uired infor2ation in as s2all a space as possi(le. After so2e consideration6 we %a#e decided on t%e followin& desi&n*

7otice t%at t%e infor2ation a(out (ooks and #ideos %as (een separated fro2 t%e Media entity. $%is allows t%e data(ase to store 2ultiple copies of t%e sa2e ite2 wit%out redundancy. $%e +tatus entity %as also (een separated fro2 Media in order to sa#e space. $%e Hold relations%ip stores t%e entry9s place in line 4denoted (y ?8ueue?5: it can (e used to create a waitin& list of interested custo2ers. $%e "i(rarian entity is functionally an extension to )usto2er6 so eac% "i(rarian also %as a custo2er associated wit% it. $%e li(rarians will %a#e access to t%e sa2e features as custo2ers6 (ut t%ey will also perfor2 ad2inistrati#e functions6 suc% as c%eckin& 2edia in and out and updatin& custo2ers9 fines. RELATIONAL DATABASE DESIGN After co2in& up wit% an 3ntity ;elations%ip 2odel to descri(e t%e li(rary syste26 we took ad#anta&e of t%e special relations%ips found in our desi&n6 and were a(le to condense t%e infor2ation to 1@ ta(les. $%is new desi&n is a data(ase t%at co2(ines so2e entities and relations%ips into co22on ta(les. Table 1 Relational !atabase "#hema 4tatus Me/ia Boo2 Boo2Me/ia Customer Car/ Chec2out Location Fol/ 4tore/SIn Li(rarian 6i/eo 6i/eoMe/ia co/e me/iaSi/ I4B@ me/iaSi/ ID num me/iaSi/ name me/iaSi/ me/iaSi/ ei/ title me/iaSi/ /escti"tio n co/e title I4B@ name fines num a//r num name ID !ear title a//r ID since "hone name Pa! /irecto r !ear DOB until until name ratin Dueue since "rice "hone userna me "ass3or/ author !ear /e3e! "rice

7ote* t%e arrows in t%e dia&ra2 represent forei&n key constraints. NORMALIZATION As stated earlier6 t%e ta(les in t%is data(ase are in t%e $%ird 7or2al /or2 4@ 7/.5 In order to deco2pose t%e relations%ips into t%is for26 we %ad to split +tatus ta(le fro2 t%e Media ta(le. 3ac% Media o(=ect %as a status code6 and eac% status code %as an associated description.

It would (e redundant to store (ot% codes and descriptions in t%e Media o(=ect6 so we created a dedicated +tatus ta(le wit% t%e code as t%e pri2ary key. $%e ot%er ta(les were desi&ned wit% opti2i>ation in 2ind. $%e )ard entity6 for instance6 was separated fro2 t%e )usto2er entity to a#oid a functional dependency 4since t%e ?nu2? attri(ute of t%e )ard entity deter2ines t%e ?fines? attri(ute.5

PHYSICAL DATABASE DESIGN $%e next step was to create t%e p%ysical data(ase and input so2e sa2ple data. In order to turn t%e relational desi&n into a data(ase6 we ran t%e followin& script in '7))9s Aracle data(ase* CREATE TAB E Status ( !ode INTE"ER# des!$i%tion CHAR(&')# PRIMAR( )E( (!ode) )* CREATE TAB E Media( +edia_id INTE"ER# !ode INTE"ER# PRIMAR( )E( (+edia_id)# FOREI"N )E( (!ode) REFERENCES Status )* CREATE TAB E Boo,(ISBNCHAR(-.)# title CHAR(-/0)# aut1o$ CHAR(2.)# 3ea$ INTE"ER# de4e3 INTE"ER# %$i!e REA # PRIMAR( )E( (ISBN) )* CREATE TAB E Boo,Media( +edia_id INTE"ER# ISBN CHAR(-.)# PRIMAR( )E( (+edia_id)# FOREI"N )E( (+edia_id) REFERENCES Media# FOREI"N )E( (ISBN) REFERENCES Boo,)* CREATE TAB E Custo+e$( ID INTE"ER# na+e CHAR(2.)# add$ CHAR(/52)# DOB CHAR(-')# %1one CHAR(&')# use$na+e CHAR(-2)# %ass4o$d CHAR(&/)# PRIMAR( )E( (ID)# UNI6UE (use$na+e) )* CREATE TAB E Ca$d( nu+ INTE"ER# 7ines REA # ID INTE"ER# PRIMAR( )E( (nu+)# FOREI"N )E( (ID) REFERENCES Custo+e$ )* CREATE TAB E C1e!,out( +edia_id INTE"ER# nu+ INTE"ER# sin!e CHAR(-')# until CHAR(-')# PRIMAR( )E( (+edia_id)# FOREI"N )E( (+edia_id) REFERENCES Media# FOREI"N )E( (nu+) REFERENCES Ca$d )* CREATE TAB E o!ation( na+e CHAR(2.)# add$ CHAR(/52)# %1one CHAR(&')# PRIMAR( )E( (na+e) )* CREATE TAB E Hold( +edia_id INTE"ER# nu+ INTE"ER# na+e CHAR(2.)# until CHAR(-')# 8ueue INTE"ER# PRIMAR( )E( (+edia_id# nu+)# FOREI"N )E( (na+e) REFERENCES o!ation# FOREI"N )E( (nu+) REFERENCES Ca$d# FOREI"N )E( (+edia_id) REFERENCES Media )* CREATE TAB E Sto$ed_In( +edia_id INTE"ER# na+e !1a$(2.)# PRIMAR( )E( (+edia_id)# FOREI"N )E( (+edia_id) REFERENCES Media ON DE ETE CASCADE# FOREI"N )E( (na+e) REFERENCES o!ation )* CREATE TAB E i9$a$ian( eid INTE"ER# ID INTE"ER NOT NU # Pa3 REA # o!_na+e CHAR(2.) NOT NU # PRIMAR( )E( (eid)# FOREI"N )E( (ID) REFERENCES Custo+e$ ON DE ETE CASCADE# FOREI"N )E( ( o!_na+e) REFERENCES o!ation(na+e) )* CREATE TAB E :ideo( title CHAR(-/0)# 3ea$ INTE"ER# di$e!to$ CHAR(2.)#

$atin; REA # %$i!e REA # PRIMAR( )E( (title# 3ea$) )* CREATE TAB E :ideoMedia( +edia_id INTE"ER# title CHAR(-/0)# 3ea$ INTE"ER# PRIMAR( )E( (+edia_id)# FOREI"N )E( (+edia_id) REFERENCES Media# FOREI"N )E( (title# 3ea$) REFERENCES :ideo )* $%e next script populated t%e data(ase wit% sa2ple data* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (2'/'-# <=ason > "$a3<# </'0? Ti+9e$9$oo, ane# "3%su+# CO 0-2&?<# <'@A'@A-@50<# <@?'B/?&B@/&?<# <Cl;$a3<# <%ass4o$d-<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (0@20/# <Ma$3 > P$ieto<# <-.25 Ma$ion D$ive# Ta+%a# F &&2'/<# <--A/'A-@2-<# <0-&B.0?B.0?&<# <+l%$ieto<# <%ass4o$d/<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (2.@&?# <Ro;e$ Hu$st<# <@?. Bin;a+on B$an!1 Rd# Bensenville# I 2'-'2<# <'0A//A-@?&<# <0.?B//-B.@02<# <$1u$st<# <%ass4o$d&<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (&-.&'# <Da$$en :> Doodson<# <&'// o$ds Da3# Pa$sons# TN &0&2&<# <'&A'?A-@.5<# <?&-B0.5B''??<# <4v4oodson<# <%ass4o$d.<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (?@@-2# <Steven =ensen<# <@& Sunn3 "len n# "a$7ield Hei;1ts# OH ..-/5<# <-/A-.A-@20<# </-2B?0@B2../<# <sCensen<# <%ass4o$d5<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (@&/25# <David Bain<# <.&52 Poo1 Bea$ ane# T$avele$s Rest# SC /@2@'<# <'0A-'A-@.?<# <02.B2-'B@550<# <d9ain<# <%ass4o$d2<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (50&5@# <Rut1 P> Al9e$<# <&0./ Dillo4 Oa,s ane# a7a3ette# A ?'5'?<# <'/A-0A-@?2<# <&&?B&-2B&-2-<# <$%al9e$<# <%ass4o$d?<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (0052.# <Sall3 => S!1illin;<# <-0@. Dines ane# Houston# TE ??''/<# <'?A'/A-@5.<# <0&/B&22B@'&5<# <sCs!1illin;<# <%ass4o$d0<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (5?'5.# <=o1n M> B3le$<# </?@ Rave$ C$o7t D$ive# a Follette# TN &??22<# <--A/?A-@5.<# <./&B5@/B02&'<# <C+93le$<# <%ass4o$d@<)* INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (.@&-/# <)evin S%$uell<# <--/. B$oad!ast D$ive# Beltsville# :A /'?'5<# <'&A'.A-@0.<# <?'&B@5&B-/-2<# <,s%$uell<# <%ass4o$d-'<)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( 5?2?'5/# '>'# 2'/'-)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( 55&/20-# '>'# 2'/'-)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( /-@?2/'# -'>'# 0@20/)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( @?0'?.@# '>'# 2.@&?)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( -5/-.-/# '>'# &-.&')* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( &@/'.02# '>'# ?@@-2)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( /&/&@5&# '>'# @&/25)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( .&0?@2@# '>'# 50&5@)*

INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( ....-?/# '>'# 0052.)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( /2.52&.# '>'# 5?'5.)* INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( &2002&/# '>'# .@&-/)* INSERT INTO o!ation(na+e# add$# %1one) :A UES (<TeFas B$an!1<# <.0&/ Dee$!ove D$ive# Dallas# TE ?5/'0<# </-.B@.0B?-'/<)* INSERT INTO o!ation(na+e# add$# %1one) :A UES (<Illinois B$an!1<# </000 Oa, Avenue# Des Plaines# I 2''-2<# <0.?B@5&B0-&'<)* INSERT INTO o!ation(na+e# add$# %1one) :A UES (< ouisiana B$an!1<# </'2& Das19u$n St$eet# Baton Rou;e# A ?'0'/<# <//5B&.2B''20<)* INSERT INTO Status(!ode# des!$i%tion) :A UES (-# <Availa9le<)* INSERT INTO Status(!ode# des!$i%tion) :A UES (/# <In T$ansit<)* INSERT INTO Status(!ode# des!$i%tion) :A UES (&# <C1e!,ed Out<)* INSERT INTO Status(!ode# des!$i%tion) :A UES (.# <On Hold<)* INSERT INTO Media( +edia_id# !ode) :A UES (0?&&# -)* INSERT INTO Media( +edia_id# !ode) :A UES (@@0/# -)* INSERT INTO Media( +edia_id# !ode) :A UES (&?/5# -)* INSERT INTO Media( +edia_id# !ode) :A UES (/-5'# -)* INSERT INTO Media( +edia_id# !ode) :A UES (.-00# -)* INSERT INTO Media( +edia_id# !ode) :A UES (5/?-# /)* INSERT INTO Media( +edia_id# !ode) :A UES (///'# &)* INSERT INTO Media( +edia_id# !ode) :A UES (??5?# -)* INSERT INTO Media( +edia_id# !ode) :A UES (.50@# -)* INSERT INTO Media( +edia_id# !ode) :A UES (5?.0# -)* INSERT INTO Media( +edia_id# !ode) :A UES (-?&.# -)* INSERT INTO Media( +edia_id# !ode) :A UES (5?/5# -)* INSERT INTO Media( +edia_id# !ode) :A UES (-?-2# .)* INSERT INTO Media( +edia_id# !ode) :A UES (0&00# -)* INSERT INTO Media( +edia_id# !ode) :A UES (0?-.# -)* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'?.&/0@.-/<# < ise3<<s Sto$3<# <Ste%1en )in;<# /''2# 0-&# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B-5@2@-/&22<# <RestlessG A Novel<# <Dillia+ Bo3d<# /''2# 0-&# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'&-/&5-500<# <Bea!1;lass<# <Dend3 Bla!,9u$n<# /''2# 0-&# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'-52'&-52-<# <T1e Pla!es In Bet4een<# <Ro$3 Ste4a$t<# /''2# @-'# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B''2'50&''/<# <T1e ast Season<# <E$i! Ble1+<# /''2# @'/# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'&-2?.'.'-<# <Case Histo$iesG A Novel<# <)ate At,inson<# /''2# 0-&# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'&-2'-&@.@<# <Ste% on a C$a!,<# <=a+es Patte$son# et al><# /''?# 0-&# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'&?.-'5/&5<# < on; Da3 "oneG Me+oi$s o7 a Bo3 Soldie$<# <Is1+ael Bea1<# /''?# @-2# -'>')* INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (<@?0B'&05&.'//@<# <Siste$s<# <Danielle Steel<# /''2# 0-&# -'>')* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (0?&&# <@?0B'?.&/0@.-/<)*

INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (@@0/# <@?0B-5@2@-/&22<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (&?/5# <@?0B-5@2@-/&22<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (/-5'# <@?0B'&-/&5-500<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (.-00# <@?0B'-52'&-52-<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (5/?-# <@?0B''2'50&''/<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (///'# <@?0B'&-2?.'.'-<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (??5?# <@?0B'&-2'-&@.@<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (.50@# <@?0B'&?.-'5/&5<)* INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (5?.0# <@?0B'&05&.'//@<)* INSERT INTO C1e!,out(+edia_id# nu+# sin!e# until) :A UES (///'# @?0'?.@# <'/A-5A/''?<# <'&A-5A/''?<)* INSERT INTO :ideo(title# 3ea$# di$e!to$# $atin;# %$i!e) :A UES (<Te$+inato$ /G =ud;+ent Da3<# -@@-# <=a+es Ca+e$on<# 0>&# /'>')* INSERT INTO :ideo(title# 3ea$# di$e!to$# $atin;# %$i!e) :A UES (<Raide$s o7 t1e ost A$,<# -@0-# <Steven S%iel9e$;<# 0>?# /'>')* INSERT INTO :ideo(title# 3ea$# di$e!to$# $atin;# %$i!e) :A UES (<Aliens<# -@02# <=a+es Ca+e$on<# 0>&# /'>')* INSERT INTO :ideo(title# 3ea$# di$e!to$# $atin;# %$i!e) :A UES (<Die Ha$d<# -@00# <=o1n M!Tie$nan<# 0>'# /'>')* INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES ( -?&.# <Te$+inato$ /G =ud;+ent Da3<# -@@-)* INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES ( 5?/5# <Raide$s o7 t1e ost A$,<# -@0-)* INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES ( -?-2# <Aliens<# -@02)* INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES ( 0&00# <Aliens<# -@02)* INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES ( 0?-.# <Die Ha$d<# -@00)* INSERT INTO Hold(+edia_id# nu+# na+e# until# 8ueue) :A UES (-?-2# ....-?/# <TeFas B$an!1<# <'/A/'A/''0<# -)* INSERT INTO i9$a$ian(eid# ID# %a3# o!_na+e) :alues (/5@-'5-# 0052.# &''''>''# <TeFas B$an!1<)* INSERT INTO i9$a$ian(eid# ID# %a3# o!_na+e) :alues (2-@'-2.# 2.@&?# &''''>''# <Illinois B$an!1<)* INSERT INTO i9$a$ian(eid# ID# %a3# o!_na+e) :alues (-0-'&02# 50&5@# &''''>''# < ouisiana B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(0?&&# <TeFas B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(@@0/# <TeFas B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(-?-2# <TeFas B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(-?&.# <TeFas B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(.50@# <TeFas B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(.-00# <Illinois B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(5/?-# <Illinois B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(&?/5# <Illinois B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(0&00# <Illinois B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(5?.0# <Illinois B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(/-5'# < ouisiana B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(0?-.# < ouisiana B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(??5?# < ouisiana B$an!1<)* INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES(5?/5# < ouisiana B$an!1<)*

$%e data(ase was created and filled wit% 1B )usto2ers6 11 )ards6 @ "ocations and @ 32ployees6 and 1, 2edia ite2s. A Hold relations%ip and a )%eckout relations%ip were also created. GUI DESIGN $%e first step in desi&nin& t%e C'I was to c%oose a 2eans of accessin& t%e data(ase. After e#aluatin& #arious options6 we settled on usin& t%e D.B) A1I. $%e a#aila(ility of Da#a+er#er 1a&es on '7))9s ser#ers was an i2portant factor6 as it allowed us to de#elop our application usin& a t%ree tier arc%itecture. By usin& D.B) we could separate t%e application lo&ic fro2 t%e .BM+ as well as fro2 clients. In addition to si2plifyin& operations on t%e data(ase6 t%is arc%itecture 2akes extendin& t%e functionality of our syste2 easier. 0%en addin& a new feature or i2pro#in& an existin& one6 we will not need to c%an&e t%e data(ase: it will only (e necessary to 2odify t%e Da#a portion of t%e code. Before (e&innin& Da#a de#elop2ent6 %owe#er6 we needed to define a set of 8ueries t%at our application would use to co22unicate wit% t%e Aracle data(ase. $%e 8ueries are presented (elow. 7ote t%at t%e ter2s la(eled Huse$ in%utI are to (e filled in (y t%e application after it recei#es input fro2 t%e user and #alidates it. 7ote also t%at co2plex procedures t%at re8uire se#eral steps and 2odify 2ore t%an one ta(le suc% as operations to c%eck out 2edia or put 2edia on %old will co2(ine se#eral 8ueries into a sin&le transaction6 eli2inatin& t%e possi(ility of corruptin& t%e data(ase. /inally6 so2e searc%es 4i.e. searc%es for Book or <ideo entries5 2ay %a#e a #aria(le nu2(er of searc% para2eters6 deter2ined at run ti2e. /or exa2ple6 users will %a#e t%e option to searc% for a (ook (y title only6 (y aut%or only6 (y year only6 (y all t%ree fields6 or (y any co2(ination of two fields. /or si2plicity9s sake6 t%e searc% 8ueries listed (elow contain all possi(le searc% para2eters6 (ut not t%eir possi(le co2(inations. AJ JK Fun!tions availa9le to !usto+e$s KJ JA AJ Use$ lo;in and aut1enti!ation JA SE ECT C>ID# C>na+e# C>add$# C>DOB# C>%1one# C>use$na+e# nvl((SE ECT < i9$a$ian< FROM i9$a$ian DHERE >ID L C>ID)# <Custo+e$<) AS $ole FROM Custo+e$ C DHERE C>use$na+e L Huse$ in%utI AND C>%ass4o$d L Huse$ in%utI* AJ Boo, sea$!1 7o$ !usto+e$s JA SE ECT B>ISBN# B>title# B>aut1o$# B>3ea$# (SE ECT COUNT(J) FROM Boo,Media BM DHERE BM>ISBN L B>ISBN AND BM>!ode L -) AS nu+_availa9le FROM Boo, B DHERE B>title I)E <MHuse$ in%utIM< AND B>aut1o$ I)E <MHuse$ in%utIM< AND B>3ea$ HL Huse$ in%utI AND B>3ea$ IL Huse$ in%utI* AJ Find all !o%ies o7 a 9oo, (used 7o$ %la!in; 1olds o$ vie4in; detailed in7o$+ation)> JA SE ECT BM>+edia_id# S>des!$i%tion# nvl((SE ECT SI>na+e FROM Sto$ed_In SI DHERE SI>+edia_id L BM>+edia_id)# <none<) AS na+e

FROM Boo,Media BM# Media M# Status S DHERE BM>ISBN L Huse$ in%utI AND M>+edia_id L BM>+edia_id AND S>!ode L M>!ode* AJ :ideo sea$!1 7o$ !usto+e$s JA SE ECT :>title# :>3ea$# :>di$e!to$# :>$atin; (SE ECT COUNT(J) FROM :ideoMedia :M DHERE :M>ID L :>ID AND :M>!ode L -) AS nu+_availa9le FROM :ideo : DHERE :>title I)E <MHuse$ in%utIM< AND :>3ea$ HL Huse$ in%utI AND :>3ea$ HL Huse$ in%utI AND :>di$e!to$ I)E <MHuse$ in%utIM< AND :>$atin; IL Huse$ in%utI* AJ Find all !o%ies o7 a video (used 7o$ %la!in; 1olds o$ vie4in; detailed in7o$+ation)> JA SE ECT :M>+edia_id# S>des!$i%tion# nvl((SE ECT SI>na+e FROM Sto$ed_In SI DHERE SI>+edia_id L :M>+edia_id)# <none<) AS na+e FROM :ideoMedia :M# Media M# Status S DHERE :M>title L Huse$ in%utI AND :M>3ea$ L Huse$ in%utI AND M>+edia_id L :M>+edia_id AND S>!ode L M>!ode* AJ Find t1e status o7 a ;iven +edia ite+ JA SE ECT S>des!$i%tion FROM Status S# Media M DHERE S>!ode L M>!ode AND M>+edia_id L Huse$ in%utI* AJ C$eate a ne4 Hold JA INSERT INTO Hold(+edia_id# nu+# na+e# until# 8ueue) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# nvl((SE ECT MAE(H>8ueue) FROM Hold H DHERE H>+edia_id L Huse$ in%utI)# ') N - )* AJ Can!el Hold# Ste% -G Re+ove t1e ent$3 7$o+ 1old JA DE ETE FROM Hold DHERE +edia_id L Huse$ in%utI AND nu+ L Huse$ in%utI AJ Can!el Hold# Ste% /G U%date 8ueue 7o$ t1is ite+ JA UPDATE Hold SET 8ueue L 8ueueBDHERE +edia_id L Huse$ in%utI AND 8ueue I Huse$ in%utI* AJ Fun!tions needed to vie4 in7o$+ation a9out a !usto+e$ JA AJ :ie4 t1e !usto+e$<s !a$d(s) JA SE ECT CR>nu+# CR>7ines FROM Ca$d CR DHERE CR>ID L Huse$ in%utI* AJ :ie4 +edia !1e!,ed out on a ;iven !a$d JA SE ECT B>title# B>aut1o$# B>3ea$# BM>+edia_id# CO>sin!e# CO>until FROM C1e!,out CO# Boo,Media BM# Boo, B DHERE CO>nu+ L Huse$ in%utI AND CO>+edia_id L BM>+edia_id AND B>ISBN L BM>ISBN UNION SE ECT :>title# :>di$e!to$# :>3ea$# :M>+edia_id# CO>sin!e# CO>until FROM C1e!,out CO# :ideoMedia :M# Boo, B DHERE CO>nu+ L Huse$ in%utI AND CO>+edia_id L :M>+edia_id AND :M>title L :>title AND :M>3ea$ L :>3ea$* AJ :ie4 +edia !u$$entl3 on 1old 7o$ a ;iven !a$d JA SE ECT B>title# B>aut1o$# B>3ea$# BM>+edia_id# H>until# H>8ueue# SI>na+e FROM Hold H# Boo,Media BM# Boo, B# Sto$ed_In SI DHERE H>nu+ L Huse$ in%utI AND H>+edia_id L BM>+edia_id AND B>ISBN L BM>ISBN

AND SI>+edia_id L H>+edia_id UNION SE ECT :>title# :>di$e!to$# :>3ea$# :M>+edia_id# H>until# H>8ueue# SI>na+e FROM Hold H# :ideoMedia :M# Boo, B# Sto$ed_In SI DHERE H>nu+ L Huse$ in%utI AND H>+edia_id L :M>+edia_id AND :M>title L :>title AND :M>3ea$ L :>3ea$ AND SI>+edia_id L H>+edia_id* AJ :ie4 t1e total a+ount o7 7ines t1e !usto+e$ 1as to %a3 JA SE ECT SUM(CR>7ines) FROM Ca$d CR DHERE CR>ID L Huse$ in%utI* AJ JK Fun!tions $ese$ved 7o$ li9$a$ians KJ JA AJ Add ne4 !usto+e$ JA INSERT INTO Custo+e$(ID# na+e# add$# DOB# %1one# use$na+e# %ass4o$d) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# )* AJ Find a !usto+e$ JA SE ECT C>ID# C>na+e# C>add$# C>DOB# C>%1one# C>use$na+e# nvl((SE ECT < i9$a$ian< FROM i9$a$ian DHERE >ID L C>ID)# <Custo+e$<) AS $ole FROM Custo+e$ C DHERE C>use$na+e L Huse$ in%utI AND C>na+e I)E <MHuse$ in%utIM<* AJ Add ne4 !a$d and assi;n it to a !usto+e$ JA INSERT INTO Ca$d(nu+# 7ines# ID) :A UES ( Huse$ in%utI# '# Huse$ in%utI)* AJ C$eate an ent$3 in C1e!,out JA INSERT INTO C1e!,out(+edia_id# nu+# sin!e# until) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI)* AJ Re+ove t1e ent$3 7o$ Sto$ed_In JA DE ETE FROM Sto$ed_In DHERE +edia_id L Huse$ in%utI* AJ C1an;e t1e status !ode o7 t1e +edia JA UPDATE Media SET !ode L Huse$ in%utI DHERE +edia_id L Huse$ in%utI* AJ Re+ove t1e ent$3 7$o+ C1e!,out JA DE ETE FROM C1e!,out DHERE +edia_id L Huse$ in%utI* AJ C$eate t1e ent$3 in Sto$ed_In JA INSERT INTO Sto$ed_In(+edia_id# na+e) :A UES (Huse$ in%utI# Huse$ in%utI)* AJ Find t1e neFt Hold ent$3 7o$ a ;iven +edia JA SE ECT H>nu+# H>na+e# H>until FROM Hold H DHERE H>8ueue L - AND H>+edia_id L Huse$ in%utI* AJ C1an;e t1e Sto$ed_In ent$3 to t1e ta$;et li9$a$3 9$an!1 JA UPDATE Sto$ed_In SET na+e L Huse$ in%utI DHERE +edia_id L Huse$ in%utI* AJ Find t1e !usto+e$ t1at s1ould 9e noti7ied a9out 9oo, a$$ival JA SE ECT C>na+e# C>%1one# CR>nu+ FROM Custo+e$ C# Ca$d CR# Hold H DHERE H>8ueue L - AND H>na+e L Huse$ in%utI AND H>+edia_id L Huse$ in%utI AND CR>nu+ L H>nu+ AND C>ID L CR>ID* AJ Add a ne4 ent$3 into t1e Boo, ta9le JA

INSERT INTO Boo,(ISBN# title# aut1o$# 3ea$# de4e3# %$i!e) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI)* AJ Add a ne4 ent$3 into t1e :ideo ta9le JA INSERT INTO :ideo(title# 3ea$# di$e!to$# $atin;# %$i!e) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI# Huse$ in%utI)* AJ Add a ne4 Media o9Ce!t JA INSERT INTO Media( +edia_id# !ode) :A UES (Huse$ in%utI# -)* AJ Add a ne4 Boo,Media o9Ce!t JA INSERT INTO Boo,Media(+edia_id# ISBN) :A UES (Huse$ in%utI# Huse$ in%utI)* AJ Add a ne4 :ideoMedia o9Ce!t JA INSERT INTO :ideoMedia(+edia_id# title# 3ea$) :A UES (Huse$ in%utI# Huse$ in%utI# Huse$ in%utI)* AJ Re+ove an ent$3 7$o+ t1e Boo,Media ta9le JA DE ETE FROM Boo,Media DHERE +edia_id L Huse$ in%utI* AJ Re+ove an ent$3 7$o+ t1e :ideoMedia ta9le JA DE ETE FROM :ideoMedia DHERE +edia_id L Huse$ in%utI* AJ Re+ove an ent$3 7$o+ t1e Media ta9le JA DE ETE FROM Media DHERE +edia_id L Huse$ in%utI* AJ Re+ove an ent$3 7$o+ t1e Boo, ta9le JA DE ETE FROM Boo, DHERE ISBN L Huse$ in%utI* AJ Re+ove an ent$3 7$o+ t1e :ideo ta9le JA DE ETE FROM :ideo DHERE title L Huse$ in%utI AND 3ea$ L Huse$ in%utI* AJ U%date t1e !usto+e$<s 7ines JA UPDATE Ca$d SET 7ines L Huse$ in%utI DHERE nu+ L Huse$ in%utI After learnin& a(out t%e opti2i>ers used (y co22ercial data(ase 2ana&e2ent syste2s6 we re#iewed t%e a(o#e 8ueries for efficiency. $%ey turned out to (e si2ple and efficient enou&% not to re8uire furt%er opti2i>ation. 0it% t%e 8uery desi&n and opti2i>ation finis%ed6 we turned our attention to t%e C'I itself. Aur desi&n is laid out in a fairly traditional 2anner a na#i&ation (ar on t%e top6 a na#i&ation (ox on t%e left side of t%e screen6 and a content (ox on t%e ri&%t. 'pon first enterin& t%e we(site6 t%e user is presented wit% a lo& in pro2pt. 0%en t%e user atte2pts to lo& in6 t%e syste2 co2pares entered credentials wit% t%ose stored in t%e data(ase and presents t%e user wit% a 2enu. $%e 2enus c%an&e (ased on t%e user9s role* custo2ers %a#e (asic functions to searc% for 2edia6 #iew t%eir account options6 fines6 and so on6 w%ile li(rarians &et an extended 2enu wit% ad2inistration related links. It s%ould (e noted t%at t%ere is no special lo& in for li(rarians: instead6 t%e syste2 accesses t%e data(ase to find out w%et%er t%e user is a li(rarian and (uilds t%e 2enu dyna2ically.

)F&D

n6entory %anage%ent syste% -or your co//ege&

Why use Visual Basic 6isual "ro rammin is "ro rammin for the user it aims at "rovi/in the user 3ith an interface that is intuitive an/ eas! to use in /evelo"in such as interface the "ro rammer em"lo!ee user frien/l! features such as 3in/o3 menu, (uttons an/ list (o0es. A visual "ro rammin environment "rovi/es all features that are reDuire/ to /evelo" ra"hical user interface as rea/! to use com"onents. The "ro rammer /oes not have to 3rite co/e to create an/ /is"la! commonl! reDuire/ user7frien/l! features each time aroun/. -hen the "ro rammer nee/s a s"ecific user interface feature such as a (utton, he selects the a""ro"riate, rea/! to use com"onent "rovi/e/ (! the visual "ro rammin environment these com"onent can (e move/, resiAe/ an/ rename/ as reDuire/. ADVANTAGE OF VISUAL PROGRAMMING 6isual "ro rammin ena(les visual /evelo"ment of ra"hical user interfaces, eas! to use an/ eas! to learn. One of the "rinci"al a/vanta es is that the "ro rammer nee/ not 3rite co/e to /is"la! the reDuire/ com"onent. The visual "ro rammin environment /is"la! a list of availa(le com"onent, the "ro rammer "ic2 u" the reDuire/ com"onent from the list. The com"onent can (e move/ resiAe/ an/ even /elete/ if so reDuire/. There is no restriction in the num(er of controls that can (e "lace/ Moreover since the "ro rammer is creatin the user interface usuall! he can ali n, move or siAe the com"onents as reDuire/ 3ithout havin resort to 3ritin co/e. PROCESSING There are man! items in a /e"artmental store, 3hich are sol/ to customer an/ "urchase/ from su""lier. An or/er is "lace/ (! the customer7reDuire/ /etails, 3hich are liste/ (elo3) ??Item name ??1uantit! ??Deliver! time The or/er "rocessin e0ecutes, loo2 u" the stoc2 of each item is availa(le or not then or/er fulfille/ (! the mana ement of /e"artmental store. The s!stem "erio/icall! chec2s the stoc2 of each item if it is foun/ (elo3 the reor/er level then "urchase or/er "lace/ to the su""lier for that item, if the su""lier is not a(le to su""l! 3hole or/er then rest of Duantit! su""lie/ (! the another su""lier. After fulfille/ the formalities, (ill enerate/ (! the s!stem an/ sent to the customer. Item /etails maintaine/ (! the mana ement this 3hole "rocess is (ein /one manuall!. M! 3or2 area is to automate the a(ove "rocess or to enerate a more efficient s!stem ADVANTAGE OF DATABASE There is several a/vanta e of storin /ata in /ata(ase. ,. All /ata store/ at one location 3hen a /ata(ase is use/, all ta(les are store/ in a sin le file thus, an/ 3e nee/ not /eal 3ith se"arate first (utton use the sin le /ata(ase file. Thou h all the /ata is store/ in a sin le file, /istinction one main faire/ (ecause of the use of the ta(les. #ach ta(les is store/ as se"arate entit! in the file.

*. It is "ossi(le to /efine relationshi" (et3een ta(les as 3ill (e seen once /efine/ these relationshi" (et3een ta(les are also store/ in the /ata(ase. =. It is "ossi(le to /efine vali/ation at the fiel/ as 3ell ta(le level this ensure accurac! of /ata (ein store/. ;. -e also use/ Duer!, re"ort, sortin etc.

DISADVANTAGES OF OLD SYSTEM As 3e 2no3 the manual "rocessin is Duite te/ious, time consumin , less accurate in com"arison to com"uteriAe/ "rocessin . O(viousl! the "resent s!stem is not is e0ce"tion consultant encounterin all the a(ove "ro(lems. ,. Time consumin . *. It is ver! te/ious. =. All information is not "lace/ se"aratel!. ;. Lot of "a"er 3or2. ?. 4lo3 /ata "rocessin . :. @ot user7frien/l! environment. B. It is /ifficult to foun/ recor/s /ue file mana ement s!stem. ADVANTAGES OF NEW SYSTEM In ne3 com"uteriAe/ s!stem I trie/ to ive these facilities. ,. Manuall! s!stem chan es into com"uteriAe/ s!stem. *. >rien/l! user interface. =. Time savin . ;. 4ave "a"er 3or2. ?. Connectin to /ata(ase so 3e use /ifferent t!"e of Dueries, /ata re"ort. :. Give facilit! of /ifferent t!"e of inDuir!. B. >ormatte/ /ata. C. DataRs are easil! a""roacha(le. REQUIREMENTS OF PRO ECT REPORT !a"#$a"e Re%ui"e&e'() Processor) 7 Intel Pentium III C==MFA %AM) 7 ,*C 4D7%AM. Far/ Dis2) 7*+ GB or a(ove. Monitor) 7 ,;] 6GA. Mouse. Printer) 7 >or "rint re"ort or Bill. >lo""! Dis2 Drive) 7 ,.;;MB. S*+($a"e Re%ui"e&e'() O"eratin s!stem) 7 -in/o3s IC.*++*.@T. >ront #n/) 7 6isual Basic :.+. (Professional #/ition.) Bac2 en/) 7 M4. Access. (4ome a//itional feature of 6B li2e, Dta rin/, Data7 %e"ort)

TABLES

There are three ta(les. ITEM DETAIL TABLE It contains information a(out item li2e item name, minimum Duantit! in stoc2, ma0imum Duantit!, an/ reor/er status etc. A, I(e& c*#e ) 7 It re"resents the co/e to i/entif! an item. It hel"s to search the item in the stoc2 accor/in to reDuirement. B, I(e& 'a&e) 7 This fiel/ sho3s the name of item. C, Mi'i&u& %ua'(i(y i' s(*c-) 7 This fiel/ hel"s to 2no3 the min7Dt! in stoc2. D, Ma. %ua'(i(y) 7 This fiel/ sho3s ma0 Duantit! in stoc2. E, Re*"#e" s(a(us) 7 This fiel/ sho3s reor/er status 3hen Duantit! oes (elo3 to minimum Duantit! in stoc2. Pu"chase *"#e" (a/le This ta(le contains the information a(out the "urchase or/er li2e ven/er co/e, or/er co/e, su""lier name, su""lier a//ress, or/er /ate, item co/e, item name, Duantit!, /eliver time etc. Ve'#e" c*#e) 0 This fiel/ /etermine the co/e of ven/er. O"#e" c*#e )0 It /etermines the co/e of the or/er that has (een or/ere/ (! the customer. Su11lie" a##"ess) 0 This fiel/ hel"s to 2no3 the a//ress of the su""lier. O"#e" #a(e) 0 This fiel/ sho3s the /ate of the or/er. I(e& c*#e) 0 It /etermines the co/e of the item. I(e& 'a&e) 0 It contains the name of the item. Qua'(i(y) 0 It s"ecifies the Duantit! of the or/er. Deli2e"y (i&e) 0 It sho3s the time of the /eliver.

Selli'3 /ill (a/le This ta(le contains information a(out or/er that are iven (! the customer, customer name, customerRs a//ress, unit "rice, amount an/ total amount etc. Cus(*&e" 'a&e) 0 This fiel/ /etermines the name of the customer. Cus(*&e" a##"ess) 0 It /etermines the a//ress of the customer. U'i( 1"ice) 0 It sho3s the "rice "er item.

A&*u'() 0 it /etermines the amount "er item. T*(al A&*u'() 0 This fiel/ sho3s the total amount of the item that has (een "urchase (! the customer.

)I

!AB 2AN"A!S

La( manual conce"t is to /efine ho3 4tu/ent /esi n the "ro ram on a "articular O(&ective Fear 3e /esi n a (asic conce"t Co//age Na%e

!ab 2anua/ '()($'())

SubJect : DB2S !AB #ear E Se% :

Branch : CSE T 2arks : )((

Taken By 2r<<<<<<<

Basic ReBuire%ent

)&

Hard7are ReBuire%ent Hard disk RA2 0rocessor I( @B D)' 2B 0C and abo6e

'&

So-t7are ReBuire%ent Data base 2S$Access 1R 2#S8! *Backend. !anguage

Visua/ Basic H&( *>ront end. 1+erating Syste% 3indo7s P0E '((5 Ser6erE VistaE'(((

0roJect 0roJect Na%e : 1bJecti6e : ReBuire%ent Ana/ysis : ER Diagra% : Data >/o7 Diagra% : Database : Database 2anage%ent Syste% : Nor%a/iLation : >ront End : Back End : Connecti6ity Ste+s : Ste+s -or Creating a 0roJect : 2D : Descri+tion o- the 0roJect : D>D o- 0roJect : )G )& 8uestion S Ans7ers

3hat is database4 A /ata(ase is a lo icall! coherent collection of /ata 3ith some inherent meanin , re"resentin some as"ect of real 3orl/ an/ 3hich is /esi ne/, (uilt an/ "o"ulate/ 3ith /ata for a s"ecific "ur"ose. 3hat is DB2SM It is a collection of "ro rams that ena(les user to create an/ maintain a /ata(ase. In other 3or/s it is eneral7"ur"ose soft3are that "rovi/es the users 3ith the "rocesses of /efinin , constructin an/ mani"ulatin the /ata(ase for various a""lications.

'&

5& C&

3hat is a Database syste%4 The /ata(ase an/ DB2S soft3are to ether is calle/ as Data(ase s!stem. Ad6antages o- DB2S4 %e/un/anc! is controlle/. Hnauthorise/ access is restricte/. Provi/in multi"le user interfaces. #nforcin inte rit! constraints. Provi/in (ac2u" an/ recover!. Disad6antage in >i/e 0rocessing Syste%4 Data re/un/anc! ' inconsistenc!. Difficult in accessin /ata. Data isolation. Data inte rit!. Concurrent access is not "ossi(le. 4ecurit! Pro(lems. Describe the three /e6e/s o- data abstractionM The are three levels of a(straction) Ph!sical level) The lo3est level of a(straction /escri(es ho3 /ata are store/. Lo ical level) The ne0t hi her level of a(straction, /escri(es 3hat /ata are store/ in /ata(ase an/ 3hat relationshi" amon those /ata. 6ie3 level) The hi hest level of a(straction /escri(es onl! "art of entire /ata(ase. De-ine the Ointegrity ru/esO There are t3o Inte rit! rules. ,. #ntit! Inte rit!) 4tates that \Primar! 2e! cannot have @HLL value] *. %eferential Inte rit!) 4tates that \>orei n $e! can (e either a @HLL value or shoul/ (e Primar! $e! value of other relation. 3hat is e:tension and intension4 #0tension 7 It is the num(er of tu"les "resent in a ta(le at an! instance. This is time /e"en/ent. Intension 7 It is a constant value that ives the name, structure of ta(le an/ the constraints lai/ on it. 3hat is Syste% R4 3hat are its t7o %aJor subsyste%s4 4!stem % 3as /esi ne/ an/ /evelo"e/ over a "erio/ of ,IB;7BI at IBM 4an Gose %esearch Center. It is a "rotot!"e an/ its "ur"ose 3as to /emonstrate that it is "ossi(le to (uil/ a %elational 4!stem that can (e use/ in a real life environment to solve real life "ro(lems, 3ith "erformance at least com"ara(le to that of e0istin s!stem. Its t3o su(s!stems are %esearch 4tora e 4!stem %elational Data 4!stem. Ho7 is the data structure o- Syste% R di--erent -ro% the re/ationa/ structure4 Hnli2e %elational s!stems in 4!stem % Domains are not su""orte/ #nforcement of can/i/ate 2e! uniDueness is o"tional #nforcement of entit! inte rit! is o"tional %eferential inte rit! is not enforce/ 3hat is Data nde+endence4

D&

H&

F&

I&

G&

)(&

))&

Data in/e"en/ence means that \the a""lication is in/e"en/ent of the stora e structure an/ access strate ! of /ata]. In other 3or/s, The a(ilit! to mo/if! the schema /efinition in one level shoul/ not affect the schema /efinition in the ne0t hi her level. T3o t!"es of Data In/e"en/ence) Ph!sical Data In/e"en/ence) Mo/ification in "h!sical level shoul/ not affect the lo ical level. Lo ical Data In/e"en/ence) Mo/ification in lo ical level shoul/ affect the vie3 level. @OT#) Lo ical Data In/e"en/ence is more /ifficult to achieve )'& 3hat is a 6ie74 Ho7 it is re/ated to data inde+endence4 A vie3 ma! (e thou ht of as a virtual ta(le, that is, a ta(le that /oes not reall! e0ist in its o3n ri ht (ut is instea/ /erive/ from one or more un/erl!in (ase ta(le. In other 3or/s, there is no store/ file that /irect re"resents the vie3 instea/ a /efinition of vie3 is store/ in /ata /ictionar!. Gro3th an/ restructurin of (ase ta(les is not reflecte/ in vie3s. Thus the vie3 can insulate users from the effects of restructurin an/ ro3th in the /ata(ase. Fence accounts for lo ical /ata in/e"en/ence. 3hat is Data 2ode/4 A collection of conce"tual tools for /escri(in /ata, /ata relationshi"s /ata semantics an/ constraints. 3hat is E$R %ode/4 This /ata mo/el is (ase/ on real 3orl/ that consists of (asic o(&ects calle/ entities an/ of relationshi" amon these o(&ects. #ntities are /escri(e/ in a /ata(ase (! a set of attri(utes. 3hat is 1bJect 1riented %ode/4 This mo/el is (ase/ on collection of o(&ects. An o(&ect contains values store/ in instance varia(les 3ith in the o(&ect. An o(&ect also contains (o/ies of co/e that o"erate on the o(&ect. These (o/ies of co/e are calle/ metho/s. O(&ects that contain same t!"es of values an/ the same metho/s are rou"e/ to ether into classes. 3hat is an Entity4 It is a Jthin J in the real 3orl/ 3ith an in/e"en/ent e0istence. 3hat is an Entity ty+e4 It is a collection (set) of entities that have same attri(utes. 3hat is an Entity set4 It is a collection of all entities of "articular entit! t!"e in the /ata(ase. 3hat is an E:tension o- entity ty+e4 The collections of entities of a "articular entit! t!"e are rou"e/ to ether into an entit! set. 3hat is 3eak Entity set4 An entit! set ma! not have sufficient attri(utes to form a "rimar! 2e!, an/ its "rimar! 2e! com"romises of its "artial 2e! an/ "rimar! 2e! of its "arent entit!, then it is sai/ to (e -ea2 #ntit! set. 3hat is an attribute4 It is a "articular "ro"ert!, 3hich /escri(es the entit!.

)5&

)C&

)D&

)H& )F& )I& )G& '(&

')&

''&

3hat is a Re/ation Sche%a and a Re/ation4 A relation 4chema /enote/ (! %(A,, A*, Z, An) is ma/e u" of the relation name % an/ the list of attri(utes Ai that it contains. A relation is /efine/ as a set of tu"les. Let r (e the relation 3hich contains set tu"les (t,, t*, t=, ..., tn). #ach tu"le is an or/ere/ list of n7values t8(v,,v*, ..., vn). 3hat is degree o- a Re/ation4 It is the num(er of attri(ute of its relation schema. 3hat is Re/ationshi+4 It is an association amon t3o or more entities. 3hat is Re/ationshi+ set4 The collection (or set) of similar relationshi"s. 3hat is Re/ationshi+ ty+e4 %elationshi" t!"e /efines a set of associations or a relationshi" set amon a iven set of entit! t!"es. 3hat is degree o- Re/ationshi+ ty+e4 It is the num(er of entit! t!"e "artici"atin . 3hat is DD! *Data De-inition !anguage.4 A /ata (ase schema is s"ecifies (! a set of /efinitions e0"resse/ (! a s"ecial lan ua e calle/ DDL. 3hat is VD! *Vie7 De-inition !anguage.4 It s"ecifies user vie3s an/ their ma""in s to the conce"tual schema. 3hat is SD! *Storage De-inition !anguage.4 This lan ua e is to s"ecif! the internal schema. This lan ua e ma! s"ecif! the ma""in (et3een t3o schemas. 3hat is Data Storage $ De-inition !anguage4 The stora e structures an/ access metho/s use/ (! /ata(ase s!stem are s"ecifie/ (! a set of /efinition in a s"ecial t!"e of DDL calle/ /ata stora e7/efinition lan ua e. 3hat is D2! *Data 2ani+u/ation !anguage.4 This lan ua e that ena(le user to access or mani"ulate /ata as or anise/ (! a""ro"riate /ata mo/el. Proce/ural DML or Lo3 level) DML reDuires a user to s"ecif! 3hat /ata are nee/e/ an/ ho3 to et those /ata. @on7Proce/ural DML or Fi h level) DML reDuires a user to s"ecif! 3hat /ata are nee/e/ 3ithout s"ecif!in ho3 to et those /ata. 3hat is D2! Co%+i/er4 It translates DML statements in a Duer! lan ua e into lo37level instruction that the Duer! evaluation en ine can un/erstan/. 3hat is 8uery e6a/uation engine4 It e0ecutes lo37level instruction enerate/ (! com"iler. 3hat is DD! nter+reter4 It inter"rets DDL statements an/ recor/ them in ta(les containin meta/ata. 3hat is Record$at$a$ti%e4

'5& 'C& 'D& 'H& 'F& 'I& 'G& 5(&

5)&

5'&

55&

5C& 5D& 5H&

The Lo3 level or Proce/ural DML can s"ecif! an/ retrieve each recor/ from a set of recor/s. This retrieve of a recor/ is sai/ to (e %ecor/7at7a7time. 5F& 3hat is Set$at$a$ti%e or Set$oriented4 The Fi h level or @on7"roce/ural DML can s"ecif! an/ retrieve man! recor/s in a sin le DML statement. This retrieve of a recor/ is sai/ to (e 4et7at7a7time or 4et7oriente/. 3hat is Re/ationa/ A/gebra4 It is "roce/ural Duer! lan ua e. It consists of a set of o"erations that ta2e one or t3o relations as in"ut an/ "ro/uce a ne3 relation. 3hat is Re/ationa/ Ca/cu/us4 It is an a""lie/ "re/icate calculus s"ecificall! tailore/ for relational /ata(ases "ro"ose/ (! #.>. Co//. #. . of lan ua es (ase/ on it are D4L ALPFA, 1H#L. Ho7 does Tu+/e$oriented re/ationa/ ca/cu/us di--er -ro% do%ain$oriented re/ationa/ ca/cu/us The tu"le7oriente/ calculus uses a tu"le varia(les i.e., varia(le 3hose onl! "ermitte/ values are tu"les of that relation. #. . 1H#L The /omain7oriente/ calculus has /omain varia(les i.e., varia(les that ran e over the un/erl!in /omains instea/ of over relation. #. . ILL, D#DHC#. 3hat is nor%a/iLation4 It is a "rocess of anal!sin the iven relation schemas (ase/ on their >unctional De"en/encies (>Ds) an/ "rimar! 2e! to achieve the "ro"erties MinimiAin re/un/anc! MinimiAin insertion, /eletion an/ u"/ate anomalies. 3hat is >unctiona/ De+endency4 A >unctional /e"en/enc! is /enote/ (! N E (et3een t3o sets of attri(utes N an/ E that are su(sets of % s"ecifies a constraint on the "ossi(le tu"le that can form a relation state r of %. The constraint is for an! t3o tu"les t, an/ t* in r if t,9N< 8 t*9N< then the! have t,9E< 8 t*9E<. This means the value of N com"onent of a tu"le uniDuel! /etermines the value of com"onent E. 3hen is a -unctiona/ de+endency > said to be %ini%a/4 #ver! /e"en/enc! in > has a sin le attri(ute for its ri ht han/ si/e. -e cannot re"lace an! /e"en/enc! N A in > 3ith a /e"en/enc! E A 3here E is a "ro"er su(set of N an/ still have a set of /e"en/enc! that is eDuivalent to >. -e cannot remove an! /e"en/enc! from > an/ still have set of /e"en/enc! that is eDuivalent to >. 3hat is 2u/ti6a/ued de+endency4 Multivalue/ /e"en/enc! /enote/ (! N E s"ecifie/ on relation schema %, 3here N an/ E are (oth su(sets of %, s"ecifies the follo3in constraint on an! relation r of %) if t3o tu"les t, an/ t* e0ist in r such that t,9N< 8 t*9N< then t= an/ t; shoul/ also e0ist in r 3ith the follo3in "ro"erties t=90< 8 t;9N< 8 t,9N< 8 t*9N< t=9E< 8 t,9E< an/ t;9E< 8 t*9E< t=9[< 8 t*9[< an/ t;9[< 8 t,9[< 3here 9[ 8 (%7(N H E)) < 3hat is !oss/ess Join +ro+erty4 It uarantees that the s"urious tu"le eneration /oes not occur 3ith res"ect to relation schemas after /ecom"osition.

5I&

5G&

C(&

C)&

C'&

C5&

CC&

CD&

CH& CF&

3hat is ) N> *Nor%a/ >or%.4 The /omain of attri(ute must inclu/e onl! atomic (sim"le, in/ivisi(le) values. 3hat is >u//y >unctiona/ de+endency4 It is (ase/ on conce"t of full functional /e"en/enc!. A functional /e"en/enc! N E is full functional /e"en/enc! if removal of an! attri(ute A from N means that the /e"en/enc! /oes not hol/ an! more. 3hat is 'N>4 A relation schema % is in *@> if it is in ,@> an/ ever! non7"rime attri(ute A in % is full! functionall! /e"en/ent on "rimar! 2e!. 3hat is 5N>4 A relation schema % is in =@> if it is in *@> an/ for ever! >D N A either of the follo3in is true N is a 4u"er72e! of %. A is a "rime attri(ute of %. In other 3or/s, if ever! non "rime attri(ute is non7transitivel! /e"en/ent on "rimar! 2e!. 3hat is BCN> *Boyce$Codd Nor%a/ >or%.4 A relation schema % is in BC@> if it is in =@> an/ satisfies an a//itional constraint that for ever! >D N A, N must (e a can/i/ate 2e!. 3hat is CN>4 A relation schema % is sai/ to (e in ;@> if for ever! Multivalue/ /e"en/enc! N E that hol/s over %, one of follo3in is true N is su(set or eDual to (or) NE 8 %. N is a su"er 2e!. 3hat is DN>4 A %elation schema % is sai/ to (e ?@> if for ever! &oin /e"en/enc! `%,, %*, ..., %na that hol/s %, one the follo3in is true %i 8 % for some i. The &oin /e"en/enc! is im"lie/ (! the set of >D, over % in 3hich the left si/e is 2e! of %. 3hat is Do%ain$?ey Nor%a/ >or%4 A relation is sai/ to (e in D$@> if all constraints an/ /e"en/encies that shoul/ hol/ on the the constraint can (e enforce/ (! sim"l! enforcin the /omain constraint an/ 2e! constraint on the relation. 3hat are +artia/9 a/ternate99 arti-icia/9 co%+ound and natura/ key4 Partial $e!) It is a set of attri(utes that can uniDuel! i/entif! 3ea2 entities an/ that are relate/ to same o3ner entit!. It is sometime calle/ as Discriminator. Alternate $e!) All Can/i/ate $e!s e0clu/in the Primar! $e! are 2no3n as Alternate $e!s. Artificial $e!) If no o(vious 2e!, either stan/ alone or com"oun/ is availa(le, then the last resort is to sim"l! create a 2e!, (! assi nin a uniDue num(er to each recor/ or occurrence. Then this is 2no3n as /evelo"in an artificial 2e!. Com"oun/ $e!) If no sin le /ata element uniDuel! i/entifies occurrences 3ithin a construct, then com(inin multi"le elements to create a uniDue i/entifier for the construct is 2no3n as creatin a

CI&

CG&

D(&

D)&

D'&

D5&

DC&

com"oun/ 2e!. @atural $e!) -hen one of the /ata elements store/ 3ithin a construct is utiliAe/ as the "rimar! 2e!, then it is calle/ the natural 2e!. DD& 3hat is inde:ing and 7hat are the di--erent kinds o- inde:ing4 In/e0in is a techniDue for /eterminin ho3 Duic2l! s"ecific /ata can (e foun/. T!"es) Binar! search st!le in/e0in B7Tree in/e0in Inverte/ list in/e0in Memor! resi/ent ta(le Ta(le in/e0in 3hat is syste% cata/og or cata/og re/ation4 Ho7 is better kno7n as4 A %DBM4 maintains a /escri"tion of all the /ata that it contains, information a(out ever! relation an/ in/e0 that it contains. This information is store/ in a collection of relations maintaine/ (! the s!stem calle/ meta/ata. It is also calle/ /ata /ictionar!. 3hat is %eant by Buery o+ti%iLation4 The "hase that i/entifies an efficient e0ecution "lan for evaluatin a Duer! that has the least estimate/ cost is referre/ to as Duer! o"timiAation. 3hat is Join de+endency and inc/usion de+endency4 Goin De"en/enc!) A Goin /e"en/enc! is eneraliAation of Multivalue/ /e"en/enc!.A GD `%,, %*, ..., %na is sai/ to hol/ over a relation % if %,, %*, %=, ..., %n is a lossless7&oin /ecom"osition of % . There is no set of soun/ an/ com"lete inference rules for GD. Inclusion De"en/enc!) An Inclusion De"en/enc! is a statement of the form that some columns of a relation are containe/ in other columns. A forei n 2e! constraint is an e0am"le of inclusion /e"en/enc!. 3hat is durabi/ity in DB2S4 Once the DB2S informs the user that a transaction has successfull! com"lete/, its effects shoul/ "ersist even if the s!stem crashes (efore all its chan es are reflecte/ on /is2. This "ro"ert! is calle/ /ura(ilit!. 3hat do you %ean by ato%icity and aggregation4 Atomicit!) #ither all actions are carrie/ out or none are. Hsers shoul/ not have to 3orr! a(out the effect of incom"lete transactions. DB2S ensures this (! un/oin the actions of incom"lete transactions. A re ation) A conce"t 3hich is use/ to mo/el a relationshi" (et3een a collection of entities an/ relationshi"s. It is use/ 3hen 3e nee/ to e0"ress a relationshi" amon relationshi"s. 3hat is a 0hanto% Dead/ock4 In /istri(ute/ /ea/loc2 /etection, the /ela! in "ro"a atin local information mi ht cause the /ea/loc2 /etection al orithms to i/entif! /ea/loc2s that /o not reall! e0ist. 4uch situations are calle/ "hantom /ea/loc2s an/ the! lea/ to unnecessar! a(orts. 3hat is a check+oint and 3hen does it occur4 A Chec2"oint is li2e a sna"shot of the DB2S state. B! ta2in chec2"oints, the DB2S can re/uce the amount of 3or2 to (e /one /urin restart in the event of su(seDuent crashes.

DH&

DF&

DI&

DG&

H(&

H)&

H'&

H5&

3hat are the di--erent +hases o- transaction4 Different "hases are Anal!sis "hase %e/o Phase Hn/o "hase 3hat do you %ean by -/at -i/e database4 It is a /ata(ase in 3hich there are no "ro rams or user access lan ua es. It has no cross7file ca"a(ilities (ut is user7frien/l! an/ "rovi/es user7interface mana ement. 3hat is Otrans+arent DB2SO4 It is one, 3hich 2ee"s its Ph!sical 4tructure hi//en from user. Brie- theory o- Net7ork9 Hierarchica/ sche%as and their +ro+erties @et3or2 schema uses a ra"h /ata structure to or aniAe recor/s e0am"le for such a /ata(ase mana ement s!stem is CTCG 3hile a hierarchical schema uses a tree /ata structure e0am"le for such a s!stem is IM4. 3hat is a Buery4 A Duer! 3ith res"ect to DB2S relates to user comman/s that are use/ to interact 3ith a /ata (ase. The Duer! lan ua e can (e classifie/ into /ata /efinition lan ua e an/ /ata mani"ulation lan ua e. 3hat do you %ean by Corre/ated subBuery4 4u(Dueries, or neste/ Dueries, are use/ to (rin (ac2 a set of ro3s to (e use/ (! the "arent Duer!. De"en/in on ho3 the su(Duer! is 3ritten, it can (e e0ecute/ once for the "arent Duer! or it can (e e0ecute/ once for each ro3 returne/ (! the "arent Duer!. If the su(Duer! is e0ecute/ for each ro3 of the "arent, this is calle/ a correlate/ su(Duer!. A correlate/ su(Duer! can (e easil! i/entifie/ if it contains an! references to the "arent su(Duer! columns in its -F#%# clause. Columns from the su(Duer! cannot (e reference/ an!3here else in the "arent Duer!. The follo3in e0am"le /emonstrates a non7correlate/ su(Duer!. #. . 4elect U >rom CH4T -here J,+.+=.,II+J I@ (4elect ODAT# >rom O%D#% -here CH4T.C@HM 8 O%D#%.C@HM) 3hat are the +ri%iti6e o+erations co%%on to a// record %anage%ent syste%s4 A//ition, /eletion an/ mo/ification. Na%e the bu--er in 7hich a// the co%%ands that are ty+ed in are stored Q#/itR Buffer 3hat are the unary o+erations in Re/ationa/ A/gebra4 P%OG#CTIO@ an/ 4#L#CTIO@. Are the resu/ting re/ations o- 0R1D"CT and J1 N o+eration the sa%e4 @o. P%ODHCT) Concatenation of ever! ro3 in one relation 3ith ever! ro3 in another. GOI@) Concatenation of ro3s from one relation an/ relate/ ro3s from another. 3hat is RDB2S ?ERNE!4 T3o im"ortant "ieces of %DBM4 architecture are the 2ernel, 3hich is the soft3are, an/ the /ata /ictionar!, 3hich consists of the s!stem7level /ata structures use/ (! the 2ernel to mana e the /ata(ase Eou mi ht thin2 of an %DBM4 as an o"eratin s!stem (or set of su(s!stems), /esi ne/

HC&

HD& HH&

HF&

HI&

HG& F(& F)& F'&

F5&

s"ecificall! for controllin /ata accessL its "rimar! functions are storin , retrievin , an/ securin /ata. An %DBM4 maintains its o3n list of authoriAe/ users an/ their associate/ "rivile esL mana es memor! caches an/ "a in L controls loc2in for concurrent resource usa eL /is"atches an/ sche/ules user reDuestsL an/ mana es s"ace usa e 3ithin its ta(les"ace structures. FC& Na%e the sub$syste%s o- a RDB2S I.O, 4ecurit!, Lan ua e Processin , Process Control, 4tora e Mana ement, Lo in an/ %ecover!, Distri(ution Control, Transaction Control, Memor! Mana ement, Loc2 Mana ement 3hich +art o- the RDB2S takes care o- the data dictionary4 Ho7 Data /ictionar! is a set of ta(les an/ /ata(ase o(&ects that is store/ in a s"ecial area of the /ata(ase an/ maintaine/ e0clusivel! (! the 2ernel. 3hat is the Job o- the in-or%ation stored in data$dictionary4 The information in the /ata /ictionar! vali/ates the e0istence of the o(&ects, "rovi/es access to them, an/ ma"s the actual "h!sical stora e location. Not on/y RDB2S takes care o- /ocating data it a/so /etermines an o"timal access "ath to store or retrieve the /ata B:. Fo3 /o !ou communicate 3ith an %DBM4M Eou communicate 3ith an %DBM4 usin 4tructure/ 1uer! Lan ua e (41L) De-ine S8! and state the di--erences bet7een S8! and other con6entiona/ +rogra%%ing !anguages 41L is a non"roce/ural lan ua e that is /esi ne/ s"ecificall! for /ata access o"erations on normaliAe/ relational /ata(ase structures. The "rimar! /ifference (et3een 41L an/ other conventional "ro rammin lan ua es is that 41L statements s"ecif! 3hat /ata o"erations shoul/ (e "erforme/ rather than ho3 to "erform them. Na%e the three %aJor set o- -i/es on disk that co%+ose a database in 1rac/e There are three ma&or sets of files on /is2 that com"ose a /ata(ase. All the files are (inar!. These are Data(ase files Control files %e/o lo s The most im"ortant of these are the /ata(ase files 3here the actual /ata resi/es. The control files an/ the re/o lo s su""ort the functionin of the architecture itself. All three sets of files must (e "resent, o"en, an/ availa(le to Oracle for an! /ata on the /ata(ase to (e usea(le. -ithout these files, !ou cannot access the /ata(ase, an/ the /ata(ase a/ministrator mi ht have to recover some or all of the /ata(ase usin a (ac2u", if there is one. 3hat is an 1rac/e nstance4 The Oracle s!stem "rocesses, also 2no3n as Oracle (ac2 roun/ "rocesses, "rovi/e functions for the user "rocessesKfunctions that 3oul/ other3ise (e /one (! the user "rocesses themselves Oracle /ata(ase73i/e s!stem memor! is 2no3n as the 4GA, the s!stem lo(al area or share/ lo(al area. The /ata an/ control structures in the 4GA are sharea(le, an/ all the Oracle (ac2 roun/ "rocesses an/ user "rocesses can use them. The com(ination of the 4GA an/ the Oracle (ac2 roun/ "rocesses is 2no3n as an Oracle Instance 3hat are the -our 1rac/e syste% +rocesses that %ust a/7ays be u+ and running -or the database to be useab/e

FD&

FH&

FF&

FI&

FG&

I(&

I)&

The four Oracle s!stem "rocesses that must al3a!s (e u" an/ runnin for the /ata(ase to (e usea(le inclu/e DB-% (Data(ase -riter), LG-% (Lo -riter), 4MO@ (4!stem Monitor), an/ PMO@ (Process Monitor). I'& 3hat are database -i/es9 contro/ -i/es and /og -i/es& Ho7 %any o- these -i/es shou/d a database ha6e at /east4 3hy4 Data(ase >iles The /ata(ase files hol/ the actual /ata an/ are t!"icall! the lar est in siAe. De"en/in on their siAes, the ta(les (an/ other o(&ects) for all the user accounts can o in one /ata(ase file K(ut thatJs not an i/eal situation (ecause it /oes not ma2e the /ata(ase structure ver! fle0i(le for controllin access to stora e for /ifferent users, "uttin the /ata(ase on /ifferent /is2 /rives, or (ac2in u" an/ restorin &ust "art of the /ata(ase. Eou must have at least one /ata(ase file (ut usuall!, more than one files are use/. In terms of accessin an/ usin the /ata in the ta(les an/ other o(&ects, the num(er (or location) of the files is immaterial. The /ata(ase files are fi0e/ in siAe an/ never ro3 (i er than the siAe at 3hich the! 3ere create/ Control >iles The control files an/ re/o lo s su""ort the rest of the architecture. An! /ata(ase must have at least one control file, althou h !ou t!"icall! have more than one to uar/ a ainst loss. The control file recor/s the name of the /ata(ase, the /ate an/ time it 3as create/, the location of the /ata(ase an/ re/o lo s, an/ the s!nchroniAation information to ensure that all three sets of files are al3a!s in ste". #ver! time !ou a// a ne3 /ata(ase or re/o lo file to the /ata(ase, the information is recor/e/ in the control files. %e/o Lo s An! /ata(ase must have at least t3o re/o lo s. These are the &ournals for the /ata(aseL the re/o lo s recor/ all chan es to the user o(&ects or s!stem o(&ects. If an! t!"e of failure occurs, the chan es recor/e/ in the re/o lo s can (e use/ to (rin the /ata(ase to a consistent state 3ithout losin an! committe/ transactions. In the case of non7/ata loss failure, Oracle can a""l! the information in the re/o lo s automaticall! 3ithout intervention from the DBA. The re/o lo files are fi0e/ in siAe an/ never ro3 /!namicall! from the siAe at 3hich the! 3ere create/. 3hat is R13 D4 The %O-ID is a uniDue /ata(ase73i/e "h!sical a//ress for ever! ro3 on ever! ta(le. Once assi ne/ (3hen the ro3 is first inserte/ into the /ata(ase), it never chan es until the ro3 is /elete/ or the ta(le is /ro""e/. The %O-ID consists of the follo3in three com"onents, the com(ination of 3hich uniDuel! i/entifies the "h!sical stora e location of the ro3. Oracle /ata(ase file num(er, 3hich contains the (loc2 3ith the ro3s Oracle (loc2 a//ress, 3hich contains the ro3 The ro3 3ithin the (loc2 ((ecause each (loc2 can hol/ man! ro3s) The %O-ID is use/ internall! in in/e0es as a Duic2 means of retrievin ro3s 3ith a "articular 2e! value. A""lication /evelo"ers also use it in 41L statements as a Duic2 3a! to access a ro3 once the! 2no3 the %O-ID 3hat is 1rac/e B/ock4 Can t7o 1rac/e B/ocks ha6e the sa%e address4 Oracle WformatsW the /ata(ase files into a num(er of Oracle (loc2s 3hen the! are first create/ Kma2in it easier for the %DBM4 soft3are to mana e the files an/ easier to rea/ /ata into the memor! areas. The (loc2 siAe shoul/ (e a multi"le of the o"eratin s!stem (loc2 siAe. %e ar/less of the (loc2 siAe, the entire (loc2 is not availa(le for hol/in /ataL Oracle ta2es u" some s"ace to mana e the contents of the (loc2. This (loc2 hea/er has a minimum siAe, (ut it can ro3. These Oracle (loc2s are the smallest unit of stora e. Increasin the Oracle (loc2 siAe can im"rove "erformance, (ut it shoul/ (e /one onl! 3hen the /ata(ase is first create/.

I5&

IC&

#ach Oracle (loc2 is num(ere/ seDuentiall! for each /ata(ase file startin at ,. T3o (loc2s can have the same (loc2 a//ress if the! are in /ifferent /ata(ase files. ID& 3hat is database Trigger4 A /ata(ase tri er is a PL.41L (loc2 that can /efine/ to automaticall! e0ecute for insert, u"/ate, an/ /elete statements a ainst a ta(le. The tri er can e /efine/ to e0ecute once for the entire statement or once for ever! ro3 that is inserte/, u"/ate/, or /elete/. >or an! one ta(le, there are t3elve events for 3hich !ou can /efine /ata(ase tri ers. A /ata(ase tri er can call /ata(ase "roce/ures that are also 3ritten in PL.41L. Na%e t7o uti/ities that 1rac/e +ro6ides9 7hich are use -or backu+ and reco6ery& Alon 3ith the %DBM4 soft3are, Oracle "rovi/es t3o utilities that !ou can use to (ac2 u" an/ restore the /ata(ase. These utilities are #0"ort an/ Im"ort. The #0"ort utilit! /um"s the /efinitions an/ /ata for the s"ecifie/ "art of the /ata(ase to an o"eratin s!stem (inar! file. The Im"ort utilit! rea/s the file "ro/uce/ (! an e0"ort, recreates the /efinitions of o(&ects, an/ inserts the /ata If #0"ort an/ Im"ort are use/ as a means of (ac2in u" an/ recoverin the /ata(ase, all the chan es ma/e to the /ata(ase cannot (e recovere/ since the e0"ort 3as "erforme/. The (est !ou can /o is recover the /ata(ase to the time 3hen the e0"ort 3as last "erforme/. 3hat are stored$+rocedures4 And 7hat are the ad6antages o- using the%& 4tore/ "roce/ures are /ata(ase o(&ects that "erform a user /efine/ o"eration. A store/ "roce/ure can have a set of com"oun/ 41L statements. A store/ "roce/ure e0ecutes the 41L comman/s an/ returns the result to the client. 4tore/ "roce/ures are use/ to re/uce net3or2 traffic. Ho7 are e:ce+tions hand/ed in 0!ES8!4 @i6e so%e o- the interna/ e:ce+tionsR na%e PL.41L e0ce"tion han/lin is a mechanism for /ealin 3ith run7time errors encountere/ /urin "roce/ure e0ecution. Hse of this mechanism ena(les e0ecution to continue if the error is not severe enou h to cause "roce/ure termination. The e0ce"tion han/ler must (e /efine/ 3ithin a su("ro ram s"ecification. #rrors cause the "ro ram to raise an e0ce"tion 3ith a transfer of control to the e0ce"tion7han/ler (loc2. After the e0ce"tion han/ler e0ecutes, control returns to the (loc2 in 3hich the han/ler 3as /efine/. If there are no more e0ecuta(le statements in the (loc2, control returns to the caller. Hser7Define/ #0ce"tions PL.41L ena(les the user to /efine e0ce"tion han/lers in the /eclarations area of su("ro ram s"ecifications. Hser accom"lishes this (! namin an e0ce"tion as in the follo3in e0am"le) otSfailure #NC#PTIO@L In this case, the e0ce"tion name is otSfailure. Co/e associate/ 3ith this han/ler is 3ritten in the #NC#PTIO@ s"ecification area as follo3s) #NC#PTIO@ 3hen OTS>AILH%# then outSstatusSco/e )8 SoutSstatusSco/eL outSms )8 SoutSms L The follo3in is an e0am"le of a su("ro ram e0ce"tion) #NC#PTIO@ 3hen @OSDATAS>OH@D then SoutSstatusSco/e )8 J>AILJL %AI4# otSfailureL -ithin this e0ce"tion is the %AI4# statement that transfers control (ac2 to the otSfailure e0ce"tion han/ler. This techniDue of raisin the e0ce"tion is use/ to invo2e all user7/efine/ e0ce"tions. 4!stem7Define/ #0ce"tions #0ce"tions internal to PL.41L are raise/ automaticall! u"on error. @OSDATAS>OH@D is a

IH&

IF&

II&

s!stem7/efine/ e0ce"tion. Ta(le (elo3 ives a com"lete list of internal e0ce"tions. PL.41L internal e0ce"tions. PL.41L internal e0ce"tions. #0ce"tion @ame Oracle #rror CH%4O%SAL%#ADESOP#@ O%A7+:?,, DHPS6ALSO@SI@D#N O%A7++++, I@6ALIDSCH%4O% O%A7+,++, I@6ALIDS@HMB#% O%A7+,B** LOGI@SD#@I#D O%A7+,+,B @OSDATAS>OH@D O%A7+,;+= @OTSLOGG#DSO@ O%A7+,+,* P%OG%AMS#%%O% O%A7+:?+, 4TO%AG#S#%%O% O%A7+:?++ TIM#OHTSO@S%#4OH%C# O%A7+++?, TOOSMA@ES%O-4 O%A7+,;** T%A@4ACTIO@SBAC$#DSOHT O%A7+++:, 6ALH#S#%%O% O%A7+:?+* [#%OSDI6ID# O%A7+,;B: In a//ition to this list of e0ce"tions, there is a catch7all e0ce"tion name/ OTF#%4 that tra"s all errors for 3hich s"ecific error han/lin has not (een esta(lishe/. IG& Does 0!ES8! su++ort Oo6er/oadingO4 E:+/ain The conce"t of overloa/in in PL.41L relates to the i/ea that !ou can /efine "roce/ures an/ functions 3ith the same name. PL.41L /oes not loo2 onl! at the reference/ name, ho3ever, to resolve a "roce/ure or function call. The count an/ /ata t!"es of formal "arameters are also consi/ere/. PL.41L also attem"ts to resolve an! "roce/ure or function calls in locall! /efine/ "ac2a es (efore loo2in at lo(all! /efine/ "ac2a es or internal functions. To further ensure callin the "ro"er "roce/ure, !ou can use the /ot notation. Prefacin a "roce/ure or function name 3ith the "ac2a e name full! Dualifies an! "roce/ure or function reference. Tab/es deri6ed -ro% the ERD a) Are totall! unnormalise/ () Are al3a!s in ,@> c) Can (e further /enormalise/ /) Ma! have multi7value/ attri(utes (() Are al3a!s in ,@> S+urious tu+/es %ay occur due to i. Ba/ normaliAation ii. Theta &oins iii. H"/atin ta(les from &oin a) i ' ii () ii ' iii c) i ' iii /) ii ' iii (a) i ' iii (ecause theta &oins are &oins ma/e on 2e!s that are not "rimar! 2e!s. A B C is a set o- attributes& The -unctiona/ de+endency is as -o//o7s AB $= B AC $= C C $= B a) is in ,@> () is in *@> c) is in =@> /) is in BC@>

G(&

G)&

G'&

(a) is in ,@> since (AC)T 8 ` A, B, Ca hence AC is the "rimar! 2e!. 4ince C B is a >D iven, 3here neither C is a $e! nor B is a "rime attri(ute, this it is not in =@>. >urther B is not functionall! /e"en/ent on 2e! AC thus it is not in *@>. Thus the iven >Ds is in ,@>. G5& n %a++ing o- ERD to D>D a) entities in #%D shoul/ corres"on/ to an e0istin entit!.store in D>D () entit! in D>D is converte/ to attri(utes of an entit! in #%D c) relations in #%D has , to , corres"on/ence to "rocesses in D>D /) relationshi"s in #%D has , to , corres"on/ence to flo3s in D>D (a) entities in #%D shoul/ corres"on/ to an e0istin entit!.store in D>D A do%inant entity is the entity a) on the @ si/e in a , ) @ relationshi" () on the , si/e in a , ) @ relationshi" c) on either si/e in a , ) , relationshi" /) nothin to /o 3ith , ) , or , ) @ relationshi" (() on the , si/e in a , ) @ relationshi"

GC&

GD& Se/ect RN1RTHR9 C"ST12ER >ro% C"ST;DT!S 3here RE@ 1N T RNR 1rder By C"ST12ER "nion Se/ect REASTR9 C"ST12ER >ro% C"ST;DT!S 3here RE@ 1N T RER 1rder By C"ST12ER The abo6e is a) @ot an error () #rror 7 the strin in sin le Duotes J@O%TFJ an/ J4OHTFJ c) #rror 7 the strin shoul/ (e in /ou(le Duotes /) #rror 7 O%D#% BE clause (/) #rror 7 the O%D#% BE clause. 4ince O%D#% BE clause cannot (e use/ in H@IO@4 GH& 3hat is Storage 2anager4 It is a "ro ram mo/ule that "rovi/es the interface (et3een the lo37level /ata store/ in /ata(ase, a""lication "ro rams an/ Dueries su(mitte/ to the s!stem. 3hat is Bu--er 2anager4 It is a "ro ram mo/ule, 3hich is res"onsi(le for fetchin /ata from /is2 stora e into main memor! an/ /eci/in 3hat /ata to (e cache in memor!. 3hat is Transaction 2anager4 It is a "ro ram mo/ule, 3hich ensures that /ata(ase, remains in a consistent state /es"ite s!stem failures an/ concurrent transaction e0ecution "rocee/s 3ithout conflictin . 3hat is >i/e 2anager4 It is a "ro ram mo/ule, 3hich mana es the allocation of s"ace on /is2 stora e an/ /ata structure use/ to re"resent information store/ on a /is2. 3hat is AuthoriLation and ntegrity %anager4 It is the "ro ram mo/ule, 3hich tests for the satisfaction of inte rit! constraint an/ chec2s the authorit! of user to access /ata. 3hat are stand$a/one +rocedures4 Proce/ures that are not "art of a "ac2a e are 2no3n as stan/7alone (ecause the! in/e"en/entl! /efine/. A oo/ e0am"le of a stan/7alone "roce/ure is one 3ritten in a 41LU>orms a""lication. These t!"es of "roce/ures are not availa(le for reference from other Oracle tools. Another limitation of stan/7alone "roce/ures is that the! are com"ile/ at run time, 3hich slo3s e0ecution.

GF&

GI&

GG&

)((&

)()&

)('&

3hat are cursors gi6e di--erent ty+es o- cursors& PL.41L uses cursors for all /ata(ase information accesses statements. The lan ua e su""orts the use t3o t!"es of cursors Im"licit #0"licit 3hat is co/d backu+ and hot backu+ *in case o- 1rac/e.4 Col/ Bac2u") It is co"!in the three sets of files (/ata(ase files, re/o lo s, an/ control file) 3hen the instance is shut /o3n. This is a strai ht file co"!, usuall! from the /is2 /irectl! to ta"e. Eou must shut /o3n the instance to uarantee a consistent co"!. If a col/ (ac2u" is "erforme/, the onl! o"tion availa(le in the event of /ata file loss is restorin all the files from the latest (ac2u". All 3or2 "erforme/ on the /ata(ase since the last (ac2u" is lost. Fot Bac2u") 4ome sites (such as 3orl/3i/e airline reservations s!stems) cannot shut /o3n the /ata(ase 3hile ma2in a (ac2u" co"! of the files. The col/ (ac2u" is not an availa(le o"tion. 4o /ifferent means of (ac2in u" /ata(ase must (e use/ K the hot (ac2u". Issue a 41L comman/ to in/icate to Oracle, on a ta(le s"ace 5 (! 5 ta(le s"ace (asis, that the files of the ta(le s"ace are to (ac2e/ u". The users can continue to ma2e full use of the files, inclu/in ma2in chan es to the /ata. Once the user has in/icate/ that he.she 3ants to (ac2 u" the ta(le s"ace files, he.she can use the o"eratin s!stem to co"! those files to the /esire/ (ac2u" /estination. The /ata(ase must (e runnin in A%CFI6#LOG mo/e for the hot (ac2u" o"tion. If a /ata loss failure /oes occur, the lost /ata(ase files can (e restore/ usin the hot (ac2u" an/ the online an/ offline re/o lo s create/ since the (ac2u" 3as /one. The /ata(ase is restore/ to the most consistent state 3ithout an! loss of committe/ transactions. 3hat are Ar%strong ru/es4 Ho7 do 7e say that they are co%+/ete andEor sound The 3ell72no3n inference rules for >Ds %efle0ive rule ) If E is su(set or eDual to N then N E. Au mentation rule) If N E then N[ E[. Transitive rule) If `N E, E [a then N [. Decom"osition rule ) If N E[ then N E. Hnion or A//itive rule) If `N E, N [a then N E[. Pseu/o Transitive rule ) If `N E, -E [a then -N [. Of these the first three are 2no3n as Amstron %ules. The! are soun/ (ecause it is enou h if a set of >Ds satisf! these three. The! are calle/ com"lete (ecause usin these three rules 3e can enerate the rest all inference rules. Ho7 can you -ind the %ini%a/ key o- re/ationa/ sche%a4 Minimal 2e! is one 3hich can i/entif! each tu"le of the iven relation schema uniDuel!. >or fin/in the minimal 2e! it is reDuire/ to fin/ the closure that is the set of all attri(utes that are /e"en/ent on an! iven set of attri(utes un/er the iven set of functional /e"en/enc!. Al o. I Determinin NT, closure for N, iven set of >Ds > ,. 4et NT 8 N

)(5&

)(C&

)(D&

*. 4et Ol/ NT 8 NT =. >or each >D E [ in > an/ if E (elon s to NT then a// [ to NT ;. %e"eat ste"s * an/ = until Ol/ NT 8 NT Al o.II Determinin minimal $ for relation schema %, iven set of >Ds > ,. 4et $ to % that is ma2e $ a set of all attri(utes in % *. >or each attri(ute A in $ a. Com"ute ($ 5 A)T 3ith res"ect to > (. If ($ 5 A)T 8 % then set $ 8 ($ 5 A)T )(H& 3hat do you understand by de+endency +reser6ation4 Given a relation % an/ a set of >Ds >, /e"en/enc! "reservation states that the closure of the union of the "ro&ection of > on each /ecom"ose/ relation %i is eDual to the closure of >. i.e., ((P%,(>)) H Z H (P%n(>)))T 8 >T if /ecom"osition is not /e"en/enc! "reservin , then some /e"en/enc! is lost in the /ecom"osition. 3hat is %eant by 0roacti6e9 Retroacti6e and Si%u/taneous "+date& Proactive H"/ate) The u"/ates that are a""lie/ to /ata(ase (efore it (ecomes effective in real 3orl/ . %etroactive H"/ate) The u"/ates that are a""lie/ to /ata(ase after it (ecomes effective in real 3orl/ . 4imulatneous H"/ate) The u"/ates that are a""lie/ to /ata(ase at the same time 3hen it (ecomes effective in real 3orl/ . 3hat are the di--erent ty+es o- J1 N o+erations4 #Dui Goin) This is the most common t!"e of &oin 3hich involves onl! eDualit! com"arisions. The /isa/vanta e in this t!"e of &oin is that there

)(F&

)(I&

'(

E:a%+/es

C%#AT# TABL#4PAC# 4CTSA/min DATA>IL# JsctSa/min./atJ 4I[# ,+M O@LI@#L I@ITIAL #NT#@T 4I[# ,+2 @#NT #NT#@T 4I[# ?+2 MI@#NT#@T4 , MAN#NT#@T4 III PCTI@C%#A4# ,+ C%#AT# TABL#4PAC# 4CTSDATA DATA>IL# J4CTSData./atJ 4I[# *+M D#>AHLT 4TO%AG#( I@ITIAL ,+$ @#NT ?+$ MI@#NT#@T4 , MAN#NT#@T4 III PCTI@C%#A4# ,+ ) O@LI@#L C%#AT# TABL#4PAC# W4CTSDATAW LOGGI@G DATA>IL# JD)cO%ACL#cO%ADATAc 4CTc4CTSDATA.oraJ 4I[# *+M AHTO#NT#@D O@ @#NT ?+$ MAN4I[# H@LIMIT#D D#>AHLT 4TO%AG#( I@ITIAL ,+$ @#NT ?+$ MI@#NT#@T4 , MAN#NT#@T4 III PCTI@C%#A4# ,+) C%#AT# H4#% WDBAS4CTW P%O>IL# WD#>AHLTW ID#@TI>I#D BE WP"ass3or/OW D#>AHLT TABL#4PAC# W4E4T#MW T#MPO%A%E TABL#4PAC# WT#MPW ACCOH@T H@LOC$L G%A@T WCO@@#CTW TO WDBAS4CTW -ITF ADMI@ OPTIO@L G%A@T WDBAW TO WDBAS4CTW -ITF ADMI@ OPTIO@L

UUUUUUUUUUUC%#ATI@G TABL#4PAC# CA%S%#@TALUUUUUUUUUUUUUUUUUU C%#AT# TABL#4PAC# BA@$S4E4 DATA>IL# JBan2S4!s./atJ 4I[# ?+M D#>AHLT 4TO%AG#( I@ITIAL ,+$ @e0t ?+$ MI@#NT#@T4 , MAN#NT#@T4 III PCTI@C%#A4# ,+ ) O@LI@#L

UUUUUUUUUUUUC%#ATI@G H4#% DBAS4CTUUUUUUUUUUUUUUUUU C%#AT# H4#% WDBASBA@$4E4W P%O>IL# WD#>AHLTW ID#@TI>I#D BE Wsct*=+:W D#>AHLT TABL#4PAC# W4E4T#MW T#MPO%A%E TABL#4PAC# WT#MPW ACCOH@T H@LOC$L UUUUUUUUUUUUG%A@TI@G P#%MI44IO@4 TO DBAS4CTUUUUUUUUUUUUUU G%A@T WDBAW TO WDBASBA@$4E4W -ITF ADMI@ OPTIO@L UUUUUUUUUUUUC%#ATI@G H4#% 4FA%A@AMUUUUUUUUUUUUUUUUU C%#AT# H4#% W4FA%A@AMW P%O>IL# WD#>AHLTW ID#@TI>I#D BE W4FA%A@AMW D#>AHLT TABL#4PAC# WBA@$S4E4W T#MPO%A%E TABL#4PAC# WT#MPW ACCOH@T H@LOC$L UUUUUUUUUUUUG%A@TI@G P#%MI44IO@4 TO 4FA%A@AMUUUUUUUUUUUUUU G%A@T C%#AT# TABL# TO W4FA%A@AMWL G%A@T C%#AT# 6I#- TO W4FA%A@AMWL G%A@T I@4#%T A@E TABL# TO W4FA%A@AMWL G%A@T 4#L#CT A@E TABL# TO W4FA%A@AMWL G%A@T HPDAT# A@E TABL# TO W4FA%A@AMWL G%A@T WCO@@#CTW TO W4FA%A@AMW -ITF ADMI@ OPTIO@L UUUUUUUUUUUUC%#ATI@G H4#% FA@4#LUUUUUUUUUUUUUUUUU C%#AT# H4#% WFA@4#LW P%O>IL# WD#>AHLTW ID#@TI>I#D BE WFA@4#LW D#>AHLT TABL#4PAC# WBA@$S4E4W T#MPO%A%E TABL#4PAC# WT#MPW ACCOH@T H@LOC$L UUUUUUUUUUUUG%A@TI@G P#%MI44IO@4 TO FA@4#LUUUUUUUUUUUUUU G%A@T C%#AT# TABL# TO WFA@4#LWL G%A@T C%#AT# 6I#- TO WFA@4#LWL G%A@T I@4#%T A@E TABL# TO WFA@4#LWL G%A@T 4#L#CT A@E TABL# TO WFA@4#LWL G%A@T HPDAT# A@E TABL# TO WFA@4#LWL G%A@T WCO@@#CTW TO WFA@4#LW -ITF ADMI@ OPTIO@L UUUUUUUUUUUUC%#ATI@G H4#% I6A@UUUUUUUUUUUUUUUUU C%#AT# H4#% WI6A@W P%O>IL# WD#>AHLTW ID#@TI>I#D BE WI6A@W D#>AHLT TABL#4PAC# WBA@$S4E4W T#MPO%A%E TABL#4PAC# WT#MPW ACCOH@T H@LOC$L UUUUUUUUUUUUG%A@TI@G P#%MI44IO@4 TO I6A@UUUUUUUUUUUUUU G%A@T C%#AT# TABL# TO WI6A@WL

G%A@T C%#AT# 6I#- TO WI6A@WL G%A@T I@4#%T A@E TABL# TO WI6A@WL G%A@T 4#L#CT A@E TABL# TO WI6A@WL G%A@T HPDAT# A@E TABL# TO WI6A@WL G%A@T WCO@@#CTW TO WI6A@W -ITF ADMI@ OPTIO@L

Creatin Ta(les) C%#AT# TABL# WDBASBA@$4E4W.WB%A@CFSM4T%W( WB%A@CFS@OW 6A%CFA%*(,+), W@AM#W 6A%CFA%*(*?))L Insertin recor/s ,) B%A@CFSM4T% I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB,J, J6ile Parle (FO)J)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB*J, JAn/heriJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB=J, JChurch ateJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB;J, J4ionJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB?J, JBorivaliJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB:J, JMatun aJ)L 6ie3in %ecor/ ,) 4ho3 all em"lo!ee num(ers, first name, mi//le name an/ last name 3ho 3or2 in the (an2. 4#L#CT #MPS@O, >@AM#, M@AM#, L@AM# >%OM #MPSM4T%L *) 4ho3 all the /etails relate/ to the >i0e/ De"osit 4la( 4#L#CT U >%OM >D4LABSM4T%L >ilterin Ta(le Data ,) 4ho3 the first name alon 3ith the last name of the em"lo!ees of the (an2 4#L#CT >@AM#, L@AM# >%OM #MPSM4T%L *) 4ho3 the recor/s of the (ranch 3hose name is 6ile Parle (FO) 4#L#CT U >%OM B%A@CFSM4T% -F#%# @AM# 8 J6ile Parle (FO)JL =) 4ho3 the /etails of account num(er an/ the t!"e of the account 3hose t!"e is savin s (an2 account 4#L#CT ACCTS@O, TEP# >%OM ACCTSM4T% -F#%# TEP# 8 Q4BRL ;) 4ho3 /ifferent t!"es of occu"ations of the customer of the (an2 (! eliminatin the re"eate/ occu"ations 4#L#CT DI4TI@CT OCCHP >%OM CH4TSM4T%L ?) 4ho3 onl! the /istinct values of the (ranch /etails 4#L#CT DI4TI@CT U >%OM B%A@CFSM4T%L :) 4ho3 all the /etails of the (ranch accor/in to its name 4#L#CT U >%OM B%A@CFSM4T% O%D#% BE @AM#L B) 4#L#CT U >%OM B%A@CFSM4T% O%D#% BE @AM# D#4CL Creatin a Ta(le from a Ta(le ,) Ma2e a tar et ta(le name/ B%A@CF#4 from the source ta(le name/ B%A@CFSM4T% an/ chan e the name of the (ranch to B%A@CFS@AM# C%#AT# TABL# B%A@CF#4 (B%A@CFS@O, B%A@CFS@AM#) A4 4#L#CT B%A@CFS@O, @AM# >%OM B%A@CFSM4T%L Insertin /ata into a ta(le from another ta(le ,) Insert /ata in the ta(le B%A@CF#4 from the ta(le B%A@CFSM4T% I@4#%T I@TO B%A@CF#4 4#L#CT B%A@CFS@O, @AM# >%OM B%A@CFSM4T%L *) Insert onl! those recor/s 3here the (ranch name is that of hea/ office

I@4#%T I@TO B%A@CF#4 4#L#CT B%A@CFS@O, @AM# >%OM B%A@CFSM4T% -F#%# @AM# 8 J6ile Parle (FO)JL Delete O"eration ,) Ma2e the B%A@CF#4 ta(le (lan2 D#L#T# >%OM B%A@CF#4L *) %emove onl! those recor/s 3hose (ranch name is Matun a D#L#T# >%OM B%A@CF#4 -F#%# B%A@CFS@AM# 8 QMatun aRL H"/atin the contents of a ta(le ,) H"/ate the a//ress /etails (! chan in its cit! name to Bom(a! HPDAT# ADD%SDTL4 4#T Cit! 8 JBom(a!JL *) H"/ate the (ranch /etails (! chan in the 6ile Parle (FO) to hea/ office HPDAT# B%A@CF#4 4#T B%A@CFS@AM# 8 JFea/ OfficeJ -F#%# B%A@CFS@AM# 8 J6ile Parle (FO)JL Mo/if!in the structure of ta(le ,) #nter a ne3 fiel/ calle/ Cit! in the ta(le B%A@CF#4 ALT#% TABL# B%A@CF#4 ADD (CITE 6A%CFA%*(*?))L *) Dro" a column of cit! in the (ranches ta(le ALT#% TABL# B%A@CF#4 D%OP COLHM@ CITEL =) Alter the (ranches ta(le (! mo/if!in its cit! to hol/ ma0imum of =+ characters ALT#% TABL# B%A@CF#4 MODI>E (CITE varchar*(=+))L %enamin ta(les ,) Chan e the name of (ranches ta(le to (ranch ta(le %#@AM# B%A@CF#4 TO B%A@CFL Truncate Ta(les ,) Truncate the ta(le (ranch T%H@CAT# TABL# B%A@CFL Destro! ta(le ,) %emove the ta(le (ranch alon 3ith its recor/s D%OP TABL# B%A@CFL #0aminin o(&ects create/ (! a user ,) 4#L#CT U >%OM TABL *) 4ho3 the /etails of a ta(le structure of ta(le B%A@CFSM4T% D#4C%IB# B%A@CFSM4T%L D%OP TABL# TMPS>DSAMTL D%OP TABL# T%A@4SDTL4L D%OP TABL# T%A@4SM4T%L D%OP TABL# C@TCSDTL4L D%OP TABL# ADD%SDTL4L D%OP TABL# ACCTS>DSCH4TSDTL4L D%OP TABL# @OMI@##SM4T%L D%OP TABL# >DSDTL4L D%OP TABL# >DSM4T%L D%OP TABL# >D4LABSM4T%L D%OP TABL# ACCTSM4T%L D%OP TABL# 4P%TSDOCL D%OP TABL# CH4TSM4T%L

D%OP TABL# #MPSM4T%L D%OP TABL# B%A@CFSM4T%L 77 B%A@CFSM4T% C%#AT# TABL# WDBASBA@$4E4W.WB%A@CFSM4T%W( WB%A@CFS@OW 6A%CFA%*(,+), W@AM#W 6A%CFA%*(*?))L 77 #MPSM4T% C%#AT# TABL# WDBASBA@$4E4W.W#MPSM4T%W( W#MPS@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WD#PTW 6A%CFA%*(=+), WD#4IGW 6A%CFA%*(=+), WM@G%S@OW 6A%CFA%*(,+))L 77 CH4TSM4T% C%#AT# TABL# WDBASBA@$4E4W.WCH4TSM4T%W( WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT# @OT @HLL, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L 77 4P%TSDOC C%#AT# TABL# WDBASBA@$4E4W.W4P%TSDOCW( WACCTSCOD#W 6A%CFA%*(;), WTEP#W 6A%CFA%*(;+), WDOC4W 6A%CFA%*(B?))L 77 ACCTSM4T% C%#AT# TABL# WDBASBA@$4E4W.WACCTSM4T%W( WACCTS@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WL>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WTEP#W 6A%CFA%*(*), WOP%SMOD#W 6A%CFA%*(*), WCH%SACCTSTEP#W 6A%CFA%*(;), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WAPL@DTW DAT#,

WOP@DTW DAT#, W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), WCH%BALW @HMB#%(C, *) D#>AHLT +, W4TATH4W 6A%CFA%*(,) D#>AHLT JAJ)L 77 >DSM4T% C%#AT# TABL# WDBASBA@$4E4W.W>DSM4T%W( W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,))L 77 >D4LABSM4T% C%#AT# TABL# WDBASBA@$4E4W.W>D4LABSM4T%W( W>D4LABS@OW @HMB#%(*), WMI@P#%IODW @HMB#%(?), WMANP#%IODW @HMB#%(?), WI@T%AT#W @HMB#%(?,*))L 77 >DSDTL4 C%#AT# TABL# WDBASBA@$4E4W.W>DSDTL4W( W>DS4#%S@OW 6A%CFA%*(,+), W>DS@OW 6A%CFA%*(,+), WTEP#W 6A%CFA%*(,), WPAETOSACCT@OW 6A%CFA%*(,+), WP#%IODW @HMB#%(?), WOP@DTW DAT#, WDH#DTW DAT#, WAMTW @HMB#%(C,*), WDH#AMTW @HMB#%(C,*), WI@T%AT#W @HMB#%(=), W4TATH4W 6A%CFA%*(,) D#>AHLT JAJ, WAHTOS%#@#-ALW 6A%CFA%*(,))L 77 ACCTS>DSCH4TSDTL4 C%#AT# TABL# WDBASBA@$4E4W.WACCTS>DSCH4TSDTL4W( WACCTS>DS@OW 6A%CFA%*(,+), WCH4TS@OW 6A%CFA%*(,+))L 77 @OMI@##SM4T% C%#AT# TABL# WDBASBA@$4E4W.W@OMI@##SM4T%W( W@OMI@##S@OW 6A%CFA%*(,+), WACCTS>DS@OW 6A%CFA%*(,+),

W@AM#W 6A%CFA%*(B?), WDOBW DAT#, W%#LATIO@4FIPW 6A%CFA%*(*?))L 77 ADD%SDTL4 C%#AT# TABL# WDBASBA@$4E4W.WADD%SDTL4W( WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WADD%STEP#W 6A%CFA%*(,), WADD%,W 6A%CFA%*(?+), WADD%*W 6A%CFA%*(?+), WCITEW 6A%CFA%*(*?), W4TAT#W 6A%CFA%*(*?), WPI@COD#W 6A%CFA%*(:))L 77 C@TCSDTL4 C%#AT# TABL# WDBASBA@$4E4W.WC@TCSDTL4W( WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WC@TCSTEP#W 6A%CFA%*(,), WC@TCSDATAW 6A%CFA%*(B?))L 77 T%A@4SM4T% C%#AT# TABL# WDBASBA@$4E4W.WT%A@4SM4T%W( WT%A@4S@OW 6A%CFA%*(,+), WACCTS@OW 6A%CFA%*(,+), WDTW DAT#, WTEP#W 6A%CFA%*(,), WPA%TICHLA%W 6A%CFA%*(=+), WD%SC%W 6A%CFA%*(,), WAMTW @HMB#%(C,*), WBALA@C#W @HMB#%(C,*))L 77 T%A@4SDTL4 C%#AT# TABL# WDBASBA@$4E4W.WT%A@4SDTL4W( WT%A@4S@OW 6A%CFA%*(,+), WI@4TS@OW @HMB#%(:), WI@4TSDTW DAT#, WPAETOW 6A%CFA%*(=+), WI@4TSCL%SDTW DAT#, WBA@$S@AM#W 6A%CFA%*(=?), WB%A@CFS@AM#W 6A%CFA%*(*?), WPAID>%OMW 6A%CFA%*(,+))L 77 TMPS>DSAMT C%#AT# TABL# WDBASBA@$4E4W.WTMPS>DSAMTW( W>DSAMTW @HMB#%(:))L 77 %ecor/s for B%A@CFSM4T% I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(?+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(,++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(,?+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(*++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(*?+++)L

I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(=++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(;+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(?++++)L 77 %ecor/s for B%A@CFSM4T% I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB,J, J6ile Parle (FO)J)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB*J, JAn/heriJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB=J, JChurch ateJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB;J, JMahimJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB?J, JBorivaliJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB:J, JDar!a Gan&J)L 77 %ecor/s for #MPSM4T% I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#,J, JB,J, JIvanJ, J@elsonJ, JBa!rossJ, JA/ministrationJ, JMana in DirectorJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#*J, JB*J, JAmitJ, null, JDesaiJ, JLoans An/ >inancin J, J>inance Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#=J, JB=J, JMa!aJ, JMahimaJ, JGoshiJ, JClient 4ervicin J, J4ales Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#;J, JB,J, JPeterJ, JI!erJ, JGose"hJ, JLoans An/ >inancin J, JCler2J, J#*J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#?J, JB;J, JMan/harJ, JDili"J, JDalviJ, JMar2etin J, JMar2etin Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#:J, JB:J, J4onalJ, JA(/ulJ, J$hanJ, JA/ministrationJ, JA/min. #0ecutiveJ, J#,J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#BJ, JB;J, JAnilJ, JAshutoshJ, J$am(liJ, JMar2etin J, J4ales Asst.J, J#?J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#CJ, JB=J, J4eemaJ, JP.J, JA"teJ, JClient 4ervicin J, JCler2J, J#=J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#IJ, JB*J, J6i2ramJ, J6ilasJ, J%an/iveJ, JMar2etin J, J4ales Asst.J, J#?J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#,+J, JB:J, JAn&aliJ, J4ameerJ, JPatha2J, JA/ministrationJ, JF% Mana erJ, J#,J)L 77 %ecor/s for CH4TSM4T% I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC*J, JChriselleJ, JIvanJ, JBa!rossJ, J*I7OCT7,IC*J, J4erviceJ, JD).ClntPht.C*. ifJ, JD).Clnt4 nt.C*. ifJ, J@J, JEJ)L

I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC=J, JMamtaJ, JArvin/J, JMuAum/arJ, J*C7AHG7,IB?J, J4erviceJ, JD).ClntPht.C=. ifJ, JD).Clnt4 nt.C=. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC;J, JChha!aJ, J4u/ha2arJ, JBan2arJ, J+:7OCT7,IB:J, J4erviceJ, JD).ClntPht.C;. ifJ, JD).Clnt4 nt.C;. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC?J, JAsh3iniJ, JDili"J, JGoshiJ, J*+7@O67,IBCJ, JBusinessJ, JD).ClntPht.C?. ifJ, JD).Clnt4 nt.C?. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC:J, JFanselJ, JI.J, JColacoJ, J+,7GA@7,IC*J, J4erviceJ, JD).ClntPht.C:. ifJ, JD).Clnt4 nt.C:. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCBJ, JAnilJ, JArunJ, JDhoneJ, J,*7OCT7,IC=J, J4elf #m"lo!e/J, JD).ClntPht.CB. ifJ, JD).Clnt4 nt.CB. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCCJ, JAle0J, JAustinJ, J>ernan/esJ, J=+74#P7,I:*J, J#0ecutiveJ, JD).ClntPht.CC. ifJ, JD).Clnt4 nt.CC. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCIJ, JAsh3iniJ, J4han2arJ, JA"teJ, J,I7AP%7,IBIJ, J4erviceJ, JD).ClntPht.CI. ifJ, JD).Clnt4 nt.CI. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,+J, J@amitaJ, J4.J, J$ana/eJ, J,+7GH@7,IBCJ, J4elf #m"lo!e/J, JD).ClntPht.C,+. ifJ, JD).Clnt4 nt.C,+. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,,J, null, null, null, J,;7@O67,IIBJ, J%etail BusinessJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,*J, null, null, null, J*=7OCT7,II*J, JInformation Technolo !J, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,=J, null, null, null, J+?7>#B7,ICIJ, JCommunit! -elfareJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,;J, null, null, null, J*;7MAE7,IC+J, J%etail BusinessJ, null, null, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,?J, null, null, null, J+*7AP%7*+++J, J%etail BusinessJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,:J, null, null, null, J,=7GA@7*++*J, JMar2etin J, null, null, JEJ, J@J)L 77 %ecor/s for 4P%TSDOC I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JDrivin Licence . %ation Car/ . Pass"ortJ)L

I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JBirth Certificate . 4chool Leavin CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J,CJ, JPro"riet! . 4ole Tra/in ConcernsJ, JLetter >rom The Pro"riet!J)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J*CJ, JPartnershi" ConcernsJ, JLetter >rom The PartnersJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J*CJ, JPartnershi" ConcernsJ, JPartnershi" Dee/ . %e istration CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JLetter >rom The $artaJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JList Of Mem(ersJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCo"! Of Boar/ Of DirectorsJJ %esolution >or O"enin The AccountJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JMemoran/um an/ Articles Of AssociationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCertificate Of Incor"orationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCertificate Of Commencement Of Business . %e istration CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, JTrust Dee/J)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, J%esolution Of TrusteesJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, JList Of TrustiesJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J:CJ, JClu(s . 4ocietiesJ, J%esolutionJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J:CJ, JClu(s . 4ocietiesJ, JConstitution An/ B!e7la3sJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J:CJ, JClu(s . 4ocietiesJ, JCertificate Of %e istrationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(JBCJ, JLe islative Bo/iesJ, JLetter >rom The Authorit!J)L 77 %ecor/s for ACCTSM4T% I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,J, J4>7+++,J, J@O6+=7+?J, JB,J, JC,J, J4B,J, JEJ, J4BJ, J4IJ, J+4J, null, null, J+?7@O67*++=J, J+?7@O67*++=J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA*J, J4>7+++*J, J@O6+=7,+J, JB*J, JC,J, J4B,J, JEJ, JCAJ, JGOJ, J,CJ, JHttam 4toresJ, JO,,J, J+B7@O67*++=J, J,+7@O67*++=J, J#,J, JEJ, JEJ, =+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B=J, J4>7+++=J, J@O6+=7**J, JB=J, JC;J, J4B=J, JEJ, J4BJ, J4IJ, J+4J, null, null, J*+7@O67*++=J, J**7@O67*++=J, J#;J, JEJ, JEJ, ?++, JAJ)L

I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA;J, J4>7+++;J, JD#C+=7+?J, JB?J, JC;J, J4B=J, JEJ, JCAJ, JA4J, J;CJ, J4unJJs Pvt. Lt/.J, JO,*J, J+*7D#C7*++=J, J+?7D#C7*++=J, J#;J, JEJ, JEJ, ,*+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B?J, J4>7+++?J, JD#C+=7,?J, JB:J, JC,J, J4B,J, JEJ, J4BJ, JGOJ, J+4J, null, null, J,;7D#C7*++=J, J,?7D#C7*++=J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B:J, J4>7+++:J, JD#C+=7*BJ, JB;J, JC?J, J4B:J, JEJ, J4BJ, J#4J, J+4J, null, null, J*B7D#C7*++=J, J*B7D#C7*++=J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCABJ, J4>7+++BJ, JGA@+;7,;J, JB,J, JCCJ, JCABJ, JEJ, JCAJ, JA4J, J:CJ, JPuru Fs . 4ocJ, JO,=J, J,;7GA@7*++;J, J,;7GA@7*++;J, J#;J, JEJ, JEJ, **+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4BCJ, J4>7+++CJ, JGA@+;7*IJ, JB*J, JCIJ, J4BCJ, JEJ, J4BJ, J4IJ, J+4J, null, null, J*B7GA@7*++;J, J*I7GA@7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4BIJ, J4>7+++IJ, J>#B+;7+?J, JB;J, JC,+J, J4BIJ, JEJ, J4BJ, JGOJ, J+4J, null, null, J+?7>#B7*++;J, J+?7>#B7*++;J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,+J, J4>7++,+J, J>#B+;7,IJ, JB:J, JC,+J, J4BIJ, JEJ, JCAJ, JA4J, J=CJ, JGhar $aro(arJ, JO,;J, J,I7>#B7*++;J, J,I7>#B7*++;J, J#;J, JEJ, JEJ, =*+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,,J, J4>7++,,J, JMA%+;7,+J, JB,J, JC,J, J4B,J, JEJ, J4BJ, J4IJ, J+4J, null, null, J+?7MA%7*++;J, J,+7MA%7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,*J, J4>7++,*J, JMA%+;7,+J, JB*J, JC,J, J4B?J, JEJ, JCAJ, JGOJ, J,CJ, J4uresh 4toresJ, JO,?J,

J+B7MA%7*++;J, J,+7MA%7*++;J, J#,J, JEJ, JEJ, ?+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,=J, J4>7++,=J, JMA%+;7**J, JB=J, JC;J, J4B=J, JEJ, J4BJ, J4IJ, J+4J, null, null, J*+7MA%7*++;J, J**7MA%7*++;J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,;J, J4>7++,;J, JAP%+;7+?J, JB?J, JC;J, J4B=J, JEJ, JCAJ, JA4J, J;CJ, JMoonJJs Pvt. Lt/.J, JO,:J, J+*7AP%7*++;J, J+?7AP%7*++;J, J#;J, JEJ, JEJ, ,++++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,?J, J4>7++,?J, JAP%+;7,?J, JB:J, JC,J, J4B,J, JEJ, J4BJ, JGOJ, J+4J, null, null, J,;7AP%7*++;J, J,?7AP%7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L

77 %ecor/s for >DSM4T% I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4,J, J4>7,++,J, JB*J, JCA*J, JHttam 4toresJ, JO,,J, J,CJ, null, null, J@J, J#,J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4*J, J4>7,++*J, JB?J, JCA;J, J4unJJs Pvt. Lt/.J, JC,*J, J;CJ, null, null, J@J, J#,J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4=J, J4>7,++=J, JB,J, JCABJ, JPuru Fs . 4ocJ, JO,=J, J:CJ, null, null, J@J, J#;J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4;J, J4>7,++;J, JB:J, JCA,+J, JGhar $aro(arJ, JO,;J, J=CJ, null, null, J@J, J#;J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4?J, J4>7,++?J, JB;J, null, null, null, J+4J, JCBJ, J4B:J, JEJ, J#;J, JEJ, JEJ)L 77 %ecor/ for >D4LABSM4T% I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(,, ,, =+, ?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(*, =,, I*, ?.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(=, I=, ,C=, :)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(;, ,C;, =:?, :.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(?, =::, B=,, B.?)L

I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(:, B=*, ,+IB, C.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(B, ,+IC, ,C*I, ,+)L 77 %ecor/ for >DSDTL4 I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4,J, J>,J, J4J, JCA*J, =:?, J+*7GA@7*++;J, J+,7GA@7*++?J, ,?+++, ,:+?+.++, :.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4,J, J>*J, J4J, JCA*J, =:?, J+*7GA@7*++;J, J+,7GA@7*++?J, ?+++, ?=?+.++, :.?, JAJ, J@J)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4*J, J>=J, J4J, JCA;J, =::, J*?7MA%7*++;J, J*?7MA%7*++?J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4*J, J>;J, J4J, JCA;J, =::, J,?7AP%7*++;J, J,?7AP%7*++?J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4=J, J>?J, J4J, JCABJ, ,C=, J*;7AP%7*++;J, J*;7OCT7*++:J, *+++, *+:+.,:, :, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4;J, J>:J, J4J, JCA,+J, B=*, J,I7MAE7*++;J, J*+7MAE7*++:J, ?+++, ?I+*.;B, C.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4?J, J>BJ, J4J, J4B:J, =::, J*B7MAE7*++;J, J*B7MAE7*++?J, ,?+++, ,:*+=.=+, B.?, JAJ, J@J)L 77 %ecor/ for ACCTS>DSCH4TSDTL4 I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA*J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA*J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B=J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA;J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA;J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B?J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B?J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B:J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B:J, JCBJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCABJ, JC:J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCABJ, JCCJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BCJ, JCIJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BIJ, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BIJ, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,+J, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,+J, JCIJ)L

I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,,J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,*J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,*J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,=J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,;J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,;J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,?J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,?J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4,J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4,J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4=J, JC:J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4=J, JCCJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4;J, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4;J, JCIJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4?J, JC?J)L 77 %ecor/ for @OMI@##SM4T% I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,J, JCA*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@*J, JCA*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@=J, J4B,J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JDau hterJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@;J, J4B=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@?J, J4B:J, JPreeti 4uresh 4hahJ, J,*7>#B7,IBCJ, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@:J, J4BCJ, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@BJ, JCA,+J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J@ieceJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@CJ, J>4,J, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@IJ, J>4*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,+J, J>4*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,,J, J>4=J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,*J, J>4=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,=J, J>4;J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,;J, J>4?J, JPramila P. PiusJ, J,+7OCT7,IC?J, J@ieceJ)L 77 %ecor/ for ADD%SDTL4 I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,, JB,J, JFJ, JA.?, Ga! Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J,

JMum(aiJ, JMaharashtraJ, J;+++?BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*, JB*J, JBJ, JB4#4 Cham(ers, ,+th floor,J, J@ear %l!. 4tation, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=, JB=J, JBJ, JPra(hat Com"le0, @o. ? . :,J, JO"". Air In/ia Bl/ ., Church ate,J, JMum(aiJ, JMaharashtraJ, J;++++;J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;, JB;J, JBJ, J*=.A, 43arna Bl/ ., 4mt. %ai Mar ,J, J#astern #0"ress Fi h3a!, $urla (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++;?J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(?, JB?J, JBJ, J6i2as Centre, 4ho" =B, @ear @ational Par2,J, J-estern #0"ress Fi h3a!, Borivali (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(:, JB:J, JBJ, J*;.A, Mahima PlaAa, >irst >loor,J, JDar!a Gan&,J, J@e3 DelhiJ, JDelhiJ, J,,+++;J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(B, J#,J, J@J, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(C, J#*J, JCJ, JDesai Fouse, Plot @o. *?, P.G. Mar ,J, J@ear Mala/ %l!. 4tat., Mala/ (-est),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(I, J#=J, J@J, J%oom @o. ?:, =r/ >loor, 43ami(havan,J, JG. P. %oa/ Gunction, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?IJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,+, J#;J, JCJ, J=+,, Thomas Palace, O"". In/u Chil/ Care,J, JEa/ni2 @a ar, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,,, J#?J, JCJ, J;?:.A, Bl/ . @o. ;, 6ahatu2 @a ar,J, JAm(oli, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,*, J#:J, J@J, J*+,, Meena To3ers, @r. 4un Gas A enc!,J, J4. 6. %/., Gore oan (-est),J, JMum(aiJ, JMaharashtraJ, J;+++B:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,=, J#BJ, J@J, JPatel Cha3l, %m. @o. ,?, B. P. Lal Mar ,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,;, J#CJ, JCJ, JA 7 ,+, @eelam, L. G. %oa/,J, JMahim (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L

I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,?, J#IJ, J@J, J,.,* Bal Govin/as 4ociet!, M. B. %aut %/.,J, JDa/ar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++*CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,:, J#,+J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, J@e3 DelhiJ, JDelhiJ, J,,++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,B, JC,J, JCJ, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,C, JC*J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,I, JC=J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*+, JC;J, JCJ, J;, 4am"a/a,J, J$ataria %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*,, JC?J, JCJ, J,+;, 6i2ram A"ts. Bha at Lane,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(**, JC:J, JCJ, J,*, %a/ha $un&, @.C $el2ar %oa/,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++*CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*=, JCBJ, JCJ, JA.,;, 4hanti 4ociet!, Mo al Lane,J, JMahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*;, JCCJ, JCJ, J?, 6a /evi, 4ena"ati Ba"at %/.,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*?, JCIJ, JCJ, JA7,+ @utan 6aishali,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*:, JC,+J, JCJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*B, J@,J, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#)

6ALH#4(*C, J@*J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*I, J@=J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=+, J@;J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=,, J@?J, JCJ, J%ita A"artment, %oom @o. ;:, *n/ >loor,J, JG. P. %oa/, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++:BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=*, J@:J, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(==, J@BJ, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=;, JO,,J, JFJ, J4ho" @o. ;, 4imon 4treams,J, J6. P. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=?, JO,*J, JFJ, J*=+7#, Patel Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=:, JO,=J, JFJ, JG7*, Puru Fs . 4ociet!,J, J4ena"ati Ba"at %/., Da/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=B, JO,;J, JFJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=C, J@CJ, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=I, J@IJ, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;+, J@,+J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;,, J@,,J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L

I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;*, J@,*J, JCJ, JMa esh Prasa/J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;=, J@,=J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;;, J@,;J, JCJ, J;+?, 6ahatu2 @a ar, $evni7Pa/a,J, JGo esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;?, JC:J, J@J, J*+=.A, Prachi A"mt.,J, JAn/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;:, JO,?J, JFJ, J4ho" @o. ;, 4ai Com"oun/,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;B, JO,?J, JFJ, JG7;, 4a ar Cham(ers,J, JG. P. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L 77 %ecor/ for C@TCSDTL4 I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, JOJ, J*:,*;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, J>J, J*:,*;?==J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, J#J, Ja/minSvile"arleX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*, JB*J, JOJ, J*:BI++,;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*, JB*J, J#J, Ja/minSan/heriX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=, JB=J, JOJ, J*=;?BC??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=, JB=J, J#J, Ja/minSchurch ateX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;, JB;J, JOJ, J*??;?;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;, JB;J, J#J, Ja/minSsionX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(?, JB?J, JOJ, J*C,B?;?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(?, JB?J, J#J, Ja/minS(orivaliX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(:, JB:J, JOJ, J*;=+;?;?J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(:, JB:J, J#J, Ja/minSmatun aX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(C, J#*J, J%J, J*CCC=BBIJ)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(I, J#=J, J%J, J*C=BB:=;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,+, J#;J, J%J, J*:=*=?:+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,,, J#?J, J%J, J*:BI=*=,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,*, J#:J, J%J, J*C+C?:?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,=, J#BJ, J%J, J*;;;*=;*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,;, J#CJ, J%J, J*;=:?:B*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,?, J#IJ, J%J, J*;=*B=;IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,:, J#,+J, J%J, J*;=+*?BIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, J%J, J*:;+?C?=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JOJ, J*:,=;??=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JOJ, J*:,=;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JMJ, JIC*+,BCI??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,C, JC*J, J%J, J*:+;?B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,C, JC*J, JOJ, J*:,=;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,I, JC=J, J%J, J*C=*;?:BJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,I, JC=J, JOJ, J*:,IB:?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*+, JC;J, J%J, J*;;;IC?*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*+, JC;J, JOJ, J*CB;,=B+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*,, JC?J, J%J, J*;=+*I=;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*,, JC?J, JOJ, J**C,II:;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(**, JC:J, J%J, J*;*,B?I*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*=, JCBJ, J%J, J*;=B**;BJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*;, JCCJ, JOJ, J*:;C+I+=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*?, JCIJ, J%J, J*;=,=;+CJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*?, JCIJ, JMJ, JIC*,,B::?,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, J%J, J*;=:*:C+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, JOJ, J*CIB==??J)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, JMJ, JIC*+;C;:;CJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*B, J@,J, J%J, J*:B:*,?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*C, J@*J, J%J, J*;=+BCCBJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*I, J@=J, J%J, J*:+;??B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=+, J@;J, J%J, J*C:;?;CIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=,, J@?J, J%J, J=+I+=?:;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=*, J@:J, J%J, J*:BI=BB,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(==, J@BJ, J%J, J*;=+;;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=;, JO,,J, JOJ, J*:BI++??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=;, JO,,J, J>J, J*:BC;;+IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, JOJ, J*:,*+;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, JOJ, J*:,*+;?:J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J>J, J*:,*,;?+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J#J, Ja/minXsun"vtlt/.comJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J-J, J333.sun"vtlt/.comJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=:, JO,=J, JOJ, J*;=+,+I+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=:, JO,=J, JOJ, J*;=+,,I:J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=B, JO,;J, JOJ, J*;=*,,**J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=C, J@CJ, J%J, J*:BI=BB,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=I, J@IJ, J%J, J*:B:*,?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;+, J@,+J, J%J, J*;=+BCCBJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;,, J@,,J, J%J, J*:+;?B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;*, J@,*J, J%J, J*C:;?;CIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;=, J@,=J, J%J, J*;=+;;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;;, J@,;J, J%J, J*:BI+,C+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;;, J@,;J, J%J, J*:BB,*B?J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;?, JC:J, J%J, J*C*B;BC;J)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;:, JO,?J, JOJ, J*:,B++??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;:, JO,?J, J>J, J*:,B;;+IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, JOJ, J*:BI+;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J>J, J*:BC,;?+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J#J, Ja/minXmoonmlt .comJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J-J, J333.moonmlt .comJ)L 77 %ecor/ for T%A@4SM4T% I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,J, J4B,J, J+?7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*J, JCA*J, J,+7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT=J, JCA*J, J,=7@O67*++=J, JCJ, J4elfJ, JDJ, =+++, ?+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT;J, J4B=J, J**7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT?J, JCA*J, J,+7D#C7*++=J, JCJ, J4elfJ, J-J, *+++, =+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT:J, JCA;J, J+?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTBJ, J4B?J, J,?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTCJ, J4B:J, J*B7D#C7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTIJ, JCABJ, J,;7GA@7*++;J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,+J, J4BCJ, J*I7GA@7*++;J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,,J, J4BIJ, J+?7>#B7*++;J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,*J, J4BIJ, J,?7>#B7*++;J, JBJ, JCL%7*+;I+BJ, JDJ, =+++, =?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,=J, J4BIJ, J,B7>#B7*++;J, JCJ, J4elfJ, J-J, *?++, ,+++)L

I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,;J, JCA,+J, J,I7>#B7*++;J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,?J, J4BIJ, J+?7AP%7*++;J, JBJ, JCL%7*+;I+CJ, JDJ, =+++, ;+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,:J, J4BIJ, J*B7AP%7*++;J, JCJ, J4elfJ, J-J, *?++, ,?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,BJ, J4B,J, J+?7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,CJ, JCA*J, J,+7@Ov7*++=J, JCJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,IJ, J4B=J, J**7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*+J, JCA;J, J+?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*,J, J4B?J, J,?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L 77 %ecor/ for T%A@4SDTL4 I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT:J, +IC=*;, J+*7D#C7*++=J, J4elfJ, J+?7D#C7*++=J, JFD>CJ, J6ile Parle (#ast)J, J*IC*J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JTBJ, *=*=*;, J,;7D#C7*++=J, J4elfJ, J,?7D#C7*++=J, JIn/ia Ban2J, JAn/heri (-est)J, J=+;=;J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JTIJ, ;=;?:+, J,;7GA@7*++;J, J4elfJ, J,;7GA@7*++;J, JICICI Ban2J, JBan/ra (-est)J, J;CC*J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,*J, *+;I+B, J,;7>#B7*++;J, J4elfJ, J,?7>#B7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,;J, ,++I+B, J,I7>#B7*++;J, J4elfJ, J,I7>#B7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J*++,J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,?J, *+;I+C, J+,7AP%7*++;J, J4elfJ, J+?7AP%7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT*+J, +IC=*;, J+*7D#C7*++=J, J4elfJ, J+?7D#C7*++=J, JFD>CJ, J6ile Parle (#ast)J, J*IC*J)L

I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT*,J, *=*=*;, J,;7D#C7*++=J, J4elfJ, J,?7D#C7*++=J, JIn/ia Ban2J, JAn/heri (-est)J, J=+;=;J)L COMMITL

Primar! $e! 4am"le , Dro" the CH4TSM4T% ta(le, if it alrea/! e0ists. Create a ta(le CH4TSM4T% such that the contents of the column CH4TS@O is a "rimar! 2e! i.e. it is not null. D%OP TABL# CH4TSM4T%L C%#AT# TABL# CH4TSM4T% ( WCH4TS@OW 6A%CFA%*(,+) P%IMA%E $#E, W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ)L 4am"le * Dro" the >DSM4T% ta(le, if it alrea/! e0ists. Create a ta(le >DSM4T% 3here there is a com"osite "rimar! 2e! ma""e/ to the columns >DS4#%S@O an/ CO%PSCH4TS@O. 4ince this constraint s"ans across columns, it must (e /escri(e/ at ta(le level. D%OP TABL# >DSM4T%L C%#AT# TABL# WDBASBA@$4E4W.W>DSM4T%W( W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), P%IMA%E $#E(>DS4#%S@O, CO%PSCH4TS@O))L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4,J, J4>7++,,J, JB,J, JCA*J, JHttam 4toresJ, JO,,J, J,CJ, null, null, J@J, J#,J, JEJ, JEJ)L

I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4*J, J4>7++,*J, JB,J, JCA;J, J4unJJs Pvt. Lt/.J, JC,*J, J;CJ, null, null, J@J, J#,J, JEJ, JEJ)L >orei n $e! 4am"le , Dro" the ta(le #MPSM4T%, if it alrea/! e0ists. Create a ta(le #MPSM4T% 3ith its "rimar! as #MPS@O. the forei n 2e! is B%A@CFS@O in the B%A@CFSM4T% ta(le D%OP TABL# #MPSM4T%L C%#AT# TABL# WDBASBA@$4E4W.W#MPSM4T%W( W#MPS@OW 6A%CFA%*(,+) P%IMA%E $#E, WB%A@CFS@OW 6A%CFA%*(,+) %#>#%#@C#4 B%A@CFSM4T%, W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WD#PTW 6A%CFA%*(=+), WD#4IGW 6A%CFA%*(=+))L 4am"le * Dro" the ta(le ACCTS>DSCH4TSDTL4, if it alrea/! e0ists. Create a ta(le ACCTS>DSC4HTSDTL4 3ith CH4TS@O as forei n 2e! referencin column CH4TS@O in the CH4TSM4T% ta(le D%OP TABL# ACCTS>DSCH4TSDTL4L C%#AT# TABL# WDBASBA@$4E4W.WACCTS>DSCH4TSDTL4W( WACCTS>DS@OW 6A%CFA%*(,+), WCH4TS@OW 6A%CFA%*(,+), >O%#IG@ $#E (CH4TS@O) %#>#%#@C#4 CH4TSM4T%(CH4TS@O))L Assi nin Hser Define/ @ames To Constraints 4am"le , Dro" the CH4TSM4T% ta(le, if it alrea/! e0ists. Create a ta(le CH4TSM4T% 3ith a "rimar! 2e! constraint on the column CH4TS@O an/ also /efine its constraint name. D%OP TABL# CH4TSM4T%L C%#AT# TABL# CH4TSM4T% ( WCH4TS@OW 6A%CFA%*(,+) CO@4T%AI@T "SCH4T$e! P%IMA%E $#E, W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L 4am"le * Dro" the ta(le #MPSM4T%, if it alrea/! e0ists. Create a ta(le #MPSM4T% 3ith its forei n 2e! as B%A@CFS@O. The forei n 2e! is B%A@CFS@O in the B%A@CFSM4T% ta(le an/ also /efine the name of the forei n 2e! D%OP TABL# #MPSM4T%L C%#AT# TABL# WDBASBA@$4E4W.W#MPSM4T%W( W#MPS@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+),

W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WD#PTW 6A%CFA%*(=+), WD#4IGW 6A%CFA%*(=+), CO@4T%AI@T fSBranch$e! >O%#IG@ $#E (B%A@CFS@O) %#>#%#@C#4 B%A@CFSM4T%)L Can/i/ate $e! 4am"le , Dro" the >DSM4T% ta(le, if it alrea/! e0ists. Create a ta(le >DSM4T% 3here there is a can/i/ate "rimar! 2e! ma""e/ to the columns >DS4#%S@O an/ CO%PSCH4TS@O. 4ince this constraint s"ans across columns, it must (e /escri(e/ at ta(le level. D%OP TABL# >DSM4T%L C%#AT# TABL# WDBASBA@$4E4W.W>DSM4T%W( W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), P%IMA%E $#E(>DS4#%S@O, CO%PSCH4TS@O))L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4,J, J4>7++,,J, JB,J, JCA*J, JHttam 4toresJ, JO,,J, J,CJ, null, null, J@J, J#,J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4*J, J4>7++,*J, JB,J, JCA;J, J4unJJs Pvt. Lt/.J, JC,*J, J;CJ, null, null, J@J, J#,J, JEJ, JEJ)L HniDue $e! 4am"le , Dro" the CH4TSM4T% ta(le, if it alrea/! e0ists. Create a ta(le CH4TSM4T% such that the contents of the column CH4TS@O are uniDue across the entire column. D%OP TABL# CH4TSM4T%L C%#AT# TABL# CH4TSM4T% ( WCH4TS@OW 6A%CFA%*(,+) H@I1H#, W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?),

WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JChriselleJ, JIvanJ, JBa!rossJ, J*I7OCT7,IC*J, J4erviceJ, JD).ClntPht.C*. ifJ, JD).Clnt4 nt.C*. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC*J, JMamtaJ, JArvin/J, JMuAum/arJ, J*C7AHG7,IB?J, J4erviceJ, JD).ClntPht.C=. ifJ, JD).Clnt4 nt.C=. ifJ, JEJ, JEJ)L 4am"le * Dro" the CH4TSM4T% ta(le, if it alrea/! e0ists. Create a ta(le CH4TSM4T% such that the contents of the column CH4TS@O are uniDue across the entire column. D%OP TABL# CH4TSM4T%L C%#AT# TABL# CH4TSM4T% ( WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,), H@I1H#(CH4TS@O))L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JChriselleJ, JIvanJ, JBa!rossJ, J*I7OCT7,IC*J, J4erviceJ, JD).ClntPht.C*. ifJ, JD).Clnt4 nt.C*. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC*J, JMamtaJ, JArvin/J, JMuAum/arJ, J*C7AHG7,IB?J, J4erviceJ, JD).ClntPht.C=. ifJ, JD).Clnt4 nt.C=. ifJ, JEJ, JEJ)L @HLL 6alue Conce"ts 4am"le , >irst /ro" the ta(le CH4TSM4T% if it e0ist an/ then create it a ain (ut ma2e Date of Birth fiel/ not null. %efer to the /etails of ta(le in cha"ter : C%#AT# TABL# WDBASBA@$4E4W.WCH4TSM4T%W( WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?),

WDOBSI@CW DAT# @OT @HLL, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,;J, null, null, null, null, J%etail BusinessJ, null, null, J@J, JEJ)L Chec2 Constraint 4am"le , Create a ta(le CH4TSM4T% 3ith the follo3in chec2 constraints) ,. Data values (ein inserte/ into the column CH4TS@O must start 3ith the ca"ital letter C *. Data values (ein inserte/ into the column >@AM#, M@AM# an/ L@AM# shoul/ (e in u""er case onl! C%#AT# TABL# CH4TSM4T%( WCH4TS@OW 6A%CFA%*(,+) CF#C$(CH4TS@O LI$# QCVR), W>@AM#W 6A%CFA%*(*?) CF#C$ (>@AM# 8 u""er(>name)), WM@AM#W 6A%CFA%*(*?) CF#C$ (M@AM# 8 u""er(Mname)), WL@AM#W 6A%CFA%*(*?) CF#C$ (L@AM# 8 u""er(Lname)), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,))L 4am"le * Create a ta(le CH4TSM4T% 3ith the follo3in chec2 constraints) ,. Data values (ein inserte/ into the column CH4TS@O must start 3ith the ca"ital letter C *. Data values (ein inserte/ into the column >@AM#, M@AM# an/ L@AM# shoul/ (e in u""er case onl! C%#AT# TABL# CH4TSM4T%( WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT#, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,), CF#C$ (CH4TS@O LI$# QCVR), CF#C$ (>@AM# 8 u""er(>name)), CF#C$ (M@AM# 8 u""er(Mname)), CF#C$ (L@AM# 8 u""er(Lname)))L D#>I@I@G DI>>#%#@T CO@4T%AI@T4 O@ A TABL# 4am"le , Create >DSM4T% ta(le 3here ,. The B%A@CFS@O is the forei n 2e! from the ta(le B%A@CFSM4T% *. The CO%PSCH4TS@O is the "rimar! 2e! of this ta(le an/ a forei n 2e! from CH4TSM4T% =. The >DS4#%S@O is a "rimar! 2e!

;. The 6#%IS#MPS@O is a forei n 2e! from the ta(le #MPSM4T% ?. The CO%PSC@4TSTEP# 3ill have values i4, ,C, *C, =C, ;C, ?C, :C, BC for /ifferent t!"es of com"anies C%#AT# TABL# WDBASBA@$4E4W.W>DSM4T%W( W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,) , WMA@AG#%S4IG@W 6A%CFA%*(,), CO@4T%AI@T P$ P%IMA%E $#E (>DS4#%S@O, CO%PSCH4TS@O), CO@4T%AI@T >$SB% >O%#IG@ $#E (B%A@CFS@O) %#>#%#@C#4 B%A@CFSM4T%, CO@4T%AI@T >$SCH >O%#IG@ $#E (CO%PSCH4TS@O) %#>#%#@C#4 CH4TSM4T%, CO@4T%AI@T >$S#M >O%#IG@ $#E (6#%IS#MPS@O) %#>#%#@C#4 #MPSM4T%, CO@4T%AI@T CF$ CF#C$ (CO%PSC@4TSTEP# I@ (Qi4R, Q,CR, Q*CR, Q=CR, Q;CR, Q?CR, Q:CR, QBCR)))L Hser Constraints Ta(le 4am"le , 6ie3 the contents of the ta(le CH4TSM4T% 4#L#CT O3ner, ConstraintS@ame, ConstraintSt!"e >%OM H4#%SCO@4T%AI@T4 -F#%# Ta(leS@ame 8 JCH4TSM4T%R L D#>I@I@G I@T#G%ITE CO@4T%AI@T4 6IA TF# ALT#% TABL# COMMA@D 4am"le , Alter the ta(le #MPSM4T% (! a//in a "rimar! 2e! on the column #MPS@O ALT#% TABL# #MPSM4T% ADD P%IMA%E $#E (#MPS@O)L 4am"le * A// >O%#IG@ $#E constraint on the column 6#%IS#MPS@O (elon in to the ta(le >DSM4T%, 3hich references the ta(le #MPSM4T%. Mo/if! column MA@AG#%S4IG@ to inclu/e the @OT @HLL constraint ALT#% TABL# >DSM4T% ADD CO@4T%AI@T >S#m"$e! >O%#IG@ $#E(6#%IS#MPS@O) %#>#%#@C#4 #MPSM4T% MODI>E (MA@AG#%S4IG@ @OT @HLL)L D%OPPI@G I@T#G%ITE CO@4T%AI@T4 6IA TF# ALT#% TABL# COMMA@D 4am"le , Dro" the P%IMA%E $#E constraint from #MPSM4T%. ALT#% TABL# #MPSM4T% D%OP P%IMA%E $#EL

4am"le * Dro" >O%#IG@ $#E constraint on column 6#%IS#MPS@O in ta(le >DSM4T% ALT#% TABL# >DSM4T% D%OP CO@4T%AI@T >S#m"$e!L D#>AHLT 6ALH# CO@C#PT4 4am"le , Create ACCTSM4T% ta(le 3here the column CH%BAL is the num(er an/ (! /efault it shoul/ (e Aero. The other column 4TATH4 is a varchar* an/ (! /efault it shoul/ have character A (%efer to ta(le in the cha"ter :) C%#AT# TABL# WDBASBA@$4E4W.WACCTSM4T%W( WACCTS@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WL>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WTEP#W 6A%CFA%*(*), WOP%SMOD#W 6A%CFA%*(*), WCH%SACCTSTEP#W 6A%CFA%*(;), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WAPL@DTW DAT#, WOP@DTW DAT#, W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), WCH%BALW @HMB#%(C, *) D#>AHLT +, W4TATH4W 6A%CFA%*(,) D#>AHLT JAJ)L

D%OP TABL# TMPS>DSAMTL D%OP TABL# T%A@4SDTL4L D%OP TABL# T%A@4SM4T%L D%OP TABL# C@TCSDTL4L D%OP TABL# ADD%SDTL4L D%OP TABL# ACCTS>DSCH4TSDTL4L D%OP TABL# @OMI@##SM4T%L D%OP TABL# >DSDTL4L D%OP TABL# >D4LABSM4T%L D%OP TABL# >DSM4T%L D%OP TABL# ACCTSM4T%L D%OP TABL# 4P%TSDOCL D%OP TABL# CH4TSM4T%L D%OP TABL# #MPSM4T%L D%OP TABL# B%A@CFSM4T%L 77 B%A@CFSM4T% C%#AT# TABL# WDBASBA@$4E4W.WB%A@CFSM4T%W( WB%A@CFS@OW 6A%CFA%*(,+), W@AM#W 6A%CFA%*(*?),

CO@4T%AI@T P$SB%A@CFM4T%SB%A@CF@O P%IMA%E $#E(B%A@CFS@O), CO@4T%AI@T CF$SB%A@CFM4T%SB%A@CF@O CF#C$(B%A@CFS@O LI$# JBVJ))L 77 #MPSM4T% C%#AT# TABL# WDBASBA@$4E4W.W#MPSM4T%W( W#MPS@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WD#PTW 6A%CFA%*(=+), WD#4IGW 6A%CFA%*(=+), WM@G%S@OW 6A%CFA%*(,+), CO@4T%AI@T P$S#MPM4T%S#MP@O P%IMA%E $#E(#MPS@O), CO@4T%AI@T CF$S#MPM4T%S#MP@O CF#C$(#MPS@O LI$# J#VJ), CO@4T%AI@T >$S#MPM4T%SB%A@CF@O >O%#IG@ $#E(B%A@CFS@O) %#>#%#@C#4 B%A@CFSM4T%(B%A@CFS@O), CO@4T%AI@T >$S#MPM4T%SM@G%@O >O%#IG@ $#E(M@G%S@O) %#>#%#@C#4 #MPSM4T%(#MPS@O))L 77 CH4TSM4T% C%#AT# TABL# WDBASBA@$4E4W.WCH4TSM4T%W( WCH4TS@OW 6A%CFA%*(,+), W>@AM#W 6A%CFA%*(*?), WM@AM#W 6A%CFA%*(*?), WL@AM#W 6A%CFA%*(*?), WDOBSI@CW DAT# @OT @HLL, WOCCHPW 6A%CFA%*(*?), WPFOTOG%APFW 6A%CFA%*(*?), W4IG@ATH%#W 6A%CFA%*(*?), WPA@COPEW 6A%CFA%*(,), W>O%M:+W 6A%CFA%*(,), CO@4T%AI@T P$SCH4TM4T%SCH4T@O P%IMA%E $#E(CH4TS@O), CO@4T%AI@T CF$SCH4TM4T%SCH4T@O CF#C$(CH4TS@O LI$# JCVJ O% CH4TS@O LI$# JOVJ), CO@4T%AI@T CF$SCH4TM4T%SPA@COPE CF#C$(PA@COPE I@(JEJ, J@J)), CO@4T%AI@T CF$SCH4TM4T%S>O%M:+ CF#C$(>O%M:+ I@(JEJ, J@J)))L 77 4P%TSDOC C%#AT# TABL# WDBASBA@$4E4W.W4P%TSDOCW( WACCTSCOD#W 6A%CFA%*(;), WTEP#W 6A%CFA%*(;+), WDOC4W 6A%CFA%*(B?))L 77 ACCTSM4T% C%#AT# TABL# WDBASBA@$4E4W.WACCTSM4T%W( WACCTS@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WL>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WTEP#W 6A%CFA%*(*),

WOP%SMOD#W 6A%CFA%*(*), WCH%SACCTSTEP#W 6A%CFA%*(;), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WAPL@DTW DAT#, WOP@DTW DAT#, W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), WCH%BALW @HMB#%(C, *) D#>AHLT +, W4TATH4W 6A%CFA%*(,) D#>AHLT JAJ, CO@4T%AI@T P$SACCTM4T%SACCT@O P%IMA%E $#E(ACCTS@O), CO@4T%AI@T >$SACCTM4T%SB%A@CF@O >O%#IG@ $#E(B%A@CFS@O) %#>#%#@C#4 B%A@CFSM4T%(B%A@CFS@O), CO@4T%AI@T >$SACCTM4T%SI@T%OCH4T@O >O%#IG@ $#E(I@T%OSCH4TS@O) %#>#%#@C#4 CH4TSM4T%(CH4TS@O), CO@4T%AI@T >$SACCTM4T%SI@T%OACCT@O >O%#IG@ $#E(I@T%OSACCTS@O) %#>#%#@C#4 ACCTSM4T%(ACCTS@O), CO@4T%AI@T CF$SACCTM4T%SI@T%O4IG@ CF#C$(I@T%OS4IG@ I@(JEJ, J@J)), CO@4T%AI@T CF$SACCTM4T%STEP# CF#C$(TEP# I@(J4BJ, JCAJ)), CO@4T%AI@T CF$SACCTM4T%SOP%MOD# CF#C$(OP%SMOD# I@(J4IJ, J#4J, JGOJ, JA4J)), CO@4T%AI@T CF$SACCTM4T%SCH%ACCTTEP# CF#C$(CH%SACCTSTEP# I@(J+4J, J,CJ, J*CJ, J=CJ, J;CJ, J?CJ, J:CJ, JBCJ)), CO@4T%AI@T CF$SACCTM4T%SCO%PCH4T@O CF#C$(CO%PSCH4TS@O LI$# JOVJ), CO@4T%AI@T >$SACCTM4T%S6#%I#MP@O >O%#IG@ $#E(6#%IS#MPS@O) %#>#%#@C#4 #MPSM4T%(#MPS@O), CO@4T%AI@T CF$SACCTM4T%S6#%I4IG@ CF#C$(6#%IS4IG@ I@(JEJ, J@J)), CO@4T%AI@T CF$SACCTM4T%SMA@AG#%4IG@ CF#C$(MA@AG#%S4IG@ I@(JEJ, J@J)), CO@4T%AI@T CF$SACCTM4T%S4TATH4 CF#C$(4TATH4 I@(JAJ, J4J, JTJ)))L 77 >DSM4T% C%#AT# TABL# WDBASBA@$4E4W.W>DSM4T%W( W>DS4#%S@OW 6A%CFA%*(,+), W4>S@OW 6A%CFA%*(,+), WB%A@CFS@OW 6A%CFA%*(,+), WI@T%OSCH4TS@OW 6A%CFA%*(,+), WI@T%OSACCTS@OW 6A%CFA%*(,+), WI@T%OS4IG@W 6A%CFA%*(,), WACCTS@OW 6A%CFA%*(,+), WTITL#W 6A%CFA%*(=+), WCO%PSCH4TS@OW 6A%CFA%*(,+), WCO%PSC@4TSTEP#W 6A%CFA%(;), W6#%IS#MPS@OW 6A%CFA%*(,+), W6#%IS4IG@W 6A%CFA%*(,), WMA@AG#%S4IG@W 6A%CFA%*(,), CO@4T%AI@T P$S>DM4T%S>D4#%@O P%IMA%E $#E(>DS4#%S@O), CO@4T%AI@T >$S>DM4T%SB%A@CF@O >O%#IG@ $#E(B%A@CFS@O) %#>#%#@C#4 B%A@CFSM4T%(B%A@CFS@O), CO@4T%AI@T >$S>DM4T%SI@T%OCH4T@O >O%#IG@ $#E(I@T%OSCH4TS@O) %#>#%#@C#4 CH4TSM4T%(CH4TS@O), CO@4T%AI@T >$S>DM4T%SI@T%OACCT@O >O%#IG@ $#E(I@T%OSACCTS@O) %#>#%#@C#4 ACCTSM4T%(ACCTS@O), CO@4T%AI@T CF$S>DM4T%SI@T%O4IG@ CF#C$(I@T%OS4IG@ I@(JEJ, J@J)), CO@4T%AI@T CF$S>DM4T%SACCT@O CF#C$(ACCTS@O LI$# JCAVJ O% ACCTS@O LI$# J4BVJ),

CO@4T%AI@T CF$S>DM4T%SCO%PCH4T@O CF#C$(CO%PSCH4TS@O LI$# JOVJ), CO@4T%AI@T CF$S>DM4T%SCO%PC@4TTEP# CF#C$(CO%PSC@4TSTEP# I@(J+4J, J,CJ, J*CJ, J=CJ, J;CJ, J?CJ, J:CJ, JBCJ)), CO@4T%AI@T >$S>DM4T%S6#%I#MP@O >O%#IG@ $#E(6#%IS#MPS@O) %#>#%#@C#4 #MPSM4T%(#MPS@O), CO@4T%AI@T CF$S>DM4T%S6#%I4IG@ CF#C$(6#%IS4IG@ I@(JEJ, J@J)), CO@4T%AI@T CF$S>DM4T%SMA@AG#%4IG@ CF#C$(MA@AG#%S4IG@ I@(JEJ, J@J)))L 77 >D4LABSM4T% C%#AT# TABL# WDBASBA@$4E4W.W>D4LABSM4T%W( W>D4LABS@OW @HMB#%(*), WMI@P#%IODW @HMB#%(?), WMANP#%IODW @HMB#%(?), WI@T%AT#W @HMB#%(?,*), CO@4T%AI@T P$S>D4LABM4T%S>D4LAB@O P%IMA%E $#E(>D4LABS@O))L 77 >DSDTL4 C%#AT# TABL# WDBASBA@$4E4W.W>DSDTL4W( W>DS4#%S@OW 6A%CFA%*(,+), W>DS@OW 6A%CFA%*(,+), WTEP#W 6A%CFA%*(,), WPAETOSACCT@OW 6A%CFA%*(,+), WP#%IODW @HMB#%(?), WOP@DTW DAT#, WDH#DTW DAT#, WAMTW @HMB#%(C,*), WDH#AMTW @HMB#%(C,*), WI@T%AT#W @HMB#%(=), W4TATH4W 6A%CFA%*(,) D#>AHLT JAJ, WAHTOS%#@#-ALW 6A%CFA%*(,), CO@4T%AI@T P$S>DDTL4S>D@O P%IMA%E $#E(>DS@O), CO@4T%AI@T >$S>DDTL4S>D4#%@O >O%#IG@ $#E(>DS4#%S@O) %#>#%#@C#4 >DSM4T%(>DS4#%S@O), CO@4T%AI@T CF$S>DDTL4STEP# CF#C$(TEP# I@(J4J, J%J)), CO@4T%AI@T CF$S>DDT$4SPAETOACCT@O CF#C$(PAETOSACCT@O LI$# JCAVJ O% PAETOSACCT@O LI$# J4BVJ), CO@4T%AI@T CF$S>DDTL4S4TATH4 CF#C$(4TATH4 I@(JAJ, JCJ, JMJ)), CO@4T%AI@T CF$S>DDTL4SAHTO%#@#-AL CF#C$(AHTOS%#@#-AL I@(JEJ, J@J)))L 77 ACCTS>DSCH4TSDTL4 C%#AT# TABL# WDBASBA@$4E4W.WACCTS>DSCH4TSDTL4W( WACCTS>DS@OW 6A%CFA%*(,+), WCH4TS@OW 6A%CFA%*(,+), CO@4T%AI@T CF$SACCT>DCH4TDTL4SACCT>D@O CF#C$(ACCTS>DS@O LI$# JCAVJ O% ACCTS>DS@O LI$# J>4VJ O% ACCTS>DS@O LI$# J4BVJ), CO@4T%AI@T >$SACCT>DCH4TDTL4SCH4T@O >O%#IG@ $#E(CH4TS@O) %#>#%#@C#4 CH4TSM4T%(CH4TS@O))L 77 @OMI@##SM4T% C%#AT# TABL# WDBASBA@$4E4W.W@OMI@##SM4T%W( W@OMI@##S@OW 6A%CFA%*(,+), WACCTS>DS@OW 6A%CFA%*(,+),

W@AM#W 6A%CFA%*(B?), WDOBW DAT#, W%#LATIO@4FIPW 6A%CFA%*(*?), CO@4T%AI@T P$S@OMI@##M4T%S@OMI@##@O P%IMA%E $#E(@OMI@##S@O), CO@4T%AI@T CF$S@OMI@##M4T%SACCT>D@O CF#C$(ACCTS>DS@O LI$# JCAVJ O% ACCTS>DS@O LI$# J>4VJ O% ACCTS>DS@O LI$# J4BVJ))L 77 ADD%SDTL4 C%#AT# TABL# WDBASBA@$4E4W.WADD%SDTL4W( WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WADD%STEP#W 6A%CFA%*(,), WADD%,W 6A%CFA%*(?+), WADD%*W 6A%CFA%*(?+), WCITEW 6A%CFA%*(*?), W4TAT#W 6A%CFA%*(*?), WPI@COD#W 6A%CFA%*(:), CO@4T%AI@T P$SADD%DTL4SADD%@O P%IMA%E $#E(ADD%S@O), CO@4T%AI@T CF$SADD%DTL4SCOD#@O CF#C$(COD#S@O LI$# JBVJ O% COD#S@O LI$# JCVJ O% COD#S@O LI$# J#VJ O% COD#S@O LI$# J@VJ O% COD#S@O LI$# JOVJ), CO@4T%AI@T CF$SADD%DTL4SADD%TEP# CF#C$(ADD%STEP# I@(JCJ, J@J, JFJ, JBJ)))L 77 C@TCSDTL4 C%#AT# TABL# WDBASBA@$4E4W.WC@TCSDTL4W( WADD%S@OW @HMB#%(:), WCOD#S@OW 6A%CFA%*(,+), WC@TCSTEP#W 6A%CFA%*(,), WC@TCSDATAW 6A%CFA%*(B?), CO@4T%AI@T >$SC@TCDTL4SADD%@O >O%#IG@ $#E(ADD%S@O) %#>#%#@C#4 ADD%SDTL4(ADD%S@O), CO@4T%AI@T CF$SC@TCDTL4SCOD#@O CF#C$(COD#S@O LI$# JBVJ O% COD#S@O LI$# JCVJ O% COD#S@O LI$# J#VJ O% COD#S@O LI$# J@VJ O% COD#S@O LI$# JOVJ), CO@4T%AI@T CF$SC@TCDTL4SC@TCTEP# CF#C$(C@TCSTEP# I@(J%J, JOJ, JMJ, JPJ, J#J, J>J, J-J)))L 77 T%A@4SM4T% C%#AT# TABL# WDBASBA@$4E4W.WT%A@4SM4T%W( WT%A@4S@OW 6A%CFA%*(,+), WACCTS@OW 6A%CFA%*(,+), WDTW DAT#, WTEP#W 6A%CFA%*(,), WPA%TICHLA%W 6A%CFA%*(=+), WD%SC%W 6A%CFA%*(,), WAMTW @HMB#%(C,*), WBALA@C#W @HMB#%(C,*), CO@4T%AI@T P$ST%A@4M4T%ST%A@4@O P%IMA%E $#E(T%A@4S@O), CO@4T%AI@T CF$ST%A@4M4T%SACCT@O CF#C$(ACCTS@O LI$# JCAVJ O% ACCTS@O LI$# J4BVJ), CO@4T%AI@T CF$ST%A@4M4T%STEP# CF#C$(TEP# I@(JBJ, JCJ, JDJ)), CO@4T%AI@T CF$ST%A@4M4T%SD%C% CF#C$(D%SC% I@(JDJ, J-J)))L

77 T%A@4SDTL4 C%#AT# TABL# WDBASBA@$4E4W.WT%A@4SDTL4W( WT%A@4S@OW 6A%CFA%*(,+), WI@4TS@OW @HMB#%(:), WI@4TSDTW DAT#, WPAETOW 6A%CFA%*(=+), WI@4TSCL%SDTW DAT#, WBA@$S@AM#W 6A%CFA%*(=?), WB%A@CFS@AM#W 6A%CFA%*(*?), WPAID>%OMW 6A%CFA%*(,+), CO@4T%AI@T >$ST%A@4DTL4ST%A@4@O >O%#IG@ $#E(T%A@4S@O) %#>#%#@C#4 T%A@4SM4T%(T%A@4S@O))L 77 TMPS>DSAMT C%#AT# TABL# WDBASBA@$4E4W.WTMPS>DSAMTW( W>DSAMTW @HMB#%(:))L 77 %ecor/s for B%A@CFSM4T% I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(?+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(,++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(,?+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(*++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(*?+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(=++++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(;+++)L I@4#%T I@TO TMPS>DSAMT (>DSAMT) 6ALH#4(?++++)L 77 %ecor/s for B%A@CFSM4T% I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB,J, J6ile Parle (FO)J)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB*J, JAn/heriJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB=J, JChurch ateJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB;J, JMahimJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB?J, JBorivaliJ)L I@4#%T I@TO B%A@CFSM4T% (B%A@CFS@O, @AM#) 6ALH#4(JB:J, JDar!a Gan&J)L 77 %ecor/s for #MPSM4T% I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#,J, JB,J, JIvanJ, J@elsonJ, JBa!rossJ, JA/ministrationJ, JMana in DirectorJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#*J, JB*J, JAmitJ, null, JDesaiJ, JLoans An/ >inancin J, J>inance Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#=J, JB=J, JMa!aJ, JMahimaJ, JGoshiJ, JClient 4ervicin J, J4ales Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#;J, JB,J, JPeterJ, JI!erJ, JGose"hJ, JLoans An/ >inancin J, JCler2J, J#*J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#?J, JB;J, JMan/harJ, JDili"J, JDalviJ, JMar2etin J, JMar2etin Mana erJ, @HLL)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O)

6ALH#4(J#:J, JB:J, J4onalJ, JA(/ulJ, J$hanJ, JA/ministrationJ, JA/min. #0ecutiveJ, J#,J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#BJ, JB;J, JAnilJ, JAshutoshJ, J$am(liJ, JMar2etin J, J4ales Asst.J, J#?J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#CJ, JB=J, J4eemaJ, JP.J, JA"teJ, JClient 4ervicin J, JCler2J, J#=J)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#IJ, JB*J, J6i2ramJ, J6ilasJ, J%an/iveJ, JMar2etin J, J4ales Asst.J, J#BJ)L I@4#%T I@TO #MPSM4T% (#MPS@O, B%A@CFS@O, >@AM#, M@AM#, L@AM#, D#PT, D#4IG, M@G%S@O) 6ALH#4(J#,+J, JB:J, JAn&aliJ, J4ameerJ, JPatha2J, JA/ministrationJ, JF% Mana erJ, J#,J)L 77 %ecor/s for CH4TSM4T% I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, J*?7GH@7,I?*J, J4elf #m"lo!e/J, JD).ClntPht.C,. ifJ, JD).Clnt4 nt.C,. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC*J, JChriselleJ, JIvanJ, JBa!rossJ, J*I7OCT7,IC*J, J4erviceJ, JD).ClntPht.C*. ifJ, JD).Clnt4 nt.C*. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC=J, JMamtaJ, JArvin/J, JMuAum/arJ, J*C7AHG7,IB?J, J4erviceJ, JD).ClntPht.C=. ifJ, JD).Clnt4 nt.C=. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC;J, JChha!aJ, J4u/ha2arJ, JBan2arJ, J+:7OCT7,IB:J, J4erviceJ, JD).ClntPht.C;. ifJ, JD).Clnt4 nt.C;. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC?J, JAsh3iniJ, JDili"J, JGoshiJ, J*+7@O67,IBCJ, JBusinessJ, JD).ClntPht.C?. ifJ, JD).Clnt4 nt.C?. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC:J, JFanselJ, JI.J, JColacoJ, J+,7GA@7,IC*J, J4erviceJ, JD).ClntPht.C:. ifJ, JD).Clnt4 nt.C:. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCBJ, JAnilJ, JArunJ, JDhoneJ, J,*7OCT7,IC=J, J4elf #m"lo!e/J, JD).ClntPht.CB. ifJ, JD).Clnt4 nt.CB. ifJ, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCCJ, JAle0J, JAustinJ, J>ernan/esJ, J=+74#P7,I:*J, J#0ecutiveJ, JD).ClntPht.CC. ifJ, JD).Clnt4 nt.CC. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JCIJ, JAsh3iniJ, J4han2arJ, JA"teJ, J,I7AP%7,IBIJ, J4erviceJ, JD).ClntPht.CI. ifJ, JD).Clnt4 nt.CI. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JC,+J, J@amitaJ, J4.J, J$ana/eJ, J,+7GH@7,IBCJ, J4elf #m"lo!e/J,

JD).ClntPht.C,+. ifJ, JD).Clnt4 nt.C,+. ifJ, JEJ, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,,J, null, null, null, J,;7@O67,IIBJ, J%etail BusinessJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,*J, null, null, null, J*=7OCT7,II*J, JInformation Technolo !J, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,=J, null, null, null, J+?7>#B7,ICIJ, JCommunit! -elfareJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,;J, null, null, null, J*;7MAE7,IC+J, J%etail BusinessJ, null, null, J@J, JEJ)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,?J, null, null, null, J+*7AP%7*+++J, J%etail BusinessJ, null, null, JEJ, J@J)L I@4#%T I@TO CH4TSM4T% (CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C, OCCHP, PFOTOG%APF, 4IG@ATH%#, PA@COPE, >O%M:+) 6ALH#4(JO,:J, null, null, null, J,=7GA@7*++*J, JMar2etin J, null, null, JEJ, J@J)L 77 %ecor/s for 4P%TSDOC I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JDrivin Licence . %ation Car/ . Pass"ortJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J+4J, JIn/ivi/uals . 4avin s Ban2 AccountJ, JBirth Certificate . 4chool Leavin CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J,CJ, JPro"riet! . 4ole Tra/in ConcernsJ, JLetter >rom The Pro"riet!J)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J*CJ, JPartnershi" ConcernsJ, JLetter >rom The PartnersJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J*CJ, JPartnershi" ConcernsJ, JPartnershi" Dee/ . %e istration CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JLetter >rom The $artaJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J=CJ, JFin/u Hn/ivi/e/ >amil! BusinessesJ, JList Of Mem(ersJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCo"! Of Boar/ Of DirectorsJJ %esolution >or O"enin The AccountJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JMemoran/um an/ Articles Of AssociationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCertificate Of Incor"orationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J;CJ, JLimite/ Com"aniesJ, JCertificate Of Commencement Of Business . %e istration CertificateJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, JTrust Dee/J)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, J%esolution Of TrusteesJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J?CJ, JTrust AccountsJ, JList Of TrustiesJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J:CJ, JClu(s . 4ocietiesJ, J%esolutionJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(J:CJ, JClu(s . 4ocietiesJ, JConstitution An/ B!e7la3sJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4)

6ALH#4(J:CJ, JClu(s . 4ocietiesJ, JCertificate Of %e istrationJ)L I@4#%T I@TO 4P%TSDOC (ACCTSCOD#, TEP#, DOC4) 6ALH#4(JBCJ, JLe islative Bo/iesJ, JLetter >rom The Authorit!J)L 77 %ecor/s for ACCTSM4T% I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,J, J4>7+++,J, J@O6+=7+?J, JB,J, JC,J, J4B,J, JEJ, J4BJ, J4IJ, J+4J, null, null, J+?7@O67*++=J, J+?7@O67*++=J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA*J, J4>7+++*J, J@O6+=7,+J, JB*J, JC,J, J4B,J, JEJ, JCAJ, JGOJ, J,CJ, JHttam 4toresJ, JO,,J, J+B7@O67*++=J, J,+7@O67*++=J, J#,J, JEJ, JEJ, =+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B=J, J4>7+++=J, J@O6+=7**J, JB=J, JC;J, J4B=J, JEJ, J4BJ, J4IJ, J+4J, null, null, J*+7@O67*++=J, J**7@O67*++=J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA;J, J4>7+++;J, JD#C+=7+?J, JB?J, JC;J, J4B=J, JEJ, JCAJ, JA4J, J;CJ, J4unJJs Pvt. Lt/.J, JO,*J, J+*7D#C7*++=J, J+?7D#C7*++=J, J#;J, JEJ, JEJ, ,*+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B?J, J4>7+++?J, JD#C+=7,?J, JB:J, JC,J, J4B,J, JEJ, J4BJ, JGOJ, J+4J, null, null, J,;7D#C7*++=J, J,?7D#C7*++=J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B:J, J4>7+++:J, JD#C+=7*BJ, JB;J, JC?J, J4B:J, JEJ, J4BJ, J#4J, J+4J, null, null, J*B7D#C7*++=J, J*B7D#C7*++=J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCABJ, J4>7+++BJ, JGA@+;7,;J, JB,J, JCCJ, JCABJ, JEJ, JCAJ, JA4J, J:CJ, JPuru Fs . 4ocJ, JO,=J, J,;7GA@7*++;J, J,;7GA@7*++;J, J#;J, JEJ, JEJ, **+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4BCJ, J4>7+++CJ, JGA@+;7*IJ, JB*J, JCIJ, J4BCJ, JEJ, J4BJ, J4IJ, J+4J, null, null, J*B7GA@7*++;J, J*I7GA@7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L

I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4BIJ, J4>7+++IJ, J>#B+;7+?J, JB;J, JC,+J, J4BIJ, JEJ, J4BJ, JGOJ, J+4J, null, null, J+?7>#B7*++;J, J+?7>#B7*++;J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,+J, J4>7++,+J, J>#B+;7,IJ, JB:J, JC,+J, J4BIJ, JEJ, JCAJ, JA4J, J=CJ, JGhar $aro(arJ, JO,;J, J,I7>#B7*++;J, J,I7>#B7*++;J, J#;J, JEJ, JEJ, =*+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,,J, J4>7++,,J, JMA%+;7,+J, JB,J, JC,J, J4B,J, JEJ, J4BJ, J4IJ, J+4J, null, null, J+?7MA%7*++;J, J,+7MA%7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,*J, J4>7++,*J, JMA%+;7,+J, JB*J, JC,J, J4B?J, JEJ, JCAJ, JGOJ, J,CJ, J4uresh 4toresJ, JO,?J, J+B7MA%7*++;J, J,+7MA%7*++;J, J#,J, JEJ, JEJ, ?+++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,=J, J4>7++,=J, JMA%+;7**J, JB=J, JC;J, J4B=J, JEJ, J4BJ, J4IJ, J+4J, null, null, J*+7MA%7*++;J, J**7MA%7*++;J, J#;J, JEJ, JEJ, ?++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(JCA,;J, J4>7++,;J, JAP%+;7+?J, JB?J, JC;J, J4B=J, JEJ, JCAJ, JA4J, J;CJ, JMoonJJs Pvt. Lt/.J, JO,:J, J+*7AP%7*++;J, J+?7AP%7*++;J, J#;J, JEJ, JEJ, ,++++, JAJ)L I@4#%T I@TO ACCTSM4T% (ACCTS@O, 4>S@O, L>S@O, B%A@CFS@O, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, TEP#, OP%SMOD#, CH%SACCTSTEP#, TITL#, CO%PSCH4TS@O, APL@DT, OP@DT, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@, CH%BAL, 4TATH4) 6ALH#4(J4B,?J, J4>7++,?J, JAP%+;7,?J, JB:J, JC,J, J4B,J, JEJ, J4BJ, JGOJ, J+4J, null, null, J,;7AP%7*++;J, J,?7AP%7*++;J, J#,J, JEJ, JEJ, ?++, JAJ)L 77 %ecor/s for >DSM4T% I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4,J, J4>7,++,J, JB*J, JCA*J, JHttam 4toresJ, JO,,J, J,CJ, null, null, J@J, J#,J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4*J, J4>7,++*J, JB?J, JCA;J, J4unJJs Pvt. Lt/.J, JO,*J, J;CJ, null, null, J@J, J#,J, JEJ, JEJ)L

I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4=J, J4>7,++=J, JB,J, JCABJ, JPuru Fs . 4ocJ, JO,=J, J:CJ, null, null, J@J, J#;J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4;J, J4>7,++;J, JB:J, JCA,+J, JGhar $aro(arJ, JO,;J, J=CJ, null, null, J@J, J#;J, JEJ, JEJ)L I@4#%T I@TO >DSM4T% (>DS4#%S@O, 4>S@O, B%A@CFS@O, ACCTS@O, TITL#, CO%PSCH4TS@O, CO%PSC@4TSTEP#, I@T%OSCH4TS@O, I@T%OSACCTS@O, I@T%OS4IG@, 6#%IS#MPS@O, 6#%IS4IG@, MA@AG#%S4IG@) 6ALH#4 (J>4?J, J4>7,++?J, JB;J, null, null, null, J+4J, JCBJ, J4B:J, JEJ, J#;J, JEJ, JEJ)L 77 %ecor/ for >D4LABSM4T% I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(,, ,, =+, ?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(*, =,, I*, ?.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(=, I=, ,C=, :)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(;, ,C;, =:?, :.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(?, =::, B=,, B.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(:, B=*, ,+IB, C.?)L I@4#%T I@TO >D4LABSM4T% (>D4LABS@O, MI@P#%IOD, MANP#%IOD, I@T%AT#) 6ALH#4(B, ,+IC, ,C*I, ,+)L 77 %ecor/ for >DSDTL4 I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4,J, J>,J, J4J, JCA*J, =:?, J+*7GA@7*++;J, J+,7GA@7*++?J, ,?+++, ,:+?+.++, :.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4,J, J>*J, J4J, JCA*J, =:?, J+*7GA@7*++;J, J+,7GA@7*++?J, ?+++, ?=?+.++, :.?, JAJ, J@J)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4*J, J>=J, J4J, JCA;J, =::, J*?7MA%7*++;J, J*?7MA%7*++?J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4*J, J>;J, J4J, JCA;J, =::, J,?7AP%7*++;J, J,?7AP%7*++?J, ,++++, ,+C+*.,I, B.?, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4=J, J>?J, J4J, JCABJ, ,C=, J*;7AP%7*++;J, J*;7OCT7*++:J, *+++, *+:+.,:, :, JAJ, JEJ)L I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4;J, J>:J, J4J, JCA,+J, B=*, J,I7MAE7*++;J, J*+7MAE7*++:J, ?+++, ?I+*.;B, C.?, JAJ, JEJ)L

I@4#%T I@TO >DSDTL4 (>DS4#%S@O, >DS@O, TEP#, PAETOSACCT@O, P#%IOD, OP@DT, DH#DT, AMT, DH#AMT, I@T%AT#, 4TATH4, AHTOS%#@#-AL) 6ALH#4(J>4?J, J>BJ, J4J, J4B:J, =::, J*B7MAE7*++;J, J*B7MAE7*++?J, ,?+++, ,:*+=.=+, B.?, JAJ, J@J)L 77 %ecor/ for ACCTS>DSCH4TSDTL4 I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA*J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA*J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B=J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA;J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA;J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B?J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B?J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B:J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B:J, JCBJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCABJ, JC:J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCABJ, JCCJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BCJ, JCIJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BIJ, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4BIJ, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,+J, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,+J, JCIJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,,J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,*J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,*J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,=J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,;J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(JCA,;J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,?J, JC,J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J4B,?J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4,J, JC*J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4,J, JC=J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC;J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4*J, JC?J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4=J, JC:J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4=J, JCCJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4;J, JC,+J)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4;J, JCIJ)L I@4#%T I@TO ACCTS>DSCH4TSDTL4 (ACCTS>DS@O, CH4TS@O) 6ALH#4(J>4?J, JC?J)L 77 %ecor/ for @OMI@##SM4T% I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,J, JCA*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@*J, JCA*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@=J, J4B,J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JDau hterJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@;J, J4B=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP)

6ALH#4(J@?J, J4B:J, JPreeti 4uresh 4hahJ, J,*7>#B7,IBCJ, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@:J, J4BCJ, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@BJ, JCA,+J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J@ieceJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@CJ, J>4,J, J%ohit %a&an 4aha2ar2arJ, J=+7MAE7,IC?J, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@IJ, J>4*J, JGose"h Martin DiasJ, J,B74#P7,IC;J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,+J, J>4*J, J@ilesh 4a3antJ, J*?7AHG7,ICBJ, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,,J, J>4=J, JChriselle Ivan Ba!rossJ, J*?7GH@7,I?*J, JCollea ueJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,*J, J>4=J, JMamta Arvin/ MuAum/arJ, J*C7AHG7,IB?J, J>rien/J)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,=J, J>4;J, J@amita 4. $ana/eJ, J,+7GH@7,IBCJ, J%elativeJ)L I@4#%T I@TO @OMI@##SM4T% (@OMI@##S@O, ACCTS>DS@O, @AM#, DOB, %#LATIO@4FIP) 6ALH#4(J@,;J, J>4?J, JPramila P. PiusJ, J,+7OCT7,IC?J, J@ieceJ)L 77 %ecor/ for ADD%SDTL4 I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,, JB,J, JFJ, JA.?, Ga! Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*, JB*J, JBJ, JB4#4 Cham(ers, ,+th floor,J, J@ear %l!. 4tation, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=, JB=J, JBJ, JPra(hat Com"le0, @o. ? . :,J, JO"". Air In/ia Bl/ ., Church ate,J, JMum(aiJ, JMaharashtraJ, J;++++;J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;, JB;J, JBJ, J*=.A, 43arna Bl/ ., 4mt. %ai Mar ,J, J#astern #0"ress Fi h3a!, $urla (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++;?J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(?, JB?J, JBJ, J6i2as Centre, 4ho" =B, @ear @ational Par2,J, J-estern #0"ress Fi h3a!, Borivali (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(:, JB:J, JBJ, J*;.A, Mahima PlaAa, >irst >loor,J, JDar!a Gan&,J, J@e3 DelhiJ, JDelhiJ, J,,+++;J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(B, J#,J, J@J, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(C, J#*J, JCJ, JDesai Fouse, Plot @o. *?, P.G. Mar ,J, J@ear Mala/ %l!. 4tat., Mala/ (-est),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L

I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(I, J#=J, J@J, J%oom @o. ?:, =r/ >loor, 43ami(havan,J, JG. P. %oa/ Gunction, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?IJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,+, J#;J, JCJ, J=+,, Thomas Palace, O"". In/u Chil/ Care,J, JEa/ni2 @a ar, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,,, J#?J, JCJ, J;?:.A, Bl/ . @o. ;, 6ahatu2 @a ar,J, JAm(oli, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,*, J#:J, J@J, J*+,, Meena To3ers, @r. 4un Gas A enc!,J, J4. 6. %/., Gore oan (-est),J, JMum(aiJ, JMaharashtraJ, J;+++B:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,=, J#BJ, J@J, JPatel Cha3l, %m. @o. ,?, B. P. Lal Mar ,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,;, J#CJ, JCJ, JA 7 ,+, @eelam, L. G. %oa/,J, JMahim (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,?, J#IJ, J@J, J,.,* Bal Govin/as 4ociet!, M. B. %aut %/.,J, JDa/ar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++*CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,:, J#,+J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, J@e3 DelhiJ, JDelhiJ, J,,++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,B, JC,J, JCJ, J>7,*, Diamon/ Palace, -est Avenue,J, J@orth Avenue, 4antacruA (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,C, JC*J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(,I, JC=J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*+, JC;J, JCJ, J;, 4am"a/a,J, J$ataria %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*,, JC?J, JCJ, J,+;, 6i2ram A"ts. Bha at Lane,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#)

6ALH#4(**, JC:J, JCJ, J,*, %a/ha $un&, @.C $el2ar %oa/,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++*CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*=, JCBJ, JCJ, JA.,;, 4hanti 4ociet!, Mo al Lane,J, JMahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*;, JCCJ, JCJ, J?, 6a /evi, 4ena"ati Ba"at %/.,J, JDa/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*?, JCIJ, JCJ, JA7,+ @utan 6aishali,J, J4hiva&i Par2, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*:, JC,+J, JCJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*B, J@,J, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*C, J@*J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(*I, J@=J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=+, J@;J, JCJ, JMa esh Prasa/,J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=,, J@?J, JCJ, J%ita A"artment, %oom @o. ;:, *n/ >loor,J, JG. P. %oa/, An/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++:BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=*, J@:J, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(==, J@BJ, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=;, JO,,J, JFJ, J4ho" @o. ;, 4imon 4treams,J, J6. P. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=?, JO,*J, JFJ, J*=+7#, Patel Cham(ers,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ)L

I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=:, JO,=J, JFJ, JG7*, Puru Fs . 4ociet!,J, J4ena"ati Ba"at %/., Da/ar,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=B, JO,;J, JFJ, JB7,+, Ma2aran/ 4ociet!,J, JCa/al %oa/, Mahim,J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=C, J@CJ, J@J, J,+:.A, 4unrise A"mt., O"". 6ahatu2 @a ar,J, J$evni7Pa/a, Go esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(=I, J@IJ, JCJ, J=+B.#, Meena Mansion,J, J%. 4. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;+, J@,+J, JCJ, J4mt. 6eenu Cha3l, 4a3ant Colon! %/.,J, JO"". 6eer %oa/, Matun a (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;,, J@,,J, JCJ, J>7,*, 4ilver 4tream,J, J4antacruA (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;*, J@,*J, JCJ, JMa esh Prasa/J, J4aras3ati Bau , Go esh3ari(#),J, JMum(aiJ, JMaharashtraJ, J;+++:+J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;=, J@,=J, JCJ, JPatha2 @a ar, Ca/al %oa/,J, JMahim (-est),J, JMum(aiJ, JMaharashtraJ, J;+++,:J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;;, J@,;J, JCJ, J;+?, 6ahatu2 @a ar, $evni7Pa/a,J, JGo esh3ari (-est),J, JMum(aiJ, JMaharashtraJ, J;++,+*J)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;?, JC:J, J@J, J*+=.A, Prachi A"mt.,J, JAn/heri (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;:, JO,?J, JFJ, J4ho" @o. ;, 4ai Com"oun/,J, J4ervice %oa/, 6ile Parle (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++?BJ)L I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(;B, JO,?J, JFJ, JG7;, 4a ar Cham(ers,J, JG. P. %oa/, An/heri (-est),J, JMum(aiJ, JMaharashtraJ, J;+++?CJ)L 77 %ecor/ for C@TCSDTL4 I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, JOJ, J*:,*;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, J>J, J*:,*;?==J)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,, JB,J, J#J, Ja/minSvile"arleX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*, JB*J, JOJ, J*:BI++,;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*, JB*J, J#J, Ja/minSan/heriX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=, JB=J, JOJ, J*=;?BC??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=, JB=J, J#J, Ja/minSchurch ateX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;, JB;J, JOJ, J*??;?;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;, JB;J, J#J, Ja/minSsionX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(?, JB?J, JOJ, J*C,B?;?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(?, JB?J, J#J, Ja/minS(orivaliX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(:, JB:J, JOJ, J*;=+;?;?J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(:, JB:J, J#J, Ja/minSmatun aX(om*.vsnl.inJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(C, J#*J, J%J, J*CCC=BBIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(I, J#=J, J%J, J*C=BB:=;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,+, J#;J, J%J, J*:=*=?:+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,,, J#?J, J%J, J*:BI=*=,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,*, J#:J, J%J, J*C+C?:?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,=, J#BJ, J%J, J*;;;*=;*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,;, J#CJ, J%J, J*;=:?:B*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,?, J#IJ, J%J, J*;=*B=;IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,:, J#,+J, J%J, J*;=+*?BIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, J%J, J*:;+?C?=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JOJ, J*:,=;??=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JOJ, J*:,=;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,B, JC,J, JMJ, JIC*+,BCI??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,C, JC*J, J%J, J*:+;?B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,C, JC*J, JOJ, J*:,=;?B,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,I, JC=J, J%J, J*C=*;?:BJ)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(,I, JC=J, JOJ, J*:,IB:?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*+, JC;J, J%J, J*;;;IC?*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*+, JC;J, JOJ, J*CB;,=B+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*,, JC?J, J%J, J*;=+*I=;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*,, JC?J, JOJ, J**C,II:;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(**, JC:J, J%J, J*;*,B?I*J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*=, JCBJ, J%J, J*;=B**;BJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*;, JCCJ, JOJ, J*:;C+I+=J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*?, JCIJ, J%J, J*;=,=;+CJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*?, JCIJ, JMJ, JIC*,,B::?,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, J%J, J*;=:*:C+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, JOJ, J*CIB==??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*:, JC,+J, JMJ, JIC*+;C;:;CJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*B, J@,J, J%J, J*:B:*,?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*C, J@*J, J%J, J*;=+BCCBJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(*I, J@=J, J%J, J*:+;??B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=+, J@;J, J%J, J*C:;?;CIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=,, J@?J, J%J, J=+I+=?:;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=*, J@:J, J%J, J*:BI=BB,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(==, J@BJ, J%J, J*;=+;;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=;, JO,,J, JOJ, J*:BI++??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=;, JO,,J, J>J, J*:BC;;+IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, JOJ, J*:,*+;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, JOJ, J*:,*+;?:J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J>J, J*:,*,;?+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J#J, Ja/minXsun"vtlt/.comJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=?, JO,*J, J-J, J333.sun"vtlt/.comJ)L

I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=:, JO,=J, JOJ, J*;=+,+I+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=:, JO,=J, JOJ, J*;=+,,I:J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=B, JO,;J, JOJ, J*;=*,,**J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=C, J@CJ, J%J, J*:BI=BB,J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(=I, J@IJ, J%J, J*:B:*,?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;+, J@,+J, J%J, J*;=+BCCBJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;,, J@,,J, J%J, J*:+;?B?;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;*, J@,*J, J%J, J*C:;?;CIJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;=, J@,=J, J%J, J*;=+;;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;;, J@,;J, J%J, J*:BI+,C+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;;, J@,;J, J%J, J*:BB,*B?J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;?, JC:J, J%J, J*C*B;BC;J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;:, JO,?J, JOJ, J*:,B++??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;:, JO,?J, J>J, J*:,B;;+IJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, JOJ, J*:BI+;??J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J>J, J*:BC,;?+J)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J#J, Ja/minXmoonmlt .comJ)L I@4#%T I@TO C@TCSDTL4 (ADD%S@O, COD#S@O, C@TCSTEP#, C@TCSDATA) 6ALH#4(;B, JO,:J, J-J, J333.moonmlt .comJ)L 77 %ecor/ for T%A@4SM4T% I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,J, J4B,J, J+?7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*J, JCA*J, J,+7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT=J, JCA*J, J,=7@O67*++=J, JCJ, J4elfJ, JDJ, =+++, ?+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT;J, J4B=J, J**7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT?J, JCA*J, J,+7D#C7*++=J, JCJ, J4elfJ, J-J, *+++, =+++)L

I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT:J, JCA;J, J+?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTBJ, J4B?J, J,?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTCJ, J4B:J, J*B7D#C7*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JTIJ, JCABJ, J,;7GA@7*++;J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,+J, J4BCJ, J*I7GA@7*++;J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,,J, J4BIJ, J+?7>#B7*++;J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,*J, J4BIJ, J,?7>#B7*++;J, JBJ, JCL%7*+;I+BJ, JDJ, =+++, =?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,=J, J4BIJ, J,B7>#B7*++;J, JCJ, J4elfJ, J-J, *?++, ,+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,;J, JCA,+J, J,I7>#B7*++;J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,?J, J4BIJ, J+?7AP%7*++;J, JBJ, JCL%7*+;I+CJ, JDJ, =+++, ;+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,:J, J4BIJ, J*B7AP%7*++;J, JCJ, J4elfJ, J-J, *?++, ,?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,BJ, J4B,J, J+?7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,CJ, JCA*J, J,+7@Ov7*++=J, JCJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT,IJ, J4B=J, J**7@O67*++=J, JCJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*+J, JCA;J, J+?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, *+++, *+++)L I@4#%T I@TO T%A@4SM4T% (T%A@4S@O, ACCTS@O, DT, TEP#, PA%TICHLA%, D%SC%, AMT, BALA@C#) 6ALH#4(JT*,J, J4B?J, J,?7D#C7*++=J, JBJ, JInitial Pa!mentJ, JDJ, ?++, ?++)L 77 %ecor/ for T%A@4SDTL4 I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM)

6ALH#4(JT:J, +IC=*;, J+*7D#C7*++=J, J4elfJ, J+?7D#C7*++=J, JFD>CJ, J6ile Parle (#ast)J, J*IC*J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JTBJ, *=*=*;, J,;7D#C7*++=J, J4elfJ, J,?7D#C7*++=J, JIn/ia Ban2J, JAn/heri (-est)J, J=+;=;J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JTIJ, ;=;?:+, J,;7GA@7*++;J, J4elfJ, J,;7GA@7*++;J, JICICI Ban2J, JBan/ra (-est)J, J;CC*J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,*J, *+;I+B, J,;7>#B7*++;J, J4elfJ, J,?7>#B7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,;J, ,++I+B, J,I7>#B7*++;J, J4elfJ, J,I7>#B7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J*++,J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT,?J, *+;I+C, J+,7AP%7*++;J, J4elfJ, J+?7AP%7*++;J, JMemon Co7o"erative Ban2J, JGo esh3ari (-est)J, J,B:BJ)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT*+J, +IC=*;, J+*7D#C7*++=J, J4elfJ, J+?7D#C7*++=J, JFD>CJ, J6ile Parle (#ast)J, J*IC*J)L I@4#%T I@TO T%A@4SDTL4 (T%A@4S@O, I@4TS@O, I@4TSDT, PAETO, I@4TSCL%SDT, BA@$S@AM#, B%A@CFS@AM#, PAID>%OM) 6ALH#4(JT*,J, *=*=*;, J,;7D#C7*++=J, J4elfJ, J,?7D#C7*++=J, JIn/ia Ban2J, JAn/heri (-est)J, J=+;=;J)L COMMITL #0am"le ,) 4#L#CT >DS@O, TEP#, P#%IOD, OP@DT, DH#DT, AMT, I@T%AT#, DH#AMT, %OH@D(AMT T (AMT U %OH@D(4E4DAT# 7 OP@DT).=:? U (I@T%AT#.,++)), *) >%OM >DSDTL4 -F#%# DH#DT O 4E4DAT#L #0am"le *) 4#L#CT >/S@o, T!"e, Perio/, O"nDt, DueDt, Amt, Int%ate, DueAmt, %OH@D(Amt T (Amt U %OH@D(4!sDate 7 O"nDt).=:? U (Int%ate.,++)), *) WPre Maturit! AmountW >%OM >/SDtls -F#%# DueDt O 4!sDateL #0am"le =) 4#L#CT U >%OM TransSMstr -F#%# Amt O8 ?++ A@D Amt P8 ?+++ A@D Amt P8 ?+++ A@D TOSCFA%(Dt) 8 TOSCFA%(4!sDate)L #0am"le ;) 4#L#CT CustSno, >@ame hh J J hh M@ame hh J J hh L@ame WCustomersW >%OM CustSMstr, A//rSDtls -F#%# CustSMstr.CustS@o 8 A//rSDtls.Co/eS@o A@D (Occu" 8 JInformation Technolo !J O% Occu" 8 J4elf #m"lo!e/J) A@D CustS@o LI$# JCVJL #0am"le ?) 4#L#CT CustS@o, >@ame hh J J hh M@ame hh J J hh L@ame WCustomersW, %OH@D((4E4DAT# 7 DOBSInc).=:?) WA eW >%OM CustSMstr

-F#%# (%OH@D((4E4DAT# 7 DOBSInc).=:?) P *? A@D L@ame8JBa!rossJ) O% (%OH@D((4E4DAT# 7 DOBSInc).=:?) O *? A@D %OH@D((4E4DAT# 7 DOBSInc).=:?) P ??) A@D CustS@o LI$# JCVJL #0am"le :) 4#L#CT AcctS@o, T!"e, O"rSMo/e, O"nDt, CurBal, 4tatus >%OM AcctSMstr -F#%# @OT (O"rSMo/e 8 J4IJ O% O"rSMo/e 8 JGOJ)L #0am"le B) 4#L#CT U >%OM TransSMstr -F#%# TOSCFA%(DT, JMMJ) B#T-##@ +, A@D +=L 4#L#CT U >%OM TransSMstr -F#%# TOSCFA%(DT, JMMJ) O8 +, A@D TOSCFA%(DT, JMMJ) P8 +=L #0am"le C) 4#L#CT DI4TI@CT AcctS@o >%OM TransSMstr -F#%# TOSCFA%(DT, JMMJ) @OT B#T-##@ +, A@D +;L #0am"le I) 4#L#CT >name, Lname, DOBSI@C WBirth/ateW, Occu" >%OM CustSMstr -F#%# >name LI$# JChVJL #0am"le ,+) 4#L#CT >name, Lname, DOBSI@C WBirth/ateW, Occu" >%OM CustSMstr -F#%# >name LI$# JSaVJ O% >name LI$# JSsVJL #0am"le ,,) 4#L#CT >name, Lname, DOBSI@C WBirth/ateW, Occu" >%OM CustSMstr -F#%# >name LI$# JIvSSJL #0am"le ,*) 4#L#CT >name, Lname, DOBSI@C WBirth/ateW, Occu" >%OM CustSMstr -F#%# >name I@(JFanselJ, JMamtaJ, J@amitaJ, JArunaJ)L #0am"le ,=) 4#L#CT >name, Lname, DOBSI@C WBirth/ateW, Occu" >%OM CustSMstr -F#%# >name @OT I@(JFanselJ, JMamtaJ, J@amitaJ, JArunaJ)L #0am"le ,;) D#4C DHAL 4#L#CT U >%OM DHALL 4#L#CT *U* >%OM DHALL #0am"le ,?) 4#L#CT 4E4DAT# >%OM DHALL #0am"le ,:) 4#L#CT A6G(CurBal) WAvera e BalanceW >%OM AcctSMstrL #0am"le ,B) 4#L#CT MI@(CurBal) WMinimum BalanceW >%OM AcctSMstrL #0am"le ,C) 4#L#CT COH@T(AcctS@o) W@o. of AccountsW >%OM AcctSMstrL

#0am"le ,I) 4#L#CT MAN(CurBal) WMa0imum BalanceW >%OM AcctSMstrL #0am"le *+) 4#L#CT 4HM(CurBal) WTotal BalanceW >%OM AcctSMstrL #0am"le *,) 4#L#CT AB4(7,?) WA(soluteW >%OM DHALL #0am"le **) 4#L#CT PO-#%(=,*) W%aise/W >%OM DHALL #0am"le *=) 4#L#CT %OH@D(,?.,I,,) W%oun/W >%OM DHALL #0am"le *;) 4#L#CT 41%T(*?) W4Duare %ootW >%OM DHALL 4#L#CT #NP(?) W#0"onentW >%OM DHALL 4#L#CT LOG(*?, ;) WLo W >%OM DHALL 4#L#CT L@(;) WLo W >%OM DHALL 4#L#CT 6A%IA@C#(CharSLen th) W6arianceW >%OM ALLSTABSCOLHM@4L 4#L#CT #NT%ACT(E#A% >%OM DAT# J*++;7+B7+*J) WEearW, #NT%ACT(MO@TF >%OM 4E4DAT#) WMonthW >%OM DHALL 4#L#CT G%#AT#4T(;, ?, ,B) W@umW, G%#AT#4T(J;J, J?J, J,BJ) WTe0tW >%OM DHALL 4#L#CT L#A4T(;, ?, ,B) W@umW, L#A4T(J;J, J?J, J,BJ) WTe0tW >%OM DHALL 4#L#CT MOD(,?, B) WMo/,W, MOD(,?.B, B) WMo/*W >%OM DHALL 4#L#CT T%H@C(,*?.C,?, ,) WTrunc,W, T%H@C(,*?.C,?, 7*) WTrunc*W >%OM DHALL 4#L#CT >LOO%(*;.C) W>lr,W, >LOO%(,=.,?) W>lr*W >%OM DHALL 4#L#CT C#IL(*;.C) WCeil>lr,W,C#IL(,=.,?) WCeil*W >%OM DHALL #0am"le *?) 4#L#CT LO-#%(JI6A@ BAE%O44J) WLo3erW >%OM DHALL #0am"le *:) 4#L#CT I@ITCAP(JI6A@ BAE%O44J) WTitle CaseW >%OM DHALL #0am"le *B) 4#L#CT HPP#%(JMs. CarolJ) WCa"italise/W >%OM DHALL 4#L#CT A4CII(JaJ) WA4CII,W, A4CII(JAaJ) WA4CII*W >%OM DHALL 4#L#CT COMPO4#(JaJ hh H@I4T%(Jc+=+,J)) WCom"ose/W >%OM DHALL

4#L#CT D#COMPO4#(COMPO4#(JaJ hh H@I4T%(Jc+=+,J))) WDecom"ose/W >%OM DHALL 4#L#CT DHMP(J4CTJ) WDum",W, DHMP(J4CTJ, ,+,B) WDum"*W >%OM DHALL 4#L#CT I@4T%(J4CT on the netJ, JtJ) WInstr,W, I@4T%(J4CT on the netJ, JtJ, ,, *) WInstr*W >%OM DHALL 4#L#CT 4OH@D#N(J4CT on the netJ) W4oun/W >%OM DHALL 4#L#CT T%A@4LAT#(J,sct?*=J, J,*=J, JBaIJ) WChan eW >%OM DHALL 4#L#CT 4HB4T%(JThis is a testJ, :, *) W#0tracte/W >%OM DHALL 4#L#CT L#@GTF(J4FA%A@AMJ) WLen thW >%OM DHALL 4#L#CT LT%IM(J@I4FAJ,J@J) WLeftW >%OM DHALL 4#L#CT %T%IM(J4H@ILAJ,JAJ) W%T%IMW >%OM DHALL 4#L#CT T%IM(J Fansel J) WTrim (oth si/esW >%OM DHALL 4#L#CT T%IM(L#ADI@G J0J >%OM J000Fansel000J) W%emove "refi0esW >%OM DHALL 4#L#CT T%IM(BOTF J0J >%OM J000Fansel000J) W%emove "refi0es @ suffi0esW >%OM DHALL 4#L#CT T%IM(BOTF J,J >%OM J,*=Fansel,*,,,J) W%emove strin W >%OM DHALL 4#L#CT LPAD(JPa e ,J,,+,JUJ) WL"a/W >%OM DHALL 4#L#CT %PAD(>name,,+,J0J) W%PAD #0am"leW >%OM CustSMstr -F#%# >name 8 JIvanJL 4#L#CT 64I[#(J4CT on the netJ) W4iAeW >%OM DHALL HPDAT# AcctSMstr 4#T CurBal 8 CurBal T TOS@HMB#%(4HB4T%(J_,++J,*,=))L 4#L#CT TOSCFA%(,B,;?, J_+II,IIIJ) WCharW >%OM DHALL 4#L#CT TOSCFA%(DT, JMonth DD, EEEEJ) W@e3 Date >ormatW >%OM TransSMstr -F#%# TransS@o 8 JT,JL I@4#%T I@TO CH4TSM4T%(CH4TS@O, >@AM#, M@AM#, L@AM#, DOBSI@C) 6ALH#4(JC,J, JIvanJ, J@elsonJ, JBa!rossJ, TOSDAT#(J*?7GH@7,I?* ,+)?? A.M.J, JDD7MO@7EE FF)MI A.M.J))L 4#L#CT ADDSMO@TF4(4E4DAT#, ;) >%OM DHALL 4#L#CT 4E4DAT#, LA4TSDAE(4E4DAT#) WLastDa!W >%OM DHALL 4#L#CT MO@TF4SB#T-##@(J+*7>#B7I*J, J+*7GA@7I*J) WMonthsW >%OM DHALL 4#L#CT @#NTSDAE(J+:7GHLE7+*J, J4atur/a!J) W@#NT DAEW >%OM DHALL 4#L#CT T%H@C(ToSDate(J+,7GHL7+;J), JE#A%J) WEearW >%OM DHALL 4#L#CT %OH@D(TOSDAT#(J+,7GHL7+;J), JE#A%J) WEearW >%OM DHALL

4#L#CT @#-STIM#(TOSDAT#(J*++;.+B.+, +,);?J, J!!!!.mm.// FF*;)MIJ), JA4TJ, JM4TJ) WM4TW >%OM DHALL 4#L#CT TOSCFA%(4E4DAT#, JDD7MM7EEJ) >%OM DHALL 4#L#CT TOSDAT# (J+:.+B.+*J, JDD.MM.EEJ) >%OM DHALL 4#L#CT TransS@o, AcctS@o, TOSCFA%(DT, JDD.MM.EEJ) WTransaction DateW, Particular, D%SC%, Amt, Balance >%OM TransSMstr -F#%# AcctS@o 8 J4BIJ O%D#% BE TOSCFA%(DT, JMMJ)L I@4#%T I@TO CustSMstr (CustS@o, >name, Lname, Do(SInc) 6ALH#4(JC,++J, J4haranamJ, J4hahJ, TOSDAT#(J+=.Gan.,IC, ,*)*=)++J, JDD.MO@.EE hh)mi)ssJ))L 4#L#CT CustS@o, >name, Lname, Do(SInc >%OM CustSMstr -F#%# CustS@o LI$# JCSJL 4#L#CT CustS@o, >name, Lname, TOSCFA%(DOBSInc, JDDTF7MO@7EEJ) WDOBSDDTFW >%OM CustSMstr -F#%# CustS@o LI$# JCSJL 4#L#CT CustS@o, >name, Lname, TOSCFA%(Do(SInc, JDD4PJ) WDOBSDD4PW >%OM CustSMstr -F#%# CustS@o LI$# JCSJL 4#L#CT CustS@o, >name, Lname, TOSCFA%(Do(SInc, JDD4PTFJ) WDOBSDD4PTFW >%OM CustSMstr -F#%# CustS@o LI$# JCSJL 4#L#CT HID >%OM DHALL 4#L#CT H4#% >%OM DHALL 4#L#CT 4E4SCO@T#NT(JH4#%#@6J, J@L4SDAT#S>O%MATJ) W4!sConte0tW >%OM DHALL 4#L#CT H4#%#@6(JLA@GHAG#J) >%OM DHALL 4#L#CT COAL#4C#(ADD%,, ADD%*, CITE) A//r >%OM ADD%SDTL4L #0am"le ,) 4#L#CT B%A@CFS@O WBranch @o.W, COH@T(#MPS@O) W@o. Of #m"lo!eesW >%OM #MPSM4T% G%OHP BE B%A@CFS@OL #0am"le *) 4#L#CT 6#%IS#MPS@O W#m". @o.W, COH@T(ACCTS@O) W@o. Of A.Cs 6erifie/W >%OM ACCTSM4T% G%OHP BE 6#%IS#MPS@OL #0am"le =) 4#L#CT B%A@CFS@O WBranch @o.W, TEP# WA.C T!"eW, COH@T(ACCTS@O) W@o. Of A.CsW >%OM ACCTSM4T% G%OHP BE B%A@CFS@O, TEP#L #0am"le ;) 4#L#CT CH4TS@O, COH@T(ACCTS>DS@O) W@o. Of A.Cs Fel/W >%OM ACCTS>DSCH4TSDTL4 -F#%# ACCTS>DS@O LI$# JCAVJ O% ACCTS>DS@O LI$# J4BVJ G%OHP BE CH4TS@O FA6I@G COH@T(ACCTS>DS@O)O,L

#0am"le ?) 4#L#CT B%A@CFS@O, COH@T(ACCTS@O) W@o. Of A.Cs Activate/W >%OM ACCTSM4T% -F#%# TOSCFA%(OP@DT, JDD7MM7EEEEJ) O J+=7+,7*++=J G%OHP BE B%A@CFS@O FA6I@G COH@T(ACCTS@O) O ,L #0am"le :) 4#L#CT CH4TS@O, COH@T(ACCTS>DS@O) W@o. Of A.Cs Or >Ds Fel/W >%OM ACCTS>DSCH4TSDTL4 G%OHP BE CH4TS@O FA6I@G COH@T(ACCTS>DS@O) 8 ,L #0am"le B) 4#L#CT CH4TS@O, COH@T(ACCTS>DS@O) W@o. Of A.Cs or >Ds Fel/W >%OM ACCTS>DSCH4TSDTL4 G%OHP BE CH4TS@O FA6I@G COH@T(ACCTS>DS@O) O ,L #0am"le C) 4#L#CT >DS4#%S@O, >DS@O, 4HM(AMT), 4HM(DH#AMT) >%OM >DSDTL4 G%OHP BE %OLLHP (>DS4#%S@O, >DS@O)L #0am"le I) 4#L#CT B%A@CFS@O, ACCTS@O, 4HM(CH%BAL) >%OM ACCTSM4T% G%OHP BE CHB# (B%A@CFS@O, ACCTS@O)L #0am"le ,+) 4#L#CT COD#S@O WCust. @o.W, ADD%, hh J J hh ADD%* hh J J hh CITE hh J, J hh 4TAT# hh J, J hh PI@COD# WA//ressW >%OM ADD%SDTL4 -F#%# COD#S@O I@(4#L#CT CH4TS@O >%OM CH4TSM4T% -F#%# >@AM# 8 JIvanJ A@D L@AM# 8 JBa!rossJ)L 4#L#CT CH4TS@O >%OM CH4TSM4T% -F#%# >@AM# 8 JI6A@J A@D L@AM# 8 JBAE%O44JL 4#L#CT COD#S@O WCust. @o.W, ADD%, hh J J hh ADD%* hh J J hh CITE hh J, J hh 4TAT# hh J, J hh PI@COD# WA//ressW >%OM ADD%SDTL4 -F#%# COD#S@O I@(JC,J)L #0am"le ,,) 4#L#CT (>@AM# hh J J hh L@AM#) WCustomerW >%OM CH4TSM4T% -F#%# CH4TS@O I@(4#L#CT COD#S@O >%OM ADD%SDTL4 -F#%# COD#S@O LI$# JCVJ A@D PI@COD# @OT I@(4#L#CT PI@COD# >%OM ADD%SDTL4 -F#%# COD#S@O LI$# JBVJ))L 4#L#CT PI@COD# >%OM ADD%SDTL4 -F#%# COD#S@O LI$# JBVJL 4#L#CT (>@AM# hh J J hh L@AM#) WCustomerW >%OM CH4TSM4T% -F#%# CH4TS@O I@(4#L#CT COD#S@O >%OM ADD%SDTL4 -F#%# COD#S@O LI$# JCVJ A@D PI@COD# @OT I@(J;+++?BJ, J;+++?CJ, J;++++;J, J;+++;?J, J;+++BCJ, J,,+++;J))L 4#L#CT COD#S@O >%OM ADD%SDTL4 -F#%# COD#S@O LI$# JCVJ A@D PI@COD# @OT I@(J;+++?BJ, J;+++?CJ, J;++++;J, J;+++;?J, J;+++BCJ, J,,+++;J)L 4#L#CT (>@ame hh J J hh L@ame) WCustomerW >%OM CustSMstr -F#%# CustS@o I@(JC,J, JC*J, JC=J, JC;J, JC?J, JC:J, JCBJ, JCCJ, JCIJ, JC,+J)L #0am"le ,*) 4#L#CT (>@AM# hh J J hh L@AM#) WCustomerW >%OM CH4TSM4T% -F#%# CH4TS@O I@(4#L#CT CH4TS@O >%OM ACCTS>DSCH4TSDTL4 -F#%# ACCTS>DS@O I@(4#L#CT >DS4#%S@O >%OM >DSDTL4 -F#%# AMT O ?+++))L 4#L#CT >DS4#%S@O >%OM >DSDTL4 -F#%# AMT O ?+++L 4#L#CT (>@AM# hh J J hh L@AM#) WCustomerW >%OM CH4TSM4T% -F#%# CH4TS@O I@(4#L#CT CH4TS@O >%OM ACCTS>DSCH4TSDTL4 -F#%# ACCTS>DS@O I@(J>4,J, J>4*J, J>4*J, J>4?J))L

4#L#CT CH4TS@O >%OM ACCTS>DSCH4TSDTL4 -F#%# ACCTS>DS@O I@(J>4,J, J>4*J, J>4*J, J>4?J)L 4#L#CT (>@AM# hh J J hh L@AM#) WCustomerW >%OM CH4TSM4T% -F#%# CH4TS@O I@(JC*J, JC=J, JC;J, JC?J, JC?J, JC?J)L #0am"le ,=) #0am"le ,;) 4#L#CT L#@GTF(Cit!), COH@T(A//rSDtls.Co/eS@o) W@o. Of CustomersW >%OM A//rSDtls -F#%# Co/eS@o LI$# JCVJ G%OHP BE A//rSDtls.Cit!L 4#L#CT A//rSDtls.Cit! WLenW, COH@T(A//rSDtls.Co/eS@o) W@o. Of CustomersW >%OM A//rSDtls -F#%# Co/eS@o LI$# JCVJ G%OHP BE LenL 4#L#CT A//rSDtls.Cit!, COH@T(A//rSDtls.Co/eS@o) W@o. Of CustomersW >%OM A//rSDtls -F#%# Co/eS@o LI$# JCVJ G%OHP BE ,L #0am"le ) 4#L#CT BranchS@o, AcctS@o, 4HM(CurBal) >%OM AcctSMstr -F#%# T!"e 8 JCAJ A@D Cor"SCustS@o I4 @OT @HLL G%OHP BE %OLLHP (BranchS@o, AcctS@o)L #0am"le ) 4#L#CT BranchS@o, AcctS@o, 4HM(CurBal) >%OM AcctSMstr -F#%# T!"e 8 JCAJ A@D Cor"SCustS@o I4 @OT @HLL G%OHP BE CHB# (BranchS@o, AcctS@o)L #0am"le ) 4#L#CT Co/eS@o WCust. @o.W, A//r, hh J J hh A//r* hh J J hh Cit! hh J, J hh 4tate hh J, J hh Pinco/e WA//ressW >%OM A//rSDtls -F#%# Co/eS@o I@(4#L#CT CustS@o >%OM CustSMstr -F#%# >@ame 8 JIvanJ A@D L@ame 8 JBa!rossJ)L #0am"le ) 4#L#CT A.AcctS@o, A.CurBal, A.BranchS@o, B.Av Bal >%OM AcctSMstr A, (4#L#CT BranchS@o, A6G(CurBal) Av Bal >%OM AcctSMstr G%OHP BE BranchS@o) B -F#%# A.BranchS@o 8 B.BranchS@o A@D A.CurBal O B.Av BalL #0am"le ) 4#L#CT AcctS@o, CurBal, BranchS@o >%OM AcctSMstr A -F#%# CurBal O (4#L#CT A6G(CurBal) >%OM AcctSMstr -F#%# BranchS@o 8 A.BranchS@o)L #0am"le ) 4#L#CT >@ame, L@ame >%OM CustSMstr -F#%# (>@ame, L@ame) I@(4#L#CT >@ame, L@ame >%OM #MPSM4T%)L #0am"le ) 4#L#CT #m"S@o, (>@ame hh J J hh L@ame) W@ameW, De"t >%OM #m"SMstr # O%D#% BE (4#L#CT @ame >%OM BranchSMstr B -F#%# #.BranchS@o 8 B.BranchSno)L

#0am"le ) 4#L#CT #m"S@o, >@ame, L@ame >%OM #m"SMstr # -F#%# #NI4T4(4#L#CT J4CTJ >%OM AcctSMstr -F#%# 6eriS#m"S@o 8 #.#m"S@o)L #0am"le ) 4#L#CT BranchS@o, @ame >%OM BranchSMstr B -F#%# @OT #NI4T4(4#L#CT J4CTJ >%OM #m"SMstr -F#%# BranchS@o 8 B.BranchS@o)L #0am"le ) 4#L#CT #.#m"S@o, (#.>@ame hh J J hh #.M@ame hh J J hh #.L@ame) W@ameW, B.@ame WBranchW, #.De"t, #.Desi >%OM #m"SMstr # I@@#% GOI@ BranchSMstr B O@ B.BranchS@o 8 #.BranchS@oL 4#L#CT #.#m"S@o, (#.>@ame hh J J hh #.M@ame hh J J hh #.L@ame) W@ameW, B.@ame WBranchW, #.De"t, #.Desi >%OM #m"SMstr #, BranchSMstr B -F#%# B.BranchS@o 8 #.BranchS@oL #0am"le ) 4#L#CT (#.>@ame hh J J hh #.L@ame) W@ameW, #.De"t, C.CntcST!"e, C.CntcSData >%OM #m"SMstr # L#>T GOI@ CntcSDtls C O@ #.#m"S@o 8 C.Co/eS@oL 4#L#CT (#.>@ame hh J J hh #.L@ame) W@ameW, #.De"t, C.CntcST!"e, C.CntcSData >%OM #m"SMstr #, CntcSDtls C -F#%# #.#m"S@o 8 C.Co/eS@o(T)L

#0am"le ) 4#L#CT #m".>name W#m"lo!eeW, Mn r.>name WMana erW >%OM #m"SMstr #m", #m"SMstr Mn r -F#%# #m".Mn rS@o 8 Mn r.#m"S@oL #0am"le ) 4#L#CT >irst.IntroSCustS@o WCust. @o.W, (4#L#CT >name hh J J hh Lname >%OM CustSMstr -F#%# CustS@o 8 >irst.IntroSCustS@o) WCustomerW, >irst.AcctS@o >%OM AcctSMstr >irst, AcctSMstr 4econ/ -F#%# >irst.IntroSCustS@o 8 4econ/.IntroSCustS@o A@D >irst.AcctSno PO 4econ/.AcctSnoL #0am"le ) 4#L#CT JAccount @o. J hh AcctS@o hh J 3as intro/uce/ (! Customer @o. J hh IntroSCustS@o hh J At Branch @o. J hh BranchS@o >%OM AcctSMstrL 4#L#CT JAccount @o. J hh AcctS@o hh J 3as intro/uce/ (! Customer @o. J hh IntroSCustS@o hh J At Branch @o. J hh BranchS@o WAccounts O"ene/W >%OM AcctSMstrL #0am"le ) 4#L#CT CustS@o WIDW, >name hh J J hh Lname WCustomer . #m"lo!eesW >%OM CustSMstr, A//rSDtls -F#%# CustSMstr.CustS@o 8 A//rSDtls.Co/eS@o A@D A//rSDtls.Cit! 8 JMum(aiJ A@D A//rSDtls.Co/eS@o LI$# JCVJ H@IO@

4#L#CT #m"S@o WIDW, >name hh J J hh Lname WCustomer . #m"lo!eesW >%OM #m"SMstr, A//rSDtls -F#%# #m"SMstr.#m"S@o 8 A//rSDtls.Co/eS@o A@D A//rSDtls.Cit! 8 JMum(aiJ A@D A//rSDtls.Co/eS@o LI$# J#VJL 4#L#CT CustS@o WIDW, >name hh J J hh Lname WCustomer . #m"lo!eesW >%OM CustSMstr, A//rSDtls -F#%# CustSMstr.CustS@o 8 A//rSDtls.Co/eS@o A@D A//rSDtls.Cit! 8 JMum(aiJ A@D A//rSDtls.Co/eS@o LI$# JCVJL 4#L#CT #m"S@o WIDW, >name hh J J hh Lname W Customer . #m"lo!eesW >%OM #m"SMstr, A//rSDtls -F#%# #m"SMstr.#m"S@o 8 A//rSDtls.Co/eS@o A@D A//rSDtls.Cit! 8 JMum(aiJ A@D A//rSDtls.Co/eS@o LI$# J#VJL #0am"le ) 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# JCAVJ O% AcctS>DS@o LI$# J4BVJ I@T#%4#CT 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# J>4VJL 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# JCAVJ O% AcctS>DS@o LI$# J4BVJL 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# J>4VJL #0am"le ) 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# JCAVJ O% AcctS>DS@o LI$# J4BVJ MI@H4 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# J>4VJL 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# JCAVJ O% AcctS>DS@o LI$# J4BVJL 4#L#CT DI4TI@CT CustS@o >%OM AcctS>DSCustSDtls -F#%# AcctS>DS@o LI$# J>4VJL A//ress >iel/ In The In/e0 4#L#CT %O-ID, ACCTS@O >%OM ACCTSM4T%L #0am"le ,) 4#L#CT ACCTS@O, OP@DT, 6#%IS#MPS@O >%OM ACCTSM4T% -F#%# 6#%IS#MPS@O 8 J#,JL #0am"le *) 4#L#CT ACCTS@O, OP@DT, 6#%IS#MPS@O >%OM ACCTSM4T% -F#%# 6#%IS#MPS@O 8 J#,JL #0am"le =) C%#AT# I@D#N i/06eri#m"@o O@ ACCTSM4T% (6#%IS#MPS@O)L #0am"le ;) C%#AT# I@D#N i/0TransAcct@o O@ T%A@4SM4T% (T%A@4S@O, ACCTS@O)L #0am"le ?) C%#AT# H@I1H# I@D#N i/0SCust@o O@ CH4TSM4T% (CH4TS@O)L #0am"le :)

C%#AT# I@D#N i/0SCust@o O@ CH4TSM4T% (CH4TS@O) %#6#%4#L #0am"le B) ALT#% I@D#N i/0SCust@o %#BHILD @O%#6#%4#L #0am"le C) C%#AT# BITMAP I@D#N (iti/0STrans@o O@ T%A@4SDTL4 (T%A@4S@O)L #0am"le I) C%#AT# I@D#N i/0S@ame O@ CH4TSM4T% (HPP#%(>@AM#))L #0am"le ,+) D%OP I@D#N i/0SCust@oL #0am"le ,,) D#L#T# >%OM #MPSM4T% -F#%# %O-ID @OT I@(4#L#CT MI@(%O-ID) >%OM #MPSM4T% G%OHP BE #MPS@O, >@AM#, D#PT)L D#L#T# >%OM #MPSM4T% -F#%# %O-ID @OT I@(JAAAFe(AABAAAM6DAAAJ, JAAAFe(AABAAAM6DAABJ, JAAAFe(AABAAAM6DAACJ, JAAAFe(AABAAAM6DAADJ, JAAAFe(AABAAAM6DAA#J, JAAAFe(AABAAAM6DAA>J, JAAAFe(AABAAAM6DAAGJ, JAAAFe(AABAAAM6DAAFJ, JAAAFe(AABAAAM6DAAIJ, JAAAFe(AABAAAM6DAAGJ)L 4#L#CT #MPS@O, >@AM#, D#PT >%OM #MPSM4T%L #0am"le ,*) 4#L#CT %O-@HM, B%A@CFS@O, @AM# >%OM B%A@CFSM4T% -F#%# %O-@HM P ;L #0am"le ,=) C%#AT# 6I#- v3SCustomers A4 4#L#CT U >%OM CH4TSM4T%L #0am"le ,;) C%#AT# 6I#- v3S#m"lo!ees A4 4#L#CT >@AM#, M@AM#, L@AM#, D#PT >%OM #MPSM4T%L #0am"le ,?) C%#AT# 6I#- v3STransactions A4 4#L#CT ACCTS@O WAccount @o.W, DT WDateW, T!"e, D%SC% WMo/eW, AMT WAmountW >%OM T%A@4SM4T%L #0am"le ,?) 4#L#CT >@AM#, L@AM#, D#PT >%OM v3S#m"lo!ees -F#%# D#PT I@(JMar2etin J, JLoans An/ >inancin J)L #0am"le ,:) C%#AT# 6I#- v3S@ominees A4 4#L#CT @OMI@##S@O, ACCTS>DS@O, @AM# >%OM @OMI@##SM4T%L -hen an I@4#%T o"eration is "erforme/ usin the vie3)

I@4#%T I@TO v3S@ominees 6ALH#4(J@,++J, J4B;=*J, J4haranamJ)L #0am"le ,B) C%#AT# 6I#- v3SBranch A4 4#L#CT B%A@CFS@O, @AM#, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD# >%OM B%A@CFSM4T%, ADD%SDT4 -F#%# ADD%SDTL4.COD#S@O 8 B%A@CFSM4T%.B%A@CFS@OL -hen an I@4#%T o"eration is "erforme/ usin the vie3 I@4#%T I@TO v3SBranch 6ALH#4(JBBJ, JDahisarJ, JBJ, J6erte0 PlaAa, 4ho" ;,J, J-estern #0"ress Fi h3a!, Dahisar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L #0am"le ,C) D%OP 6I#- v3SBranchL #0am"le ,I) C%#AT# CLH4T#% WDBASBA@$4E4W.WB%A@CFSI@>OW(WB%A@CFS@OW 6A%CFA%*(,+))L C%#AT# TABL# WDBASBA@$4E4W.WB%A@CFSM4T%W( WB%A@CFS@OW 6A%CFA%*(,+) P%IMA%E $#E, W@AM#W 6A%CFA%*(*?)) CLH4T#% B%A@CFSI@>O(B%A@CFS@O)L C%#AT# TABL# WDBASBA@$4E4W.WADD%SDTL4W( WADD%S@OW @HMB#%(:) P%IMA%E $#E, WCOD#S@OW 6A%CFA%*(,+), WADD%STEP#W 6A%CFA%*(,), WADD%,W 6A%CFA%*(?+), WADD%*W 6A%CFA%*(?+), WCITEW 6A%CFA%*(*?), W4TAT#W 6A%CFA%*(*?), WPI@COD#W 6A%CFA%*(:))L CLH4T#% B%A@CFSI@>O(B%A@CFS@O)L #0am"le *+) C%#AT# 4#1H#@C# ADD%S4#1 I@C%#M#@T BE , 4TA%T -ITF , MI@6ALH# , MAN6ALH# III CECL#L #0am"le *,) I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(ADD%S4#1.@e0t6al, JB?J, JBJ, J6erte0 PlaAa, 4ho" ;,J, J-estern #0"ress Fi h3a!, Dahisar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L #0am"le **) I@4#%T I@TO ADD%SDTL4 (ADD%S@O, COD#S@O, ADD%STEP#, ADD%,, ADD%*, CITE, 4TAT#, PI@COD#) 6ALH#4(TOSCFA%(4E4DAT#, JMMEE) hh TOSCFA%(ADD%S4#1.@e0t6al), JB?J, JBJ, J6erte0 PlaAa, 4ho" ;,J, J-estern #0"ress Fi h3a!, Dahisar (#ast),J, JMum(aiJ, JMaharashtraJ, J;+++BCJ)L #0am"le *=) ALT#% 4#1H#@C# ADD%S4#1 I@C%#M#@T BE * CACF# =+L #0am"le *;)

D%OP 4#1H#@C# ADD%S4#1L #0am"le *?) C%#AT# 4@AP4FOT @#-S#MP PCT>%## ,+ PCTH4#D B+ TABL#4PAC# 4!stem 4TO%AG# (I@ITIAL ?+$ @#NT ?+$ PCTI@C%#A4# +) %#>%#4F 4TA%T -ITF %OH@D(4E4DAT# T B) T *.*; @#NT @#NTSDAT#(T%H@C(4E4DAT#, JMO@DAEJ) T *.*; A4 4#L#CT U >%OM #MPSM4T%L #0am"le *:) D%OP 4@AP4FOT @e3SClient ,*. 4#CH%ITE MA@AG#M#@T H4I@G 41L G%A@TI@G A@D %#6O$I@G P#%MI44IO@4 #0am"le ,) G%A@T ALL O@ #MPSM4T% TO 4haranamL #0am"le *) G%A@T 4#L#CT, HPDAT# O@ CH4TSM4T% TO FanselL #0am"le =) G%A@T ALL O@ ACCTSM4T% TO Ivan -ITF G%A@T OPTIO@L #0am"le ;) 4#L#CT U >%OM 4haranam.>DSM4T%L #0am"le ?) G%A@T 4#L#CT O@ 6aishali.T%A@4SM4T% TO Chha!aL #0am"le :) %#6O$# D#L#T# O@ @OMI@##SM4T% >%OM AnilL #0am"le B) %#6O$# ALL O@ @OMI@##SM4T% >%OM AnilL #0am"le C) %#6O$# 4#L#CT O@ Ale0.>D4LABSM4T% >%OM %oc2!L ,=. OOP4 I@ O%ACL# O%ACL# Ii DATABA4# >LA6OH%4 #0am"le ,) C%#AT# TEP# ADD%#44STE A4 OBG#CT( 4T%##T 6A%CFA%*(?+), CITE 6A%CFA%*(*?), 4TAT# 6A%CFA%*(*?), [IP @HMB#%)L #0am"le *) C%#AT# TEP# P#%4O@STE A4 OBG#CT( @AM# 6A%CFA%*(*?), ADD%#44 ADD%#44STE)L

#0am"le =) C%#AT# TEP# ADD%#44STE A4 OBG#CT( 4T%##T 6A%CFA%* (?+), CITE 6A%CFA%* (*?), 4TAT# 6A%CFA%* (*?), [IP @HMB#%)L #0am"le ;) C%#AT# TEP# P#%4O@STE A4 OBG#CT( @AM# 6A%CFA%* (*?), ADD%#44 ADD%#44STE)L #0am"le ?) C%#AT# TABL# CH4TOM#%( CH4TOM#%SID @HMB#%, P#%4O@ P#%4O@STE)L #0am"le :) D#4C CH4TOM#%L #0am"le B) D#4C P#%4O@STEL #0am"le C) D#4C ADD%#44STEL #0am"le I) 4#L#CT COLHM@S@AM#, DATASTEP# >%OM H4#%STABSCOLHM@4 -F#%# TABL#S@AM# 8 JCH4TOM#%JL #0am"le ,+) 4#L#CT ATT%S@AM#, L#@GTF, ATT%STEP#S@AM# >%OM H4#%STEP#SATT%4 -F#%# TEP#S@AM# 8 JP#%4O@STEJL #0am"le ,,) 1uer! H4#%STEP#SATT%4 a ain to see the attri(utes of the ADD%#44STE /atat!"e) 4#L#CT ATT%S@AM#, L#@GTF, ATT%STEP#S@AM# >%OM H4#%STEP#SATT%4 -F#%# TEP#S@AM# 8 JADD%#44STEJL #0am"le ,*) I@4#%T I@TO CH4TOM#% 6ALH#4(,, P#%4O@STE(J4haranamJ, ADD%#44STE(JDa/arJ, JMum(aiJ, JMaharashtraJ, ;+++,:)))L I@4#%T I@TO CH4TOM#% 6ALH#4(*, P#%4O@STE (J6aishaliJ, ADD%#44STE (JBal ovin//as %/J, JMum(aiJ, JMaharashtraJ, ;+++,:)))L #0am"le ,=) 4#L#CT CH4TOM#%SID >%OM CH4TOM#%L

#0am"le ,;) 4#L#CT U >%OM CH4TOM#%L #0am"le ,?) 4#L#CT CH4TOM#%SID, CLI#@T.P#%4O@.@AM# >%OM CH4TOM#% CLI#@TL #0am"le ,:) 4#L#CT CLI#@T.P#%4O@.ADD%#44.4T%##T >%OM CH4TOM#% CLI#@TL #0am"le ,B) 4#L#CT CLI#@T.P#%4O@.@AM#, CLI#@T.P#%4O@.ADD%#44.CITE >%OM CH4TOM#% CLI#@T -F#%# CLI#@T.P#%4O@.ADD%#44.CITE LI$# JMVJL #0am"le ,C) HPDAT# CH4TOM#% CLI#@T 4#T CLI#@T.P#%4O@.ADD%#44.CITE 8 JBom(a!J -F#%# CLI#@T.P#%4O@.ADD%#44.CITE 8 JMum(aiJL #0am"le ,I) D#L#T# >%OM CH4TOM#% CLI#@T -F#%# CLI#@T.P#%4O@.ADD%#44.4T%##T 8 JDa/arJL #0am"le *+) C%#AT# O% %#PLAC# TEP# ADD%#44STE A4 OBG#CT( 4T%##T 6A%CFA%* (?+), CITE 6A%CFA%* (*?), 4TAT# 6A%CFA%* (*?), [IP @HMB#%)L @e0t, create P#%4O@STE that uses ADD%#44STE) C%#AT# O% %#PLAC# TEP# P#%4O@STE A4 OBG#CT( @AM# 6A%CFA%* (*?), ADD%#44 ADD%#44STE)L @e0t, create CH4TOM#%STE that uses P#%4O@STE) C%#AT# O% %#PLAC# TEP# CH4TOM#%STE A4 OBG#CT( CH4TOM#%SID @HMB#%, P#%4O@ P#%4O@STE)L C%#AT# O% %#PLAC# 6I#- CH4TOM#%SO6 (CH4TOM#%SID, P#%4O@) A4 4#L#CT CH4TOM#%SID, P#%4O@STE (@AM#, ADD%#44STE (4T%##T, CITE, 4TAT#, [IP)) >%OM CH4TOM#%L I@4#%T I@TO CH4TOM#% 6ALH#4(,, J4haranamJ, JDa/arJ, JMum(aiJ, JMaharashtraJ, ;+++,:)L I@4#%T I@TO CH4TOM#% 6ALH#4(*, J6aishaliJ, JBal ovin//as %/J, JMum(aiJ, JMaharashtraJ,;+++,:)L I@4#%T I@TO CH4TOM#% 6ALH#4(=, JFanselJ, JDar!a %/J, JAhem/a(a/J, JGu&aratJ, =+++;*)L #0am"le *,) C%#AT# O% %#PLAC# 6I#- CH4TOM#%SO6 (CH4TOM#%SID, P#%4O@) A4 4#L#CT CH4TOM#%SID, P#%4O@STE (@AM#, ADD%#44STE (4T%##T, CITE, 4TAT#, [IP)) >%OM CH4TOM#% -F#%# 4TAT# 8 JMaharashtraJL #0am"le **) I@4#%T I@TO CH4TOM#% 6ALH#4(;, J4ilicon Chi" Technolo iesJ, JA.? Ga! Cham(ersJ, J6ile Parle (#)J, JMaharashtraJ, ;+++?B)L

#0am"le *=) I@4#%T I@TO CH4TOM#%SO6 6ALH#4(?, P#%4O@STE (JGas"er InternationalJ, ADD%#44STE (JA.B Ga! Cham(ersJ, J6ile Parle (#)J, JMaharashtraJ, ;+++?B)))L #0am"le *;) ,. >or creatin TEP# ADD%#44STE) C%#AT# O% %#PLAC# TEP# ADD%#44STE A4 OBG#CT( 4T%##T 6A%CFA%*(?+), CITE 6A%CFA%*(*?), 4TAT# 6A%CFA%*(*?), [IP @HMB#%)L *. >or creatin TEP# @AM#STE) C%#AT# O% %#PLAC# TEP# @AM#STE A4 OBG#CT( @AM# 6A%CFA%*(*?), ADD%#44 ADD%#44STE)L =. >or creatin TEP# D#P#@D#@TSTE) C%#AT# O% %#PLAC# TEP# D#P#@D#@TSTE A4 OBG#CT( %#LATIO@ 6A%CFA%*(,?), @AM# @AM#STE, AG# @HMB#%)L ;. >or creatin a @#4T#D TABL#)

C%#AT# O% %#PLAC# TEP# D#P#@D#@TSLI4T A4 TABL# O> D#P#@D#@TSTEL ?. >or creatin TEP# #MPLOE##SI@>OSTE)

C%#AT# O% %#PLAC# TEP# #MPLOE##SI@>OSTE A4 OBG#CT( #MPLOE##SID @HMB#%(?), @AM# @AM#STE, 4ALA%E @HMB#%(,+,*), D#PTSID @HMB#%(?), D#P#@D#@T4 D#P#@D#@TSLI4T)L :. >or creatin the TABL# #MPLOE##SI@>O of the TEP# #MPLOE##SI@>OSTE)

C%#AT# TABL# #MPLOE##SI@>O O> #MPLOE##SI@>OSTE OIDI@D#N OIDS#MPLOE##SI@>O @#4T#D TABL# D#P#@D#@T4 4TO%# A4 D#P#@D#@T4STEL

,.

Insertin values in the neste/ ta(le)

I@4#%T I@TO #MPLOE##SI@>O #MP 6ALH#4(,, @AM#STE(J4haranamJ, ADD%#44STE(JGAE Cham(ersJ, J6IL# PA%L#J, JMHMBAIJ, ;+++?B)),C+++,,+, D#P#@D#@TSLI4T( D#P#@D#@TSTE(J4isterJ, @AM#STE(J4tutiJ, ADD%#44STE(JBal ovin//as %DJ, JDa/arJ, JMum(aiJ, ;+++,:)), ,I), D#P#@D#@TSTE(JMotherJ, @AM#STE(JGo"iJ, ADD%#44STE(JBal ovin//as %DJ, JDa/arJ, JMum(aiJ, ;+++,:)), ;+), D#P#@D#@TSTE(J>atherJ, @AM#STE(JChaitan!aJ, ADD%#44STE(JBal ovin//as %DJ, JDa/arJ, JMum(aiJ, ;+++,:)), ;*)))L *. Insertin onl! /etail ta(le values in the neste/ ta(le)

I@4#%T I@TO TF# (4#L#CT D#P#@D#@T4 >%OM #MPLOE##SI@>O) D#P#@D4 6ALH#4(D#P#@D#@TSTE(J>rien/J, @AM#STE(J6aishaliJ, ADD%#44STE(JBal ovin//as %/J, JDa/arJ, JMum(aiJ, ;+++,:)),*=))L I@4#%T I@TO TF# (4#L#CT D#P#@D#@T4 >%OM em"lo!eeSinfo) D#P#@D4

6ALH#4(D#P#@D#@TSTE(JCollea ueJ, @AM#STE(JFanselJ, ADD%#44STE(J4u(hash %/J, JParleJ, JMum(aiJ, ;+++?B)), **))L =. H"/atin values of a chil/ recor/ in the neste/ ta(le)

HPDAT# TF# (4#L#CT D#P#@D#@T4 >%OM #MPLOE##SI@>O) D#P#@D4 4#T D#P#@D4.%#LATIO@ 8 J-ifeJ -F#%# D#P#@D4.%#LATIO@ 8 J>rien/JL ;. Deletin values of a chil/ recor/ in the neste/ ta(le)

D#L#T# TF# (4#L#CT D#P#@D#@T4 >%OM #MPLOE##SI@>O) D#P#@D4 -F#%# D#P#@D4.%#LATIO@ 8 JCollea ueJL #0am"le *?) C%#AT# TABL# COMPA@ESI@>O(@AM# 6A%CFA%*(?+), ADD%#44 6A%CFA%*(,+++))L #0am"le *:) C%#AT# TEP# COMPA@ESADD%#44STE A4 6A%%AE(=) O> 6A%CFA%*(,+++)L #0am"le *B) C%#AT# TABL# COMPA@ESI@>O( COMPA@ES@AM# 6A%CFA%*(?+), ADD%#44 COMPA@ESADD%#44STE)L #0am"le *C) D#4C COMPA@ESI@>OL #0am"le *I) 4#L#CT COLHM@S@AM#, DATASTEP# >%OM H4#%STABSCOLHM@4 -F#%# TABL#S@AM# 8 JCOMPA@ESI@>OJL #0am"le =+) 4#L#CT TEP#COD#, ATT%IBHT#4 >%OM H4#%STEP#4 -F#%# TEP#S@AM# 8 JCOMPA@ESADD%#44STEJL #0am"le =,) 4#L#CT TEP#S@AM#, COLLSTEP#, HPP#%SBOH@D >%OM H4#%SCOLLSTEP#4 -F#%# TEP#S@AM# 8 JCOMPA@ESADD%#44STEJL #0am"le =*) I@4#%T I@TO COMPA@ESI@>O 6ALH#4(J4ilicon Chi" Technolo iesJ, COMPA@ESADD%#44STE(JA.? Ga! Cham(ers, 4ervice %oa/, 6ile Parle (#), Mum(ai ?BJ, @HLL, @HLL))L I@4#%T I@TO COMPA@ESI@>O 6ALH#4(JGas"er InternationalJ, COMPA@ESADD%#44STE(J4.D.> II, 4ee"A, An/heri(#), Mum(aiJ, JABBA Fouse, MIDC, An/heri (#), Mum(aiJ, J#mmar Commercial Com"le0, A.?7;+B, 4.6. %oa/, Borivli(-)J))L #0am"les >or The Hse Of %#> ,. >or creatin a TEP# o(&ect) C%#AT# TEP# D#PTSTE A4 OBG#CT(

D@AM# 6A%CFA%*(,++), ADD%#44 6A%CFA%*(*++))L *. >or creatin a TABL# o(&ect usin the a(ove TEP# o(&ect) C%#AT# TABL# D#PT O> D#PTSTEL =. >or creatin a TABL# o(&ect that references to the TEP# o(&ect an/ also s"ecifies the 4COP#) C%#AT# TABL# #MP( #@AM# 6A%CFA%*(,++), #@HMB#% @HMB#%, #D#PT %#> D#PTSTE 4COP# I4 D#PT)L ;. >or insertin values in the D#PT ta(le) I@4#%T I@TO D#PT 6ALH#4(D#PTSTE(J4alesJ, J?+, Bali a 4treetJ))L I@4#%T I@TO D#PT 6ALH#4(D#PTSTE(JAccountsJ, JC; Dar!a Gan&J))L ?. >or vie3in the D#PT ta(le) 4#L#CT U >%OM D#PTL :. >or vie3in the %#> from the D#PT ta(le) 4#L#CT %#>(D) >%OM D#PT DL B. >or insertin a ro3 into the #MP ta(le for an em"lo!ee in 4ales /e"artment) I@4#%T I@TO #MP 4#L#CT J@irmal Pan/e!J, ,, %#>(/) >%OM D#PT D -F#%# D.D@AM# 8 J4alesJL C. >or vie3in recor/s from the #MP ta(le) 4#L#CT U >%OM #MPL I. >or vie3in the #@AM#, #@HMB#% an/ the /etails of #D#PT column of the #MP ta(le usin the D#%#> routine) 4#L#CT #@AM#, #@HMB#%, D#%#> (#D#PT) >%OM #MPL ,;. AD6A@C# >#ATH%#4 I@ 41L U PLH4 COD# A T%##74T%HCTH%#D 1H#%E #0am"le ,) 4#L#CT LPAD(J J, L#6#L U ;) hh >@AM# hh J J hh L@AM# W#m"lo!ee Fierarch!W >%OM #MPSM4T% CO@@#CT BE P%IO% #MPS@O 8 M@G%S@O 4TA%T -ITF M@G%S@O I4 @HLLL #0am"le *) 4#L#CT U >%OM (4#L#CT B.@AM# WB%A@CFW, D#COD#(#.B%A@CFS@O, JB,J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB,J)) WB,W, D#COD#(#.B%A@CFS@O, JB*J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB*J)) WB*W, D#COD#(#.B%A@CFS@O, JB=J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB=J)) WB=W, D#COD#(#.B%A@CFS@O, JB;J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB;J)) WB;W, D#COD#(#.B%A@CFS@O, JB?J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB?J)) WB?W, D#COD#(#.B%A@CFS@O, JB:J, (4#L#CT COH@T(#MPS@O) >%OM #MPSM4T% -F#%# B%A@CFS@O 8 JB:J)) WB:W

>%OM #MPSM4T% #, B%A@CFSM4T% B -F#%# B.B%A@CFS@O 8 #.B%A@CFS@O G%OHP BE B.@AM#, #.B%A@CFS@O) O%D#% BE =L #0am"le =) 4#L#CT DHMP(ACCTS@O) >%OM ACCTSM4T%L #0am"le ;) , HPDAT# #MPSM4T% 4#T M@AM# 8 @HLLL %#@AM# #MPSM4T% TO #MPSM4T%SBA4#L C%#AT# 6I#- #MPSM4T% A4 4#L#CT #MPS@O, B%A@CFS@O, >@AM#, L@AM#, D#PT, D#4IG >%OM #MPSM4T%SBA4#L * C%#AT# TABL# #MPSM4T%S@#A4 4#L#CT #MPS@O, B%A@CFS@O, >@AM#, L@AM#, D#PT, D#4IG >%OM #MPSM4T%L D%OP TABL# #MPSM4T% CA4CAD# CO@4T%AI@T4L %#@AM# #MPSM4T%S@#- TO #MPSM4T%L = ALT#% TABL# #MPSM4T% D%OP COLHM@ M@AM#L ; ALT#% TABL# #MPSM4T% 4#T H@H4#D COLHM@ M@AM#L 4#L#CT U >%OM 4E4.DBASH@H4#DSCOLSTAB4L ALT#% TABL# #MPSM4T% D%OP H@H4#D COLHM@4L #0am"le ?) 4olution , %#@AM# B%A@CFSM4T% TO B%A@CFSM4T%SBA4#L C%#AT# 6I#- B%A@CFSM4T%(B%A@CFS@O, B%A@CFS@AM#) A4 4#L#CT U >%OM B%A@CFSM4T%SBA4#L 4olution *) C%#AT# TABL# B%A@CFSM4T%S@#-(B%A@CFS@O, B%A@CFS@AM#) A4 4#L#CT U >%OM B%A@CFSM4T%L D%OP TABL# B%A@CFSM4T% CA4CAD# CO@4T%AI@T4L %#@AM# B%A@CFSM4T%S@#- TO B%A@CFSM4T%L 4olution =) ALT#% TABL# B%A@CFSM4T% ADD (B%A@CFS@AM# 6A%CFA%*(*?))L

HPDAT# B%A@CFSM4T% 4#T B%A@CFS@AM# 8 @AM#L ALT#% TABL# B%A@CFSM4T% D%OP COLHM@ @AM#L #0am"le :) 4olution ,) Hsin 4u( 1ueries 4#L#CT %O-@HM %@, #MPS@O, >@AM# >%OM #MPSM4T% -F#%# (%O-ID, +) I@ (4#L#CT %O-ID, MOD(%O-@HM,*) >%OM #MPSM4T%)L 4olution *) Hsin /!namic vie3s 4#L#CT U >%OM (4#L#CT %O-@HM %@, #MPS@O, >@AM# >%OM #MPSM4T%) # -F#%# MOD(#.%@,*) 8 +L 4olution =) Hsin G%OHP BE an/ FA6I@G 4#L#CT %O-@HM, #MPS@O, >@AM# >%OM #MPSM4T% G%OHP BE %O-@HM, #MPS@O, >@AM# FA6I@G MOD(%O-@HM,*) 8 + O% %O-@HM 8 *7+L #0am"le B) C%#AT# TABL# CH4TOM#%4 (CH4TS@O @HMB#%, @AM# 6A%CFA%*(*?))L I@4#%T I@TO CH4TOM#%4 6ALH#4(+, J4haranamJ)L I@4#%T I@TO CH4TOM#%4 6ALH#4(+, J6aishaliJ)L I@4#%T I@TO CH4TOM#%4 6ALH#4(+, JFanselJ)L I@4#%T I@TO CH4TOM#%4 6ALH#4(+, JChha!aJ)L I@4#%T I@TO CH4TOM#%4 6ALH#4(+, JIvanJ)L 4#L#CT U >%OM CH4TOM#%4L 4#L#CT U >%OM CH4TOM#%4L C%#AT# 4#1H#@C# 4#1SCH4T@O 4TA%T -ITF , I@C%#M#@T BE ,L HPDAT# CH4TOM#%4 4#T CH4TS@O 8 4#1SCH4T@O.@#NT6ALL 4#L#CT U >%OM CH4TOM#%4L C%#AT# H@I1H# I@D#N i/0CH4TS@O O@ CH4TOM#%4(CH4TS@O)L I@4#%T I@TO CH4TOM#%4 6ALH#4(,, J4haranamJ)L #0am"le C) 4#L#CT TOSCFA%(4E4DAT#, JDD7MO@7EEEE FF)MI)44J) WDateW, TOSCFA%(4E4DAT#T,, JDD7MO@7EEEE FF)MI)44J) WB! , Da!W, TOSCFA%(4E4DAT#T,.*;, JDD7MO@7EEEE FF)MI)44J) WB! , FourW, TOSCFA%(4E4DAT#T,.,;;+, JDD7MO@7EEEE FF)MI)44J) WB! , MinuteW, TOSCFA%(4E4DAT#T ,.C:;++ , JDD7MO@7EEEE FF)MI)44J) WB! , 4econ/W >%OM DHALL #0am"le I) 4#L#CT ACCTS@O, COH@T(U) WT%A@4ACTIO@4 P#%>O%M#DW >%OM T%A@4SM4T% G%OHP BE ACCTS@OL

#0am"le ,+) 4#L#CT CH4TS@O, 4HM(D#COD#(4HB4T%(ACCTS>DS@O, ,, *), JCAJ, ,, +)) WCH%%#@T ACCOH@T4W, 4HM(D#COD#(4HB4T%(ACCTS>DS@O, ,, *), J4BJ, ,, +)) W4A6I@G4 ACCOH@T4W, 4HM(D#COD#(4HB4T%(ACCTS>DS@O, ,, *), J>4J, ,, +)) W>IN#D D#PO4IT4W, COH@T(ACCTS>DS@O) WTOTALW >%OM ACCTS>DSCH4TSDTL4 G%OHP BE CH4TS@OL #0am"le ,,) 4olution ,) 4#L#CT U >%OM (4#L#CT %O-@HM %@, >@AM# >%OM #MPSM4T% -F#%# %O-@HM P C) -F#%# %@ B#T-##@ ; an/ BL 4olution *) 4#L#CT %O-@HM %@, >@AM# >%OM #MPSM4T% G%OHP BE %O-@HM, >@AM# FA6I@G %O-@HM B#T-##@ ; A@D BL 4olution =) 4#L#CT %O-@HM %@, >@AM# >%OM #MPSM4T% -F#%# %O-ID I@( 4#L#CT %O-ID >%OM #MPSM4T% -F#%# %O-@HM P8 B MI@H4 4#L#CT %O-ID >%OM #MPSM4T% -F#%# %O-@HM P ;)L #0am"le ,*) 4olution ,) ALT#% H4#% hansel ID#@TI>I#D BE hansel,*=L 4olution *) Pass3or/ hanselL 4olution =) Pass3or/L #0am"le ,=) 4olution) 4#L#CT JCH4TOM#% @AM#) J hh >@AM# hh J J hh M@AM# hh J J hh L@AM# hh CF%(,+) hh JBI%TFDAT#) J hh DOBSI@C hh CF%(,+) hh JOCCHPATIO@) J hh OCCHP WCustomer DetailsW >%OM CH4TSM4T% -F#%# CH4TS@O LI$# JCVJL #0am"le ,;) 4olution ,) >O% HPP#%7CA4# L#TT#%4 4#L#CT TOSCFA%(TOSDAT#(=;:?;,JGJ),JG4PJ) >%OM DHALL 4olution *) >O% TITL#7CA4# L#TT#%4 4#L#CT TOSCFA%(TOSDAT#(=;:?;,JGJ),JGsPJ) >%OM DHALL 4olution =) >O% LO-#%7CA4# L#TT#%4 4#L#CT TOSCFA%(TOSDAT#(=;:?;,JGJ),J&4PJ) >%OM DHALL 4#L#CT J%u"ees J hh D#COD#(T%H@C(=;:?;.*=), +, J[#%OJ, TOSCFA%(TOSDAT#(T%H@C(=;:?;.*=),JGJ),JG4PJ)) hh J A@D J hh

D#COD#(T%H@C(MOD(=;:?;.*=,,)U,++), +, J[#%OJ, TOSCFA%(TOSDAT#(T%H@C(MOD(=;:?;.*=,,)U,++),JGJ),JG4PJ)) hh J PaiseJ >%OM DHALL #0am"le ,?) 4olution) .U 4u""ress "a e hea/ers, titles an/ all formattin U. 4#T PAG#4I[# + .U 43itch off the 41L te0t (efore.after an! varia(le su(stitution U. 4#T 6#%I>E O>> .U 4et line siAe, ma2e this as (i as /esire/ U. 4#T LI@#4 B++ .U Delete an! (lan2 s"aces at the en/ of each s"oole/ line U. 4#T T%IM4POOL O@ .U 43itch off the lines num(er /is"la! returne/ (! the Duer! U. 4#T >##DBAC$ O>> .U 43itch off 4#L#CT out"ut to the screen U. 4#T T#%MOHT O>> .U 4e"arate each column (! a comma character (C46 out"ut) U. 4#T COL4#P J,J .U Put the 4#L#CT out"ut into a fileU. 4POOL MES#MPS%#PO%T.TNT 4#L#CT #MPS@O, >@AM#, L@AM#, B.@AM#, D#PT, D#4IG >%OM #MPSM4T% #, B%A@CFSM4T% B -F#%# #.B%A@CFS@O 8 B.B%A@CFS@OL 4POOL O>> #0am"le,:) 4#L#CT @6L(>@AM#, JAJ), @6L(M@AM#, JCor"orateJ), @6L(L@AM#, JCustomerJ), DOBSI@C, OCCHP, PA@COPE, >O%M:+ >%OM CH4TSM4T%L #0am"le ,B) C%#AT# TABL# M!>rien/s (@AM# 6A%CFA%*(,?))L I@4#%T I@TO M!>rien/s 6ALH#4 (J@eetaJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (JMitaJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (JDi"uJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (JDee"uJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (JDi"aJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (JAnilJ)L I@4#%T I@TO M!>rien/s 6ALH#4 (J4unilJ)L COMMITL 4#L#CT U >%OM M!>rien/sL 4#L#CT U >%OM M!>rien/s -F#%# 4OH@D#N(@AM#) 8 4OH@D#N(J@itaJ)L

4#L#CT U >%OM M!>rien/s -F#%# 4OH@D#N(@AM#) 8 4OH@D#N(JDee"J)L 4#L#CT 4OH@D#N(@AM#), @AM#, 4OH@D#N(JD##PJ) >%OM ME>%I#@D4L

Potrebbero piacerti anche