[ Pobierz całość w formacie PDF ]
.Jeœlizajdzie potrzeba definiowania danych w tabelach nie utworzonych przezmechanizm Jet, zadzia³aæ mog¹ obiekty DAO.Jeœli musisz definiowaæ dane wtabelach baz SQL Server lub Oracle, mo¿esz skorzystaæ z podobnych opcji wich jêzykach SQL.Wykonuj ich definiuj¹ce dane procedury SQL poprzez kwerendyprzekazuj¹ce Accessa.Kwerendy definiuj¹ce dane dokonuj¹ ci¹g³ych modyfikacji w liczbie, strukturzei w³aœciwoœciach tabel, indeksów i relacji.Zanim zaczniesz z nimi pracowaæ,sporz¹dŸ kopiê zapasow¹ swojej bazy i uruchom je w kopii swojego projektu.Kwerendy definiuj¹ce dane posiadaj¹ podstawowy schemat, którego zrozumienieznacznie u³atwia korzystanie z nich.Zaczynaj¹ siê s³owem kluczowym CreateTable, Alter Table lub Drop Table, po którym wystêpuje nazwa tabeli.Kolejnymelementem jest umieszczona w nawiasie sekcja definiuj¹ca pole.Po niejwystêpuje nazwa pola, jego typ danych, a nastêpnie rozmiar pola (w nawiasie).Sekcja definiuj¹ca dane mo¿e byæ dowolnej d³ugoœci.Po ka¿dej definicji polamo¿e wystêpowaæ warunek ograniczaj¹cy, ustawiaj¹cy indeksy, klucze i klucze:obcy lub nadaj¹cy polu wartoœæ NOT NULL.Warunek ograniczaj¹cy jestopcjonalny.Tworzenie nowej tabeliLogicznym pocz¹tkiem pracy z kwerendami definiuj¹cymi dane jest proceduraCreate Table.Jak sama nazwa wskazuje, bêdzie ona tworzy³a tabelê, jednak¿e jejzdolnoœci do tego siê nie ograniczaj¹.Korzystaj¹c z kwerendy tworz¹cej tabele,mo¿esz utworzyæ tabele z poziomu siatki QBE, jednak¿e ten sposób nie umo¿liwiaokreœlenia rozmiaru i ograniczeñ pola, indeksów oraz relacji.Korzystaj¹c z procedur definiuj¹cych dane w kwerendzie charakterystycznej dlajêzyka SQL, mo¿esz tworzyæ lub modyfikowaæ tabele w taki sam sposób, jakdokonujesz zmian w tabeli w widoku Projekt.Sk³adnia prostej procedury Create Table wygl¹da nastêpuj¹co:Create Table nazwatabeli (pole1 typdanych (rozmiar), pole2 typdanych(rozmiar),.,);Budowaæ kwerendy mo¿na jedynie w oparciu o zamkniête w danym momencie tabele.Aby utworzyæ tabelê zawieraj¹c¹ dwa pola o d³ugoœci 15 znaków, mo¿esz u¿yænastêpuj¹cej procedury:CREATE TABLE TestTable (FirstName TEXT (15), LastName TEXT (15));Po uruchomieniu tej kwerendy i odœwie¿eniu zawartoœci bazy zauwa¿ysz now¹tabelê.Bêd¹c w widoku Projekt zauwa¿ysz równie¿, ¿e d³ugoœæ obu pól ustawionajest na 15 znaków.Gdybyœ u¿y³ tradycyjnej kwerendy tworz¹cej tabele, polamia³yby d³ugoœæ 255 znaków.Rozmiar pola jest opcjonaln¹ czêœci¹ procedury.Gdyby go w niej nie umieœciæ, pola mia³yby d³ugoœæ 255 znaków.Dobrze jestkorzystaæ z tego polecenia, kiedy to tylko mo¿liwe.Modyfikowanie tabeliPo utworzeniu tabeli mo¿liwe jest modyfikowanie jej zawartoœci przy u¿yciukwerend definiuj¹cych dane.Polecenie Alter Table powoduje dodanie pola dotabeli.Podstawowe polecenie Alter Table ma nastêpuj¹c¹ sk³adniê:ALTER TABLE nazwatabeli ADDnazwapola1 typdanych (rozmiar),nazwapola2 typdanych (rozmiar);Aby zmodyfikowaæ tabelê, dodaj¹c do niej dwa nowe pola, mo¿esz u¿yænastêpuj¹cego polecenia:Alter Table TestTable AddPhone Text (10),Fax Text (10),Cellular Text (10);Utworzone w ten sposób pola mog¹ byæ dalej okreœlane za pomoc¹ warunkówograniczaj¹cych.Warunki te omówimy jednak osobno.Nowoœci¹ w Accessie 2000jest mo¿liwoœæ dodawania wiêcej ni¿ jednego pola jednoczeœnie.Jednak¿e wci¹¿konieczne jest korzystanie z osobnych poleceñ Drop do usuwania pól z tabeli.Alter Table TestTable drop Phone;IAlter Table TestTable drop Fax;IAlter Table TestTable drop Cellular;Tworzenie indeksówPo utworzeniu, zaimportowaniu b¹dŸ do³¹czeniu tabeli mo¿e zaistnieæ koniecznoœæutworzenia indeksu.Umo¿liwia to polecenie Create Index.Podstawowa sk³adnia tego polecenia jest nastêpuj¹ca:CREATE [UNIQUE] INDEX nazwaindeksuON nazwatabeli (nazwapola1 ASC/DESC nazwapola2 ASC/DESC.)[WITH Primary/Disallow Null/Ignore Null]Jeœli indeks ma zawieraæ tylko wartoœci unikatowe, u¿yj s³owa kluczowegoUNIQUE.Warunek opcjonalny WITH umo¿liwia wymuszenie zasad poprawnoœci.Indeksmo¿e zakazaæ u¿ycia wartoœci Null poprzez u¿ycie Disallow Null.Opcja IgnoreNull dopuszcza rekordy z wartoœci¹ Null w indeksowanym polu, jednak¿e usuwaje z indeksu.Gdy u¿ywane jest s³owo kluczowe PRIMARY, mo¿e zastêpowaæ s³owoUNIQUE.Poni¿sze wyra¿enie utworzy indeks w nowej tabeli:Create Index Nazwisko on TabelaTestowa(Nazwisko) with primary;Zauwa¿, ¿e dla polecenia CREATE INDEX sk³adnia jest nieco inna.W tym przypadkunazwa pola poprzedza nazwê tabeli.SprawdŸ w projekcie tabeli, aby potwierdziæ utworzenie klucza podstawowego wpolu Nazwisko.Mo¿liwe jest tworzenie indeksów w tabelach po³¹czonych ze Ÿród³em danych ODBC,jeœli tabele te nie posiadaj¹ jeszcze indeksu.W tym przypadku, indeksy nieznajduj¹ siê na serwerze.Rezyduj¹ w Accessie jako dynamiczne odnoœniki do pólz danymi.Serwer nie zauwa¿a tych pseudoindeksów i nie s¹ wymagane specjalnepozwolenia, aby je tworzyæ.Aby tego dokonaæ, u¿yj tej samej sk³adni jak dlatabel Ÿród³owych
[ Pobierz całość w formacie PDF ]