Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
i. Získavanie údajov:
Zahŕňa to dotazovanie databázy na načítanie požadovaných údajov. Primárnou metódou je použitie štruktúrovaného dotazového jazyka (SQL) pre relačné databázy. Databázy NoSQL používajú svoje vlastné dotazovacie jazyky (napr. MongoDB používa jazyk dotazu podobného JSON).
* Príklady sql (s použitím hypotetickej tabuľky „Používatelia“ so stĺpcami `id`,` name`, `email`,` age`):
* Výber všetkých stĺpcov zo všetkých riadkov:
`` sql
Vyberte * od používateľov;
`` `
* Výber konkrétnych stĺpcov:
`` sql
Vyberte ID, názov, e -mail od používateľov;
`` `
* filtrovanie údajov s klauzuli:
`` sql
Vyberte * od používateľov, kde vek> 25;
`` `
* Objednávanie údajov s objednávkou podľa klauzuly:
`` sql
Vyberte * od používateľov objednávka podľa názvu ASC; - ASC na stúpanie, opustenie pre zostup
`` `
* Obmedzenie počtu riadkov s klauzuliou Limit:
`` sql
Vyberte * od používateľov Limit 10;
`` `
* nOSQL Príklad (MongoDB): Syntax sa výrazne líši. Na získanie dokumentov by ste použili metódy ako `find ()`.
`` `JavaScript
// za predpokladu zbierky s názvom „Používatelia“ s dokumentmi obsahujúcimi „meno“, „e -mail“ a „vek“
db.users.find ({age:{$ gt:25}}). toarray () // nájde používateľov starších ako 25
`` `
II. Overenie údajov:
Tento zásadný krok zaisťuje, že získané údaje sú presné, úplné a zodpovedajú očakávaným formátom. Overenie sa môže stať vo viacerých vrstvách:
* Validácia na úrovni databázy: Zahŕňa to použitie databázových obmedzení (napr. „Nie NULL`,` Unique`, `Check`,` cudzí kľúče `obmedzenia v SQL) na presadzovanie integrity údajov priamo v databáze. V prvom rade to zabráni neplatným údajom zadávať do databázy.
* Validácia na úrovni aplikácií: To je rozhodujúce, pretože samotné obmedzenia databázy nemusia stačiť. Vaša aplikácia by mala pred použitím vykonať kontroly získaných údajov. To zvyčajne zahŕňa:
* Validácia typu údajov: Uistite sa, že údaje sú očakávaného typu (napr. Celé číslo, reťazec, dátum).
* Validácia formátu: Skontrolujte, či reťazce zodpovedajú konkrétnym vzorom (napr. E -mailová adresa, telefónne číslo pomocou regulárnych výrazov).
* Validácia rozsahu: Overte, či číselné hodnoty spadajú do prijateľných rozsahov.
* Validácia dĺžky: Uistite sa, že reťazce nie sú príliš dlhé alebo príliš krátke.
* NULL Kontrola: Pannusy, kde môžu polia chýbať údaje (hodnoty `null`).
* Overenie pravidla obchodných pravidiel: Umiestnite pravidlá špecifické pre aplikáciu, napríklad zabezpečenie toho, aby bol vek používateľa nad určitým prahom.
iii. Kombinácia získavania a validácie (príklad s Pythonom a relačnou databázou pomocou knižnice ako `Psycopg2` pre postgresql):
`` `Python
import psycopg2
importovať
def get_and_validate_users (conn, age_threshold):
cur =conn.cursor ()
Cur.execute („Vyberte ID, meno, e -mail, vek od používateľov, kde vek> %s“, (age_threshold,))
Používatelia =cur.fetchall ()
Valided_users =[]
Pre používateľov používateľov:
user_id, meno, e -mail, age =používateľ
#Validácia
ak nie je Isinstance (vek, int):
Print (F "Neplatný typ veku pre používateľa {name}:{age}")
Pokračujte v #skip pre ďalšieho používateľa
ak nie re.match (r "[^@]+@[^@]+\. [^@]+", e -mail):
Print (F "Neplatný e -mailový formát pre používateľa {name}:{email}")
pokračovať
Ak Len (meno) <2:
tlač (f "Názov príliš krátky pre používateľa {name}")
pokračovať
Validated_users.Append ({"id":user_id, "name":name, "e -mail":e -mail, "vek":vek})
cur.close ()
Návrat overovať_users
conn =psycopg2.Connect ("dbname =myDatabase user =myuser heslo =myPassword")
Valided_users =get_and_validate_users (Conn, 25)
tlač (overované_users)
conn.close ()
`` `
Nezabudnite spracovať potenciálne chyby (napr. Chyby pripojenia databázy, chyby dotazov) elegantne pomocou `skúste ... okrem blokov v kóde. Konkrétna implementácia bude do značnej miery závisieť od vášho zvoleného databázového systému, programovacieho jazyka a potrieb aplikácie. Pri zostavovaní dotazov SQL vždy dezinfikujte vstupy používateľov, aby ste zabránili zraniteľnostiam SQL vstrekovania. Použitím parametrizovaných dotazov (ako je uvedené v príklade) je najlepším postupom zabezpečenia.