Limbaj de Programare

Curs
4.5/10 (2 voturi)
Conține 1 fișier: pdf
Pagini : 12 în total
Cuvinte : 3963
Mărime: 221.45KB (arhivat)
Publicat de: George Antal
Puncte necesare: 0

Extras din curs

Metode de selecţie a datelor din tabele multiple

Obiective

După parcurgerea acestei secţiuni, studentul va avea cunoştinţele necesare:

• scrierii unei expresii SELECT pentru a accesa date din mai multe tabele folosind legături

(joncţiuni) de egalitate si nonegalitate;

• vizualizării datelor care nu îndeplinesc o condiţie de joncţiune folosind condiţii de joncţiune

externă;

• efectuării unei joncţiuni între un tabel şi el însuşi;

EMP DEPT

Există situaţii când trebuie să accesăm date din mai multe tabele. În exemplul de mai sus, rezultatul

afişat conţine date din două tabele separate.

• atributul EMPNO există în tabelul EMP;

• atributul DEPTNO există în ambele tabele EMP şi DEPT;

• atributul LOC există în tabelul DEPT.

Pentru a obţine rezultatul dorit trebuie realizată o legătură între tabelele EMP şi DEPT.

Definirea joncţiunilor

Vom folosi o condiţie de joncţiune ori de câte ori trebuie să accesăm date din mai multe tablele din

baza de date. Se poate crea o corespondenţă între liniile unui tabel şi liniile altui tabel pe baza

valorilor comune existente în coloanele corespondente, care sunt de obicei chei primare şi străine.

Pentru afişarea datelor din două sau mai multe tabele aflate în relaţie se va scrie o simplă condiţie

de joncţiune în clauza WHERE:

SELECT tabel1.coloana1, tabel1.coloana2, tabel2.coloana3

FROM tabel1, tabel2

WHERE tabel1.coloana1 = tabel2.coloana3;

EMPNO ENAME … DEPTNO

7893 KING … 10

7698 BLAKE … 30

… …

7934 MILLER … 10

DEPTNO DNAME LOC

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

EMPNO DEPTNO LOC

7893 10 NEW YORK

7698 30 CHICAGO

7782 10 NEW YORK

7566 20 DALLAS

7654 30 CHICAGO

7499 30 CHICAGO

14 rows selected

2

unde:

tabel.coloana indică tabelul şi coloana de unde este extrasă data

tabel1.coloana1 = este condiţia care leagă

tabel2.coloana2 cele două tabele

Observaţii:

• în momentul scrierii unei expresii SELECT care conţine o condiţie de joncţiune, este indicat ca

numele coloanelor să fie precedate de numele tabelului de care aparţin; în acest fel este mărită

claritatea codului SQL şi se îmbunătăţeşte accesul la baza de date.

• dacă un acelaşi nume de coloană apare în mai multe tabele, numele coloanei trebuie prefixat cu

numele tabelului de care aparţine.

• pentru a realiza o legătură între n tabele este nevoie de minim n-1 condiţii de joncţiune (e.g.

pentru a lega 4 tabele sunt necesare 3 joncţiuni). Această regula s-ar putea să nu se aplice dacă

tabelul are o cheie primară formată din mai multe atribute şi astfel este necesară mai mult de o

coloană pentru a identifica în mod unic fiecare linie.

Produsul Cartezian

Atunci când o condiţie de joncţiune este invalidă sau complet omisă, rezultatul este un produs

cartezian în care vor fi afişate toate combinaţiile de linii din tabelele implicate. Un produs cartezian

tinde să genereze un număr mare de linii, iar rezultatul său este în general nefolositor. De aceea

trebuie inclusă întotdeauna o condiţie de joncţiune validă în clauza WHERE, cu excepţia cazului

când se doreşte în mod explicit combinarea tuturor liniilor din tabele implicate în relaţie.

Exemplul următor afişează numele fiecărui angajat şi numele departamentului în care lucrează din

tabelele EMP şi DEPT. Deoarece nu a fost specificată clauza WHERE, toate liniile (14) din tabelul

EMP sunt combinate cu toate liniile (4) din tabelul DEPT, generând astfel 56 de linii în tabelul

rezultat.

SQL> SELECT emp.ename, dept.dname

2 FROM emp, dept;

ENAME DNAME

------ -----------

KING ACCOUNTING

BLAKE ACCOUNTING

...

KING RESEARCH

BLAKE RESEARCH

...

56 rows selected.

Tipuri de condiţii de joncţiune

Principalele tipuri de condiţii de joncţiune sunt:

