Sie sind auf Seite 1von 54

Syntax DDL and DML in SQL Server 2005

Zaro Me gage nta 3/ 15/ 2009

Catatan Penulis
S ynta x DDL da n DM L d i ka r ya tulis in i tid a k le ngk ap , a wa lnya ka r ya tulis ini d ib ua t untuk tuga s k ulia h, te tap i ka re na wak tu tida k c uk up sa ya ha nya b isa me nye le s a ika n s ea da nya. Co nto h da ta ba se d i ka r ya tulis in i d ia mb il d ar i se ba gia n d a r i da taba se Dr eam Hom e ya ng ad a d i b uk u Co nno lly, T.M ., & Be gg, C. E. ( 200 2) . Da taba se s ys te ms : A p ra ctic a l a pp roa c h to de s ign, imp le me nta tio n, a nd ma na ge me nt. 3. Ad d iso n- We s le y. Ne w Yo rk. ER d ia gr a m da n ins ta nc e da r i tab le ta b le ya ng d iguna ka n d i k ar ya tulis in i ad a d i ba g ia n La mp ir a n A da n La mp ir a n B. Q ue r y SQL ya ng d igu nak a n untuk me mb ua t d a tab as e te r seb ut b er ad a d i La mp ir a n C.

Daftar Isi
Cata tan Penulis Daftar Isi Chapte r 1 1. 1. 1. 2. 1. 3. De fi ni ti on Data Type s i n S QL Se rve r 2005 Syntax CREAT E CREAT E DATABAS E CREAT E TAB LE CREAT E VI EW i ii 1 1 1 4 4 4 8 12 13 13 14 16 17 17 17 17 18 21 22 22 23 24 24 24 25 26 27 ii

1. 3.1.

1. 3.1. 1. 1. 3.1. 2. 1. 3.1. 3. 1. 3.2.

ALTE R ALTE R DATABASE ALTE R TABL E

1. 3.2. 1. 1. 3.2. 2. 1. 3.3. Chapte r 2 2. 1. 2. 2.

DROP

De fi ni ti on Syntax SEL ECT WHE RE ORDE R B Y Aggre gate Functi ons

2. 2.1.

2. 2.1. 1. 2. 2.1. 2. 2. 2.1. 3.

2. 2.1. 3. 1. COUNT 2. 2.1. 3. 2. MAX 2. 2.1. 3. 3. MIN 2. 2.1. 3. 4. SUM 2. 2.1. 3. 5. AVG 2. 2.1. 4. GRO UP BY

2. 2.1. 4. 1. HAVING 2. 2.1. 5. DISTINCT

2. 2.1. 6.

JOIN

28 28 31 LEF T O UT ER JOIN 31 RIGH T OUTE R JOIN 32 FUL L OUTE R JOIN 33 33 34 35 37 38 40 41 43 48

2. 2.1. 6. 1. INNER JOIN 2. 2.1. 6. 2. OUT ER JOIN 2. 2.1. 6. 2. 1. 2. 2.1. 6. 2. 2. 2. 2.1. 6. 2. 3. 2. 2.1. 6. 3. CROSS JOIN 2. 2.1. 7. 2. 2.2. 2. 2.3. 2. 2.4. Lampi ra n A Lampi ra n B Lampi ra n C Dafta r Pus taka UNION

INSERT UPDAT E DEL ET E

iii

Chapter 1 1.1. Definitio n

Data Definition Language

Da ta De f in itio n La ngua ge (DDL) ad a la h b a ha sa ya ng me mun gk ink a n Da taba se Ad min is tra tor untuk me nde sk r ips ik a n d a n me na mak a n e ntita s, a tr ib ut, da n r e la tio ns hip ya ng d ip er luka n o le h d atab as e, be rs a ma de nga n be rb a ga i co nstr a intnya . Pada c ha p te r in i a ka n d iba has DDL s tate me nts pa da SQ L Se r ver 200 5, ya itu CREATE , ALTER , DROP , da n Re fer e ntia l I nte gr ity sta te me nts (co nto hnya PRIM ARY K EY, ya ng a ka n d ib a has p ada b a gia n CREATE s ta te me nts ). S ebe lum me ma s uk i k ed a la m s ynta x DDL d a la m SQ L S e r ve r 20 05, a da ba ik nya untuk me nge na l be rba ga i tip e d a ta ya ng ada pa da SQ L S e r ve r 200 5.

1.2. Data Types in SQL S erver 2005


Setia p co lu mn d i tab le me mp unya i da ta typ e. Da ta typ e te rs eb ut me ne ntuka n tipe d ata ya ng dap a t d iinp ut ked a la m co lu mn te rs eb ut da n o pe ra s i apa ya ng dap at d ila k uk a n p ada d a ta te rs eb ut. SQ L S e r ve r 20 05 me milik i b a nyak tipe d a ta, ber ik ut in i aka n d ib a has be be ra pa tip e d a ta : Na ma Tipe D at a Bit Ke las Uk ura n Dala m Byte 1 Sifa t Da ta

I nte ge r

BigInt Int SmallInt TinyInt

I nte ge r I nte ge r

8 4

I nte ge r I nte ge r

2 1

Satu da ta bit pe r ta ma d i ta b le a ka n me ma ka n 1 b yte, ke mud ia n 7 da ta be r ik utnya aka n me ngg una ka n b yte ya ng sa ma . N ULL a ka n me mak a n 1 b yte ba r u. Bia sa nya d iguna ka n untuk tr ue / fa ls e, ata u ye s / no. Bila nga n b ula t a ntar a - 2 6 3 sa mp a i 2 6 3 - 1 Bila nga n b ula t a ntar a 2,1 47, 483 ,64 8 sa mp a i 2,14 7,4 83, 647 Bila nga n b ula t a nta ra 32,7 68 sa mp a i 3 2,7 67. Bila nga n b ula t a nta ra 0 sa mp a i 25 5
1| P a g e

Na ma Tipe D at a Real Float Decimal ata u Numeric

Ke las

De c ima l

Uk ura n Dala m Byte 4

Sifa t Da ta

De c ima l De c ima l

8 Be r va r ias i

Money

Mo ne y

SmallMoney DateTime

Mo ne y

Da te/Time

SmallDateTime

Da te/Time

Cursor

Spec ia l Nume r ic

Timestamp / rowversion

Spec ia l Nume r ic (b ina r y)

UniqueIdentifier Spec ia l Nume r ic (b ina r y) Char Char ac ter

16

Be r va r ias i

Da ta d e nga n p rec is io n (ju mla h a ngk a te r ma s uk d i be lak a ng ko ma ) 7 a ngka . Da ta de nga n pr ec is io n 5 a ngk a. Da ta de nga n p rec is io n d a n sca le ( jumla h a ngka di be lak a ng ko ma ) ya ng te tap , ya ng da pa t me na mp ung d ar i 10 3 8 1 sa mp a i 1 0 3 8 1. Me na mp ung da r i 2^63 (9 22, 337 ,20 3,6 85, 477 .58 08 ) sa mp a i 2^6 3 1 ( +92 2,3 37, 203, 685 ,47 7.5 807 ). Me na mp ung d ar i 214 ,74 8.3 648 s a mpa i +214 ,74 8.3 647 . Da ta ta ngga l d a n wak tu d ar i 1 Ja nua r i 175 3 sa mp a i 31 De ce mb er 999 9, d e nga n ak ura s i 1 /3 00 de tik. Da ta ta ngga l d a n wak tu d ar i 1 J a nua r i 19 00 s a mpa i 6 J uni 2079 , de nga n a k ura s i 1 me nit. Po inte r ke pad a s eb ua h c ur so r. Tida k d apa t d iguna ka n se ba ga i tip e da ta da la m Tab le De finit io n. Angka a ngk a b ina r y ya ng d i- ge ne ra te sec a ra o to ma tis ya ng unik d a la m s eb ua h da tab as e. N ila inya aka n d ise t o le h da ta ba se s ec ar a o to ma tis se tiap k a li r e co rd d i ins er t ata u upd a te. Glob a lly Uniq ue Id e ntif ie r ( GUI D). GUI D a da la h 12 8b it, ka r e na itu d ip a stik a n aka n unik . Da ta ka r ak te r ya ng me mp unya i p a nja ng te tap. J ika d iis i de nga n pa nja ng

2|P a g e

Na ma Tipe D at a

Ke las

Uk ura n Dala m Byte

Sifa t Da ta

VarChar

Char ac ter

Be r va r ias i

NChar

Unic od e

Be r va r ias i

NVarChar

Unic od e

Be r va r ias i

Binary VarBinary

Bina r y

Be r va r ias i

Bina r y

Be r va r ias i

ya ng leb ih sed ik it, s is a nya aka n d ibe r i sp as i s a mpa i pa nja ng ya ng d ite ntuk a n. Da ta ini no n- Unic od e, d a n pa nja ng ma ks imu m jika d itulis ad a la h 8. 000 k ar ak te r. Da ta k ar ak te r de nga n pa nja ng ber va r ia s i. J ika d iis i tid ak seb a nyak pa nja ng ya ng d ite ntuk a n tid ak aka n d iis i de nga n sp as i. Data in i no nUnic od e. Pa nja ng ma k s imu m jika d itu lis ad a la h 8. 000 kar ak te r, tetap i d apa t me ngg una ka n k e ywo rd max untuk me mb er ik a n te mpa t ya ng s a nga t be sa r (s a mpa i 2 3 1 b ytes d ata) . Da ta k a rak ter Unico de de nga n p a nja ng tetap . J ika d iis i d e nga n p a nja ng ya ng le b ih s ed ik it ma ka aka n d iis i spa s i. Pa nja ng ma k s imu m jika d itu lis ad a la h 4. 000 kar ak te r. Da ta k a rak ter Unico de de nga n p a nja ng be r var ia s i. J ika d iis i de nga n pa nja ng ya ng le b ih sed ik it tida k ak a n d iis i de nga n sp as i. Pa nja ng ma ks imu m jika d itu lis ad a la h 4.00 0 k ar ak te r, te tap i d apa t me ngg una ka n k e ywo rd max untuk me mb er ik a n te mpa t ya ng s a nga t be sa r (s a mpa i 2 3 1 b ytes d ata) . Da ta b ina r y d e nga n pa nja ng te ta p, d e nga n pa nja ng ma ks imu m 8 .0 00 b yte s. Da ta b ina r y d e nga n pa nja ng ber va r ia s i d e nga n pa nja ng ma ks imu m jik a d itu lis 8. 000 b ytes , te tap i d apa t
3| P a g e

Na ma Tipe D at a

Ke las

Uk ura n Dala m Byte

Sifa t Da ta

Table

Othe r

Spe s ia l

Sql_variant

Othe r

Spe s ia l

XML

Char ac ter

Be r va r ias i

me ngg una ka n k e ywo rd max untuk me mb er ik a n te mpa t ya ng s a nga t be sa r (s a mpa i 2 3 1 b ytes d ata) . Digu nak a n k e tika b eke r ja de nga n re s ult se t. Tid ak dap at d ig una ka n seb a ga i tipe da ta da la m Tab le De f in itio n. M ir ip de nga n tip e da ta Variant di VB. Pa da das ar nya ad a la h tipe da ta ya ng da pa t me na mp ung ber ba ga i tipe d ata la in. Me nde f in is ik a n da ta k a rak ter me njad i untuk da ta XM L.

1.3. Syntax
1.3. 1. CR EATE CREATE d igu nak a n untuk me mb ua t d a tab as e, tab le, ind e x, s to re d q ue r y, da n ob jec t ob jec t d atab as e la in nya . C REATE aka n me mb ua t ob jek ba r u ya ng d ite ntuka n d i da la m DBMS . Ba gia n p er ta ma d a r i C REATE ak a n ter liha t sep er ti : CREATE <object type> <object name> Ya ng aka n d iik uti de nga n de ta il d eta il nya se s ua i de nga n ob jek ya ng a ka n d ib ua t.

1.3. 1.1 .

CREATE DATABAS E

S ynta x p a lin g me nda s ar untuk me mb ua t da ta ba se ad a la h se ba ga i b e r ik ut : CREATE DATABASE <database name>

4|P a g e

J ika s ynta x in i d i e xe c ute ma ka aka n me mb ua t da taba se ya ng s a ma d e nga n da tab as e model ya ng a da d i SQ L Se r ver 20 05. Untuk me mb ua t c o nto h da taba se Dr eam Hom e ma ka dap a t d e nga n me nggu nak a n q uer y : CREATE DATABASE DreamHome Ketik a d i e xec ute ma ka a ka n me mb ua t da ta ba se de nga n na ma Dr eam Home ya ng aka n sa ma d e nga n da ta ba se model . J ika d atab as e model d i SQ L Se r ver 2 005 tida k d iub a h- ub a h, ma ka d a tab as e d ia ta s a ka n me mp un ya i p rop er ty se pe r ti d ib a wa h in i ( untuk me na mp ilka n p ro pe rty d a tab as e d apa t de nga n me nggu na ka n q ue r y EXEC sp_helpdb DreamHome ) : na me Drea mH o me db_ s i ze 2.73 MB owne r HPCW\Za ro db i d 6 cr ea t ed Ma r 13 2009 sta tus Sta tus =ONLIN E, Up da te ab ility= READ_ W RI TE, Us e rAcc es s= M ULTI_ US E R, Re co ver y=F ULL, Ve r s io n= 611 , Co lla tio n= Latin1 _ Ge ne ra l_C I_ AS , SQLS or tO rd er =0, Is AutoCr ea te Sta tis tic s, Is AutoUpd ateS ta tis tic s, IsF u llTe xtEna b le d co mpa tib ility_ le ve l 90

