Atestat profesional · Informatică
Atestat: baze de date
Modelul 1 Materii și opționale: clasele cu opționale, materiile cu opționale cerute și opționalele cu cel puțin 15 doritori
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Tabela de pe partea „mai mulți” a legăturii, Optional, primește în plus câmpul idMaterie, cheie
externă către Materie.
Create → Table Design. Tabela Materie:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idMaterie | AutoNumber | cheie primară |
denumire | Short Text | Field Size 50; Required Yes |
descriere | Short Text | Field Size 255 |
Tabela Optional:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idOptional | AutoNumber | cheie primară |
denumire | Short Text | Field Size 50; Required Yes |
clasa | Number | Field Size Byte; Validation Rule Between 0 And 12; Required Yes |
nrDoritori | Number | Field Size Integer; Required Yes |
idMaterie | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
MaterieșiOptional. - Se trage câmpul
idMateriedinMateriepesteidMateriedinOptional. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Pe linia legăturii apar 1 la Materie și ∞ la Optional, adică o legătură One-To-Many.
3. Popularea tabelelor
Tabelele se completează în Datasheet View. Tabela Materie se completează prima, deoarece
integritatea referențială nu acceptă un opțional legat de o materie care nu există.
| idMaterie | denumire | descriere |
|---|---|---|
| 1 | Informatică | Programare și baze de date |
| 2 | Matematică | |
| 3 | Biologie | Științele vieții |
| idOptional | denumire | clasa | nrDoritori | idMaterie |
|---|---|---|---|---|
| 1 | Robotică | 9 | 28 | 1 |
| 2 | Grafică pe calculator | 10 | 14 | 1 |
| 3 | Programare web | 11 | 22 | 1 |
| 4 | Matematică distractivă | 5 | 18 | 2 |
| 5 | Logică matematică | 9 | 12 | 2 |
| 6 | Ecologie | 7 | 16 | 3 |
| 7 | Educație pentru sănătate | 9 | 26 | 3 |
Modelul 2 Abonați și intervenții: aniversările de azi, intervențiile pe tipuri și intervențiile unui abonat
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Numele câmpurilor se scriu fără spații. Tabela Interventie, de pe partea „mai mulți” a legăturii,
primește în plus câmpul id_abonat, cheie externă către Abonat.
Create → Table Design. Tabela Abonat:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
id | AutoNumber | cheie primară |
nume | Short Text | Field Size 30; Required Yes |
prenume | Short Text | Field Size 30; Required Yes |
data_nasterii | Date/Time | Format Short Date; Required Yes |
Tabela Interventie:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idi | AutoNumber | cheie primară |
tip_interventie | Short Text | Field Size 20; Validation Rule In ("cuplare","instalare","reparatie"); Required Yes |
id_abonat | Number | Field Size Long Integer; Required Yes; cheie externă |
Regula de validare de la tip_interventie primește numai cele trei tipuri din diagramă.
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
AbonatșiInterventie. - Se trage câmpul
iddinAbonatpesteid_abonatdinInterventie. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many: un abonat poate avea mai multe intervenții, iar o intervenție este făcută pentru un singur abonat.
3. Popularea tabelelor
Tabela Abonat se completează prima, în Datasheet View.
| id | nume | prenume | data_nasterii |
|---|---|---|---|
| 1 | Popa | Andrei | 14.03.1985 |
| 2 | Ionescu | Maria | 02.07.1990 |
| 3 | Stan | Radu | 14.03.1978 |
| 4 | Dobre | Elena | 20.11.2001 |
| idi | tip_interventie | id_abonat |
|---|---|---|
| 1 | instalare | 1 |
| 2 | reparatie | 1 |
| 3 | cuplare | 2 |
| 4 | reparatie | 3 |
| 5 | instalare | 4 |
| 6 | reparatie | 4 |
Modelul 3 Calculatoare și componente: componentele unei etichete, garanția depășită și calculatoarele cu componente defecte
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Un calculator conține mai multe componente, deci tabela Componenta primește în plus câmpul idi,
cheie externă către Calculator.
Create → Table Design. Tabela Calculator:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idi | AutoNumber | cheie primară |
numar_de_inventar | Short Text | Field Size 20; Required Yes |
eticheta | Short Text | Field Size 30; Required Yes |
Tabela Componenta:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idc | Short Text | Field Size 10; cheie primară |
stare | Short Text | Field Size 10; Validation Rule In ("functional","defect"); Required Yes |
data_fabricarii | Date/Time | Format Short Date; Required Yes |
idi | Number | Field Size Long Integer; Required Yes; cheie externă |
Codul componentei, idc, este un text scurt, de exemplu HDD-01, din care se vede ce piesă este.
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
CalculatorșiComponenta. - Se trage câmpul
ididinCalculatorpesteididinComponenta. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Calculator și ∞ la Componenta.
3. Popularea tabelelor
Tabela Calculator se completează prima, în Datasheet View.
| idi | numar_de_inventar | eticheta |
|---|---|---|
| 1 | INV-1001 | Laborator 1 |
| 2 | INV-1002 | Laborator 1 |
| 3 | INV-2001 | Secretariat |
| idc | stare | data_fabricarii | idi |
|---|---|---|---|
| HDD-01 | functional | 10.05.2023 | 1 |
| RAM-01 | defect | 20.01.2025 | 1 |
| SURSA-02 | functional | 15.09.2022 | 2 |
| HDD-02 | defect | 03.11.2023 | 2 |
| RAM-03 | functional | 30.06.2025 | 3 |
| MON-03 | functional | 12.02.2021 | 3 |
4. Calculatoarele cu o etichetă citită și componentele lor
Create → Query Design → tabelele Calculator și Componenta → în grilă:
Calculator.numar_de_inventar, Sort Ascending;Calculator.eticheta, Criteria[Eticheta:], fără bifa Show;Componenta.idc,Componenta.stare,Componenta.data_fabricarii.
Interogarea se salvează cu numele ComponenteEticheta.
Modelul 4 Pictori și tablouri: aniversările din luna curentă, cel mai tânăr pictor și tablourile ordonate după dimensiune
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Tabela Tablou, de pe partea „mai mulți” a legăturii, primește în plus câmpul Cod_pictor, cheie
externă către Pictor.
Create → Table Design. Tabela Pictor:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_pictor | AutoNumber | cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Data_nastere | Date/Time | Format Short Date; Required Yes |
Descriere_activitate | Long Text | — |
Tabela Tablou:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_tablou | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 50; Required Yes |
Anul_realizarii | Number | Field Size Integer; Required Yes |
Lungime | Number | Field Size Integer (centimetri); Required Yes |
Latime | Number | Field Size Integer (centimetri); Required Yes |
Pret | Currency | — |
Cod_pictor | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
PictorșiTablou. - Se trage câmpul
Cod_pictordinPictorpesteCod_pictordinTablou. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many: un pictor poate avea mai multe tablouri, iar un tablou are un singur pictor.
3. Popularea tabelelor
Tabela Pictor se completează prima, în Datasheet View.
| Cod_pictor | Nume | Prenume | Data_nastere | Descriere_activitate |
|---|---|---|---|---|
| 1 | Marin | Ioana | 12.05.1975 | Pictură în ulei, peisaj |
| 2 | Dinu | Victor | 03.11.1988 | Portret |
| 3 | Avram | Elena | 27.05.1992 | |
| 4 | Dinu | Andrei | 18.02.1969 | Natură statică |
| Cod_tablou | Denumire | Anul_realizarii | Lungime | Latime | Pret | Cod_pictor |
|---|---|---|---|---|---|---|
| 1 | Câmp cu maci | 2010 | 80 | 60 | 4.500 | 1 |
| 2 | Iarna la munte | 2015 | 100 | 70 | 6.000 | 1 |
| 3 | Portret de fată | 2018 | 50 | 40 | 3.000 | 2 |
| 4 | Autoportret | 2020 | 60 | 50 | 2 | |
| 5 | Liniște | 2021 | 120 | 80 | 7.500 | 3 |
| 6 | Flori de câmp | 2005 | 40 | 30 | 1.500 | 4 |
4. Pictorii cu aniversarea în luna curentă
Funcția Month întoarce luna dintr-o dată, iar Date() întoarce data curentă.
Create → Query Design → tabela Pictor → în grilă:
Nume,Prenume,Data_nastere;Luna: Month([Data_nastere]), CriteriaMonth(Date()), fără bifa Show.
Interogarea se salvează cu numele AniversariLuna.
SELECT Nume, Prenume, Data_nastere
FROM Pictor
WHERE Month(Data_nastere) = Month(Date());Rulată în luna mai, interogarea afișează:
| Nume | Prenume | Data_nastere |
|---|---|---|
| Marin | Ioana | 12.05.1975 |
| Avram | Elena | 27.05.1992 |
5. Cel mai tânăr pictor
Cel mai tânăr pictor are cea mai mare dată de naștere. Ea se obține cu o subinterogare, iar interogarea principală afișează pictorul cu această dată.
Modelul 5 Profesori și cursuri: durata totală în zile de formare, cel mai lung curs al fiecărui profesor și cursurile unui profesor
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Un profesor susține mai multe cursuri, deci tabela Curs primește în plus câmpul id_profesor,
cheie externă către Profesor.
Create → Table Design. Tabela Profesor:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
id | AutoNumber | cheie primară |
nume | Short Text | Field Size 30; Required Yes |
prenume | Short Text | Field Size 30; Required Yes |
Tabela Curs:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idc | AutoNumber | cheie primară |
denumire | Short Text | Field Size 50; Required Yes |
nr_locuri | Number | Field Size Integer; Required Yes |
durata | Number | Field Size Integer (ore); Required Yes |
id_profesor | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
ProfesorșiCurs. - Se trage câmpul
iddinProfesorpesteid_profesordinCurs. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Profesor și ∞ la Curs.
3. Popularea tabelelor
Tabela Profesor se completează prima, în Datasheet View.
| id | nume | prenume |
|---|---|---|
| 1 | Georgescu | Ana |
| 2 | Matei | Cristian |
| 3 | Pavel | Irina |
| idc | denumire | nr_locuri | durata | id_profesor |
|---|---|---|---|---|
| 1 | Evaluarea online | 25 | 24 | 1 |
| 2 | Proiectarea lecției | 20 | 40 | 1 |
| 3 | Programare în C++ | 15 | 60 | 2 |
| 4 | Baze de date | 5 | 32 | 2 |
| 5 | Comunicare didactică | 30 | 16 | 3 |
| 6 | Educație incluzivă | 4 | 24 | 3 |
4. Durata totală în zile de formare
Se adună duratele tuturor cursurilor, în ore, iar suma se împarte la 8.
Create → Query Design → tabela Curs → Totals (Σ) → în rândul Field se scrie
ZileFormare: Sum([durata])/8, iar pe rândul Total se alege Expression. Interogarea se
salvează cu numele DurataTotala.
SELECT SUM(durata) / 8 AS ZileFormare
FROM Curs;Modelul 6 Apartamente și locatari: locatarii cu restanțe, cea mai mare datorie și colegii de la același loc de muncă
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Într-un apartament locuiesc mai mulți locatari, deci tabela Locatar primește în plus câmpul
ida, cheie externă către Apartament.
Create → Table Design. Tabela Apartament:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ida | AutoNumber | cheie primară |
Numar | Number | Field Size Integer; Required Yes |
Numar_camere | Number | Field Size Byte; Required Yes |
suma_restanta | Currency | Default Value 0; Required Yes |
Tabela Locatar:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idl | AutoNumber | cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Loc_de_munca | Short Text | Field Size 50; Required Yes |
ida | Number | Field Size Long Integer; Required Yes; cheie externă |
Suma restantă se ține la apartament, deoarece întreținerea se plătește pe apartament. Un apartament
fără datorii are suma_restanta 0.
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
ApartamentșiLocatar. - Se trage câmpul
idadinApartamentpesteidadinLocatar. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Apartament și ∞ la Locatar.
3. Popularea tabelelor
Tabela Apartament se completează prima, în Datasheet View.
| ida | Numar | Numar_camere | suma_restanta |
|---|---|---|---|
| 1 | 1 | 2 | 0 |
| 2 | 2 | 3 | 450 |
| 3 | 3 | 2 | 120 |
| 4 | 4 | 4 | 450 |
| idl | Nume | Prenume | Loc_de_munca | ida |
|---|---|---|---|---|
| 1 | Ene | Mihai | Spitalul Județean | 1 |
| 2 | Ene | Laura | Școala Gimnazială nr. 3 | 1 |
| 3 | Lazăr | Dan | Primăria | 2 |
| 4 | Lazăr | Ana | Spitalul Județean | 2 |
| 5 | Rusu | Ion | Primăria | 3 |
| 6 | Tudor | Carmen | Spitalul Județean | 4 |
4. Numărul locatarilor cu restanțe
Un locatar are restanțe dacă apartamentul în care locuiește are suma_restanta mai mare decât 0.
Modelul 7 Clienți și reclame: reclamele unui client cu prețul plătit, cea mai lungă reclamă și tariful minim pe minut pentru fiecare cod fiscal
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Numele câmpurilor se scriu fără spații și fără /: Cod_fiscal, tarif_minut. Un client comandă
mai multe reclame, deci tabela Reclama primește în plus câmpul idc, cheie externă către
Client.
Create → Table Design. Tabela Client:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idc | AutoNumber | cheie primară |
Nume | Short Text | Field Size 50; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Cod_fiscal | Short Text | Field Size 12; Required Yes; Indexed Yes (No Duplicates) |
Tabela Reclama:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idr | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 50; Required Yes |
Durata | Number | Field Size Single (minute); Required Yes |
Nr_de_difuzari | Number | Field Size Integer; Required Yes |
tarif_minut | Currency | Required Yes |
idc | Number | Field Size Long Integer; Required Yes; cheie externă |
Durata este de tip Single, pentru că o reclamă poate dura și o fracțiune de minut, de exemplu
0,5.
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
ClientșiReclama. - Se trage câmpul
idcdinClientpesteidcdinReclama. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Client și ∞ la Reclama.
3. Popularea tabelelor
Tabela Client se completează prima, în Datasheet View.
| idc | Nume | Adresa | Cod_fiscal |
|---|---|---|---|
| 1 | SC Alfa Prod SRL | Str. Florilor 10 | RO1234567 |
| 2 | SC Beta Com SRL | Bd. Unirii 5 | RO2345678 |
| 3 | SC Gama Serv SRL | Str. Mare 22 | RO3456789 |
| idr | Denumire | Durata | Nr_de_difuzari | tarif_minut | idc |
|---|---|---|---|---|---|
| 1 | Lapte proaspăt | 0,5 | 40 | 200 | 1 |
| 2 | Iaurt natural | 1 | 20 | 180 | 1 |
| 3 | Telefoane noi | 2 | 15 | 250 | 2 |
| 4 | Reduceri de iarnă | 6 | 5 | 150 | 2 |
| 5 | Service auto | 3 | 10 | 220 | 3 |
| 6 | Spălătorie auto | 1,5 | 12 | 240 | 3 |
4. Reclamele unui client și prețul plătit
Prețul unei reclame este durata înmulțită cu numărul de difuzări și cu tariful pe minut.
Modelul 8 Domnitori și evenimente: domniile de cel puțin 5 ani, evenimentele fiecărui domnitor și domnitorii dintr-un interval
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Un domnitor a inițiat mai multe evenimente, deci tabela Eveniment primește în plus câmpul
id_domnitor, cheie externă către Domnitor. Anii se rețin ca numere.
Create → Table Design. Tabela Domnitor:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
id | AutoNumber | cheie primară |
nume | Short Text | Field Size 50; Required Yes |
aninceputDomnie | Number | Field Size Integer; Required Yes |
ansfDomnie | Number | Field Size Integer; Required Yes |
anNastere | Number | Field Size Integer; Required Yes |
anDeces | Number | Field Size Integer; Required Yes |
Tabela Eveniment:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ide | AutoNumber | cheie primară |
denumire | Short Text | Field Size 100; Required Yes |
an | Number | Field Size Integer; Required Yes |
id_domnitor | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
DomnitorșiEveniment. - Se trage câmpul
iddinDomnitorpesteid_domnitordinEveniment. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Domnitor și ∞ la Eveniment.
3. Popularea tabelelor
Tabela Domnitor se completează prima, în Datasheet View.
| id | nume | aninceputDomnie | ansfDomnie | anNastere | anDeces |
|---|---|---|---|---|---|
| 1 | Ioan Vodă cel Cumplit | 1572 | 1574 | 1521 | 1574 |
| 2 | Mihai Viteazul | 1593 | 1600 | 1558 | 1601 |
| 3 | Vasile Lupu | 1634 | 1653 | 1595 | 1661 |
| 4 | Constantin Brâncoveanu | 1688 | 1714 | 1654 | 1714 |
| 5 | Alexandru Ioan Cuza | 1859 | 1866 | 1820 | 1873 |
| ide | denumire | an | id_domnitor |
|---|---|---|---|
| 1 | Bătălia de la Jiliște | 1574 | 1 |
| 2 | Bătălia de la Călugăreni | 1595 | 2 |
| 3 | Unirea din 1600 | 1600 | 2 |
| 4 | Tipărirea „Cărții românești de învățătură” | 1646 | 3 |
| 5 | Ctitorirea Mănăstirii Hurezi | 1690 | 4 |
| 6 | Unirea Principatelor | 1859 | 5 |
| 7 | Legea rurală | 1864 | 5 |
4. Domnitorii cu domnia de cel puțin 5 ani
Durata domniei este diferența dintre anul de sfârșit și anul de început.
Create → Query Design → tabela Domnitor → în grilă:
Modelul 9 Specii și animale: cel mai vârstnic urs, vârsta animalelor pe specii și animalele unei specii
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributul marcat cu
°poate rămâne necompletat.
O specie este reprezentată de mai multe animale, deci tabela Animal primește în plus câmpul
ids, cheie externă către Specie.
Create → Table Design. Tabela Specie:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ids | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 30; Required Yes |
Caracteristici | Short Text | Field Size 255 |
Tabela Animal:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ida | AutoNumber | cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Data_nasterii | Date/Time | Format Short Date; Required Yes |
ids | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
SpecieșiAnimal. - Se trage câmpul
idsdinSpeciepesteidsdinAnimal. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Specie și ∞ la Animal.
3. Popularea tabelelor
Tabela Specie se completează prima, în Datasheet View.
| ids | Denumire | Caracteristici |
|---|---|---|
| 1 | urs | mamifer omnivor |
| 2 | lup | mamifer carnivor |
| 3 | vulpe |
| ida | Nume | Data_nasterii | ids |
|---|---|---|---|
| 1 | Martin | 10.04.2008 | 1 |
| 2 | Bruno | 25.01.2012 | 1 |
| 3 | Masha | 30.06.2015 | 1 |
| 4 | Akela | 05.03.2016 | 2 |
| 5 | Fulger | 12.09.2019 | 2 |
| 6 | Roșcata | 02.05.2021 | 3 |
4. Cel mai vârstnic urs
Cel mai vârstnic urs are cea mai mică dată de naștere dintre urși. Subinterogarea calculează
această dată numai pentru specia urs, iar interogarea principală afișează ursul născut atunci.
Create → Query Design → SQL View:
Modelul 10 Seturi de întrebări: întrebările după domeniu și dificultate, numărul de întrebări din fiecare set și enunțurile unui set
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
SET este cuvânt rezervat în SQL, deci tabela se numește Set_intrebari. Un set conține mai
multe întrebări, iar tabela Intrebare primește în plus câmpul ids, cheie externă către
Set_intrebari.
Create → Table Design. Tabela Set_intrebari:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ids | AutoNumber | cheie primară |
Nr | Number | Field Size Integer; Required Yes; Indexed Yes (No Duplicates) |
Tabela Intrebare:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
idi | AutoNumber | cheie primară |
Enunt | Long Text | Required Yes |
Domeniu | Short Text | Field Size 30; Required Yes |
Grad_dificultate | Number | Field Size Byte; Validation Rule Between 1 And 3; Required Yes |
ids | Number | Field Size Long Integer; Required Yes; cheie externă |
Gradul de dificultate se codifică prin numere: 1 pentru ușor, 2 pentru mediu, 3 pentru dificil.
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
Set_intrebarișiIntrebare. - Se trage câmpul
idsdinSet_intrebaripesteidsdinIntrebare. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Set_intrebari și ∞ la Intrebare.
3. Popularea tabelelor
Tabela Set_intrebari se completează prima, în Datasheet View.
| ids | Nr |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| idi | Enunt | Domeniu | Grad_dificultate | ids |
|---|---|---|---|---|
| 1 | Cine are prioritate la o intersecție nedirijată? | reguli de prioritate | 1 | 1 |
| 2 | Care este viteza maximă admisă pentru autoturisme în localitate? | regim de viteză | 1 | 1 |
| 3 | Ce sancțiune se aplică pentru depășirea vitezei maxime admise cu peste 50 km/h? | sancțiuni | 3 | 1 |
| 4 | Cine are prioritate într-un sens giratoriu? | reguli de prioritate | 2 | 2 |
| 5 | Care este viteza maximă admisă pentru autoturisme pe autostradă? | regim de viteză | 1 | 2 |
| 6 | În ce situații se reține permisul de conducere? | sancțiuni | 2 | 3 |
| 7 | Cum se trece printr-o intersecție cu semaforul defect? | reguli de prioritate | 2 | 3 |
Modelul 11 Stăpâni și câini: câinii cu un nume dat, numărul de câini ai fiecărui stăpân și câinii pe categorii de premii
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Un stăpân are mai mulți câini, deci tabela Caine primește în plus câmpul CNP, cheie externă
către Stapan. CNP-ul are 13 cifre și nu intră în calcule, deci se reține ca text.
Create → Table Design. Tabela Stapan:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 50; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Telefon | Short Text | Field Size 15 |
Tabela Caine:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
ID_caine | AutoNumber | cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Premiu | Number | Field Size Byte; Validation Rule Between 0 And 3; Required Yes |
Observatii | Short Text | Field Size 255 |
CNP | Short Text | Field Size 13; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
StapanșiCaine. - Se trage câmpul
CNPdinStapanpesteCNPdinCaine. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Stapan și ∞ la Caine.
3. Popularea tabelelor
Tabela Stapan se completează prima, în Datasheet View.
| CNP | Nume | Adresa | Telefon |
|---|---|---|---|
| 2850312226711 | Pop Maria | Str. Teilor 4 | 0722111222 |
| 1790825226712 | Crăciun Vlad | Str. Lungă 17 | |
| 2920105226713 | Barbu Ana | Str. Morii 9 | 0744333444 |
| ID_caine | Nume | Premiu | Observatii | CNP |
|---|---|---|---|---|
| 1 | Rex | 1 | ciobănesc german | 2850312226711 |
| 2 | Azor | 0 | 2850312226711 | |
| 3 | Rex | 3 | 1790825226712 | |
| 4 | Bella | 2 | 1790825226712 | |
| 5 | Max | 0 | 1790825226712 | |
| 6 | Luna | 1 | labrador | 2920105226713 |
4. Câinii cu numele citit de la tastatură
Create → Query Design → tabelele Stapan și Caine → în grilă:
Modelul 12 Edituri și cărți: cărțile dintr-un domeniu, cărțile fiecărei edituri și cărțile pe domenii
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributul marcat cu
opoate rămâne necompletat.
O editură publică mai multe cărți, deci tabela Carte primește în plus câmpul Cod_editura,
cheie externă către Editura.
Create → Table Design. Tabela Editura:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_editura | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 50; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Telefon | Short Text | Field Size 15 |
Tabela Carte:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_carte | AutoNumber | cheie primară |
Titlu | Short Text | Field Size 100; Required Yes |
Autor | Short Text | Field Size 50; Required Yes |
Domeniu | Short Text | Field Size 30; Required Yes |
Cod_editura | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
EditurașiCarte. - Se trage câmpul
Cod_edituradinEditurapesteCod_edituradinCarte. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Editura și ∞ la Carte.
3. Popularea tabelelor
Tabela Editura se completează prima, în Datasheet View.
| Cod_editura | Denumire | Adresa | Telefon |
|---|---|---|---|
| 1 | Editura Alfa | București, Str. Cărții 1 | 0211234567 |
| 2 | Editura Delta | Iași, Str. Păcurari 5 | |
| 3 | Editura Orizont | Cluj-Napoca, Str. Horea 8 | 0264123456 |
| Cod_carte | Titlu | Autor | Domeniu | Cod_editura |
|---|---|---|---|---|
| 1 | Ion | Liviu Rebreanu | literatură | 1 |
| 2 | Enigma Otiliei | George Călinescu | literatură | 2 |
| 3 | Probleme de informatică | Pop Daniel | informatică | 1 |
| 4 | Baze de date | Marin Ioana | informatică | 3 |
| 5 | Istoria românilor | Dinu Mihai | istorie | 3 |
| 6 | Amintiri din copilărie | Ion Creangă | literatură | 3 |
Modelul 13 Județe și localități: localitățile unui județ, totalurile pe județe și lista localităților cu județul lor
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Un județ are mai multe localități, deci tabela Localitate primește în plus câmpul Cod_judet,
cheie externă către Judet. Codul județului este indicativul auto, de exemplu IS.
Create → Table Design. Tabela Judet:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_judet | Short Text | Field Size 2; cheie primară |
Denumire | Short Text | Field Size 30; Required Yes |
Resedinta | Short Text | Field Size 30; Required Yes |
Observatii | Short Text | Field Size 255 |
Tabela Localitate:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_localitate | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 30; Required Yes |
Suprafata | Number | Field Size Double (km²); Required Yes |
Populatie | Number | Field Size Long Integer; Required Yes |
Observatii | Short Text | Field Size 255 |
Cod_judet | Short Text | Field Size 2; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
JudetșiLocalitate. - Se trage câmpul
Cod_judetdinJudetpesteCod_judetdinLocalitate. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Judet și ∞ la Localitate.
3. Popularea tabelelor
Tabela Judet se completează prima, în Datasheet View. Suprafețele și populațiile sunt
rotunjite.
| Cod_judet | Denumire | Resedinta | Observatii |
|---|---|---|---|
| IS | Iași | Iași | |
| CJ | Cluj | Cluj-Napoca | |
| BV | Brașov | Brașov |
| Cod_localitate | Denumire | Suprafata | Populatie | Observatii | Cod_judet |
|---|---|---|---|---|---|
| 1 | Iași | 94 | 272000 | municipiu | IS |
| 2 | Pașcani | 75 | 30000 | municipiu | IS |
| 3 | Cluj-Napoca | 180 | 287000 | municipiu | CJ |
| 4 | Turda | 91 | 43000 | municipiu | CJ |
| 5 | Dej | 109 | 31000 | municipiu | CJ |
| 6 | Brașov | 267 | 238000 | municipiu | BV |
4. Localitățile dintr-un județ citit de la tastatură
Utilizatorul scrie denumirea județului, nu codul, deci criteriul se pune pe Judet.Denumire.
Modelul 14 Cluburi și sportivi: sportivii unui club, media vârstelor pe cluburi și sportivii de o anumită vârstă
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Un club are mai mulți sportivi, deci tabela Sportiv primește în plus câmpul Cod_club, cheie
externă către Club. CNP-ul are 13 cifre și se reține ca text.
Create → Table Design. Tabela Club:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_club | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 50; Required Yes |
Localitate | Short Text | Field Size 30; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Observatii | Short Text | Field Size 255 |
Tabela Sportiv:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Varsta | Number | Field Size Byte; Required Yes |
Observatii | Short Text | Field Size 255 |
Cod_club | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
ClubșiSportiv. - Se trage câmpul
Cod_clubdinClubpesteCod_clubdinSportiv. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Club și ∞ la Sportiv.
3. Popularea tabelelor
Tabela Club se completează prima, în Datasheet View.
| Cod_club | Denumire | Localitate | Adresa | Observatii |
|---|---|---|---|---|
| 1 | CS Viitorul | Iași | Str. Sportului 2 | |
| 2 | CSM Olimpia | Brașov | Str. Stadionului 7 | |
| 3 | CS Energia | Cluj-Napoca | Str. Parcului 11 |
Modelul 15 Țări și orașe: orașele unei țări, populația totală pe țări și orașele cu populația minimă și maximă
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
Numele tabelelor se scriu fără diacritice: Tara și Oras. O țară are mai multe orașe, deci
tabela Oras primește în plus câmpul Cod_tara, cheie externă către Tara.
Create → Table Design. Tabela Tara:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_tara | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 40; Required Yes |
Capitala | Short Text | Field Size 40; Required Yes |
Observatii | Short Text | Field Size 255 |
Tabela Oras:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_oras | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 40; Required Yes |
An_atestare | Number | Field Size Integer; Required Yes |
Populatia | Number | Field Size Long Integer; Required Yes |
Observatii | Short Text | Field Size 255 |
Cod_tara | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
TarașiOras. - Se trage câmpul
Cod_taradinTarapesteCod_taradinOras. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Tara și ∞ la Oras.
3. Popularea tabelelor
Tabela Tara se completează prima, în Datasheet View. Populațiile sunt rotunjite.
| Cod_tara | Denumire | Capitala | Observatii |
|---|---|---|---|
| 1 | România | București | |
| 2 | Republica Moldova | Chișinău | |
| 3 | Ungaria | Budapesta |
| Cod_oras | Denumire | An_atestare | Populatia | Observatii | Cod_tara |
|---|---|---|---|---|---|
| 1 | București | 1459 | 1716000 | capitala | 1 |
| 2 | Iași | 1408 | 272000 | 1 | |
| 3 | Sibiu | 1191 | 134000 | 1 | |
| 4 | Chișinău | 1436 | 532000 | capitala | 2 |
| 5 | Bălți | 1421 | 103000 | 2 | |
| 6 | Szeged | 1183 | 160000 | 3 | |
| 7 | Debrețin | 1235 | 200000 | 3 |
Modelul 16 Proprietari și autovehicule: autovehiculele unei mărci, proprietarii pe un interval de ani și cel mai nou și cel mai vechi autovehicul pe mărci
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Un proprietar are mai multe autovehicule, deci tabela Autovehicul primește în plus câmpul CNP,
cheie externă către Proprietar.
Create → Table Design. Tabela Proprietar:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Telefon | Short Text | Field Size 15; Required Yes |
Tabela Autovehicul:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Numar_inmatriculare | Short Text | Field Size 10; cheie primară |
Marca | Short Text | Field Size 30; Required Yes |
Model | Short Text | Field Size 30; Required Yes |
Culoare | Short Text | Field Size 20; Required Yes |
An_fabricatie | Number | Field Size Integer; Required Yes |
CNP | Short Text | Field Size 13; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
ProprietarșiAutovehicul. - Se trage câmpul
CNPdinProprietarpesteCNPdinAutovehicul. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Proprietar și ∞ la Autovehicul.
3. Popularea tabelelor
Tabela Proprietar se completează prima, în Datasheet View.
| CNP | Nume | Prenume | Adresa | Telefon |
|---|---|---|---|---|
| 1800512226721 | Stoica | Mihai | Str. Viilor 3 | 0723000111 |
| 2870920226722 | Neagu | Ana | Str. Plopilor 12 | 0745000222 |
| 1750227226723 | Florea | Dan | Bd. Independenței 8 | 0756000333 |
| Numar_inmatriculare | Marca | Model | Culoare | An_fabricatie | CNP |
|---|---|---|---|---|---|
| IS-10-ABC | Dacia | Logan | alb | 2015 | 1800512226721 |
| IS-22-XYZ | Dacia | Duster | gri | 2021 | 1800512226721 |
| B-123-DEF | Volkswagen | Golf | negru | 2012 | 2870920226722 |
| CJ-07-MNP | Dacia | Sandero | roșu | 2018 | 2870920226722 |
| BV-45-RST | Volkswagen | Passat | albastru | 2019 | 1750227226723 |
| IS-33-KLM | Ford | Focus | alb | 2010 | 1750227226723 |
4. Autovehiculele unei mărci citite de la tastatură
Create → Query Design → tabela Autovehicul → în grilă Numar_inmatriculare, Marca,
Model, Culoare, An_fabricatie, cu Criteria [Marca:] la Marca. Interogarea se salvează
cu numele AutovehiculeMarca.
SELECT Numar_inmatriculare, Marca, Model, Culoare, An_fabricatie
FROM Autovehicul
WHERE Marca = [Marca:];Pentru Dacia se afișează:
| Numar_inmatriculare | Marca | Model | Culoare | An_fabricatie |
|---|---|---|---|---|
| IS-10-ABC | Dacia | Logan | alb | 2015 |
| IS-22-XYZ | Dacia | Duster | gri | 2021 |
| CJ-07-MNP | Dacia | Sandero | roșu | 2018 |
Modelul 17 Companii și angajați: companiile dintr-un domeniu, companiile pe județe cu numărul de angajați și totalul angajaților pe județe
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Numele câmpurilor se scriu fără spații: Cod_judet. O companie are mai mulți angajați, deci tabela
Angajat primește în plus câmpul Cod_companie, cheie externă către Companie.
Create → Table Design. Tabela Companie:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_companie | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 50; Required Yes |
Cod_judet | Short Text | Field Size 2; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Domeniu | Short Text | Field Size 30; Required Yes |
Tabela Angajat:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Functia | Short Text | Field Size 30; Required Yes |
Cod_companie | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
CompanieșiAngajat. - Se trage câmpul
Cod_companiedinCompaniepesteCod_companiedinAngajat. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Companie și ∞ la Angajat.
3. Popularea tabelelor
Tabela Companie se completează prima, în Datasheet View. Codul județului este indicativul auto.
| Cod_companie | Denumire | Cod_judet | Adresa | Domeniu |
|---|---|---|---|---|
| 1 | SC Construct Plus SRL | IS | Iași, Str. Păcurari 40 | construcții |
| 2 | SC Soft Data SRL | IS | Iași, Bd. Copou 12 | informatică |
| 3 | SC Agro Verde SRL | BV | Brașov, Str. Zizinului 9 | agricultură |
| 4 | SC Cod Rapid SRL | CJ | Cluj-Napoca, Str. Observatorului 3 | informatică |
| CNP | Nume | Prenume | Adresa | Functia | Cod_companie |
|---|---|---|---|---|---|
| 1850101226741 | Popa | Ion | Iași | inginer | 1 |
| 1900202226742 | Rusu | Dan | Iași | zidar | 1 |
| 2950303226743 | Matei | Ana | Iași | programator | 2 |
| 1920404226744 | Vlad | Sorin | Iași | programator | 2 |
| 2880505226745 | Coman | Lia | Brașov | agronom | 3 |
| 1970606226746 | Lupu | Radu | Cluj-Napoca | programator | 4 |
| 2990707226747 | Pavel | Ioana | Cluj-Napoca | tester | 4 |
Modelul 18 Clădiri și apartamente: clădirile cu un număr de niveluri, clădirile pe tipuri cu numărul de apartamente și numărul mediu de camere pe adrese
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributele marcate cu
opot rămâne necompletate.
O clădire conține mai multe apartamente, deci tabela Apartament primește în plus câmpul
Cod_cladire, cheie externă către Cladire.
Create → Table Design. Tabela Cladire:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_cladire | AutoNumber | cheie primară |
Adresa | Short Text | Field Size 100; Required Yes |
Tip | Short Text | Field Size 20; Required Yes |
Nivele | Number | Field Size Byte; Required Yes |
Observatii | Short Text | Field Size 255 |
Tabela Apartament:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_apartament | AutoNumber | cheie primară |
Nr_camere | Number | Field Size Byte; Required Yes |
Etaj | Number | Field Size Byte; Required Yes |
Observatii | Short Text | Field Size 255 |
Cod_cladire | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
CladireșiApartament. - Se trage câmpul
Cod_cladiredinCladirepesteCod_cladiredinApartament. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Cladire și ∞ la Apartament.
3. Popularea tabelelor
Tabela Cladire se completează prima, în Datasheet View.
| Cod_cladire | Adresa | Tip | Nivele | Observatii |
|---|---|---|---|---|
| 1 | Str. Florilor 5 | bloc | 4 | |
| 2 | Str. Teilor 12 | bloc | 10 | |
| 3 | Str. Viilor 7 | vilă | 2 | |
| 4 | Bd. Unirii 20 | bloc | 4 |
| Cod_apartament | Nr_camere | Etaj | Observatii | Cod_cladire |
|---|---|---|---|---|
| 1 | 2 | 1 | 1 | |
| 2 | 3 | 2 | 1 | |
| 3 | 4 | 3 | 1 | |
| 4 | 2 | 5 | 2 | |
| 5 | 1 | 9 | 2 | |
| 6 | 3 | 1 | 3 | |
| 7 | 2 | 0 | 4 | |
| 8 | 3 | 2 | 4 |
Modelul 19 Diriginți și elevi: diriginții cu o specialitate dată, mediile minime și maxime pe clase și numărul elevilor cu medii peste 8
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes).
Un diriginte are în grijă mai mulți elevi, deci tabela Elev primește în plus câmpul
CNP_diriginte, cheie externă către Diriginte.
Create → Table Design. Tabela Diriginte:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Specialitate | Short Text | Field Size 30; Required Yes |
Clasa | Short Text | Field Size 10; Required Yes |
Tabela Elev:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Nr_matricol | Number | Field Size Long Integer; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Adresa | Short Text | Field Size 100; Required Yes |
Media | Number | Field Size Double; Decimal Places 2; Validation Rule Between 1 And 10; Required Yes |
CNP_diriginte | Short Text | Field Size 13; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
DiriginteșiElev. - Se trage câmpul
CNPdinDirigintepesteCNP_dirigintedinElev. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Diriginte și ∞ la Elev.
3. Popularea tabelelor
Tabela Diriginte se completează prima, în Datasheet View.
| CNP | Nume | Prenume | Specialitate | Clasa |
|---|---|---|---|---|
| 2750614226731 | Munteanu | Elena | matematică | a IX-a A |
| 1800203226732 | Oprea | Vasile | informatică | a X-a B |
| 2830911226733 | Diaconu | Irina | informatică | a XI-a C |
Modelul 20 Departamente și salariați: șefii departamentelor, fondul de salarii pe funcții și salariul mediu pe departamente
1. Crearea tabelelor
Fiecărei entități din diagramă îi corespunde o tabelă, iar fiecărui atribut, un câmp:
- atributul marcat cu
#este cheia primară; - atributele marcate cu
*sunt obligatorii (Required Yes); - atributul marcat cu
opoate rămâne necompletat.
Într-un departament lucrează mai mulți salariați, deci tabela Salariat primește în plus câmpul
Cod_departament, cheie externă către Departament.
Create → Table Design. Tabela Departament:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
Cod_departament | AutoNumber | cheie primară |
Denumire | Short Text | Field Size 40; Required Yes |
Sef_departament | Short Text | Field Size 60; Required Yes |
Observatii | Short Text | Field Size 255 |
Tabela Salariat:
| Câmpul | Data Type | Proprietăți |
|---|---|---|
CNP | Short Text | Field Size 13; cheie primară |
Nume | Short Text | Field Size 30; Required Yes |
Prenume | Short Text | Field Size 30; Required Yes |
Functia | Short Text | Field Size 30; Required Yes |
Salariu | Currency | Required Yes |
Cod_departament | Number | Field Size Long Integer; Required Yes; cheie externă |
2. Crearea legăturii
- Database Tools → Relationships → Show Table (Add Tables) → se adaugă
DepartamentșiSalariat. - Se trage câmpul
Cod_departamentdinDepartamentpesteCod_departamentdinSalariat. - În fereastra Edit Relationships se bifează Enforce Referential Integrity → Create.
Legătura obținută este One-To-Many, cu 1 la Departament și ∞ la Salariat.
3. Popularea tabelelor
Tabela Departament se completează prima, în Datasheet View.
| Cod_departament | Denumire | Sef_departament | Observatii |
|---|---|---|---|
| 1 | Contabilitate | Ionescu Maria | |
| 2 | Producție | Vasile Dan | |
| 3 | Vânzări | Pop Elena |
| CNP | Nume | Prenume | Functia | Salariu | Cod_departament |
|---|---|---|---|---|---|
| 2780101226751 | Ionescu | Maria | șef departament | 7.000 | 1 |
| 2850202226752 | Rusu | Ana | contabil | 5.000 | 1 |
| 1900303226753 | Marin | Ion | contabil | 5.200 | 1 |
| 1760404226754 | Vasile | Dan | șef departament | 7.500 | 2 |
| 1950505226755 | Lungu | Paul | operator | 4.200 | 2 |
| 1980606226756 | Toma | Gelu | operator | 4.300 | 2 |
| 1880707226757 | Iordache | Bogdan | inginer | 6.000 | 2 |
| 2820808226758 | Pop | Elena | șef departament | 6.800 | 3 |
| 2960909226759 | Stan | Mara | agent vânzări | 4.500 | 3 |
Materialul acesta se citește pe educamp.ro și nu se tipărește.
S-a încheiat minutul de citit liber.
Vezi modelele rezolvate ca și cursant
Structura probei — subiectele, punctajele și timpul de lucru — se citește gratuit și integral. Pentru a citi modelele rezolvate, te înscrii la cursul de pregătire.
Te înscrii, alegi în cont când începe cursul și plătești prima lună prin transfer bancar. Pentru a vedea mai întâi ce se cere la probă, poți reveni la structura probei.
Acces la suportul de curs
25 RON / lună, fără ședințe
Ce cuprinde:
- Acces la toate lecțiile disponibile
- Suport de curs pentru tematica științifică și metodică
- Exemple, explicații și exerciții
- Acces la materialele noi adăugate pe platformă
- Posibilitatea de a adresa întrebări