Sunteți pe pagina 1din 12

Reguli de validare

* Un număr infinit de caractere. 


? Un oarecare caracter alfabetic
# Un oarecare caracter numeric
[] Toate caracterele exacte între paranteze pătrate.

b[ae]ll -> găsește ball și bell, dar nu bill.


! Toate caracterele care nu sunt în paranteze pătrate.

b[!ae]ll -> găsește bill si bull, dar nu ball sau bell.


- Toate caracterele specificate într-un range.

b[a-c]d gaseste bad, bbd, si bcd.

B*[a-c]d pentru oricâte de a,b sau c

Exerciții:
1. Să se definească o regulă de validare pentru tabela users – data creării nu poate depăși
data curentă.

created_at -> Validation Rule -> <=Date()

2. Să se definească o regulă de validare pentru tabela users – adresa de email trebuie să fie
validă.

[varianta simplă semi-corectă]


email -> Validation Rule -> Like "*@*.*"

[varianta mai complexă]


email -> Validation Rule -> Like "*?@?*.?*" AND Not Like "*[ ,;?!]*"

3. Să se definească o regulă de validare pentru tabela users – Sexul persoanei poate fi doar
„M” sau „F”

gender -> Validation Rule -> "M" Or "F"


gender -> Validation Rule -> IN(“M”, “F”)

4. Să se definească o regulă de validare pentru tabela order_items – cantitatea trebuie să fie


între 1 și 100 (inclusiv ambele).

quantity -> Validation Rule -> BETWEEN 1 AND 100


quantity -> Validation Rule -> >=1 AND <=100

5. Să se definească o regulă de validare pentru tabela countries – lungimea câmpului țară


este de maxim 10 caractere.

country_name -> Validation Rule -> Len([country_name])<10

6. Să se definească o regulă de validare pentru tabela merchants - numele trebuie introdus


cu majuscule.

merchant_name - > Validation Rule ->


StrComp(UCase([merchant_name]),[merchant_name],0)=0

Interogări SQL
Observații:
 Text – cu ghilimele, număr – fără, data – ghilimele sau diez.

Sintaxă generală:
INSERT INTO table (column1, column2) VALUES (value1, value2)
SELECT column FROM table WHERE column1 (condition) value GROUP BY column
ORDER BY column ASC
UPDATE table SET column= value2 WHERE column = value1
DELETE FROM table WHERE column = value
Exerciții:
Obs. Pentru toate interogările puteți schimba modul Design View – SQL View pentru a vedea
cum se face în fiecare mod.
1. Să se introducă în tabela users mai multe înregistrări prin intermediul Datasheet View,
Append Query (Table) și SQL.
Datasheet View: Se introduc toate valorile necesare
Append Query:
- Se creează o copie a tabelei users cu denumirea temp_users.
Selectăm tabela. Ctrl+C -> Ctrl+V și se introduce noua denumire;
- Se șterg toate înregistrările din temp_users.
Selectăm toate înregistrările -> Click dreapta -> Delete Rows;
- Se adaugă o nouă înregistrare în temp_users.
Se introduc valori în Datasheet View;
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela temp_users;
- Se schimbă tipul interogării.
Meniul Design -> Query Type -> Append -> Se selectează tabela users;
- Se introduc parametrii interogării.
Field: temp_users.* ,
Table: temp_users ,
Append To: users.* ;
- Se execută interogarea.
Meniul Design -> Run.

SQL:
Trebuie rulate una câte una, Access nu poate executa mai multe INSERT-uri în același
bloc de cod.
INSERT INTO users (full_name, email, gender, date_of_birth,country_id,
created_at, updated_at) VALUES ( "Mike Hannigan",
"mike.hannigan@gmail.com" , "M", "1/14/1966" , 1 , "4/9/2020",
"4/9/2020");

INSERT INTO users (full_name, gender, date_of_birth,country_id,


created_at, updated_at) VALUES ( "Emma Geller-Greene", "F", "4/4/2002" ,
1 , "4/9/2020", "4/9/2020");

INSERT INTO users VALUES ( 100, "Ben Geller", "ben.geller@gmail.com",


"M", "5/11/1995" , 1 , "4/9/2020", "4/9/2020");
2. Să se afișeze pe ecran toți utilizatorii (Query Design View și SQL).
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;
- Se introduc parametrii:
Fields: users.* ,
Table: users ;
- Se execută interogarea.
Meniul Design -> Run.
SQL:
SELECT * FROM users;

3. Să se afișeze numele utilizatorului (Name), emailul, ziua de naștere (Birthday) și


denumirea țării (Country), (Query Design View și SQL), în ordine alfabetică.
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabelele users și countries;
- Se introduc parametrii:

Field: Name: full_name,


Table: users,
Sort: Ascending,

Field: email,
Table: users,

Field: Name: Birthday: date_of_birth,


Table: users,

Field: Name: Country: country_name,


Table: countries;

- Se execută interogarea.
Meniul Design -> Run.
SQL:
SELECT users.full_name AS Name, users.email, users.date_of_birth AS
Birthday, countries.country_name AS Country

FROM countries INNER JOIN users ON countries.ID = users.country_id

ORDER BY users.full_name ASC;

4. Să se afișeze toate comenzile pentru utilizatorul ”Ross Geller” (Query Design View și
SQL).

Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabelele users și orders;
- Se introduc parametrii:

Field: ID,
Table: orders,

Field: full_name,
Table: users,
Criteria: "Ross Geller",

Field: status,
Table: orders,

Field: total_value,
Table: orders,

Field: created_at,
Table: orders,

Field: updated_at,
Table: orders;

- Se execută interogarea.
Meniul Design -> Run.
SQL:
SELECT orders.ID, users.full_name, orders.status, orders.total_value,
orders.created_at, orders.updated_at
FROM users INNER JOIN orders ON users.ID = orders.user_id
WHERE users.full_name="Ross Geller";