da n na me fil e id 1 file na me file gr o up PRIM ARY si ze 22 40 K B 56 0 K B ma xs iz e Unlimi te d gro wth 102 4 KB 10 % us ag e da t a o nl y lo g o nl y

Drea mHo me

Drea mHo me _ lo g

C :\Pr o gra m F ile s \M icr os o ft SQL Ser ve r \MS SQ L.1 \MSSQ L\DAT A\Dr ea mHo me . md f C :\Pr o gra m F ile s \M icr os o ft SQL Ser ve r \MS SQ L.1 \MSSQ L\DAT A\Dr ea mHo me _ lo g. LDF

NUL L

2147 4 8364 8 KB

5| P a g e

Untuk me ne ntuk a n b e rba ga i p rop e rti d a tab as e s es ua i k e ing ina n k i ta sa at me mb ua tnya, s ynta x CREATE DATABASE me mp un ya i be ntuk ya ng le b ih pa nja ng : CREATE DATABASE < database name > [ ON [PRIMARY] ([NAME = < logical file name >,] FILENAME = < file name > [, SIZE = < size in kilobytes, megabytes, gigabytes, or terabytes >] [, MAXSIZE = size in kilobytes, megabytes, gigabytes, or terabytes >] [, FILEGROWTH = < kilobytes, megabytes, gigabytes, or terabytes|percentage >])] [LOG ON ([NAME = < logical file name >,] FILENAME = < file name > [, SIZE = < size in kilobytes, megabytes, gigabytes, or terabytes >] [, MAXSIZE = size in kilobytes, megabytes, gigabytes, or terabytes >] [, FILEGROWTH = < kilobytes, megabytes, gigabytes, or terabytes|percentage >])] [;] NAM E Na me ter se b ut a da la h na ma untuk file ya ng a ka n d ide f in is ik a n, te ta p i na ma te rs eb ut ad a la h lo g ica l na me , ya itu na ma file ya ng d iguna ka n SQ L Se r ve r untuk me r ujuk ke pa da file ter se b ut. Na ma in i ak a n d ig una ka n ke tik a ak a n me - re s ize da tab as e d a n/a ta u f ile. FI LEN AM E F ile na me ini a da la h na ma f ile se ca ra fis ik ya ng b er ada d i da la m d isk . SI ZE S ize a wa l d a r i da ta ba se, se ca ra d e fa ult jik a tida k d ise b utk a n mak a a ka n d ihitu ng da la m me gab yte s ( MB ) , tetap i da pa t d iga nti u ntuk me njad i da la m k ilo b yte s de nga n me na mba hk a n KB , giga b ytes d e nga n GB , da n te rab yte s d e nga n TB . N ila i da r i SIZE min i ma l har us se be sa r da taba se model d a n d a la m b ila n ga n

6|P a g e

b ula t (ta np a k o ma ) a ta u aka n e r ro r. J ika SIZE tid ak d itu lis ma ka se ca ra de fa u lt SIZE aka n seb es ar d atab as e model . MAXSI ZE SQL S e r ve r a ka n me mbe sa rk a n uk ura n da taba se jik a d ipe r luk a n, MAXSIZE me r upak a n uk ura n mak s imu m da r i d atab as e. Angka nya s ec ar a de fa u lt da la m me gab ytes , tetap i da pa t d ir ub a h s a ma se pe r ti untuk SIZE , da n ha nya d ip e rbo le hk a n b ila nga n b ula t. J ik a tida k MAXSIZE d is e b utka n, ma ka tidak a ka n ada b atas a n uk ur a n mak s imu m f ile, sec ar a p rak tek ad a la h k etik a d is k s uda h pe nuh. J ika da taba se s uda h me nc apa i s ize ma ks imu m, mak a ke tika me na mba hk a n da ta bar u aka n er ro r. Ke tik a lo g s ud a h me ncap a i s ize mak s imu m, ma ka tida k b isa me la k uk a n lo gge d a ctiv ity ap ap un ( ya ng mer up aka n ha mp ir s e lur uh ak tiv ita s) d i da tab as e. FI LEGROW TH F ile gr owth me ne ntuka n seb er ap a b es ar file a ka n d ip er be sa r ke tika a ka n d ip e rbe sa r. Dap a t d ite ntuk a n da la m k ilo b ytes , me gab ytes , gigab ytes , te r ab yte s. Ata u juga d ap at de nga n pe rc e nta ge, ya itu p re se ntas i da r i b es ar da taba se s aa t itu. Co nto h me ng guna ka n CREATE DATABASE untuk da ta ba se Dream Home d e nga n ber ba ga i p ro pe r tinya d apa t s epe r ti b er ik ut : CREATE DATABASE DreamHome ON ( NAME = 'DreamHome', FILENAME = 'C:\Program Files \Microsoft SQL Server\MSSQL.1\MSSQL\Data\DreamHome.mdf', SIZE = 5, MAXSIZE = 50 MB, FILEGROWTH = 5 ) LOG ON ( NAME = 'DreamHomeLog', FILENAME = 'C:\Program Files \Microsoft SQL Server\MSSQL.1\MSSQL\Data\DreamHome_log.mdf', SIZE = 5, MAXSIZE = 25,
7| P a g e

FILEGROWTH )

= 5

Ketik a me liha t d eta il d ar i da ta ba se te r se b ut de nga n EXEC DreamHome , ma ka ak a n ter liha t s epe r ti b er ik ut : na me Drea mH o me db_ s i ze 10.0 0 MB owne r HPCW\Za ro db i d 6 cr ea t ed Ma r 14 2009 sta tus Sta tus =ONLIN E, Up da te ab ility= READ_ W RI TE, Us e rAcc es s= M ULTI_ US E R, Re co ver y=F ULL, Ve r s io n= 611 , Co lla tio n= Latin1 _ Ge ne ra l_C I_ AS , SQLS or tO rd er =0, Is AutoCr ea te Sta tis tic s, Is AutoUpd ateS ta tis tic s, IsF u llTe xtEna b le d

sp_helpdb

co mpa tib ility_ le ve l 90

da n na me Drea mHo me fil e id 1 file na me C :\Pr o gra m F ile s \M icr os o ft SQL Ser ve r \MS SQ L.1 \MSSQ L\Da ta \ Drea mHo me . md f C :\Pr o gra m F ile s \M icr os o ft SQL Ser ve r \MS SQ L.1 \MSSQ L\Da ta \ Drea mHo me _ lo g. md f file gr o up PRIM ARY s iz e 51 20 K B 51 20 K B ma x s ize 5120 0 KB 2560 0 KB gro wth 512 0 KB 512 0 KB usa ge da t a o nl y lo g o nl y

Drea mHo me Lo g

NULL

1.3. 1.2 .

CREATE TABLE

S ynta x CREATE TABLE , d iguna k a n untuk me mb ua t tab le da la m da ta ba se, bes er ta de nga n co lu mn c o lumn nya d a n b er ba ga i co ns tr a intnya . S ynta x ya ng d ised e r ha nak a n da pa t te r liha t s epe r ti b er ik ut : CREATE TABLE [database_name.[owner].]table_name (<column name> <data type>
8|P a g e

[[DEFAULT <constant expression >] |[IDENTITY [(seed, increment) [NOT FOR REPLICATION]]]] [ROWGUIDCOL] [COLLATE <collation name>] [NULL|NOT NULL] [<column constraints>] |[column_name AS computed_column_expression] |[<table_constraint>] [,...n] ) Untuk me mb ua t ta b le Bra nc h da la m da ta ba se Dre amHome , s ynta x CREATE TABLE ya ng d ig una ka n a da la h : CREATE TABLE Branch ( branchNo CHAR(4) NOT NULL, street VARCHAR(50) NOT NULL, city VARCHAR(30) NOT NULL, postcode VARCHAR(10) NOT NULL, CONSTRAINT bn_pk PRIMARY KEY (branchN o), CONSTRAINT bn_len CHECK (LEN(branchNo)=4), CONSTRAINT bn_frmt CHECK (branchNo LIKE B[0 9][0-9][0-9] ) ) J ika q ue r y d ia tas d ija la nk a n, ma ka ak a n me mb ua t tab le Bra nc h de nga n co lu mn co lu mn d e nga n tip e d ata ya ng d ite ntuk a n ya ng te la h d ije la sk a n seb e lu mnya , da n beb er apa c o ns tra int ya ng ak a n d ije las ka n. Co ns tra int pe r ta ma ya ng ak a n d ije la ska n ad a la h NOT NULL . NOT NULL ad a la h seb ua h co ns tra int ya ng me ma stik a n ba hw a jika me na mb a hka n s uatu ro w, nila i dar i c o lu mn ya ng me mp unya i co ns tr a int NOT NULL tid ak b is a me ner ima nila i NULL. N ULL ad a la h nila i ya ng tida k ad a / tid ak d ike ta hu i / ko so ng. J ika NOT NULL tid ak d itu lis , mak a se ca ra de fa ult a ka n me ng guna ka n NULL ( NULL juga dap at d itulis se ca ra ma nua l) ya ng aka n me mun gk ink a n co lu mn te rs eb ut me ne r ima d a ta N ULL.

9| P a g e

Co ns tra int la in ya ng tid ak ad a d i co nto h d i a ta s a da la h UNIQUE , jik a s eb ua h co lu mn d ib e r i co ns tra int UNIQUE mak a c o lu mn te r seb ut tid ak bo le h me mp unya i nila i ya ng b er ula n g, ke c ua li unt uk NULL jik a tid ak d ib er i co ns tra int NOT NULL . Co ns tra int UNIQUE da pa t d ib ua t d e nga n d ua ca ra , pa da sa at me mb ua t co lu mn (co lumn c o nstr a int) : CREATE TABLE Branch 1 ( branchNo CHAR(4) street VARCHAR(50) )

NOT NULL UNIQUE, UNIQUE

Ata u d apa t juga me la lu i ca ra la in ( ta b le co ns tr a int) : CREATE TABLE Branch 1 ( branchNo CHAR(4) NOT NULL, street VARCHAR(50), CONSTRAINT un UNIQUE(branchNo, street) )

