
CS 5614: Basic Data Definition and Modification in SQL 67 Introduction to SQL Structured Query Language (‘Sequel’) Serves as DDL as well as DML Declarative Say what you want without specifying how to do it One of the main reasons for commercial success of DBMSs Many standards and implementations ANSI SQL SQL-92/SQL-2 (Null operations, Outerjoins etc.) SQL3 (Recursion, Triggers, Objects) Vendor specific implementations “Bag Semantics” instead of “Set Semantics” Used in commercial RDBMSs CS 5614: Basic Data Definition and Modification in SQL 68 Example: Create a Relation/Table in SQL CREATE TABLE Students (sid CHAR(9), name VARCHAR(20), login CHAR(8), age INTEGER, gpa REAL); Support for Basic Data Types CHAR(n) VARCHAR(n) BIT(n) BIT VARYING(n) INT/INTEGER FLOAT REAL, DOUBLE PRECISION DECIMAL(p,d) DATE, TIME etc. CS 5614: Basic Data Definition and Modification in SQL 69 More Examples And one for Courses CREATE TABLE Courses (courseid CHAR(6), department CHAR(20)); And one for their relationship! CREATE TABLE takes (sid CHAR(9), courseid CHAR(6)); Why? Can also provide default values CREATE TABLE Students (sid CHAR(9), .... age INTEGER DEFAULT 21, gpa REAL); CS 5614: Basic Data Definition and Modification in SQL 70 Examples Contd. DATE and TIME Implementations vary widely Typically treated as strings of a special form Allows comparisons of an ordinal nature (<, > etc.) DATE Example ‘1999-03-03’ (No Y2K problems) TIME Examples ‘15:30:29’ ‘15:30:29.3875’ Deleting a Relation/Table in SQL DROP TABLE Students; CS 5614: Basic Data Definition and Modification in SQL 71 Modifying Relation Schemas ‘Drop’ an attribute (column) ALTER TABLE Students DROP login; ‘Add’ an attribute (column) ALTER TABLE Students ADD phone CHAR(7); What happens to the new entry for the old records? Default is ‘NULL’ or say ALTER TABLE Students ADD phone CHAR(7) DEFAULT ‘unknown’; Always begin with ‘ALTER TABLE <TABLE_Name>’ Can use DEFAULT even with regular definition (as in Slide 69) CS 5614: Basic Data Definition and Modification in SQL 72 How do you enter/modify data? INSERT command INSERT INTO Students VALUES (‘53688’,’Mark’,’mark2345’,23,3.9) Cumbersome (use bulk loading; described later) DELETE command DELETE FROM Students S WHERE S.name = ‘Smith’ UPDATE command UPDATE Students S SET S.age=S.age+1, S.gpa=S.gpa-1 WHERE S.sid = ‘53688’ CS 5614: Basic Data Definition and Modification in SQL 73 Domains Domains: Similar to Structs and other user-defined types CREATE DOMAIN Email AS CHAR(8) DEFAULT ‘unknown’; .... login Email // instead of login CHAR(8) DEFAULT ‘unknown’ Advantages: can be reused junkaddress Email, fromaddress Email, toaddress Email, .... Can DROP DOMAINS too! DROP DOMAIN Email; Affects only future declarations CS 5614: Basic Data Definition and Modification in SQL 74 Keys To Specify Keys Use PRIMARY KEY or UNIQUE Declare alongside attribute For multiattribute keys, declare as a separate line CREATE TABLE takes ( sid CHAR(9), courseid CHAR(6), PRIMARY KEY (sid,courseid) ); Whats the difference between PRIMARY KEY and UNIQUE? Typically only one PRIMARY KEY but any number of UNIQUE keys Implementor allowed to attach special significance CS 5614: Basic Data Definition and Modification in SQL 75 Creating Indices/Indexes Why? Speeds up query processing time For Students CREATE INDEX indexone ON Students(sid); CREATE INDEX indextwo ON Students(login); How to decide attributes to place indices on? One is (typically) created by default on PRIMARY KEY Creation of indices on UNIQUE attributes is implementation-dependent In general, physical database design/tuning is very difficult! Use Tools: Microsoft SQLServer has an index selection Wizard Why not place indices on all attributes? Too cumbersome for insertions/deletions/updates Like all things in computer science, there is a tradeoff! :-) CS 5614: Basic Data Definition and Modification in SQL 76 Other Properties ‘NOT NULL’ instead of DEFAULT CREATE TABLE Students (sid CHAR(9), name VARCHAR(20), login CHAR(8), age INTEGER, gpa REAL); Can insert a tuple without a value for gpa NULL will be inserted If we had specified gpa REAL NOT NULL); insert cannot be made! ¢¡¤£¦¥¨§ © ¦¦ ¤ "!$#&%('*),+.-&/10(2$35462748%(0(09':!;/&-<=!$#&>?2@2A-&%CBD2@>?2$ ;!FEG/&2$>:<H0(IJ &KL/1ILKL2@'?ML>N2$O&>N2$'?2$ ;!;IP!;%C+L &'Q/&'N2$-%( SR$+L JT /& &RV!;%(+J W48%X!;#W!$#&2 >?2$0CIY!;%C+L &IJ0L)"+.-&2$0CZ\[]#&2 ^&>N'!_%('9>N2$0(IP!;%C+L &IJ0.IL0(KJ2$`&>NIL3GIL QIL0CKL2$`&>NIL%CR_IJ &-AO1>?+.R$2$-1/&>?IJ0 U 46I¢<Hab+J>]R$>?2@IY!;%C &Kc &2N4d>?2@0(IY!$%(+J &']ab>?+J)eKL%gfD2$ +L 12$'?Zh[]#&2Q'?2$R@+L &-¨%(']i*IY!;IJ0(+JKL3548#&%(RY#¨%(']0(+JKL%CR$IL0jIL &- -&2$R@0(IL>NIY!$%XfD2h%( ¨ &IY!$/&>?2,k:'!;/1-&2$ ;!;']abIL)"%(0C%(IJ>l48%X!$#F!;#&2Qm n]oQp9o8qrO&>?+JKL>NIL)"),%C &K,0CIL &KJ/&ILKJ2h48%C0(0¦^1 &- !;#1%('\IJ0(0!;+.+c &IP!;/&>NIL0(sNZt¤ abIJRN!;3!;#&2@>?2uIJ>?2uR$0C+L'N2uR$+L>N>?2$'NOv+L &-&2@ &R$2$'w`D2V!V4u2$2$ -1IY!;IJ`&IL'N2Q'<¦'!;2@),'wIL &- m n]oQp9o8qQZwm_n]oQp9oQqxR$IL y`v2z!;#1+L/&KJ# !=+Ja]IL'AIS-&IY!$IL`&IJ'?2¨'<¦'!$2$){48#&2$>N2,IJ0(0|!;#12-&IY!$I}^J!$'A%C !$+ )"IL%( ~)"2$)"+L><.Z¤ R@+L ;!;>?IJ'!$3uI-1%('!$%( &KJ/&%('N#&%( 1Kab2$IY!$/&>?2S+Launhiu]&'c%C'Q!$#&IY!"!;#&2V< +LOv2$>NIY!;2+J '?2@R$+L &-1IL><'!$+L>NILKL2@ZoW!$#&2$>W!;#&IJ !;#&IP!ykIJ &-~'?+J),2-1%(Bv2$>?2@ &R$2$'Q%( yEG/&2$><O&>N+.R$2$'?'N%( &KJs?3!$#&2$>?2"IL>N2 2N¦R$2$0C0(2$ ;!7IL 1IL0(+JKL'w!$+c`v+Y!;#SR$/&0g!;/&>N2$'?Z]]+P!;#¨m n]o8p9oQqIJ &-¨ntiu]1']IL>?2Q-&2@R$0(IJ>?IY!$%XfD2$Z#&IY!]4u2 &+¢4!;+"`v2A>?2@0(IY!$%(+J &']IL>N2A>?2@ab2$>?>N2$-z!;+"IL'*(O&>N2$-&%(R@IY!;2@'?¦%C ¨m_n]oQp9oQqQZ!$/&O&0(2Q%C']R$IL0C0(2$-¨I"KL>?+J/& &- abILRV!F%C }m n]oQp9o8qQZ !;IJ`&0(2z%('hR$IL0C0(2$-¨IL C2NG!;2$ &'N%(+J &IL0l-&2$^& 1%X!;%C+L &9%C }m n]oQp9oQqIJ &-'?++J &Zk:iu+ &+P!8KL2N!u`D+JKLKJ2$-}-&+¢48 `;<"!;#&2$'N2u'?Ov2$R@%(^&R$'NG4u2t%C &R$0(/1-&2 !$#&2$)#&2$>N2 /&'!u'?+*!$#&IY!w<D+L/¨R$IL ),I 2 !$#&2 U R$+J & &2$RN!$%(+J &3%(a|<D+J/IJ>?2cIL0C>?2$IJ-J<abIJ),%C0(%CIL>w48%g!;#m n]oQp9o8qQZ 0('N2$3 &+P!;#&%C &KF!;+F46+J>?><.Z(s[]#&2*!$#&%(>N- EG/&2$><=>N2$O&>N2$'?2$ ;!;IP!;%C+L "%('?3j+La9R$+J/&>?'N2$3¦18p!$#&IY!w46IJ']%( ;!;>?+.-1/&R$2$-"2$IL>N0(%C2$>?ZwV 6!;#12u>?2$)"IL%C &-&2$> +Ja1!;#&%C' -&+.R$/1),2$ ;!;34u2F48%(0(0 %C !$>?+.-&/&R@2=`1IL'?%CR¨+LOv2$>?IP!;%C+L &'"IL &-~)"IL &%CO&/&0CIY!;%C+L &'*!$#&IY!c4u2¨R$IL ~Ov2$>?ab+J>?)+J >?2@0(IY!$%(+J &'?Z" v+L>Q2$ILRY#'?/1R¡#`&IJ'?%CRc+LOv2$>?IP!;%C+L &3462*48%(0C0'N#&+¢4¢#&+¢4%X!c%('Q>?2$O1>?2$'N2$ !$2$-}%C 2$ILRY#+La|!$#&2 !;#1>?2$2Q-&%CBD2@>?2$ ;!6 &+P!;IP!;%(+J &'?Z Zu¤¨¥l¦¨§v¥©§vª]«¬G­¨®&¯@¦¨§v¥l° ±\[]#&2z/& &%C+L ¨+Laj!¤4u+c>?2$0CIY!;%C+L &'7²IL &-=³%('!;#&2Q'?2V!8+Lal2$0(2$)"2$ ;!;'!;#&IP! £ IJ>?2u%C ²+J>\%C ³´+L>]`v+P!;#&Z2uIL'N'?/&)"2w!$#&IY!w!;#&2h'?RY#&2$)"IL'w+La²IJ &-³IL>N2uIL0C% 28k+Ja9R$+L/1>?'?2@s IJ &-z!;#1IY! !;#&2@%(>R$+J0(/&)" &' IL>N2tIJ0('N+A+L>N-&2$>N2$-,IJ0(% 26k+Ja¦R$+J/&>?'N2$3vILKJIL%( 1s?Z2] &+¢4KJ%XfD2!;#12 !$#&>?2$2 >N2$O&>?2@'?2$ ;!;IP!;%(+J &']+La5!;#128/1 &%(+J }>?2@0(IY!$%(+J &± ² ³k'?%C),O10(2$3j>?%(KJ# !$µ s ¶·?¸ ¹?º ¹?»¹¢¼¦½~¾À¿Á ·?¸¹¢º¹¢»¹?¼|½Â ¶·?¸ ¹?º ¹?»¹¢¼¦½~¾À¿Ã ·?¸¹¢º¹¢»¹?¼|½Â Ä*+Y!;%CR$2S!$#&IY!!$#&2SfÀIL>N%(IL`10(2$' IJ>?2)"2$>?2@0X<(O10(ILR@2$#&+L0C-&2$>N'?Q/&'?2@-ab+J>O&IY!N!;2$>N ¸¹¢º¹?» ¹?¼ )"IY!$R¡#1%( &KJ1462uR$+J/&0(-¨#&I¢fD2W48>?%g!?!$2$ F!;#&2QIL`v+¢fD2W!¤46+cIL'N± ¶·?Å ¹?Æ ¹;Ǧ¹¢È¦½~¾À¿Á ·?Ź¢Æ¹ Ǧ¹?È|½Â ¶·?É ¹?Ê ¹?˹¢Ì¦½~¾À¿Ã ·?ɹ¢Ê¹¢Ë¹?Ì|½Â ·?ÃGÍÀÎGÍÀÏG¶ÑÐ Ò¤ÓlÔ\Õ Ö¨ÔØ×_Ù ÚÜÛÝLÔYÚÜÙNÞ?ß9àáÔYÖ9âYãÛ¤ßߨÚäÙâ×_åVæ]×Ûßç×_Ú Þ?èéå ÛVêWÞ?Ô]ë]ê ÚÜìLÛ¤ÖÛVÙVÞ_êÔ@èVã í]Û¤ÙNÞ\ßîÞbæ.ïÜÛàîÔ¡ÖjðQÔ$ê ãïäÛñ¡ò óLó ôGÁ¦õ ö©Á¦½ ÷Gø¦ùÀõ;ø ·?ÃGÍÀÎGÍÀÏG¶ÑÐ ôGÁ¦õ ö©Ã¦½ Zuû¨¦ü_¬Gý ¬À¥lþ.¬"§Dªw«¬G­¨®&¯@¦¨§v¥l° ±\[]#&2*-&%(Bv2$>N2$ &R$2t² ³~+Ja1!¤46+A>N2$0(IP!;%C+L &'\²ÿIJ &-³%('!;#&2*'?2N!u+La ú 2$0C2$)"2$ !$'l!$#&IY!AIL>N2A%( =²`&/J!A &+Y! %C =³ Zhu'h/&'?/1IL0(35462QIJ'?'?/1),27!;#&IP!t!$#&2A'NR¡#&2@),IJ']+La²IL &- ³ ³IL>N2uIL0C% 2hIL &-F!$#&IY!w!;#&2$%C> R$+L0C/&), 1'\IL>N2uIL0C'?+c+J>?-&2$>N2$-IJ0(% 2@Z\+L>N2$+¢fD2$>?31 &+Y!$%(R$2w!$#&IY!6² %C'] &+Y!kKJ2$ &2$>NIL0(0g<|s!;#&2Q'NIL)"28IJ'*³ ²*Z ² ³ ¶·?¸ ¹?º ¹?»¹¢¼¦½~¾À¿Á ·?¸¹¢º¹¢»¹?¼|½D¹ø|õ;¶©Ã ·?¸¹¢º¹¢»¹?¼|½Â ·?ÃGÍÀÎGÍÀÏG¶ÑÐ ôGÁ¦õ ö©Á¦½ Í¢¡GÏÀÍ¢£À¶ ·?ÃGÍÀÎGÍÀÏG¶ÑÐ ôGÁ¦õ ö©Ã¦½ Z¦¥Y¥¦¯$¬Gý °$¬Gþ.¯$¦¨§v¥§vª «¬G­¨®&¯@¦¨§v¥l° ± []#&2]%( ;!;2$>N'?2$RV!;%(+J F² ³´+La!¤46+Q>?2$0CIY!$%(+L 1'² IJ &-,³´%('j!$#&2]'?2V! ¤ +Ja2$0C2$)"2$ !$'l!$#&IY!8IJ>?2A%C ¨§ © ²IL &-}³ Z]*KLIL%C &31462*IL'?'N/&)"2h!;#1IY!]!;#128'NR¡#12$),IJ']+La²ÑIJ &-³ IJ>?2\IJ0(% 2_IJ &-*!;#1IY!!$#&2$%(>9R@+L0(/1), &'lIL>N2]IL0C'?+h+L>?-12$>?2$-cIJ0(% 2$ZÄu+P!;%(R@29!$#&IY!7² ³² k¨² ³sNZ ² ³ ¶·?¸ ¹?º ¹?»¹¢¼¦½~¾À¿Á ·?¸¹¢º¹¢»¹?¼|½D¹Ã ·?¸ ¹?º¹¢»¹¢¼D½Â ·?ÃGÍÀÎGÍÀÏG¶ÑÐ ôGÁ¦õ ö©Á¦½ ù;øG¶ÀÍGÁÀÃGÍGÏÀ¶ ·?ÃGÍÀÎGÍÀÏG¶ÑÐ ôGÁ¦õ ö©Ã¦½ Z¦Qý § ¬Àþ.¯$¦§v¥±*o8Ov2$>NIY!$2$'u+L yI'N%( &KJ0(2A>N2$0(IP!;%C+L }IJ &->?2@),+¢fD2$'h'?+J),2z+La|!;#&2cR@+L0(/1), &'NZu'N2$ab/&0 ab+J>,>N2$'!$>?%(RV!;%( 1K}%( 1ab+L>?)"IY!$%(+J &Z©u'?'N/&)"2c!$#&IY!"462F4uIL ;!=+L &0g<!;#&2¨ &IJ),2¨IJ &-IJ-&-&>?2@'?'"ab>?+L) >N2$0(IP!;%(+J =²*Z ² ! #"$"&%')(*( ¶·?¸ ¹?º|½©¾G¿Á ·?¸ ¹?º¹¢»¹¢¼D½Â []#G/&' `D2@R$+L)"2]%(>N>?2$0C2NfÀIL ;!WIP!?!;>N%(`&/!;2$'NZl2]R$+L/&0C-,%C &'!$2$IL-c>N2$%( 1ab+L>?R@2!;#&%C'` <z48>?%g!;%( 1K »¹¢¼ ¶·?¸ ¹?º|½©¾G¿Á ·?¸ ¹?º¹,+¦¹,+.½Â ÃGÍGÎÀÍGÏÀ¶.-GÅ¢/ÀɹÅGÈÀÈ¢0GÉ21¢1 ôGÁ¦õ ö©Á Z¦4l¬À­¬Gþ.¯$¦¨§v¥±\oQOv2$>?IP!;2$'h+L SIc'?%C &KL0C28>N2$0(IP!;%C+L ¨IL &-S>?2$)"+¢fD2$']'?+J),2Q+Jaj!;#&2Q>N+ 48'NZt[]#12A>?2@),+¢fÀIL0 3 %C'8`1IL'?2@-+L 'N+L)"2,R@+L &-&%g!;%C+L y'?Ov2$R$%C^&2$-y` <!$#&2,/1'?2$>NZ D+J>Q2N|IJ),O10(2$3 '?/1O&Ov+L'?28462646IL ;!IJ0(0 !$#&2W!;/&O&0C2$']ab>?+J)¢² 48#12$>?2W!;#128 1IL)"28%C'](%CR¡#&IJ2$0(CZ ó65 ² 7 8:9<;>=<?A@
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages29 Page
-
File Size-