Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Databáze výhody a nevýhody Ing. Emilie Šeptáková
Visual Fox Pro Databáze výhody a nevýhody Ing. Emilie Šeptáková
2
VFP - Databáze Volné tabulky – dočasné vazby Databáze
Je uložena v kontejneru databáze (.dbc,.dcx,.dct) Obsahuje informace o Tabulkách, atributech, indexech, trvalých vazbách (v literatuře relacích), spojeních, kurzorech - pohledech Umístění tabulky, ověřovací pravidla a chyb. zprávy na úrovni tabulky a atributů, jméno prim. klíče, vazby mezi tabulkami, pravidla RI (referenční integrity – tj. co se má udělat se závislými záznamy,pokud se uživatel pokusí odstranit hlavní záznam)
3
VFP - databáze Databáze Nevýhoda
přístup k tabulce – jedině prostřednictvím databáze můžete definovat dlouhá jména pro tabulky a atributy (až 128 znaků) komentáře k tabulkám a atributům definice výchozí hodnoty atributu, ověření na úrovni atributu, záznamu trvalé vazby zpracování transakcí funguje pouze nad tabulkami, které jsou v databázi pravidla RI – na jednom místě – uložené procedury Nevýhoda tabulka může náležet jen jedné databázi - backlink
7
VFP - příkazy pro práci s db
OPEN DATABASE [FileName | ?] [EXCLUSIVE | SHARED] [NOUPDATE] [VALIDATE] ADD TABLE TableName | ? [NAME LongTableName] REMOVE TABLE TableName | ? [DELETE] [RECYCLE] SET DATABASE TO [DatabaseName] CLOSE [ALL | ALTERNATE | DATABASES [ALL] | DEBUGGER | FORMAT | INDEXES | PROCEDURE | TABLES [ALL]] DELETE DATABASE DatabaseName | ? [DELETETABLES] [RECYCLE] DISPLAY DATABASE [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]] [NOCONSOLE] - info GENDBC - aplikace - vypíše SQL příkazy CREATE
8
VFP - funkce pro práci s db
Dbc() - vrátí cestu a jméno aktivní databáze Dbused(Jméno) – vrátí .T., jestliže je db otevřená Adatabases(pole) – vrátí vyplněné pole,cestu a jméno všech otevřených databází DBGETPROP(cName, cType, cProperty) * Displays the primary key field cResults = DBGETPROP("customer", "Table", "PrimaryKey") =MESSAGEBOX(cResults) && Displays 'cust_id' DBSETPROP(cName, cType, cProperty, ePrValue) INDBC(cDatabaseObjectName, cType) – vrátí .T., jestliže objekt daného typu je v aktuální databázi …
9
VFP - vytvoření tabulky v db SQL
CREATE TABLE data/faktura ( ; ino int(6) primary key, ; cno char(5) references zakaznik, ; idate date, ; itotal decimal(8,2), ; salesman char(3) not null, ; foreign key salesman tag salesman, ; references prodavac tag salesman, ; check not empty(idate) ) unique – znamená opravdu jedinečný (kandidátní klíč) – provádí se kontrola vazba od závislé tabulky k hlavní tabulce, tj definujeme cizí klíč
10
VFP - vytvoření tabulky v db
Pomocí návrháře zadáme Fields: atributy, formát, validaci, komentář Indexes: indexy, UNIQUE – neprovádí se kontrola Table: tabulka: dlouhé jméno record validation a případné chyb. hlášení Trigery RI - insert, update, delete komentář tabulky
11
VFP - vytvoření trvalé vazby v Database Designeru (DD)
Dočasná vazba : hlavní tabulka nemusí mít index, závislá ano implicitní příkaz seek (nenajde -> eof()=T, found(()=F) Trvalá vazba (persistent relationship): vazba oběma směry (obě tabulky musí mít daný index) navazuje se přes indexy z hl. do závislé tabulky (v DD) kandid. nebo prim -> pravidelný (regular) vazba 1:N kandid. nebo prim -> kandid. nebo prim. 1:1 Následující příkaz přidá trvalou vazbu 1:N mezi tabulkami customer a orders, založenou na primárním klíči cust_id v tabulce customer a novém cizím klíči cust_id v tabulce orders : ALTER TABLE orders; ADD FOREIGN KEY cust_id TAG ; cust_id REFERENCES customer
12
Referenční integrita Každý dceřiný záznam musí mít odpovídajícího rodiče Ověřovací pravidlo u Salesmana - : seek(ono, ’Offices’) najde se – vrátí True Operace – insert, update,delete klíče: restrikce, kaskáda, ignorace Procedurální RI – definicí spouští (trigerů) Referential Integrity Builder Uživatele nesmíme nechat doplnit cokoliv do cizího klíče, nesmíme povolit odstranění hlavního záznamu, když má závislé záznamy, nebo povolíme rušení i závislých záznamů
13
Uložené procedury jsou uloženy v databázi ve zkompilované formě
načtou se do paměti v okamžiku otevření db aktualizace na jednom místě využívají se pro kód spouští (trigerů) Příkazy: Modify, list procedures Append procedures from soubor Příklad TASTRADE (VisualFoxPro80\Samples\Tastrade\Data – rutina NewId()
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.