Co ns tra int se la njutnya ad a la h PRIMARY KEY untuk me njad ik a n c o lu mn seb a ga i pr ima r y k e y ya ng d ip ilih untuk me ng id e ntif ik a s ika n s eb ua h ro w se ca ra un ik . J ika se b ua h co lumn d ib er i co ns tr a int PRIMARY KEY , maka se ca ra o to ma tis aka n la ngs ung d ib e r i co ns tra int UNIQ UE a ga r co lu mn me mp unya i nila i ya ng unik untuk id e ntifik a s i, d a n NOT NULL untuk me nd uk ung e ntity inte gr ity ya ng me ngha r us ka n b a hwa p r ima r y ke y tid ak bo le h N ULL. Pe ngg una a n PRIMARY KEY da pa t de nga n ca ra me la lu i ta b le co ns tra int s ep er ti pa da c o nto h p e rta ma, ata u de nga n me ngg una ka n c ar a co lu mn co ns tra int de nga n me le tak ka n PRIMARY KEY c la us e s e te la h tip e d a ta co lu mn. Te ta p i jik a ing in me mb ua t ta b le d e nga n co mpo s ite p r ima r y ke y, ya itu tab le ya ng me mp unya i ga b unga n be be ra pa co lu mn seb a ga i pr ima r y ke y, mak a tid ak dap a t de nga n me nggu na ka n ca ra co lu mn co nstr a int , te tap i har us de nga n ta b le co ns tra int, co nto hnya s epe r ti b er ik ut : CREATE TABLE Branch 1 ( branchNo CHAR(4), street VARCHAR(50), CONSTRAINT cpk PRIMARY KEY(branchNo, street)
10 | P a g e

) Co ns tra int se la njutnya ya ng a ka n d ib a has ad a la h CHECK , c o ns tra int ini a ka n me no lak nila i ya ng b er ad a d ilua r ba tas a n CHECK te r seb ut, co nto hnya ada p ada q ue r y untuk me mb ua t ta b le Bra nc h d ia ta s, ya itu p ada tab le co ns tr a int bn_frmt , co nstr a int ter se b ut be ra r ti ba hwa c o lu mn b ra nc hN o ha r us d imu la i d e nga n hur uf B da n d iik uti de nga n 3 a ngk a a nta r a 0 - 9, jika ke tika me ng inp ut d ata tid ak se s ua i CHECK ma ka a ka n d ito la k. Co ns tra int s e la njutnya ad a la h untuk r e fer e ntia l inte gr it y ya itu FOREIGN KEY , re fe re ntia l inte gr ity b er a rti jik a a da s ua tu c o lu mn ya ng me r up ak a n for e ign k e y, ma ka jik a co lumn te rs eb ut d iis i har us coc ok de nga n ya ng ad a d i p r ima r y ke y ta b le as a lnya , a ta u n ila i co lu mn fo re ig n ke y te r seb ut ha r us N U LL. C o nto h pe ngguna a nnya ada p ad a ta b le S ta ff d i d a tab as e Dre amHome , untuk me mb ua t ta b le te r seb ut d ig una ka n q ue r y : CREATE TABLE Staff ( staffNo CHAR(4) NOT NULL, fName VARCHAR(30) NOT NULL, lName VARCHAR(30) NOT NULL, position VARCHAR(15) NOT NULL, sex CHAR(1) NOT NULL DEFAULT 'F', DOB SMALLDATETIME NOT NULL, salary SMALLMONEY NOT NULL, branchNo CHAR(4), CONSTRAINT sn_pk PRIMARY KEY (staffNo), CONSTRAINT bn_fk FOREIGN KEY (branchNo) REFERENCES Branch(branchNo) ON UPDATE CASCADE ON DELETE SET NULL, CONSTRAINT sn_frmt CHECK (staffNo LIKE 'S[ABGL][0-9][ 0-9]'), CONSTRAINT sx_frmt CHECK (sex LIKE '[MF]'), CONSTRAINT slry CHECK (salary BETWEEN 6000 AND 40000) ) Dia ta s ter da pa t c la use DEFAULT pad a co lu mn sex , ya ng b er ar ti de fa u lt va lue untuk c o lu mn te rs eb ut jik a tid ak d iis i ( untuk c o lumn te rs eb ut, jik a tid ak d iis i
11 | P a g e

ma ka se ca ra o to ma tis aka n ter is i F ). Ke mb a li k e re fe re ntia l inte gr ity, d a r i co nstr a int bn_fk dap a t te r liha t b a hwa co lu mn b ra nc hNo d i tab le S ta ff me - r e fer kep ada co lu mn b ra nc hN o d i ta b le Bra nc h, se hin gga d i co lu mn fo r e ign ke y tid ak dap at d iinp ut d ata ya ng tida k ad a d i ho me tab le ( ta b le ya ng d ir e fe r e ns ik a n). Re fe r e ntia l inte gr ity da pa t te tap te r ja ga ke tika ad a p r ima r y ke y ya ng be r uba h ata u d id e le te , ca r a nya ad a la h de nga n me ngguna k a n c la us e ON UPDATE da n ON DELETE . ON UPDATE da n ON DELETE me mp unya i beb er ap a p iliha n : ON UPDATE {CASCADE|NO ACTION|SET NULL|SET DEFAULT} ON DELETE {CASCADE|NO ACTION|SET NULL|SET DEFAULT} Per ta ma a ka n d iba ha s me nge na i ON UPDATE , d e fa ultnya a da la h NO ACTION , untuk NO ACTION, c a ra be ke r ja nya ad a la h, jik a p r ima r y ke y da r i ho me tab le d iuba h, mak a pe r ub a ha n ter se b ut ak a n d ito la k. Untuk ON UPDATE CASCADE , jika p r ima r y ke y da r i ho me tab le d iub a h, ma ka fo re ign k e y ya ng me r ujuk k ep ada pr ima r y ke y te r seb ut a ka n ik ut be r uba h. Untuk ON UPDATE SET NULL a ta u ON UPDATE SET DEFAULT , jika pr ima r y ke y da r i ho me tab le d iub a h, ma ka fo re ig n k e y a ka n d is e t se ba ga i N ULL (jik a co lu mn fo re ig n k e y b o le h me ner ima NULL, jika s uda h d i s et NOT NULL , da n me milik i co ns tra int ON UPDATE SET NULL , mak a pe mb ua ta n tab le tida k ak a n b er ha s il) a ta u ak a n d is e t me nja d i de fa ult va lue nya jik a ON UPDATE SET DEFAULT . Untuk ON DELETE , ON DELETE aka n me ngup da te co lu mn for e ign ke y / ro w nya ya ng me r ujuk p ad a p r ima r y ke y da r i r o w d i ho me tab le ya ng d id e le te. De fa u ltnya a da la h NO ACTION , untuk NO ACTION , ca ra b ek er ja nya ada la h, jika ro w da r i ho me tab le d ide le te, mak a de le te te r seb ut aka n d ito lak. Untuk ON DELETE CASCADE , jik a ro w d ar i ho me tab le d id e le te , ma ka ro w d i tab le ya ng me milik i fo re ign k e y ya ng me r ujuk ke pad a pr ima r y k e y ya ng d ide le te te rs eb ut aka n ik ut d id e le te. Untuk ON DELETE SET NULL a ta u ON DELETE SET DEFAULT , jik a ro w da r i ho me tab le d iub a h, ma ka fo re ign k e y ak a n d is et seb a ga i NULL ( jika c o lumn fo re ig n k e y bo le h me ne r ima N ULL, jika s uda h d i se t NOT NULL , da n me milik i co ns tr a int ON DELETE SET NULL , ma ka p e mb ua ta n tab le tida k a ka n be r has il) a ta u ak a n d is e t me njad i d e fa ult va lue nya jik a ON DELETE SET DEFAULT .

1.3. 1.3 .

CREATE VI EW

12 | P a g e

Vie w d ap at d iliha t s eb a ga i ha s il da r i s ta te me nt SELECT ya ng me ngha s ilk a n r es ult se t ( v ie w) ya ng k e mud ia n dap a t d iguna ka n le b ih la njut. S ynta x d as ar untuk me mb ua t vie w ada la h : CREATE VIEW view_name AS SELECT ... Co nto h be r ik ut nor ma l_ s ta f f : in i ak a n me mb ua t vie w da r i tab le S ta f f d e nga n na ma

CREATE VIEW nor mal_staff AS SELECT staffNo, fName, lName, position, branchNo FROM Staff M isa ln ya c o nto h d ia tas a da la h vie w untuk k a r ya wa n b ia sa , se hingga co lu mn sa la r y d ih ila n gka n d ar i vie w, ke mud ia n da r i vie w ini da pa t d ila k uka n be rb a ga i ope ra s i la in, s eb a ga i co nto h se de r ha nya ada la h me ng ur utka n d ata nya : SELECT * FROM normal_staff ORDER BY position Co nto h d ia ta s juga b is a d ija d ika n k e vie w ya ng ba r u.

1.3. 2. ALTER Alte r d igu na ka n untuk me ngga nti pr ope r ti pr ope r ty da r i ob je k ya ng te la h d ib ua t, se pe r ti da taba se , tab le , d ll. Se pe rti CREATE , ALTER juga me mp unya i b a gia n p er ta ma ya ng a ka n te r liha t se pe rti : ALTER <object type> <object name> Ya ng ak a n d iik uti de nga n de ta il d eta il nya .

1.3. 2.1 .

ALTER DATABAS E

ALTER DATABASE dapa t d ig una ka n untuk me ngub a h de f in is i da ta ba se, untuk c o nto h in i ak a n d igu nak a n untuk me ngga nti s ize da r i da ta ba se, d e nga n ca ra :

13 | P a g e

ALTER DATABASE DreamHome MODIFY FILE (NAME = DreamHome, SIZE = 100MB) Mak a SIZE d ar i da taba se a ka n b e r ub a h me nja d i 1 00 M B, jik a pe r uba ha n SIZE da taba se le b ih be sa r da r i MAXSIZE , ma ka MAXSIZE ak a n s ec ar a o to ma tis ber ub a h me ng ik uti SIZE , jad i untuk c o nto h d ia tas SIZE d a n MAXSIZE a ka n me njad i 100 M B.

1.3. 2.2 .

ALTER TABLE

