Exerciții SQL

Laborator
7/10 (1 vot)
Conține 5 fișiere: doc
Pagini : 11 în total
Cuvinte : 2484
Mărime: 27.94KB (arhivat)
Publicat de: Zamfir Zaharia
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Prof.Univ. Marian Cristescu
limbaje de programare SQL baze de date

Extras din laborator

Exerciţii de rezolvat

Fie baza de date Editura, care are în componenţă următoarele tabele:

Carte (isbn, titlu, tip)

Scriitori (cnp, nume)

Autori (cnp,isbn)

Tipul, semnificaţia şi constrângerile impuse asupra fiecărui câmp sunt următoarele:

- isbn – caracter(20)- reprezinta ISBN-ul fiecărei cărţi;

- titlu – caracter (50) – titlul cărţii

- tip – caracter(9)- tipul cărţii. Acest câmp poate lua numai una din valorile:

o „didactic”

o „tehnic”

o „fictiune”

- cnp – caracter(13) codul numeric personal al autorilor

- nume – caracter (20) – numele autorului

1. Creaţi baza de date Editură, după care, utilizând instrucţiunile SQL, creaţi cele trei tabele.

CREATE DATABASE

MODIFY DATABASE

create table Carte ( isbn C(20) PRIMARY KEY, titlu C(50) , tip C(9) CHECK tip="didactic" OR tip="tehnic" OR tip="fictiune")

create table scriitori ( cnp C(13) PRIMARY KEY , NUME C(20) )

create table AUTORI ( cnp C(13) REFERENCE SCRIITORI , ISBN C(20) REFERENCE CARTE)

2. Folosind instrucţiunea INSERT SQL, populaţi tabelele cu datele din fişierul SG1.doc.

INSERT INTO CARTE VALUES ("1","CARTE1","didactic")

INSERT INTO CARTE VALUES ("2","CARTE2","tehnic")

INSERT INTO CARTE VALUES ("3","CARTE3","fictiune")

INSERT INTO SCRIITORI VALUES ("100","AUTOR1")

INSERT INTO SCRIITORI VALUES ("101","AUTOR2")

INSERT INTO SCRIITORI VALUES ("103","AUTOR3")

INSERT INTO AUTORI VALUES ("101","2")

INSERT INTO AUTORI VALUES ("103","2")

INSERT INTO AUTORI VALUES ("102","1")

INSERT INTO AUTORI VALUES ("103","3")

3. Formulaţi în SQL următoarele interogări:

a. Care este cnp-ul scriitorilor care au scris orice carte care nu este de tipul „ficţiune”.

SELECT CNP FROM AUTORI,CARTE WHERE AUTORI.ISBN=CARTE.ISBN AND TIP<>"fictiune"

b. Care sunt ISBN-urile cărţilor care au mai mult de un autor?

SELECT ISBN DISTINCT FROM AUTORI A1 WHERE ISBN IN (SELECT ISBN FROM AUTORI A2 WHERE A1.CNP<>A2.CNP)

c. Care este numele autorilor editaţi şi numărul cărţilor scrise de aceştia?

Select scriitori.nume, count(autori.isbn) as nr_carti_editate from scriitori inner join autori on scriitori.cnp=autori.cnp

SELECT NUME,COUNT(AUTORI.CNP) AS NR FROM AUTORI,SCRIITORI GROUP BY AUTORI.CNP WHERE AUTORI.CNP=SCRIITORI.CNP

4. Scrieţi două interogări SQL care să difere semnificativ şi care să întoarcă cnp-ul autorilor care nu au scris nici o carte de tipul „fictiune”.

Select cnp from autori where isbn in (select isbn from carte where tip<>”fictiune”)

Select cnp from autori inner join carte on carte.isbn=autori.isbn where carte.tip<>”fictiune”

SELECT CNP FROM AUTORI WHERE CNP NOT IN (SELECT CNP FROM AUTORI,CARTE WHERE CARTE.ISBN=AUTORI.ISBN AND CARTE.TIP="fictiune")

5. Creaţi o vedere care să afişeze toate cărţile şi autorii acestora.

