Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Tworzenietabelidefiniowanieintegralnościdanych
27
JęzykT-SQLpozwalaużywaćbiałychznakówwkodziewniemaldowol-
nysposób.Znakitepoprawiajączytelność.Kodzpoprzedniegopodrozdziału
mógłbymnapisaćwjednymwierszu.Niebyłobytojednaktakczytelne,jak
wprzypadkupodzieleniagonawielewierszy
,wktórychdodatkowoużyłem
wcięćtekstu.
Praktykakończeniapoleceńśrednikiemjestpowszechna,awistociejest
towymógstandarduijeststosowanawkilkuinnychplatformachbazodano-
wych.SQLServerwymagaużyciaśrednikajedyniewszczególnychprzypad-
kach,jednakwstawienieśrednikatam,gdzieniejestonwymagany
,niepowodu-
jeproblemów.Zalecamwięc,byprzyswoićsobiezwyczajkończeniawszystkich
poleceńśrednikiem.Średniknietylkopoprawiaczytelność,alewniektórych
sytuacjachmożenasustrzecprzedkłopotami(wsytuacji,kiedyśrednikjest
wymagany
,aniezostałwyspecyfikowany
,komunikatyobłędachgenerowane
przezsystemSQLServerniezawszewystarczającopomocne).
UwagaDokumentacjasystemuSQLServerwskazuje,żeniekończeniepoleceńT-SQL
średnikiemjestfunkcjonalnościąprzestarzałą.Oznaczato,żewprzyszłychwersjachpro-
duktuznajdziesięfunkcjawymuszaniaużywaniaśrednika.Jesttojeszczejedenpowód,dla
któregowartoprzyzwyczaićsiędośrednikówkończącychpolecenia,nawetjeśliaktualnie
niewymagane.
Definiowanieintegralnościdanych
Jakjużwspomniałemwcześniej,jednązwielkichzaletmodelurelacyjnegojestto,
żejegoczęściąjestmechanizmzapewniającyintegralnośćdanych.Integralnośćdanych
wymuszanajakoczęśćmodelu,amianowiciejakoczęśćdefinicjitabeli,jestnazywa-
nadeklaratywnąintegralnościądanych.Integralnośćdanychwymuszanazapomocą
kodu,jaknaprzykładprzyużyciuprocedurskładowanychczywyzwalaczy
,jestnazy-
wanaproceduralnąintegralnościądanych.
Typdanych,możliwośćwyboruobsługiznacznikówNULLdlaatrybutów,anawet
sammodeldanychprzykładamiograniczeńdeklaratywnejintegralnościdanych.
Wtympodrozdzialeopiszemyinneprzykładydeklaratywnychograniczeń:klucza
głównego,unikatowości,kluczaobcego,sprawdzania(check)iwartościdomyślnych.
Tegotypuograniczeniamożemydefiniowaćpodczastworzeniatabeli,jakoczęść
instrukcjiCREATETABLE,albonarzucićjedlajużutworzonychtabelprzyużyciu
instrukcjiALTERTABLE.Wszystkietypyograniczeń,zawyjątkiemdomyślnych,mogą
byćdefiniowanejakoograniczeniazłożonetoznaczybazującenawięcejniżjednym
atrybucie.