ALTER TABLE dapa t d ig una ka n untuk me ngub a h d e fin is i da r i ta b le, se pe r ti me na mb a h co lu mn b a r u, me ngga nti tip e d ata co lu mn, me ng hap us c o nstra int (ak a n d iba ha s pad a sta te me nt DROP ) , d a n la in- la in. S ynta x da sa r d ar i ALTER TABLE ada la h sep e rti be r ik ut : ALTER TABLE table_name {[ALTER COLUMN < column_name > { [< schema of new data type >].< new_data_type > [( precision [, scale ])] max | < xml schema collection > [COLLATE < collation_name >] [NULL|NOT NULL] |[{ADD|DROP} ROWGUIDCOL] | PERSISTED}] |ADD < column name > < data_type > [[DEFAULT < constant_expression >] |[IDENTITY [(< seed >, < increment >) [NOT FOR REPLICATION]]]] [ROWGUIDCOL] [COLLATE < collation_name >] [NULL|NOT NULL] [< column_constraints >] |[< column_name > AS < computed_column_expression >] |ADD [CONSTRAINT < constraint_name >] {[{PRIMARY KEY|UNIQUE} [CLUSTERED|NONCLUSTERED] {(< column_name >[ ,...n ])}
14 | P a g e

[WITH FILLFACTOR = < fillfacto r >] [ON {< filegroup > | DEFAULT}] ] |FOREIGN KEY [(< column_name >[ ,...n ])] REFERENCES < referenced_table > [(< referenced_column >[ ,...n ])] [ON DELETE {CASCADE|NO ACTION}] [ON UPDATE {CASCADE|NO ACTION}] [NOT FOR REPLICATION] |DEFAULT < constant_expression > [FOR < column_name >] |CHECK [NOT FOR REPLICATION] (< search_conditions >) [ ,...n ][ ,...n ] |[WITH CHECK|WITH NOCHECK] | { ENABLE | DISABLE } TRIGGER { ALL | < trigger name> [ ,... n ] } |DROP {[CONSTRAINT] < constraint_name > |COLUMN < column_name >}[ ,...n ] |{CHECK|NOCHECK} CONSTRAINT {ALL|< constraint_name >[ ,...n ]} |{ENABLE|DISABLE} TRIGGER {ALL|< trigger_name >[ ,...n]} | SWITCH [ PARTITION < source partition number expression> ] TO [ schema_name . ] target_table [ PARTITION <target partition number exp ression> ] } Co nto h pe rta ma ya ng ak a n d iba ha s ad a la h me ng guna k a n ALTER TABLE untuk me na mb a hka n c o lu mn - co lu mn ba r u : ALTER TABLE Staff ADD new_col INT, new_col2 char(3)

NOT NULL DEFAULT 'xyz'

Quer y te r seb ut a ka n me na mb a hk a n d ua co lu mn b ar u d e nga n n a ma da n tipe da ta ya ng te la h d ise b utk a n, a da ha l ya ng p e r lu d ipe r hatik a n d ar i q ue r y d ia ta s,


15 | P a g e

ya itu pa da d e fin is i co lu mn new_col2 , k etik a me na mba hka n co lu mn b a r u ya ng me mp unya i co ns tra int NOT NULL , maka ha r us d ibe r i nila i DEFAULT , ka r e na da ta - da ta la ma ya ng ada d i tab le te rs eb ut be lum me mp unya i n ila i untuk co lu mn bar u ya ng tida k bo le h NULL, jika me na mb a hk a n c o lu mn b ar u ya ng me mp unya i co nstr a int NOT NULL da n tida k me nu lisk a n de fa u lt va lue nya mak a aka n er ro r. Co nto h k ed ua da r i ALTER TABLE ada la h untuk me ngub a h tip e d ata, d e nga n s ya ra t tipe da ta ya ng ba r u d ap at me na mp ung da ta da ta da r i co lu mn ya ng la ma, co nto hnya p e nguna a nnya a da la h : ALTER TABLE Staff ALTER COLUMN fName CHAR(40)

1.3. 3. DROP DROP d igu nak a n untuk me ngha p us ob je c t( s) ya ng d ite ntuka n, se pe r ti ta b l e, da tab as e, vie w, tr ig ge rs , da n ob je ct ob je c t da ta ba se la in nya . DROP ter liha t sep er ti be r ik ut : DROP < object type > < object name > [ , ...n ] Co nto hnya untuk me nde le te d ua tab le s ek a lig us da pa t de nga n c ar a : DROP TABLE Staff, Branch Per ha tika n ur uta n da r i DROP TABLE d ia ta s, jika ur uta n te rs eb ut d ib a lik ma ka aka n er ro r k etik a me nde le te Bra nc h, ka re na S ta f f me mp unya i fo re ign k e y d a r i Bra nc h, te ta p i tab le S ta f f te ta p aka n te rd e le te . Untuk me n- DROP da ta ba se da pa t d ila k uk a n de nga n mud a h : DROP DATABASE DreamHome Pas tik a n ba hwa k ita s ed a ng tid ak me ngguna k a n da ta ba se ya ng aka n d idr op, da n juga s eda ng tid ak ter- c o nnec t ke da taba se ya ng ak a n d id rop .

16 | P a g e

Chapter 2
2.1. Definitio n

Data Manipulation Language

Da ta M a nip ula tio n La ngua ge ( DM L) ad a la h b a has a ya ng me m b er ik a n sek ump u la n ope ra s i ya ng me nd uk ung ope ra s i ma n ip ula s i da ta d as ar p ada da ta ya ng a da d i d atab as e. Oper as i ma n ip ula s i da ta b ia sa nya te rd ir i da r i : Me ma s uk ka n d ata ba r u ke da ta ba se Me ngub a h da ta ya ng ad a d i da taba se Me nga mb il d a ta ya ng ada d i da ta ba se Me ngha p us d a ta da r i d atab as e Da la m SQ L S er ve r 2 005 , o pe ra s i untuk e mas ukk a n da ta ba r u ke da taba se dap at d ila k uka n de nga n INSERT sta te me nt, untuk me ngub a h d ata ya ng ada d i da tab as e de nga n UPDATE s tate me nt, untuk me nga mb il d ata ya ng a da d i da taba se de nga n SELECT s ta te me nt, untuk Me ngha p us d a ta da r i d a tab as e d e nga n DELETE sta te me nt.

2.2. Syntax
2.2. 1. SELECT Se lec t ad a la h s a la h s atu q ue r y pa ling ya ng pa lin g b a nyak d igu nak a n d i SQ L Ser ve r 2 005 , b e ntuk d as ar nya a da la h sep er ti be r ik ut : SELECT < column list > [FROM < source table(s) >] [WHERE < restrictive condition >] [GROUP BY < column name or expression using a column in the SELECT list >] [HAVING < restrictive condition based on the GROUP BY results >] [ORDER BY < column list >] [[FOR XML {RAW|AUTO|EXPLICIT|PATH [(< element >)]}[, XMLDATA][, ELEMENTS][, BINARY base 64]] [OPTION (< query hint >, [, ...n ])]
17 | P a g e

Co nto h ya ng se de r ha na ad a la h untuk me liha t na ma dep a n ka r ya wa n : SELECT fName FROM Staff Ketik a d i- e xe c ute mak a aka n me na mp ilk a n se lur uh na ma d epa n ka r ya wa n, jika ing in me na mp ilk a n co lu mn co lu mn la inn ya d apa t d itu lis d e nga n d ip is a hka n o le h ko ma . J ik a ing in me nu njukk a n se lur uh co lu mn, ba gia n co lu mn d ap at d iga nti d e nga n * : SELECT * FROM Staff Ketik a d i- e xec ute ak a n me na mp ilk a n tab le S ta ff s eca r a utuh.

2.2. 1.1 .

WHERE

S ynta x SELECT d ia t as me nga mb il se lur u h ro w da r i tab le , ba ga ima na jik a ing in me nga mb il ro w ro w te r te ntu ya ng s es ua i d e nga n k r ite r ia te rte ntu? Untuk me la k uk a nnya d apa t me nggu na ka n WHERE . C o nto h d iba wa h in i a da la h untuk me nca r i na ma da n no mor te lfo n C lie nt d e nga n c lie ntNo C R74 : SELECT fName, lName, telNo FROM Client WHERE clientNo = 'CR74' Quer y d ia tas ak a n me ngha s ilk a n :
fNam e lNa me tel No ---- --- --- --- --- --- --- -- --- -- --- --- --- -- - --- -- - -- --- --- --- --- ----Mike Rit ch ie 014 75 - 392 178
( 1 r ow ( s ) a f fe c t ed )

Be r ik ut ad a la h d a fta r op er ator ya ng da pa t d iguna k a n pad a WHERE : Ope ra to r Co nto h pe ng g una a n Efe k =, > , < , > =, <Co lu mn N a me> = Oper a to r p e mba nd ing s ta nd ar d (! = d a n <=,< >, != , <Other Co lu mn Na me > <> sa ma s a ma be ra r ti no t eq ua l . !< !>, ! < <Co lu mn N a me> = Bo b da n !> be ra rti no t le s s tha n d a n no t gre a te r tha n. AN D,O R, <Co lu mn1 > = Sta nd ar d Bo o lea n lo gic . NOT <Co lu mn2 > AN D <Co lu mn3 > > = <C o lu mn
18 | P a g e

Ope ra to r

BETW EEN

Co nto h pe ng g una a n 4> <Co lu mn1 > != M yLite r a l O R <Co lu mn2 > = M yO ther Lite r a l <Co lu mn1 > BETW EEN 1 AN D 5

Efe k

LIK E

<Co lu mn1 > LIK E ROM %

IN

ALL, AN Y, SOM E

<Co lu mn1 > IN ( Lis t o f Numb er s ) <Co lu mn1 > IN ( A, b , 345 ) <co lu mn| e xp re ss io n> (co mp a r iso n o pe ra to r ) <AN Y|SOM E> (s ubq ue r y)

EXIS TS

EXIS TS ( sub qu er y )

Per ba nd inga n aka n me ngha s ilk a n TRUE a pa b ila n ila i pe r ta ma be ra da d ia nta ra nila i ke d ua da n k etiga ( inc lus ive ). Sa ma de nga n A> = B d a n A< =C. Me nggu nak a n % dan _ untuk wild c ar d. % me nya ta ka n nila i de nga n pa nja ng be ra pap un da pa t me ngga nt ika n ka r ak te r %. _ me nya taka n ba hwa sa tu k ar ak te r apa p un d ap at me ng ga ntik a n k ar ak te r _. M e nutup ka ra k te r k ar ak te r de nga n [] me nya ta ka n b a hwa sa tu k ar ak te r dar i [ ] bo le h ([ ab c] be ra r ti a, b, a ta u c bo le h, [a- g] b er a rti a sa mp a i g bo le h) . ^ ada la h NO T, me nya tak a n ba hwa kar ak te r be r ik utnya d itid ak ik utk a n. Ak a n TRUE a pab ila nila i d i k ir i d ar i IN coc ok d e nga n s a la h s a tu nila i ya ng d ib e r ika n se t e la h IN. Bias a nya d iguna ka n untuk s ubq ue r y. Ak a n TRUE ap ab ila sa la h s atu a ta u se mua ( te r ga ntun g ya ng d ip ilih, AN Y / SOM E a ta u ALL) nila i d i s ubq ue r y se s ua i de nga n k o nd is i c o mpa r is o n ope ra to r ( mis a l <, =, > =) . ALL b er ar ti se lur uh n ila i ha r us s a ma. Ak a n TRUE ap ab ila s ubq ue r y me ngha s ilk a n se tid ak nya sa tu ro w.

Co nto h p e ngguna a n ope ra tor = s uda h d ic o nto hka n, untuk pe ngg una a n ope ra to r p e mba nd ing s ta nda rd la inn ya mis a lnya untuk me nc ar i ha r ga p ro pe r ti dar i tab le P rop er tyFo r Re nt ya ng le b ih mur a h da r i 4 00 : SELECT propertyNo, street, city, rent FROM PropertyForRent WHERE rent < 400 Ya ng ak a n me ngha s ilk a n :
19 | P a g e

prop ert yNo ---- --- ------ --- -PG36 PG4

s tre et ci ty ren t - --- --- --- --- --- -- --- --- -- --- --- --- --- --- -- --- --- --2 Ma nor Rd 6 La wre nce St Gl asg ow Gl asg ow 375 .00 350 .00

(2 r ow( s) aff ect ed)

Co nto h pe ngg una a n BETW EEN AN D da n AN D, mis a ln ya untuk me nc a r i pro pe r ti d i Gla s go w de nga n r ua nga n a ntar a 4 s a mpa i 5 : SELECT propertyNo, street, city, rent, rooms FROM PropertyForRent WHERE city = 'Glasgow' AND rooms BETWEEN 4 AND 5 Ya ng ak a n me ngha s ilk a n :
prop ert yNo room s ---- --- ------ -PG16 PG21 s t ree t ci ty re nt

-- --- --- --- --- --- -- --- -- --- --- --- --- -- --- --- --- --- -5 Nov ar Dr 18 Da le Rd Gl asg ow Gl asg ow 45 0.0 0 60 0.0 0 4 5

(2 r ow( s) aff ect ed)

Co nto h pe nggu na a n LIK E, pe rta ma ta ma untuk LIK E de nga n wild ca rd %, mis a lnya untuk me nc ar i Pr iva teO wner ya ng me mp unya i a la ma t d i Gla s go w : SELECT fName, lName, address FROM PrivateOwner WHERE address LIKE '%Glasgow%' Ya ng ak a n me ngha s ilk a n :
fNam e ---- --- --- ----- Tina Caro l Tony lNa me add res s --- --- --- --- --- - --- --- --- --- --- --- --- --- --- --- --- --Mur phy Far rel S ha w 63 Wel l S t, Gla sgo w G 42 6 A chr ay St, Gl asg ow G32 9D X 12 Par k P l, Gla sgo w G 4 0 QR

(3 r ow( s) aff ect ed)

20 | P a g e

Untuk p e nc ar ia n me ngg una ka n _ d a n % tid ak ja uh b er be da, pe rb eda a nnya ha nya ber ap a ba nya k k a rak ter ya ng me r upak a n wild ca rd . C o nto h la in mis a lnya untuk me nca r i na ma d epa n P r iva teO wne r ya ng d imu la i d e nga n hur u f T, d ap at me ngg una ka n WHERE fName LIKE 'T%' . Co nto h la in d ar i LIK E ad a la h untuk [ ], mis a lnya untuk me nca r i S ta ff d e nga n sta ffNo de nga n hur u f p er ta ma S da n hur u f k ed ua A a ta u L : SELECT staffNo, fName, lName FROM Staff WHERE staffNo LIKE ' S[AL]%' Ya ng ak a n me ngha s ilk a n :
staf fNo ---- ----SA9 SL21 SL41 fN ame lNa me -- --- --- --- --- --- --- -- --- --- -- --- --- --- --- --- --- --- --- --Ma ry Jo hn Ju lie How e Whi te Lee

(3 r ow( s) aff ect ed)

2.2. 1.2 .

ORDER BY

Da r i co nto h co nto h q uer y d ia ta s, ke ba nya ka n has iln ya te r liha t be r ur uta n. Tetap i in i ha nya la h ke be tula n. J ik a in g in me ng ur utka n d a ta se s ua i d e nga n ke ing ina n ma k a b is a d e nga n me ngguna k a n ORDER BY , d ata dap a t d iur utka n d a r i nila i te rk ec il ke te rb es ar , a ta u se ba lik nya d e nga n o ptio n ASC ( Asc e nd in g) a ta u DESC ( Des ce nd ing) , d ima na d e fa ultnya jik a tida k d itu lis ad a la h ASC . Co nto hnya mis a l untuk me nc ar i P ro pe rtyFo r Re nt de nga n ha r ga d iba wa h 6 00 da n d iur utka n b e rda sa rk a n jumla h r ua nga n da r i ya ng te rk ec il s a mpa i ter be sa r : SELECT propertyNo, street, rooms, rent FROM PropertyForRent WHERE rent < 600 ORDER BY rooms ASC Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- --PG36 PG4 st ree t -- --- --- --- --- --- 2 Man or Rd 6 Law ren ce St roo ms --- -3 3 ren t --- --- --- -375 .00 350 .00

21 | P a g e

PL94 PG16

6 Arg yll St 5 Nov ar Dr

4 4

400 .00 450 .00

(4 r ow( s) aff ect ed)

Untuk me mb a lik ur uta n dap a t d ig una ka n k e ywo rd DESC. Ba ga ima na jika k ita ing in d a ta ya ng d iur utk a n b er da sa rka n d ua c o lu mn? Car a nya ha nya de nga n me na mb a hk a n c o lu mn k ed ua ya ng ak a n d iur utka n s ete la h co lu mn pe r ta ma d ip is a hk a n de nga n k o ma . Co nto hnya , da r i p er so a la n d ia ta s, untuk me nc ar i P ro pe r tyFo r Re nt de nga n har ga d iba wa h 60 0 d a n d iur utk a n ber da sa rk a n jumla h r ua nga n da r i ya ng te rke c il sa mp a i ter be sa r d a n har ga d a r i ya ng te rbe sa r sa mp a i te rk ec il : SELECT propertyNo, street, rooms, rent FROM PropertyForRent WHERE rent < 600 ORDER BY rooms ASC, rent DESC Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- --PG36 PG4 PG16 PL94 st ree t -- --- --- --- --- --- -- 2 Man or Rd 6 Law ren ce St 5 Nov ar Dr 6 Arg yll St r oom s - --- 3 3 4 4 r ent - --- --- --- --- --- --- -3 75. 00 3 50. 00 4 50. 00 4 00. 00

(4 r ow( s) aff ect ed)

2.2. 1.3 .

Aggr e ga te F unc tio ns

F ungs i fun gs i a ggre ga te ad a la h fun gs i ya ng ak a n me ng ha s ilk a n sa tu ha s il se te la h me la lu i ka lk ula s i d ar i ba nya k r ow . Da la m SQ L, fun gs i fu ngs i a ggre ga te ini a da COUNT , AVG , SUM , MIN , MAX . 2.2. 1.3 .1. COUN T

COUNT d iguna k a n untuk me ng hit ung b er ap a ba nyak ro w ya ng ad a da r i ha s il q ue r y. S ynta x da sa r nya se pe r ti b er ik ut : SELECT COUNT(*) FROM Table-name(s)
22 | P a g e

COUNT sepe r ti d ia tas aka n me ngh itung jumla h ro w d ar i ta b l e. C o nto hnya ad a la h me ngh itun g ro w da r i P ro pe rtyFo r Re nt : SELECT COUNT(*) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
---- --- --- 6 (1 r ow( s) aff ect ed)

COUNT juga b is a d iguna k a n untuk me ng h itung b er ap a ba nya k jumla h da ta ya ng ad a p ada se b ua h c o lu mn . C o nto hnya ad a la h me ng hitu ng jumla h da ta p ada co lu mn s ta ffN o d ar i Pr op er tyFo r Re nt : SELECT 'staffNo count' = COUNT(staffNo) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
staf fNo co unt ---- --- --- --5 Warn ing : N ull va lue is el imi na ted by an ag gre gat e o r o the r S ET oper ati on. (1 r ow( s) aff ect ed)

Da r i co nto h d ia tas te r liha t ba hwa N ULL tid ak d iik ut se r tak a n d a la m COUN T (da n fungs i fu ngs i a ggr e ga te la inn ya ). Ba g ia n 'staffNo count' = d iguna ka n untuk me na ma i c o lu mn ha s il.

2.2. 1.3 .2.

MAX

MAX d igu nak a n untuk me nca r i n ila i t er tin gg i (N ULL a ka n d ile wa tka n) , co nto h ya ng sed e r ha na nya a da la h mis a l untuk me nca r i be ra pa har ga P rop er tyFo r Re nt te r tingg i : SELECT MAX(rent) FROM PropertyForRent
23 | P a g e

Ya ng ak a n me ngha s ilk a n :
---- --- --- --- --- --- -650. 00 (1 r ow( s) aff ect ed)

2.2. 1.3 .3.

MIN

MIN d iguna ka n untuk me nc ar i nila i ter re nda h (NULL a ka n d ile wa tk a n), co nto h ya ng se de r ha na nya ad a la h mis a l untuk me nc ar i be ra pa ha r ga Pro pe rtyFo r Re nt te rr e nda h : SELECT MIN(rent) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
---- --- --- --- --- --- -350. 00 (1 r ow( s) aff ect ed)

2.2. 1.3 .4.

SUM

SUM ak a n me ngha s ilka n ha s il p e njumla ha n da r i se b ua h co lu mn ( N ULL ak a n d ile watka n) , c o nto h ya ng s ede r ha na a da la h : SELECT SUM(rent) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
---- --- --- --- --- --- -2825 .00 (1 r ow( s) aff ect ed)

2.2. 1.3 .5.

AVG

AVG ak a n me ngha s ilka n n ila i r ata r a ta (a ver a ge) d a r i co lu mn ( NULL ak a n d ile watka n) , c o nto h ya ng s ede r ha na a da la h :
24 | P a g e

SELECT AVG(rent) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :


---- --- --- --- --- --- -470. 833 3 (1 r ow( s) aff ect ed)

Pe ngguna a n a ggr e ga te fu nc tio ns da pa t d igab ung, c o nto hnya a da la h : SELECT 'Rent Count' = COUNT(rent), 'Rent Max' = MAX(rent), 'Rent Min' = MIN(rent), 'Rent Sum' = SUM(rent), 'Rent AVG' = AVG(rent) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
Rent Co unt R ent Ma x R ent M in Ren t S um Ren t A VG ---- --- --- - - --- --- --- - - --- -- --- --- -- --- --- --- --- -- --- --- --- ---6 6 50. 00 3 50. 00 282 5.0 0 470 .83 33 (1 r ow( s) aff ect ed)

2.2. 1.4 .

GRO UP BY

GROUP BY d igunak a n untuk me ngga b ungk a n da ta da ta , untuk me mp er je las dap at la ngs u ng me liha t co nto h, mis a ln ya untuk me liha t a da be ra pa b a nyak kar ya wa n pe r je nis ke la min : SELECT sex, 'count' = COUNT(*) FROM Staff GROUP BY sex Ya ng ak a n me ngha s ilk a n :

25 | P a g e

sex ---F M

co unt -- --- --- --4 2

(2 r ow( s) aff ect ed)

Co nto h la in ad a la h mis a l untuk me liha t be ra pa b a nyak p rop er ti ya ng d ima na ge o le h se or a ng s ta ff : SELECT staffNo, COUNT(staffNo) FROM PropertyForRent GROUP BY staffNo Ya ng ak a n me ngha s ilk a n :
staf fNo ---- --- -- --- --- --NULL 0 SA9 1 SG14 1 SG37 2 SL41 1 Warn ing : N ull va lue is el imi na ted by an ag gre gat e o r o the r S ET oper ati on. (5 r ow( s) aff ect ed)

NULL va lue d ia ngga p tid ak ada te tap i d ita mp ilk a n, jik a co nto h d ia tas COUNT(staffNo) d iga nti de nga n COUNT(*) , mak a ro w p er ta ma ak a n b er is i NULL 1 . GROUP BY juga d ap at d iguna k a n de nga n a ggr e gate func tio ns la in sep er ti ya ng te la h d ije las ka n.

2.2. 1.4 .1.

HAVIN G

HAVING d iguna k a n be r sa ma a n d e nga n GROUP BY , HAVING d igu nak a n untuk me nya r ing ha s il GROUP BY . Pe rbe da a n HAVING de nga n WHERE ada la h, WHERE aka n d iliha t pe r ta ma se be lu m te r jad i GROUP BY , s e te la h ha s il GROUP BY a da, bar u HAVING d iliha t . Ja d i HAVING be rpe r a n se ba ga i f ina l f ilte r. Untuk me mp er je las da pa t me liha t co nto h, mis a l jik a ing in me liha t Br a nc h ma na sa ja ya ng me mp unya i S ta ff leb ih s ed ik it da r i 3, d a n me nunj ukk a n jumla h S ta ff nya : SELECT branchNo, 'count_result' = COUNT(*) FROM Staff GROUP BY branchNo
26 | P a g e

HAVING COUNT(*) < 3 Ya ng ak a n me ngha s ilk a n :


bran chN o ---- --- B005 B007 c oun t_r esu lt - --- --- --- -2 1

(2 r ow( s) aff ect ed)

2.2. 1.5 .

DIS TINC T

DISTINCT dapa t d ig una ka n untuk me ngh ila ngk a n nila i ya ng sa ma (d up lik a t). Co nto h ya ng se de r ha na ad a la h mis a l untuk me liha t d ima na sa ja ad a Bra nc h : SELECT DISTINCT city FROM Branch Ya ng ak a n me ngha s ilk a n :
city ---- --- --- --- --- --- --- --- --- -Aber dee n Bris tol Glas gow Lond on (4 r ow( s) aff ect ed)

J ika DISTINCT d iik uti d e nga n leb ih da r i sa tu c o lu mn, a ka n me ng hila ngk a n nila i ya ng sa ma d ar i co lu mn co lu mn te rs eb ut co nto hnya : SELECT DISTINCT propertyType, rooms FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
prop ert yTy pe ---- --- --- --- --- --- Flat Flat Hous e Hous e (4 r ow( s) aff ect ed) r oom s - --- 3 4 5 6

27 | P a g e

DISTINCT juga d apa t d ig una ka n untuk a ggr e ga te fu nc tio ns. Co nto hnya ada la h : SELECT COUNT(DISTINCT rooms) FROM PropertyForRent Ya ng ak a n me ngha s ilk a n :
---- --- --- 4 (1 r ow( s) aff ect ed)

J ika q ue r y d ia ta s tidak me ngg una ka n DISTINCT mak a ha s il ya ng a ka n ke lua r ada la h 6 .

2.2. 1.6 .

JOIN

Ter kad a ng k ita me me r luka n info r ma s i d ar i leb ih da r i s a tu tab le, a ta u in fo r ma s i ya ng k ita ing inka n be rad a d i sa tu tab le , te tap i k ita ing in me ne mpa tka n ko nd is i d i ta b le la in. Untuk s itua s i sep er ti in i da pa t me ngg una ka n JOIN . 2.2. 1.6 .1. INN ER JO IN

INN ER JO IN a da la h JO IN ya ng p a lin g se r ing d iguna k a n, INN ER JOIN me nya ma ka n r eco rd d ima na co lu mn ya ng d is eb utka n me mp un ya i nila i ya ng coc ok, INNER JOIN ha nya me nge mb a lik a n re co rd ya ng s es ua i d e nga n ke te ntua n INNER JOIN , r ec or d ya ng tid ak co co k tida k a ka n d ita mp ilk a n. Co nto h ya ng s ed er ha na a da la h , mis a lka n untuk me liha t s ia pa sa ja ( na ma ) C lie nt ya ng s ud a h me liha t pr ope r ti d a n ta ngga l me liha t p ro pe rti ter se b ut : SELECT * FROM Client c INNER JOIN Viewing v ON c.clientNo = v.clientNo Ya ng ak a n me ngha s ilk a n : c lie nt No CR5 6 fNa me Alin lNa me Ste w te lNo 0141pre fT ype F la t ma xR e nt 350. 0 c lie nt No CR5 6 pro pe r t yN o PA1 4 vie wD ate 2001co mm e nt too

28 | P a g e

ar t

8481825 01418481825 01418481825 0122 4 1967 2 0 02077745632 F la t

CR5 6

Alin e

Ste w ar t

350. 0 0

CR5 6

PG3 6

CR5 6

Alin e

Ste w ar t

F la t

350. 0 0

CR5 6

PG4

CR6 2

Ma r y

Tre g nar

F la t

600. 0 0

CR6 2

PA1 4

CR7 6

Jo hn

Ka y

F la t

425. 0 0

CR7 6

PG4

05- 24 00 :00 : 00 200104- 28 00 :00 : 00 200105- 26 00 :00 : 00 200105- 14 00 :00 : 00 200104- 20 00 :00 : 00

s ma ll

NULL

NULL

no d ining roo m too re mo te

Da r i has il te rs eb ut d ap at ter liha t ya ng a ka n d ita mp ilk a n ha nya la h ro w ya ng me mp unya i c lie ntNo da r i tab le C lie nt da n Vie win g ya ng sa ma . Da r i c o nto h d i atas juga te r liha t p e nggu naa n a lia s untuk tab le , jika da la m sa tu q ue r y s uda h me ngg una ka n sa tu a lia s, ma ka se lur uh ba gia n d a r i q ue r y ha r us me nggu na ka n a lia s. C o nto h d i a tas me ngha s ilk a n c o lu mn ya ng te r la lu b a nyak (tid ak se s ua i de nga n kr ite r ia ya ng d iing ink a n), untuk co nto h ke d ua s a ma d e nga n q uer y d ia tas te ta p i d e nga n co lu mn co lu mn ter te ntu sa ja untuk me nye s ua ika n d e nga n per minta a n : SELECT c.clientNo, c.fName, c.lName, v.viewDate FROM Client c INNER JOIN Viewing v ON c.clientNo = v.clientNo Ya ng ak a n me ngha s ilk a n :
clie ntN o ---- --- --CR56 CR56 CR56 CR62 CR76 f Nam e l Nam e p rop ert yNo vi ewD ate - --- --- --- - - --- --- -- - -- - - --- --- --- -- --- --- --- --- --- --A lin e A lin e A lin e M ary J ohn S tew art S tew art S tew art T reg nar K ay P A14 P G36 P G4 P A14 P G4 20 01 - 05- 24 20 01 - 04- 28 20 01 - 05- 26 20 01 - 05- 14 20 01 - 04- 20 00: 00: 00 00: 00: 00 00: 00: 00 00: 00: 00 00: 00: 00

v.propertyNo ,

(5 r ow( s) aff ect ed)

29 | P a g e

INNER JOIN juga dap a t me ngga b ungk a n leb ih d a r i 2 tab le , co nto hnya ad a la h mis a l untuk me nca r i na ma C lie nt ya ng s uda h me liha t p rop er ti, d i k ota apa pro pe r ti te rs eb ut be ra da, da n ta ngga l C lie nt me liha t p ro pe r ti te rs eb ut : SELECT c.clientNo, c.fName, c.lName, p.city, v.viewDate FROM Client c JOIN Viewing v ON c.clientNo = v.clientNo INNER JOIN PropertyForRent p ON v.propertyNo = p.propertyNo Ya ng ak a n me ngha s ilk a n :
clie ntN o f Nam e ---- --- - - --- --- ------ --- --- CR56 A lin e 24 0 0:0 0:0 0 CR56 A lin e 28 0 0:0 0:0 0 CR56 A lin e 26 0 0:0 0:0 0 CR62 M ary 14 0 0:0 0:0 0 CR76 J ohn 20 0 0:0 0:0 0 (5 r ow( s) aff ect ed) lN ame pro per tyN o c ity vie wDa te -- --- --- -- -- --- --- --- - - --- --- --- -- --- --- --St ewa rt St ewa rt St ewa rt Tr egn ar Ka y PA1 4 PG3 6 PG4 PA1 4 PG4 A ber dee n G las gow G las gow A ber dee n G las gow 200 1 -0 5200 1 -0 4200 1 -0 5200 1 -0 5200 1 -0 4-

p.propertyNo,

Pada q ue r y d ia ta s, INNER JOIN p ad a b a r is ke tiga tid ak me nggu nak a n INNER , kar e na JOIN ya ng de fa ult me r upa ka n INNER JOIN , tetap i untuk co nto h co nto h k e d ep a n aka n d iguna ka n INNER JOIN untuk me nc e ga h keb in gu nga n. JOIN juga dap a t d ita mba h de nga n WHERE, c o nto hnya mis a l untuk me liha t s iap a sa ja c lie nt ya ng s ud a h me liha t p ro pe r ti ya ng ha r ga nya sa ma de nga n a ta u le b ih re nda h d ar i ma xRe nt nya : SELECT c.clientNo, c.fName, c.lName, p.propertyNo, p.rent, v.viewDate FROM Client c INNER JOIN Viewing v ON c.clientNo = v.clientNo INNER JOIN PropertyForRent p ON v.propertyNo = p.propertyNo WHERE c.maxRent >= p.rent
30 | P a g e

c.maxRent,

Ya ng ak a n me ngha s ilk a n :
clie ntN o f Nam e ---- --- - - --- --- ---- --- --- CR56 A lin e 00:0 0:0 0 CR76 J ohn 00:0 0:0 0 l Nam e ma xRe nt pr ope rty No ren t vi ewD ate - --- -- - -- -- --- --- -- --- --- -- --- --- -- --- --- --S tew art K ay 35 0.0 0 42 5.0 0 PG 4 PG 4 350 .00 20 01 - 05- 26 350 .00 20 01 - 04- 20

(2 r ow( s) aff ect ed)

2.2. 1.6 .2.

OUTER JOIN

Ter kad a ng k ita me nging ink a n has il d ar i JOIN ya ng tida k me mp unya i nila i co lu mn ya ng sa ma , ko nd is i se pe r ti in i tid ak b is a d ic ap a i d e nga n me nggu na ka n INNER JOIN kar e na INNER JOIN ha nya me nge mb a lik a n r o w ya ng me mp unya i nila i ya ng sa ma sa ja. O UTER JO IN te rd ir i da r i LEFT OUTER JOI N , RIGHT OUTER JOIN , da n FULL OUTER JOIN . ( LEFT OUTER JOIN d apa t juga d itulis LEFT JOIN , RIGHT OUTER JOIN dapa t juga d itu lis RIGHT JOIN , FULL OUTER JOIN dapa t juga d itulis FULL JOIN ) 2.2. 1.6 .2. 1. LEF T O UTER JOIN LEFT OUTER JOIN ber fu ngs i untuk me ngga b ungk a n tab le d ima n a ro w d a r i ta b le ya ng b er ad a d i s ebe la h k ir i da r i LEFT OUTER JOIN aka n tetap i d iik ut se rtak a n da la m ha s il jo in de nga n tab le ya ng d i s ebe la h ka na n d ar i LEFT OUTER JOIN . Co nto hnya ada la h mis a lk a n untuk me liha t se lur u h p rop er ti, d a n na ma s ta ff ya ng me ma na ge nya : SELECT p.propertyNo, p.rent, p.staffNo, s.staffNo, s.fName, s.lName FROM PropertyForRent p LEFT OUTER JOIN Staff s ON p.staffNo = s.staffNo Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- ------ --- PA14 PG16 PG21 re nt sta ffN o s ta ffN o -- --- -- --- --- - - -- --- 65 0.0 0 45 0.0 0 60 0.0 0 SA9 SG1 4 SG3 7 S A9 S G1 4 S G3 7 fNa me lNa me --- --- --- -- --- --- --- --- --- --Mar y Dav id Ann How e For d Bee ch

31 | P a g e

PG36 PG4 PL94

37 5.0 0 35 0.0 0 40 0.0 0

SG3 7 NUL L SL4 1

S G3 7 N UL L S L4 1

Ann NUL L Jul ie

B ee ch NUL L Lee

(6 r ow( s) aff ect ed)

Da r i ha s il te rs eb ut da pa t te r liha t b a hwa s e lur uh r o w d ar i P rop er tyFo r Re nt (s ebe la h k ir i da r i LEFT OUTER JOIN ) aka n d iik ut s er taka n wa la up un nila i sta ffNo nya ya ng sa ma de nga n Sta ff. s ta f fNo tid ak d ite muka n, d a n a ka n me nge mb a lik a n N ULL.

2.2. 1.6 .2. 2. RI GHT O UTER JOIN RIGHT OUTER JOIN terb a lik de nga n LEFT OUTER JOIN , RIGHT OUTER JOIN aka n me ng ik ut s er ta ka n se lur uh r o w d ar i tab le ya ng ad a d i s ebe la h ka na n dar i RIGHT OUTER JOIN , jik a c o nto h d ia tas d ir uba h sed ik it : SELECT p.propertyNo, p.rent, p.staffNo, s.staffNo, s.fName, s.lName FROM PropertyForRent p RIGHT OUTER JOIN Staff s ON p.staffNo = s.staffNo Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- ------ --- -PA14 PG16 PG21 PG36 NULL NULL PL94 re nt sta ffN o s ta ffN o f Nam e lN ame -- --- -- --- --- - - -- --- - - --- --- --- --- -- --- --- --- --- --65 0.0 0 45 0.0 0 60 0.0 0 37 5.0 0 NU LL NU LL 40 0.0 0 SA9 SG1 4 SG3 7 SG3 7 NUL L NUL L SL4 1 S A9 S G1 4 S G3 7 S G3 7 S G5 S L2 1 S L4 1 M ary D avi d A nn A nn S usa n J ohn J uli e Ho we Fo rd Be ech Be ech Br and Wh ite Le e

(7 r ow( s) af f ect ed)

Quer y d ia tas me ngha s ilk a n ha s il ya ng ja uh b er bed a d ib a nd ingk a n q ue r y seb e lu mnya , RIGHT OUTER JOIN d iatas me na mp ilka n se lur u h ro w ya ng ad a d i Sta f f ( se be la h ka na n RIGHT OUTER JOIN ) wa la up un tida k d ite muk a n co lu mn ya ng coc ok. Untuk me ng ha s ilk a n has i l ya ng s a ma d e nga n q uer y s ebe lu mnya de nga n me ngguna k a n RIGHT OUTER JOIN ur uta n ta b le p e r lu d ib a lik :

32 | P a g e

SELECT p.propertyNo, p.rent, p.staffNo, s.staffNo, s.fName, s.lName FROM Staff s RIGHT OUTER JOIN PropertyForRent p ON s.staffNo = p.staffNo Ya ng ak a n me ngha s ilka n ha s il ya ng s a ma d e nga n c o nto h LEFT OUTER JOIN per ta ma.

2.2. 1.6 .2. 3. FULL OUTER JOIN J ika LEFT OUTER JOIN da n RIGHT OUTER JOIN ha nya me nge mba lik a n ro w da r i tab le d i se be la h k ir i a ta u ka na n sa ja , FULL OUTER JOIN a ka n me nge mb a lik a n ro w ro w ya ng tid ak co cok da r i 2 ta b le da n s ep er ti O UTER JOIN la innya me ng is i n ila i ya ng tidak c oco k d e nga n NULL. C o nto hnya : SELECT p.propertyNo, p.rent, p.staffNo, s.staffNo, s.fName, s.lName FROM PropertyForRent p FULL OUTER JOIN Staff s ON p.staffNo = s.staffNo Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- ------ --- -PA14 PG16 PG21 PG36 PG4 PL94 NULL NULL re nt st aff No st aff No fNa me l Nam e -- --- --- -- --- -- -- --- -- --- --- --- --- - - --- --- --- --- --65 0.0 0 45 0.0 0 60 0.0 0 37 5.0 0 35 0.0 0 40 0.0 0 NU LL NU LL SA 9 SG 14 SG 37 SG 37 NU LL SL 41 NU LL NU LL SA 9 SG 14 SG 37 SG 37 NU LL SL 41 SG 5 SL 21 Mar y Dav id Ann Ann NUL L Jul ie Sus an Joh n H owe F ord B eec h B eec h N ULL L ee B ran d W hit e

(8 r ow( s) aff ect ed)

2.2. 1.6 .3.

CROSS JO IN

Be rb ed a d e nga n JOIN la innya , CROSS JOIN a ka n me ng gab ungk a n s etia p re co rd da r i sa tu ta b le de nga n tab le la in nya ( CROSS JOIN me r up aka n ca r te s ia n pro d uc t). J u mla h r o w ya ng ak a n d iha s ilk a n da r i CROSS JOIN mer up aka n ha s il ka li da r i ta b le1 da n ta b le2 . Co nto hnya ad a la h :

33 | P a g e

SELECT p.propertyNo, p.rent, p.staffNo, s.staffNo, s.fName, s.lName FROM PropertyForRent p FULL OUTER JOIN Staff s ON p.staffNo = s.staff No Ya ng ak a n me ngha s ilk a n :
prop ert yNo ---- --- ------ --- -PA14 PG16 PG21 PG36 PG4 PL94 NULL NULL re nt st aff No st aff No fNa me lNa me -- --- --- -- --- -- -- --- -- --- --- --- --- -- --- --- --- --- --65 0.0 0 45 0.0 0 60 0.0 0 37 5.0 0 35 0.0 0 40 0.0 0 N U LL NU LL SA 9 SG 14 SG 37 SG 37 NU LL SL 41 NU LL NU LL SA 9 SG 14 SG 37 SG 37 NU LL SL 41 SG 5 SL 21 Mar y D av id Ann Ann NUL L Jul ie Sus an Joh n How e For d Bee ch Bee ch NUL L Lee Bra nd Whi te

(8 r ow( s) aff ect ed)

2.2. 1.7 .

UNION

UNION d iguna k a n untuk me ng gab ungk a n da ta d ar i be be ra pa tab le me njad i sa tu tab le d a la m co lu mn co lu mn te r te ntu (tid ak s ep er ti JOIN ya ng me na mb a hk a n c o lu mn b ar u, te tap i UNION me nggab ungk a n tab le tab le me nja d i sa tu ta b le b ar u de nga n me na mba hka n r o w r o w) . UNION me mp unya i b ebe r apa po in p e nting : Se lur uh q ue r y UNION har us me mp unya i ju mla h co lu mn ya ng s a ma de nga n jumla h co lu mn ya ng ad a d i q uer y p er ta ma. He ad in g c o lu mn UNION ak a n d ia mb il d ar i q ue r y p er ta ma . Tip e da ta d ar i s etia p co lu mn ya ng ada d i q ue r y ha r us b is a d iuba h se ca ra imp lis it d ar i co lu mn ya ng ad a d i q uer y p e rta ma o le h SQ L S er ve r 200 5. Be rb ed a da r i q ue r y ya ng b uk a n UNION , UNION s eca r a de fa ult me ne rap ka n DISTINCT . J ik a ing in me na mp ilk a n ro w ya ng d up lic a te ma ka guna k a n UNION ALL . Co nto h p e ngguna a n UNION , mis a lk a n p er us a ha a n Dr ea mHo me ing in me ng ir im kar tu se la ma t ta hun ba r u k ep ada se lur uh p iha k ya ng b er hub unga n de nga nn ya, ma ka untuk in i me me r luk a n id se tia p o ra ng da n na ma na ma nya : SELECT staffNo AS 'personID', fName AS 'First Name',
34 | P a g e

lName AS 'Last Name' FROM Staff UNION SELECT clientNo, fName, lName FROM Client UNION SELECT ownerNo, fName, lName FROM PrivateOwner Ya ng ak a n me ngha s ilk a n :
pers onI D ---- --- ---CO40 CO46 CO87 CO93 CR56 CR62 CR74 CR76 SA9 SG14 SG37 SG5 SL21 SL41 F irs t N ame La st Nam e - --- --- --- --- --- --- -- --- --- --- -- --- --- --- --- --- --- --- --T ina J oe C aro l T ony A lin e M ary M ike J ohn M ary D avi d A nn S usa n J ohn J ul i e Mu rph y Ke ogh Fa rre l Sh aw St ewa rt Tr egn ar Ri tch ie Ka y Ho we Fo rd Be ech Br and Wh ite Le e

(14 row (s) af fec ted )

2.2. 2. INS ER T Untuk me ma s ukk a n d a ta k e da la m tab le , d apa t d e nga n me nggu na ka n INSERT , s ynta x d as a r nya a da la h : INSERT INTO TableName
35 | P a g e

VALUES (value, ...) Co nto hnya ad a la h untuk me ma s ukk a n da ta ke tab le C lie n t : INSERT INTO Client VALUES ('CR54', 'John', 'Smith', '1234 -5678', 'House', 999) J ika be r has il ma ka ak a n mu nc ul pe s a n :
(1 r ow( s) aff ect ed)

J ika k ita me liha t tab le C lie nt, d ap at te r liha t ba hwa s uda h ad a da ta b ar u untuk Jo hn S mith :
clie ntN o f Nam e maxR ent ---- --- - - --- --- ----- --- --CR54 J ohn 999. 00 CR56 A lin e 350. 00 CR62 M ary 600. 00 CR74 M ike 750. 00 CR76 J ohn 425. 00 (5 r ow( s) aff ect ed) lNa me t elN o pr efT ype

--- --- --- -- - - --- --- --- --- --- -- --- --- --- - - --Smi th Ste war t Tre gna r Rit chi e Kay 1 234 -56 78 0 141 -84 8-1 825 0 122 4 -1 967 20 0 147 5 -3 921 78 0 207 -77 4-5 632 Ho use Fl at Fl at Ho use Fl at

De nga n ca ra d ia ta s ha r us me ma s ukk a n s e lur uh co lu mn d ar i tab le , untuk me ma s ukka n ha nya c o lu mn ya ng d ip er luka n sa ja (d e nga n c ata ta n co lu mn ya ng tida k d iis i tida k me mp unya i co ns tr a int NOT NULL ata u me mp unya i DEFAULT va lue ) co nto hnya ad a la h : INSERT INTO Viewing(clientNo, p ropertyNo, viewDate) VALUES ('CR54', 'PA14', '1/1/2005') Da r i co nto h d ia tas , co lu mn c o mme nt d ar i Vie w ing t ida k d iis i, jika k ita me liha t ta b le Vie win g mak a aka n te r liha t se pe r ti b er ik ut :
clie ntN o p rop ert yNo vi ewD ate c omm ent ---- --- - - --- -- - --- -- --- --- -- --- --- --- --- - - --- --- --- --- --- --- ------ --- --- -

36 | P a g e

CR54 CR56 CR56 CR56 CR62 CR76

P A14 P A14 P G36 P G4 P A14 P G4

20 05 - 01- 01 20 01 - 05- 24 20 01 - 04- 28 20 01 - 05- 26 20 01 - 05- 14 20 01 - 04- 20

00 :00 :00 00 :00 :00 00 :00 :00 00 :00 :00 00 :00 :00 00 :00 :00

N ULL t oo sma ll N ULL N ULL n o d ini ng roo m t oo rem ote

(6 r ow( s) aff ect ed)

2.2. 3. UPD ATE UPDATE d iguna ka n untuk me ngga nti da ta ya ng a da d ida la m tab le, s ynta x sed er ha na nya a da la h : UPDATE TableName SET fieldname... Co nto hnya jik a in g in me ngub a h s e lur uh ga ji ka r yawa n me nja d i 20 000 : UPDATE Staff SET Salary = 20000 J ika be r has il aka n a da :
(6 r ow( s) aff ect ed)

J ika d iliha t ta b le S ta ff s uda h be r uba h :


st af fN o fN am e br an ch No -- -- -- - -- -- - -- -- - -- -- -- SA 9 Ma ry 20 00 0. 00 B0 0 7 SG 14 Da vi d 20 00 0. 00 B0 0 3 SG 37 An n 20 00 0. 00 B0 0 3 SG 5 Su sa n 20 00 0. 00 B0 0 3 SL 21 Jo hn 20 00 0. 00 B0 0 5 SL 41 Ju li e 20 00 0. 00 B0 0 5 lN am e po si ti on se x D OB s al ar y

-- -- -- -- -- -- -- -- -- -- -- -- - -- -- -- - -- -- -- -- -- -- - - -- -- -Ho we Fo rd Be ec h Br an d Wh it e Le e As si st an t Su pe rv is or As si st an t Ma na ge r Ma na ge r As si st an t F M F F M F 1 97 0- 02 - 19 0 0: 00 :0 0 1 95 8- 03 - 24 0 0: 00 :0 0 1 96 0- 11 - 10 0 0: 00 :0 0 1 94 0- 06 - 03 0 0: 00 :0 0 1 94 5- 10 - 01 0 0: 00 :0 0 1 96 5- 06 - 13 0 0: 00 :0 0

(6 r ow (s ) af f ec te d)

37 | P a g e

Untuk me mba tas i ro w ma na s a ja ya ng ak a n te r upda te da pa t me nggu na ka n WHERE , co nto hnya ad a la h untuk me ngub a h ga ji pa ra ma na ge r me njad i 40 000 : UPDATE Staff SET Salary = 30000 WHERE position = 'Manager' J ika be r has il aka n a da :
(2 r ow( s) aff ect ed)

J ika d iliha t ta b le S ta ff s uda h be r uba h :


st af fN o fN am e br an ch No -- -- -- - -- -- - -- -- - -- -- -- SA 9 Ma ry 20 00 0. 00 B0 0 7 SG 14 Da vi d 20 00 0. 00 B0 0 3 SG 37 An n 20 00 0. 00 B0 0 3 SG 5 Su sa n 30 00 0. 00 B0 0 3 SL 21 Jo hn 30 00 0. 00 B0 0 5 SL 41 Ju li e 20 00 0. 00 B0 0 5 lN am e po si ti on se x D OB s al ar y

-- -- -- -- -- -- -- -- -- -- -- -- - -- -- -- - -- -- -- -- -- -- - - -- -- -Ho we Fo rd Be ec h Br an d Wh it e Le e As si st an t Su pe rv is or As si st an t Ma na ge r Ma na ge r As si st a n t F M F F M F 1 97 0 - 02 - 19 0 0: 00 :0 0 1 95 8 - 03 - 24 0 0: 00 :0 0 1 96 0 - 11 - 10 0 0: 00 :0 0 1 94 0 - 06 - 03 0 0: 00 :0 0 1 94 5 - 10 - 01 0 0: 00 :0 0 1 96 5- 06 - 13 0 0: 00 :0 0

(6 r ow (s ) af f ec te d)

2.2. 4. DELETE DELETE d igunak a n untuk me ngha p us ro w ro w d ar i tab le , b er bed a d e nga n DROP ya ng me ng hap us ob jek da r i da ta ba se, jika s e lur uh is i tab le d i - DELETE ma ka tab le ter se b ut tetap ak a n ad a , tetap i jik a ta b le ter se b ut d i- DROP ma ka tab le te rs eb ut be se rta is i is inya ak a n d iha p us. S ynta x s ede r ha na da r i DELETE ada la h : DELETE FROM tablename Co nto hnya ad a la h mis a l untuk me ngha p us se lur u h is i tab le Vie wing : DELETE FROM Viewing
38 | P a g e

J ika be r has il aka n munc u l :


(6 r ow( s) aff ect ed)

J ika tab le Vie win g d iliha t , se lur u h ro w te la h d iha p us te ta p i ta b le ter se b ut te tap ada :
clie ntN o p ro p ert yNo vi ewD ate com men t ---- --- - - --- --- --- -- --- --- -- --- --- -- --- --- --- --- --- --- --- --- ------ --- --- (0 r ow( s) aff ect ed)

J ika me nggu nak a n s ynta x ter se b ut pad a s ua tu tab le ma ka s e lur uh is i da r i tab le te rs eb ut a ka n d ihap us . Untuk me ne mp a tk a n ko nd is i ter te ntu p ada DELETE d ap at de nga n me ng guna ka n W HERE, c o nto hnya a da la h mis a l untuk me ng hap us pro pe r ti ya ng be ra da d i Gla s go w : DELETE FROM PropertyForRent WHERE city = 'Glasgow' J ika be r has il aka n munc u l :
(4 r ow( s) aff ect ed)

J ika tab le Pr op er tyFo r Re nt d iliha t pro pe r t stre e t c ity pos tc o yN o de PA1 4 16 Ab er d AB7 Ho lhe ee n 5SU ad PL94 6 Lo ndo NW2 Ar gyl n l St

: pro pe r ty Type Ho us e roo ms 6 re nt 65 0 40 0 owne r No CO46 sta ff No SA9 bra nc h No B0 07

F la t

CO87

SL41

B0 05

Ya ng ter s is a tingga l p ro pe r ti s e la in ya ng be rad a d i Glas go w.

39 | P a g e

Lampiran A

ER Diagram
Staff

Branch PK branchNo street city postcode

Client PK clientNo fName lName telNo prefType maxRent

PK

staffNo fName lName position sex DOB salary branchNo

FK1

PropertyForRent PK propertyNo street city postcode propertyType rooms rent ownerNo staffNo branchNo Viewing PK,FK2 PK,FK1 clientNo propertyNo viewDate comment

PrivateOwner PK ownerNo fName lName address telNo

FK3 FK1 FK2

ER Dia gr a m b e rda sa rk a n ins ta nc e ya ng ad a d i La mp ir a n B.

40 | P a g e

Lampiran B
Bra nc h bra nc hNo B0 02 B0 03 B0 04 B0 05 B0 07 C lie nt clie ntN o CR5 6 CR6 2 CR7 4 CR7 6

Instance Table - Table DreamHome


city Lo ndo n Gla s go w Br is to l pos tc o de NW10 6EU G1 1 9Q X BS 99 1N Z

s t re e t 56 C lo ver Dr 163 Ma in S t 32 Ma nse Rd 22 De er Rd 16 Ar gyll S t

Lo ndo n SW1 4 EH Ab er de e n AB2 3S U

fNa me Aline Ma r y M ike Jo hn

lNa me Ste war t Tre gna r Ritc hie Ka y

te lNo 0141- 8 48- 18 25 0122 4- 196 720 0147 5- 392 178 0207- 7 74- 56 32

pre f Ty pe F la t F la t Ho us e F la t

maxRe nt 350. 00 600. 00 750. 00 425. 00

Pr iva teOwne r o wne rN o fNa me CO40 Tina CO46 CO87 CO93 Joe Caro l To ny

lNa me M urp hy Keo gh Far re l S ha w

a ddre s s 63 W e ll S t, Gla s go w G4 2 2 F e r gus Dr, Abe rde e n AB2 7SX 6 Ac hra y S t, Gla s go w G32 9DX 12 P ar k P l, Glas go w G4 0Q R

te lNo 0141- 9 431728 0122 4- 861 212 0141- 3 577419 0141- 2 257025

Pro pe rtyFo r Re nt pro pe rt s t re e t yNo PA1 4 16 Ho lhe ad PG1 6 5 No va r Dr PG2 1 18 Da le Rd PG3 6 2 Ma nor

city Ab er d ee n Gla s g ow Gla s g ow Gla s g ow

pos tc o de AB7 5SU G1 2 9AX G1 2

pro pe rty Ty pe Ho us e

roo ms 6

re nt 650. 00 450. 00 600. 00 375. 00

o wne rN o CO46

s taf f No SA9

bra nc hNo B0 07

F la t

CO93

SG1 4 SG3 7 SG3 7

B0 03

Ho us e

CO87

B0 03

G3 2 4QX

F la t

CO93

B0 03
41 | P a g e

pro pe rt yNo PG4

s t re e t Rd 6 Lawr e nce S t 6 Ar gyl l St

city

pos tc o de G1 1 9QX NW2

pro pe rty Ty pe F la t

roo ms 3

re nt

o wne rN o CO40

s taf f No

bra nc hNo B0 03

Gla s g ow Lo ndo n

350. 00 400. 00

PL94

F la t

CO87

SL4 1

B0 05

Sta f f s taf fN o SA9 SG1 4 SG3 7 SG5 SL21 SL41

fNa m e Ma r y Da vid Ann S us a n Jo hn J ulie

lNa m e Ho we For d Be ec h Bra nd W hite Lee

pos itio n As s is ta nt S upe r vis o r As s is ta nt Ma na ger Ma na ger As s is ta nt

se x F M F F M F

DOB 1970- 0 2- 19 00 :00 :0 0 1958- 0 3- 24 00 :00 :0 0 1960- 1 1- 10 00 :00 :0 0 1940- 0 6- 03 00 :00 :0 0 1945- 1 0- 01 00 :00 :0 0 1965- 0 6- 13 00 :00 :0 0

s ala ry 9000 .00 1800 0.0 0 1200 0.0 0 2400 0.0 0 3000 0.0 0 9000 .00

bra nc hN o B0 07 B0 03 B0 03 B0 03 B0 05 B0 05

Vie wing clie ntN o CR5 6 CR5 6 CR5 6 CR6 2 CR7 6

pro pe rtyNo PA1 4 PG3 6 PG4 PA1 4 PG4

vie wD ate 2001- 0 5- 24 00 :00 :0 0 2001- 0 4- 28 00 :00 :0 0 2001- 0 5- 26 00 :00 :0 0 2001- 0 5- 14 00 :00 :0 0 2001- 0 4- 20 00 :00 :0 0

co mme nt too s ma ll

no d in in g roo m too r e mo te

42 | P a g e

Lampiran C

DreamHome Query

CREA TE DAT ABA SE Dre amH ome ON ( NAME = 'D rea mHo me' , FILE NAM E = 'C : \P rog ram F i les \Mi cro sof t SQL Serv er \ MSS QL. 1 \M SSQ L\D ata \Dr ea mHo me. mdf ', SIZE = 5, MAXS IZE = 50 MB , FILE GRO WTH = 5 ) LOG ON ( NAME = 'D rea mHo meL og' , FILE NAM E = 'C : \P rog ram Fi les \Mi cro sof t SQL Serv er \ MSS QL. 1 \M SSQ L\D ata \Dr ea mHo me_ log .md f', SIZE = 5, MAXS IZ E = 25 , FILE GRO WTH = 5 ) GO

USE Dre amH ome CREA TE TAB LE Bra nch ( bran chN o stre et city post cod e CONS TRA INT bn _pk CONS TRA INT bn _le n CONS TRA INT bn _fr mt )

CHAR (4) NOT NUL L, VARC HAR (50 ) NOT NUL L, VARC HAR (30 ) NOT NUL L, VARC HAR (10 ) N OT NUL L, PRIM ARY KE Y ( bra nch No) , CHEC K ( LEN (br anc hNo )=4 ), CHEC K ( bra nch No LIK E ' B[0 -9] [0 -9] [0- 9]' )

INSE RT INT O B ran ch VALU ES ('B 002 ', '56 Cl ove r D r' , ' Lon don ', 'NW 10 6EU ') INSE RT INT O B ran ch VALU ES ('B 004 ', '32 Ma nse Rd ', 'B ris tol ', 'BS 99 1NZ ') INSE RT INT O B ran ch VALU ES ('B 003 ', '16 3 M ain St ', 'G las gow ', 'G1 1 9 QX' ) INSE RT INT O B ran ch VALU ES ('B 007 ', '16 Ar gyl l S t' , ' Abe rde en' , ' AB2 3S U') INSE RT INT O B ran ch VALU ES ('B 005 ', '22 Dee r R d', 'L ond on' , 'SW1 4E H')

CREA TE TAB LE Sta ff (

43 | P a g e

staf fNo fNam e lNam e posi tio n sex DEFA ULT 'F ', DOB sala ry bran chN o CONS TRA INT sn _pk CONS TRA INT bn _fk Bran ch( bra nch No) CONS TRA INT sn _fr mt CONS TRA INT sx _fr mt CONS TRA INT sl ry )

CHAR (4) VARC HAR (30 ) VARC HAR (30 ) VARC HAR (15 ) CHAR (1)

NOT N UL L, NOT NUL L, NOT NUL L, NOT NUL L, NOT NUL L

SMAL LDA TET IME NOT NUL L, SMAL LMO NEY NOT NUL L, CHAR (4) , PRIM ARY KE Y ( sta ffN o), FORE IGN KE Y ( bra nch No) RE FER EN CES ON U PDA TE CAS CAD E ON D ELE TE SET NU LL, CHEC K (st aff No LI KE 'S [AB GL] [0 - 9][ 0 -9 ]') , CHEC K ( sex LI KE '[M F]' ), CHEC K ( sal ary BE TWE EN 600 0 A ND 40 000 )

INSE RT INT O S taf f VALU ES ('S L41 ', 'Ju lie ', 'Le e' , ' Ass ist ant ', 'F' , ' 6/1 3/1 965 ', 9000 , ' B00 5') INSE RT INT O S taf f VALU ES (' SG5 ', 'Su san ', 'B ran d', 'M ana ger ', 'F ', '6/ 3/1 940 ', 24 000 , 'B00 3') INSE RT IN T O S taf f VALU ES (' SA9 ', 'Ma ry' , 'Ho we' , ' Ass ist ant ', 'F ', '2/ 19/ 197 0', 9 000 , 'B00 7') INSE RT INT O S taf f VALU ES ('S G14 ', 'Da vid ', 'Fo rd ', 'Su per vis or' , ' M', '3 /24 /19 58' , 1800 0, 'B0 03' ) INSE RT INT O S taf f VALU ES ('S G37 ', 'An n', 'B eec h' , ' Ass ist ant ', 'F' , ' 11 / 10/ 196 0', 1200 0, 'B0 03' ) INSE RT INT O S taf f VALU ES ('S L21 ', 'Jo hn' , ' Whi te ', 'Ma nag er' , ' M', '1 0/1 /19 45' , 3000 0, 'B0 05' )

CREA TE TAB LE Cli ent ( clie ntN o fNam e lNam e telN o pref Typ e maxR ent CONS TRA INT cn _pk CONS TRA INT ck _le n CONS TRA INT ck _fr mt CONS TRA INT mr _mi n )

CHAR (4) NOT NUL L, VARC HAR (30 ) NOT NUL L, VARC HAR (30 ) NOT NUL L, VARC HAR (20 ) NOT NUL L, VARC HAR (20 ) NOT NUL L, SMAL LMO NEY NOT NUL L, PRIM ARY KE Y ( cli ent No) , CHEC K ( LEN (cl ien tNo )=4 ), CHEC K ( cli ent No LIK E ' CR[ 0 -9 ][ 0-9 ]') , CHEC K ( max Ren t > 10 0)

44 | P a g e

INSE RT INT O C lie nt VALU ES ('C R62 ', 'Ma ry' , ' Tre gn ar' , ' 012 24 - 196 720 ', 'Fl at' , 6 00) INSE RT INT O C lie nt VALU ES ('C R74 ', 'Mi ke' , ' Rit ch ie' , ' 014 75 - 392 178 ', 'Ho use ', 750 ) INSE RT INT O C lie nt VALU ES ('C R56 ', 'Al ine ', 'St ew art ', '01 41 - 848 -18 25' , ' Fla t', 35 0) INSE RT INT O C lie nt VALU ES ('C R76 ', 'Jo hn' , ' Kay ', '0 207 -77 4-5 632 ', 'Fl at' , 4 25) CREA TE TAB LE Pri vat eOw ner ( owne rNo fNam e lNam e addr ess telN o CONS TRA INT on _pk CONS TRA INT on _le n CONS TRA INT on _fr mt )

CHAR (4) NOT NUL L, VARC HAR (30 ) NOT NUL L, VARC HAR (30 ) NOT NUL L, VARC HAR (50 ) NOT NUL L, VARC HAR (20 ) NOT NUL L, PRIM ARY KE Y ( own erN o), CHEC K ( LEN (ow ner No) =4) , CHEC K ( own erN o L IKE 'C O[0 -9] [0 -9] ')

INSE RT INT O P riv ate Own er VALU ES ('C O46 ', 'Jo e', 'K eog h' , ' 2 F erg us Dr, A b erd een AB 2 7 SX' , '012 24 - 861 212 ') INSE RT INT O P riv ate Own er VALU ES ('C O87 ', 'Ca rol ', 'Fa rr el' , ' 6 A chr ay St, Gl asg ow G32 9D X', '014 1-3 57- 741 9') INSE RT INT O P riv ate Own er VALU ES ('C O40 ', 'Ti na' , ' Mur ph y', '6 3 W ell St , G las gow G4 2', '014 1-9 43- 172 8') INSE RT INT O P riv ate Own er VALU ES ('C O93 ', 'To ny' , ' Sha w' , ' 12 Par k P l, Gla sgo w G 4 0 QR' , '014 1-2 25- 702 5') CREA TE TAB LE Pro per tyF orR ent ( prop ert yNo CHAR (4) NOT NUL L, stre et VARC HAR (50 ) NOT NUL L, city VARC HAR (30 ) NOT NUL L, post cod e VARC HAR (10 ) NOT NUL L, prop ert yTy pe VARC HAR (20 ) NOT NUL L, room s TINY INT NOT NUL L, rent SMAL LMO NEY NOT NUL L, owne rNo CHAR (4) NOT NUL L, staf fNo CHAR (4) NULL , bran chN o CHAR (4) NOT NUL L, CONS TRA INT pn _pk PRIM ARY KE Y ( pro per tyN o), CONS TRA INT pn _le n CHEC K ( LEN (pr ope rty No) <=4 ),

45 | P a g e

CONS TRA INT pn _fr mt 9]') , CONS TRA INT re nt_ min CONS TRA INT on _fk Priv ate Own er( own erN o)

CHEC K ( pro per tyN o L IKE 'P [AB GL ][0 -9] [ 0 CHEC K ( ren t > = 1 00) , FORE IGN KE Y ( own erN o) REF ERE NC ES ON U PDA TE CAS CAD E ON D ELE TE NO ACT ION , FORE IGN KE Y ( sta ffN o) REF ERE NC ES ON U PDA TE CAS CAD E ON D ELE TE SET NU LL, FORE IGN KE Y ( bra nch No) RE FER EN CES ON U PDA TE NO ACT ION ON D ELE TE NO ACT ION

CONS TRA INT sn _fk Staf f(s taf fno ) CONS TRA INT bn _fk 2 Bran ch( bra nch No)

) INSE RT INT O P rop ert yFo rRe nt VALU ES ('P A14 ', '16 Ho lhe ad' , 'Ab erd een ', 'AB 7 5 SU' , ' Hou se' , 6 , 650, 'C O46 ', 'SA 9', 'B 007 ') INSE RT INT O P rop ert yFo rRe nt VALU ES ('P L94 ', '6 Arg yll St ', 'L ond on' , ' NW2 ', 'Fl at' , 4 , 4 00, 'CO8 7', 'S L41 ', 'B0 05' ) INSE RT INT O P rop ert yFo rRe nt VALU ES ('P G4' , ' 6 L awr enc e S t' , ' Gla sgo w', 'G 11 9QX ', 'Fl at' , 3 , 350, 'C O40 ', NUL L, 'B0 03' ) INSE RT INT O P rop ert yFo rRe nt VALU ES ('P G36 ', ' 2 Ma no r Rd ', ' Gla sg ow' , 'G 32 4 QX ', ' Fla t', 3, 375 , 'CO9 3', 'S G37 ', 'B0 03' ) INSE RT INT O P rop e rt yFo rRe nt VALU ES ('P G21 ', '18 Da le Rd' , 'Gl asg ow' , ' G12 ', 'Ho use ', 5, 600 , 'CO8 7', 'S G37 ', 'B0 03' ) INSE RT INT O P rop ert yFo rRe nt VALU ES ('P G16 ', ' 5 No va r Dr ', ' Gla sg ow' , 'G 12 9 AX ', ' Fla t', 4, 450 , 'CO9 3', 'S G14 ', 'B0 03' ) CREA TE TAB LE Vie win g ( clie ntN o prop ert yNo view Dat e comm ent CONS TRA INT cn _fk Clie nt( cli ent No)

CHAR (4) NOT NUL L, CHAR (4) NOT NUL L, SMAL LDA TET IME NOT NUL L, VARC HAR (50 ) NULL , FORE IGN KE Y ( cli ent No) RE FER EN CES

ON U PDA TE CAS CAD E ON D ELE TE CAS CAD E, CONS TRA INT p n _fk FORE IGN KE Y ( pro per tyN o) REF ER ENC ES Prop ert yFo rRe nt( pro per tyN o) ON U PDA TE CAS CAD E ON D ELE TE CAS CAD E, CONS TRA INT vi ew_ pk PRIM ARY KE Y ( cli ent No, pr ope rt yNo )

46 | P a g e

) INSE RT INT O V iew ing VALU ES ('C R56 ', 'PA 14' , ' 5/2 4/ 200 1', 't oo sma ll' ) INSE RT INT O V iew ing VALU ES ('C R76 ', 'PG 4', '4 /20 /2 001 ', 'to o r emo te' ) INSE RT INT O V iew ing VALU ES ('C R56 ', 'PG 4', '5 /26 /2 001 ', NUL L) INSE RT INT O V iew ing VALU ES ('C R62 ', 'PA 14' , ' 5/1 4/ 200 1', 'n o d ini ng roo m') INSE RT INT O V iew ing VALU ES ('C R56 ', 'PG 36' , ' 4/2 8/ 200 1', NU LL)

47 | P a g e

Daftar Pustaka

1. Co nno lly, T.M. , & Be gg, C. E. (20 02 ). Da tab as e s ys te ms : A pr ac tica l app ro ac h to de s ign, imp le me nta tio n, a nd ma na ge me nt. 3. Add is o n- W es le y. New Yor k. 2. Ro be r t Vie ir a . (2 002 ). Be g inn in g SQ L Se r ve r 20 05 P ro gra mming . W ile y P ub lis h in g, I nc. I nd ia nap o lis . 3. S ik ha Sa ha Ba gu i, Ric har d Wa ls h Ea rp . (20 06 ). Le ar n ing SQ L o n SQ L Ser ve r 2 005 . O' Re illy. S eb as to po l. 4. Je ffr e y R. S hap ir o. (2 007 ). M ic ro so ft SQ L Se r ver 200 5 : The C o mp le te Re fe r e nc e. M cGr aw- Hill/O sbo r ne. N e w Yo rk . 5. http ://wik ip ed ia .o r g/

48 | P a g e

Das könnte Ihnen auch gefallen