CREATE SQL VIEW VEDERE AS SELECT TITLU,NUME,TIP FROM CARTE,AUTORI,SCRIITORI WHERE CARTE.ISBN=AUTORI.ISBN AND AUTORI.CNP=SCRIITORI.CNP

6. Creaţi o vedere parametrizată care să afişeze toate cărţile scrise de un autor al cărui cnp este dat ca parametru.

CREATE SQL VIEW VEDERE2 AS SELECT TITLU,TIP FROM CARTE,AUTORI WHERE CARTE.ISBN=AUTORI.ISBN AND AUTORI.CNP="102

Preview document

Exerciții SQL - Pagina 1
Exerciții SQL - Pagina 2
Exerciții SQL - Pagina 3
Exerciții SQL - Pagina 4
Exerciții SQL - Pagina 5
Exerciții SQL - Pagina 6
Exerciții SQL - Pagina 7
Exerciții SQL - Pagina 8
Exerciții SQL - Pagina 9
Exerciții SQL - Pagina 10
Exerciții SQL - Pagina 11

Conținut arhivă zip

  • LAB1_EX.DOC
  • LAB2_ex.doc
  • LAB3.DOC
  • LAB4.DOC
  • LAB5.doc

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...

Laboratoare SQL

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

Curs HTML

Internetul a fost descris ca „o colectie larga de retele“ sau ca o „retea de retele“. Desi ambele definitii sînt corecte, nici una nu surprinde...

C++

Un prim exemplu de program C++: #include <iostream.h> void main { int a; cout << "Dati un numar\n"; cin >> a; cout << "Ati tastat numarul "...

Internet Programming - HTML

1. HTML 3 1.1. THE STRUCTURE OF AN HTML DOCUMENT 3 1.2. HTML TAGS 4 The <html> Tag 4 The <head> Tag 5 The <title> Tag 5 The <body> Tag 5...

Prezentare a Limbajului HTML

scrise paginile World Wide Web (WWW). Termenii "document HTML" şi "pagina Web" sunt sinonime. Hypertext reprezintă posibilitatea de a crea...

Proiectare orientată pe obiect

POO  CURS Nr. 1 DISCIPLINA: PROIECTAREA SISTEMELOR INFORMATICE ORIENTATA PE OBIECTE (POO): 2C/2L Obiective: 1. - Pregatirea studentilor in...

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?...

Te-ar putea interesa și

Analiza sistemului de management pentru societatea comercială Elcom Internațional SA

A. Prezentarea generala a societatii comerciale : scurt istoric, obiect de activitate, capital social. Elcom International este o societate pe...

Baze de date Oracle - restricționarea și sortarea datelor - funcții de un singur rând

Restrictionarea si sortarea datelor. Functii de un singur rand Scopul acestui proiect este de a prezenta modul in care se face restrictionarea si...

Laborator 7 Baze de Date

1. Tipuri de tabele temporare. Tabelele temporare sunt similare celor permanente, cu excepția că tabelele temporare sunt păstrate în tempdb și...

Oracle PL-SQL

Introducere în PL/SQL – Procedural Language extension to SQL 1. Caracteristici generale: -Construcţiile PL/SQL conţin structuri de control...

Tipuri de date scalare in PL-SQL

PL/SQL include atât instrucþiuni SQL pentru prelucrarea datelor si pentru gestiunea tranzacþiilor, cât si instrucþiuni proprii. PL/SQL extinde SQL...

Curs SQL

Sintaxa de baza a instructiunilor SQL Obiective • Cunoasterea capabilitatilor instructiunilor SELECT • Executarea unor instructiuni SELECT de...

Crearea unui Proiect

1 - CREAREA UNUI PROIECT ANALYSIS SERVICES În cele ce urmează vom vedea cum se poate construi un proiect Analysis Services (servicii de...

Sisteme Informatice pentru Asistarea Deciziei

Laborator 1 Enunţ: 1) Să se realizeze un program privind evidenţa studenţilor. Pentru aceasta se vor crea următoarele tabele: Studenti...

Ai nevoie de altceva?