1. echi-joncţiune;

2. non-echi-joncţiune.

Pe lângă acestea mai există şi alte tipuri de condiţii de joncţiune:

3. joncţiune externă;

4. joncţiune între un tabel şi el însuşi.

5.

1. Echi-joncţiuni

Pentru a determina numele departamentului unui angajat trebuie comparată valoarea din coloana

DEPTNO din tabelul EMP cu valorile DEPTNO din tabelul DEPT. Legătura astfel creată între

tabelele EMP şi DEPT este o echi-joncţiune - valorile din coloana DEPTNO din ambele tabele

trebuie să coincidă.

Preview document

Limbaj de Programare - Pagina 1
Limbaj de Programare - Pagina 2
Limbaj de Programare - Pagina 3
Limbaj de Programare - Pagina 4
Limbaj de Programare - Pagina 5
Limbaj de Programare - Pagina 6
Limbaj de Programare - Pagina 7
Limbaj de Programare - Pagina 8
Limbaj de Programare - Pagina 9
Limbaj de Programare - Pagina 10
Limbaj de Programare - Pagina 11
Limbaj de Programare - Pagina 12

Conținut arhivă zip

  • Limbaj de Programare.pdf

Alții au mai descărcat și

Programare SQL

Obiective - Cunoaşterea capabilităţilor instrucţiunilor SELECT - Executarea unor instrucţiuni SELECT de bază - Cunoaşterea diferenţelor dintre...

Limbaje de Programare

Teme laborator Programarea calculatoarelor Tema 1. Realizati o baza de date SQL/Access care sa contina urmatoarele tabele:...

Baze de Date L

Lucrare de laborator 2 SQL - limbaj pentru baze de date relaţionale Proiecţie, selecţie, sortare, joncţiune Se dă baza de date: OFFICES[...

Laboratoare SQL

Obiective • Cunoaşterea capabilităţilor instrucţiunilor SELECT • Executarea unor instrucţiuni SELECT de bază • Cunoaşterea diferenţelor dintre...

Laboratoare Java

Câmpurile obligatorii: - un câmp de tip intreg (int), pentru păstrarea numărul de etaje la fiecare casa; - un cimp de tip intreg pentru pastrarea...

Programarea Aplicațiilor de tip Windows

Se realizeaza pe un FORMULAR (Form)  suprafata de lucru pe care se instaleaza CONTROALE (Controls) Formularul este deschis prin caseta de dialog...

Laboratoare SQL, SQL*PLUS

Baze de date-Anul 2 Laborator 1 SQL I. Introducere. Comanda SELECT. Cereri mono-relatie 1. Ce este un sistem de gestiune a bazelor de date?...

Limbaje de Programare și Baze de Date

Sistemul de gestiune a bazelor de date (SGBD) este componenta unui sistem de baza de date care are rolul de a permite descrierea si manipularea...

Te-ar putea interesa și

Comanda unei Stații Automate de Spălat Autovehicule cu Automatul Programabil LG Glofa GM7

I. PARTEA TEORETICA 1. Automate programabile 1.1 Introducere Sistemele automate de control a proceselor sunt un conglomerat de dispozitive...

Validarea datelor de intrare și manipularea erorilor în programarea web

INTRODUCERE Într-o epocă modernă ca aceasta în care se poate rezolva totul cu ajutorul internetului printr-un simplu ”click” - o singură apăsare a...

Limbaje de Programare

Cap.I ARGUMENT Lucrarea de fata “Limbaje de programare” isi propune sa pregateasca cititorul in scopul insusirii si utilizarii unui limbaj de...

Medii de Programare

MODULUL 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE PROGRAMARE 1.1 Notiuni generale privind limbajele de programare 1.2 Clasificarea limbajelor de...

Limbaje de Programare Utilizate în Inteligenta Artificială

INTRODUCERE Obiectul inteligenţei artificiale este obţinerea de artefacte care să se comporte inteligent, similar unui om. Câteva exemple...

Limbaje de programare - prezentare generală

Introducere Limbajul de programare este un limbaj artificial, folosit pentru a scrie o secventa de instructiuni care pot fi rulate de un computer....

Compilatoare

Grace Murray Hooper a fost o figură importantă în domeniul informaticii. Aceasta a fost un ofiţer în marina militară a Statelor Unite ale Americii...

Programarea Calculatoarelor și Limbaje de Programare

MODULUL 1. ALGORITMI 1.1. GENERALITATI Termenul de produs program desemneazã atât programul sursã propiu-zis cât ºi documentaþia necesarã pentru...

Ai nevoie de altceva?