5. Să se afișeze toate comenzile pentru utilizatorul cu ID-ul 9 și utilizatorul cu numele


”Monica Geller” (Query Design View și SQL).

Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabelele users și orders;
- Se introduc parametrii:

Field: ID,
Table: orders,

Field: full_name,
Table: users,
Criteria: "Monica Geller",

Field: status,
Table: orders,

Field: total_value,
Table: orders,

Field: created_at,
Table: orders,

Field: updated_at,
Table: orders,

Field: ID,
Table: users,
Show: DEBIFAT,
Criteria: 9 (ATENȚIE, criteriul se introduce în alt rând decât cel introdus mai
devremne)

- Se execută interogarea.
Meniul Design -> Run.
SQL:
SELECT orders.ID, users.full_name, orders.status, orders.total_value,
orders.created_at, orders.updated_at

FROM users INNER JOIN orders ON users.ID = orders.user_id

WHERE users.full_name="Monica Geller" OR users.ID=9;

6. Să se afișeze toți utilizatorii născuți după 1 ianuarie 1968 (Query Design View și SQL).
Design View:
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;
- Se introduc parametrii:

Field: users.*,
Table: users,

Field: date_of_birth,
Table: users,
Show: DEBIFAT,
Criteria: >#1/1/1968#.

- Se execută interogarea.
Meniul Design -> Run.

SQL:
SELECT *

FROM users

WHERE date_of_birth > #1/1/1968#

7. Să se afișeze toți utilizatorii născuți până la 1 ianuarie 1969 inclusiv (Query Design View
și SQL).

Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;
- Se introduc parametrii:

Field: users.*,
Table: users,

Field: date_of_birth,
Table: users,
Show: DEBIFAT,
Criteria: <= #1/1/1969#.

- Se execută interogarea.
Meniul Design -> Run.

SQL:
SELECT *
FROM users
WHERE date_of_birth <= #1/1/1969#

8. Să se afișeze toate comenzile pentru utilizatorii din SUA cu valoare mai mare de 500
(Query Design View și SQL).

Design View:

- Se creează un Query nou.


Meniul Create -> Query Design -> Se selectează tabelele users, orders și countries;
- Se introduc parametrii:

Field: ID
Table: orders,

Field: full_name,
Table: users,

Field: country_name,
Table: countries,
Criteria: "USA"

Field: status,
Table: orders,

Field: total_value,
Table: orders,
Criteria: >500.

- Se execută interogarea.
Meniul Design -> Run.

SQL:
SELECT orders.ID, users.full_name, countries.country_name,
orders.status, orders.total_value

FROM (countries INNER JOIN users ON countries.ID = users.country_id)


INNER JOIN orders ON users.ID = orders.user_id

WHERE countries.country_name="USA" AND orders.total_value>500;

9. Să se afișeze toate comenzile din țara cu ID-ul 2 cu valoare mai mică sau egală cu 400
(Query Design View și SQL).

Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabelele users, orders și countries;
- Se introduc parametrii:

Field: ID
Table: orders,

Field: full_name,
Table: users,

Field: country_name,
Table: countries,

Field: status,
Table: orders,

Field: total_value,
Table: orders,
Criteria: <=500,

Field: ID,
Table: countries,
Criteria: 2.

- Se execută interogarea.
Meniul Design -> Run.

SQL:

SELECT orders.ID, users.full_name, countries.country_name,


orders.status, orders.total_value

FROM (countries INNER JOIN users ON countries.ID = users.country_id)


INNER JOIN orders ON users.ID = orders.user_id

WHERE orders.total_value<=400 AND countries.ID=2;

10. Să se actualizeze înregistrarea din tabela users unde numele este ”Ross” pe ”Ross Geller”
(Query Design View și SQL).
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;

- Se schimbă tipul interogării.


Meniul Design -> Query Type -> Update

- Se introduc parametrii:

Field: full_name,
Table: users,
Update To: "Ross Geller",
Criteria: "Ross".

- Se execută interogarea.
Meniul Design -> Run.

SQL:
UPDATE users SET full_name = "Ross Geller"

WHERE full_name = "Ross"


11. Să se actualizeze numele pentru înregistrarea cu ID-ul 14 din tabela users pe ”Joey
Tribbiani” (Query Design View și SQL).
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;

- Se schimbă tipul interogării.


Meniul Design -> Query Type -> Update

- Se introduc parametrii:

Field: full_name,
Table: users,
Update To: "Joey Tribbiani",

Field: ID,
Table: users,
Criteria: 14.

- Se execută interogarea.
Meniul Design -> Run.

SQL:
UPDATE users SET full_name = "Joey Tribbiani"

WHERE ID=14

12. Să se șteargă utilizatorul cu numele ”Swarley Stinson” (Query Design View și SQL).
Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;

- Se schimbă tipul interogării.


Meniul Design -> Query Type -> Delete

- Se introduc parametrii:

Field: full_name,
Table: users,
Delete: Where,
Criteria: "Swarley Stinson"
- Se execută interogarea.
Meniul Design -> Run.
SQL:
DELETE FROM users

WHERE full_name="Swarley Stinson"

13. Să se șteargă utilizatorul cu ID-ul 102 (Query Design View și SQL).


Design View:
- Se creează un Query nou.
Meniul Create -> Query Design -> Se selectează tabela users;

- Se schimbă tipul interogării.


Meniul Design -> Query Type -> Delete

- Se introduc parametrii:

Field: ID,
Table: users,
Delete: Where,
Criteria: 102
- Se execută interogarea.
Meniul Design -> Run.

SQL:
DELETE FROM users

WHERE ID=102

S-ar putea să vă placă și