11 Data Independence and Database Views

download 11 Data Independence and Database Views

If you can't read please download the document

Transcript of 11 Data Independence and Database Views

  • ! "

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"

    XU.-- AY30+-C"P(O12H""XU.-- A$2U-)3"/.2U1,-2,+.-H"73,3"I4C-*-4C-42-"34C"73,3835-"Y1-M5"

    ? !@@;A;H"73,3835-"$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W"9L3.213AK(0143"-, "30J>" Z12-"[41\-.51,B"73,3"#-4,-. !

    "#$$!%&(!

    #U3*,-.5";"9$-2,1(4";J;>H""R"9$-2,1(4"RJ%>H"$-2,1(4"RJ!J!"

    !"##$ Y30+-5".-\151,-C"

    XU-.-"3.-")34B"C1QQ-.-4,"14,-.*.-,3,1(45"Q(."4+00"\30+-5"

    ) *+,+-.+ !/#$01 "",U3,"15","W4(M",U-.- "15"5()- "\30+- ",U3,"8-0(4O5"U-.- "8+,"I"C("4(, "W4(M"MU3,"1,"LV" !"#$%& !"#$%$&$"()*+,-.+/ ""

    %)*+#2#3$#4$1!-5!.36771$8!2#$01"",U3,"15":H"3.- "4(, "-4,1,0-C",( "W4(M",U-"\30+- ",U3,"8-0(4O5"KHUH" !"#$%& !".$ "#$0)1+/-"2,&$/"$#3(/* "3)4,+".22/.* ".1"5677 ")$"+,/"8&32&$/$+"9&*". "

    2,&$/".++*)(#+/"

    9) :+#;;$3

  • ; "

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    !"##$ Y30+-5".-\151,-C"

    # "

    XU-.-"3.-",M("1)*(.,34,".+0-5",(".-)-)8-."MU-4"M-"(*-.3,-"+*(4"3"^[PP"\30+- "

    DU-4"(*-.3,14O"(4"3"^[PP"34C"34B"\30+-H"1420+C14O"34(,U-."^[PPH"+514O"34"3.1,U)-,12"(*-.3,(."01W-"_"(."H",U-".-5+0,"15"^[PP!"

    DU-4"M-"2()*3.-"3"^[PP"\30+-"34C"34B"\30+-H"1420+C14O"34(,U-."^[PPH"+514O"3"2()*3.15(4"(*-.3,(."01W-"a"(."bH",U-".-5+0,"15"[^c^dD^ ! XU-"\30+-"[^c^dD^"15"34(,U-.",.+,U A\30+-H"01W-"XZ[G"34C":/P$G!

    Although NULL is a value that can appear in tuples, it is not a constant . We cannot use NULL explicitly as an operand .

    !!!!!!=1>1>415 " Let x have the value NULL. Then the value x + 3 is also NULL.

    However, NULL + 3 is not a legal SQL expression. Similarly, the value of x = 3 is UNKNOWN because we cannot tell if

    the value of x, which is NULL, equals the value 3. However, the comparison NULL = 3 is not correct SQL.

    ?@#>;$1"

    @,/"8&**/8+".A"+&".1%")9"B",.1"+,/":.0#/"5677")1")+,"+,/"/B2*/11)&$"x IS NULL

    %&(( )*+,-(.$#/012 "

    $ "

    G3.01-.H"M- ".11#3/- ",U3,",U-".-5+0,"(Q"3"2()*3.15(4 "M35"-1,U-."XZ[G "(. ":/P$G "34C",U-5-" ,.+,UA\30+-5" M-.- " 2()814-C " 14" ,U-" (8\1(+5 " M3B" +514O" ,U-" 0(O1230" (*-.3,(.5 "/^7H "dZH"34C" dX "

    C&/:/*="/",.:/"D#1+"1//$"+,.+",/$"5677":.0#/1"&88#*="8&32.*)1&$1"8.$"A)/0-"."+,)*-"+*#+,E:.0#/!"65F5GH5I" "

    If we think of TRUE as 1 (e.g. fully true), FALSE as 0 (e.g. not at all true), and UNKNOWN as (e.g. somewhere between true and false)

    !!!!!!(DV\ZD\WRUHPHPEHUWKLVUXOH"

    ()$*+,)-./)-)1./),1)&.234#&).%0#,.0+)51#6).-)4.$53-#,3.-+).7)#&&),10),0*,1)6#&*+8)

  • %"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    %&(( )*+,-(.$#/012 "

    %"

    XU-"/^7 "(Q",M( ",.+,UA\30+-5"15",U-")141)+) "(Q",U(5- "\30+-5J"XU3,"15H" " )9:; )@! ",/$ "B")1"A9BC! ="" +,/":.0#/ "A9BC! ",/$ "B")1"?>@! =" +,/":.0#/ "@:D:=(: ",/$ "B",.1 "+,/":.0#/ "@:D:=(: )

    DFI!-K!6.-!2#$01H "

    %&(( )*+,-(.$#/012 "

    $1)103.0BH"34B"(*-.3,1(4"14\(0\14O"34"+4W4(M4"\30+-"*.(C+2-5"34"+4W4(M4"\30+-"Q(.",U-".-5+0,"

    -JOJH"#$%$&$""R""""#$%$&$"&"

  • ="

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    XU.-- A$2U-)3"/.2U1,-2,+.- "

    "

    XU.-- A$2U-)3"/.2U1,-2,+.- "

    :+615+#$"0-\-0"" 7-52.18-5"*UB51230"

    5,(.3O-"5,.+2,+.- "(Q",U-"C3,3835-!

    L-+

  • R"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    73,3"I4C-*-4C-42- "

    ) "

    #3*321,B",("2U34O-",U-"52U-)3"3,"(4-"0-\-0"(Q"3"C3,3835-"5B5,-)"M1,U(+,"U3\14O",("2U34O-",U-"52U-)3"3,",U-"4-_,"U1OU-."0-\-0"

    #U34O-",U-"$#%%3-2+"8-,M--4"52U-)35 "

    "

    "

    "

    "

    "

    M7NH3

  • T"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    Y1-M5"Q(."#+5,()1V3,1(4"

    Z-03,1(45",U3,"3.-"C-Q14-C"M1,U"3"#ZG/XG"X/6PG"5,3,-)-4,"32,+300B"-_15,"14",U-"C3,3835-" $]P"5B5,-)"5,(.-5",380-5"14"5()-"*UB51230"(.O341V3,1(4"9,U-B"

    3.-"*-.515,-4," "835-",380-5>"

    "

    XU-.-"15"34(,U-."20355"(Q"$]P".-03,1(45H"2300-C"9\1.,+30>"63/+ H",U3,"C("4(,"-_15,"*UB512300BJ"Z3,U-.H",U-B"3.-"C-Q14-C"8B"34"-_*.-551(4")+2U"01W-"3"e+-.BJ""

    "

    E3/+ H"14",+.4H"234"8-"e+-.1-C"35"1Q",U-B"-_15,-C"*UB512300BH"34C"14"5()-"235-5H"M-"234"-\-4")(C1QB"\1-M5J"

    ** "

    Y1-M5"Q(."#+5,()1V3,1(4 ""7-203.14O"Y1-M5"

    $1)*0-5,"Q(.)"(Q"\1-M"C-Q141,1(4"15""!"#$%# VIEW AS ; XU-"\1-M"C-Q141,1(4"15"3"$]P"e+-.B"

    "

    "

    "

    "

    "

    " ]+-.1-5"234"+5-"\1-M"35"1Q"1,"M-.-"3"835-",380-"

    "

    "

    *! "

    !

    !"#$%#&(#)& *+,-./01-2#3,456--1 &$* &&&&*#7#!%& #8*19 &$*& *19 :& #879;3- &$*&;$1"

    *#7#!%&J &B"C@&*+,-./01-2#3,456--1 &&)F#"#&*;4;.6&K&LMMMMMI &

  • f "

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    Y1-M5"Q(."#+5,()1V3,1(4 ""7-203.14O"Y1-M5"

    I,"15"*(55180-",("M.1,-"e+-.1-5"14\(0\14O"8(,U"\1-M5"34C"835-",380-5"

    *# "

    !

    !"#$%#&(#)& *+,-./01-2#3,456--1 &$* &&&&*#7#!%& #8*19 &$*& *19 :& #879;3- &$*&;$1"

    *#7#!%&=(*%(

    !

    !"#$%#&(#)& N53,;96=-,>1 O=-,;.>3-9>1 &&)F#"#& =-,;.>3-9>

  • &"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    Y1-M5"Q(."#+5,()1V3,1(4 ""K(C1QB14O"Y1-M5"

    I4"01)1,-C"21.2+)5,342-5H"1,"15"*(55180-",("-_-2+,-"34"145-.,1(4H"C-0-,1(4H"(."+*C3,-",("3"\1-M" @,)1")-/."3.%/1"$&"1/$1/".+".00="1)$8/"+,/":)/"-&/1"$&+"/B)1+"+,/".A"."(.1/"+.(0/"

    >1+&*/-"*/0.+)&$?"-&/1I"" DU3,"2(+0C"1,")-34H"53B",("145-.,"3"4-M",+*0-"14,("3"\1-Mg"

    DU-.-"M(+0C",U-",+*0-" O(g""34C""

    N(M" M(+0C",U-"C3,3835-"5B5,-)".-)-)8-.",U3,"1,"M35"5+**(5-C",("8-"14",U-"\1-Mg "

    )RUPDQ\YLHZVWKHDQVZHULVVLPSO\\RXFDQWGRWKDW"

    N(M-\-.H "Q(."5+QQ121-4,0B"51)*0- "\1-M5H"2300-C"*%F#,#5&)63/+ H"1,"15"*(55180-",( ",.34503,-",U-")(C1Q123,1(4"(Q",U-"\1-M "14,("34"-e+1\30-4,")(C1Q123,1(4"(4 "3"835-",380-H"34C",U-")(C1Q123,1(4"234"8- "C(4- ",( ",U-"835-",380-"145,-3C"

    *%"

    !

    Y1-M5"Q(."#+5,()1V3,1(4 ""K(C1QB14O"Y1-M5"*1(3$4(5/6+, $

    /4"-_,.-)-")(C1Q123,1(4"(Q"3"\1-M"15",("C-0-,-"1,"30,(O-,U-." #34"8-"C(4-"MU-,U-."(."4(,",U-"\1-M"15"+*C3,-380- "

    ""

    XU15"5,3,-)-4,"(40B"C-0-,-5",U-"C-Q141,1(4"(Q",U-"\1-MH"5("M-")3B"4("0(4O-.")3W-"e+-.1-5"(."155+-")(C1Q123,1(4"2())34C"14\(0\14O",U15"\1-M"

    7.(**14O",U-"\1-M"C(-5"4(,"3QQ-2,"34B",+*0-5"(Q",U-"+4C-.0B14O".-03,1(4"7GF/ZXKG^X "

    I4"2(4,.35,H""

    "

    "

    """"M(+0C"4(,"(40B")3W-",U-"7GF/ZXKG^X",380-"O(" 3M3BH"1,"M(+0C"305("""""")3W-",U-"\1-M" N53,;96=-,>1 &+4+5380-"

    *& "

    !

    ="CD&(#)& N53,;96=-,>1 I &

    ="CD&%$U7#&=#D$"%@#

  • @"

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    Y1-M5"Q(."#+5,()1V3,1(4 ""K(C1QB14O"Y1-M5""7.+8+9,($*1(3: $

    $]P"*.(\1C-5"3"Q(.)30"C-Q141,1(4"(Q"MU-4")(C1Q123,1(45",("3"\1-M"3.-"*-.)1,,-C "

    $]P".+0-5"*-.)1,")(C1Q123,1(45"(4"\1-M5",U3,"3.-"C-Q14-C"8B"5-0-2,14O"9+514O"3"C?B?LIP! !+-6!C?B?LI!J:CI:DLI >"5()-"3,,.18+,-5"Q.()"(4-".-03,1(4"Z"9MU12U")3B"1,5-0Q"8-"34"+*C3,380-"\1-M>"

    "

    XM("1)*(.,34,",-2U41230"*(14,5 "

    XU-"DNGZG"203+5-")+5,"4(,"14\(0\-"Z"14"3"5+8e+-.B"

    XU-":ZdK"203+5-"234"(40B"2(4515,"(Q"(4-"(22+..-42-"(Q"Z"34C"4("(,U-.".-03,1(4"

    XU-"015,"14",U-"$GPG#X"203+5-")+5,"1420+C-"-4(+OU"3,,.18+,-5",U3,"Q(."-\-.B",+*0-"145-.,-C"14,(",U-"\1-MH"M-"234"Q100",U-"(,U-."3,,.18+,-5"(+,"M1,U"^[PP"\30+-5"(.",U-"*.(*-."C-Q3+0, "

    * "

    !

    Y1-M5"Q(."#+5,()1V3,1(4""K(C1QB14O"Y1-M5""7.+8+9,($*1(3: "

    $+**(5-"M-"145-.,"14,("\1-M" N53,;96=-,>1 "3",+*0-"01W-""

    "

    "

    ""

    XU-"\1-M"N53,;96=-,>1 "15"4(,"34"+*C3,380-"\1-MJ"G7Ng"

    ^(,"*-.)1,,-C",("*.(h-2,"(+,"34"3,,.18+,-",U3,"15"C-203.-C"^dX"^[PP"34C"U35"4("C-Q3+0,"9-JOJ"74+)8-. >"

    *( "

    !

    !"#$%#&(#)& N53,;96=-,>1 O=-,;.>3-9>

  • !< "

    #$"%%&"#()*+,-."/**0123,1(45"14"6+514-55"73,3835-5"9:300";"

    ? !@@;A;H"73,3835- "$B5,-) "#(42-*,5 "9RST>"9$108-.52U3,V"-, "30J>H"73,3835- "$B5,-)5 "9#(.(4-0 "-, "30J>H"73,3835- "$B5,-)5 "9=SR>"9#(44(00B"-, "30J">H"73,3835- "$B5,-)5 "#()*0-,- "6((W "9L3.213AK(0143"-, "30J>"

    K3,-.1301V-C"Y1-M5"

    IQ",U-"835-",380-5"C("4(,"2U34O-H"4-1,U-."C(-5",U-"\1-M"145,342-" Z- A-_-2+,14O"\1-M"C-Q141,1(4"-32U",1)-",U-"\1-M"15"+5-C"15"M35,-Q+0"1Q"835-"

    C3,3"U35"4(,"8--4"+*C3,-C"

    $(0+,1(4"231.!>#6153#$3Q#63-+! #.-3,-"3",-)*(.3.B"\1-M",380-"MU-4",U-"\1-M"15"Q1.5,"e+-.1-C"" c--*"\1-M",380-"(4",U-"355+)*,1(4",U3,")(.-"e+-.1-5" +514O",U-"\1-M"M100"

    Q(00(M" [5-" 3.+/*).0)J/- "\1-M"91Q"1,"-_15,5>",("345M-."Q+,+.-"e+-.1-5"

    Z-e+1.-5"-QQ121-4,"5,.3,-OB"Q(."+*C3,14O",U-"\1-M",380-".#+&3.+)8.00A"MU-4",U-"835-",380-5"3.-"+*C3,-C"d*,1(45"MU-4"34B"835-",380-"15"+*C3,-C"!J 7-0-,-",U-")3,-.1301V-C"\1-M ";J Z-)3,-.1301V-",U-"\1-M "%JI42.-)-4,300B"+*C3,-",U-"\1-M "

    76K$"C-,-.)14-5"MU3,"4-M",+*0-5")+5,"8-"145-.,-CH"C-0-,-CH"(.")(C1Q1-C"14")3,-.1301V-C"\1-M"

    *) "

    Nathan Wilson