Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AnimaleArta culturaDivertismentFilmJurnalismMuzica
PescuitPicturaVersuri

Depozit Materiale Constructii

diverse



+ Font mai mare | - Font mai mic



Depozit Materiale Constructii
Cuprins



Introducere

Descrierea lucrarii

Crearea modelului conceptual

Reguli structurale

Maparea modelului

Reguli procedurale

Bibliografie

Introducere

I. BAZE DE DATE - NOTIUNI FUNDAMENTALE:

1.Date, informatii, cunostinte

Auzim adesea vorbindu-se despre "Era informatiilor" sau "societate informationala" sau "tehnologia informatiei" insa de multe ori cuvantul 'informatie' este folosit fara a intelege clar sensul acestui cuvant, diferenta dintre date, informatii, cunostinte.

In general, continutul gandirii umane opereaza cu urmatoarele concepte:

Date - constau in material brut, fapte, simboluri, numere, cuvinte, poze fara un inteles de sine statator, neintegrate intr-un context, fara relatii cu alte date sau obiecte. Ele se pot obtine in urma unor experimente, sondaje etc.

Informatii - prin prelucrarea datelor si gasirea relatiilor dintre acestea se obtin informatii care au un inteles si sunt integrate intr-un context. Datele organizate si prezentate intr-un mod sistematic pentru a sublinia sensul acestor date devin informatii. Pe scurt informatiile sunt date prelucrate. Informatiile se prezinta sub forma de rapoarte, statistici, diagrame etc.

Cunostintele sunt colectii de date, informatii, adevaruri si principii invatate, acumulate de-a lungul timpului. Informatiile despre un subiect retinute si intelese si care pot fi folosite in luarea de decizii, formeaza judecati si opinii devin cunostinte. Cu alte cuvinte, cunostintele apar in momentul utilizarii informatiei .

2. Colectarea si analizarea datelor. Modelul conceptual

Primul pas in realizarea unei aplicatii de baze de date este analiza datelor si realizarea unei scheme conceptuale (model conceptual) al acestor date.

In aceasta etapa sunt analizate natura si modul de utilizare a datelor. Sunt identificate datele care vor trebui memorate si procesate, se impart aceste date in grupuri logice si se identifica relatiile care exista intre aceste grupuri.

Analiza datelor este un proces uneori dificil, care necesita mult timp, insa este o etapa absolut obligatorie. Fara o analiza atenta a datelor si a modului de utilizare a acestora, vom realiza o baza de date care putem constata in final ca nu intruneste cerintele beneficiarului. Costurile modificarii acestei baze de date este mult mai mare decat costurile pe care le-ar fi implicat etapa de analiza si realizare a modelului conceptual. Modificarea modelului conceptual este mult mai usoara decat modificarea unor tabele deja existente, care eventual contin si o multime de date. Ideea de baza a analizei datelor si construirii modelului conceptual este 'sa masori de doua ori si sa tai o singura data'.

Informatiile necesare realizarii modelului conceptual se obtin folosind metode conventionale precum intervievarea oamenilor din cadrul organizatiei si studierea documentelor folosite.

Odata obtinute aceste informatii ele trebuiesc reprezentate intr-o forma conventionala care sa poata fi usor inteleasa de toata lumea. O astfel de reprezentare este diagrama entitati-relatii, numita si harta relatiilor, sau ERD-ul (Entity Relationship Diagram). Aceste scheme sunt un instrument util care usureaza comunicarea dintre specialistii care proiecteaza bazele de date si programatori pe de o parte si beneficiari, pe de alta parte. Acestia din urma pot intelege cu usurinta o astfel de schema, chiar daca nu sunt cunoscatori in domeniul IT.

In concluzie putem sublinia cateva caracteristici ale ERD-urilor:

sunt un instrument de proiectare

sunt o reprezentare grafica a unui sistem de date

ofera un model conceptual de inalt nivel al bazelor de date

sprijina intelegerea de catre utilizatori a datelor si a relatiilor dintre acestea

sunt independente de implementare.

In cele ce urmeaza vom prezenta principalele elemente care intra in componenta unui ERD precum si conventiile de reprezentare a acestora.

3. Entitati. Instante. Atribute. Identificator unic.

O entitate este un lucru, obiect, persoana sau eveniment care are semnificatie pentru afacerea modelata, despre care trebuie sa colectam si sa memoram date. O entitate poate fi un lucru real, tangibil precum o cladire, o persoana, poate fi o activitate precum o programare sau o operatie, sau poate fi o notiune abstracta.

O entitate este reprezentata in ERD printr-un dreptunghi cu colturile rotunjite. Numele entitatii este intotdeauna un substantiv la singular si se scrie in partea de sus a dreptunghiului cu majuscule

Pentru a preciza o instanta a unei entitati, trebuie sa specificam unele caracteristici ale acestui obiect, sa-l descriem (precizam de exemplu numele, clasa, scoala etc). Asadar, dupa ce am identificat entitatile trebuie sa descriem aceste entitati in termeni reali, adica sa le stabilim atributele. Un atribut este orice detaliu care serveste la identificarea, clasificarea, cuantificarea, sau exprimarea starii unei instante a unei entitati. Atributele sunt informatii specifice ce trebuie cunoscute si memorate.

Tipuri de legaturi intre tabele:

    • - legatura dintre cele doua tabele se face pe baza cheilor primare
    • 1-n - cheia primara din tabela "parinte" se adauga in tabela "copil" sub forma de cheie externa
    • n-n - nu se poate implementa practice si se recurge la adaugarea unei tabele suplimentare care va contine cheile primare ale tabelelor initiale si campuri referitoare la asocierea dintre tabelele "parinti". Cheia primara din tabela intermediara va fi o cheie compusa.

Schema conceptuala a bazei de date.

Analiza CRUD-se refera la CREATE, RETRIVE, UPDATE, DELETE-(creaza, reface, actualizeaza, sterge) operatii ce fac din ERD un model complet.Se verifica daca modelul exprima toate operatiile ce se pot face si nu are elem inutile, etc.

UID artificial si compus

UID-(Unique Identifier)-e atributul ce identifica in mod unic entitatea(ex: CNP, cod, id,). Daca e nevoie de o combinatie de mai multe atribute care sa identifice in mod unic entitatea , e vorba de un UID compus. Daca se recurge la o modalitate de identificare printr-un cod artificial oferit in mod automat de program, e vorba de UID artificial.

Ce este normalizarea?

Normalizarea este o tehnica de proiectare a bazelor de date prin care se elimina (sau se evita) anumite anomalii si inconsistente a datelor. O baza de date bine proiectata nu permite astfel ca datele sa fie redundante, adica aceeasi informatie sa se gaseasca in locuri diferite, sau sa memorezi in baza de date, informatii care se pot deduce pe baza altor informatii memorate in aceeasi baza de date. Anomaliile care pot sa apara la o baza de date nenormalizata sunt urmatoarele:

anomalii la actualizarea datelor la o biblioteca se inregistreaza intr-o tabela urmatoarele date despre carti: ISBN, titlu, autor,  pret, subiect, editura, adresa editurii. La un moment dat o editura isi schimba adresa. Bibliotecara va trebui sa modifice adresa editurii respective, in inregistrarile corespunzatoare tuturor cartilor din biblioteca aparute la respectiva editura. Daca aceasta modificare nu se face cu succes, unele dintre inregistrari ramanand cu vechea adresa, apare din nou o inconsistenta a datelor.

anomalii de inserare - in exemplul anterior, nu vom putea memora adresa unei edituri, lucru inacceptabil daca  dorim sa avem informatii si despre edituri a caror carti nu le avem in biblioteca, eventual de la care dorim sa facem comenzi.

anomalii de stergere - sa presupunem ca intr-o tabela memoram urmatoarele informatii: codul studentului, codul cursului, codul profesorului. La un moment dat, nici un student nu mai doreste sa participe la un anume curs. Stergand toate inregistrarile corespunzatoare cursului, nu vom mai putea sti niciodata cine preda acel curs.

Edgar Codd a definit primele trei forme normale 1NF, 2NF si 3NF. Ulterior s-au mai definit formele normale 4NF, 5NF, 6NF care insa sunt rar folosite in proiectarea bazelor de date.

Prima forma normala

O entitate se gaseste in prima forma normala daca si numai daca:- nu exista atribute cu valori multiple;- nu exista atribute sau grupuri de atribute care se repeta. Cu alte cuvinte toate atributele trebuie sa fie atomice, adica sa contina o singura informatie.

Daca un atribut are valori multiple, sau un grup de atribute se repeta, atunci trebuie sa creati o entitate suplimentara pe care sa o legati de entitatea originala printr-o relatie de 1:m. In noua entitate vor fi introduse atributele sau grupurile de atribute care se repeta

A doua forma normala

O entitate se gaseste in a doua forma normala daca si numai daca se gaseste in prima forma normala si in plus orice atribut care nu face parte din UID (unique identifier) va depinde de intregul UID nu doar de o parte a acestuia.

A treia forma normala

O entitate se gaseste in a treia forma normala daca si numai daca se gaseste in a doua forma normala si in plus nici un atribut care nu este parte a UID-ului nu depinde de un alt atribut non-UID. Cu alte cuvinte nu se accepta dependente tranzitive, adica un atribut sa depinda de UID in mod indirect.

Operatii specifice prelucrarii bazelor de date

Orice sistem de gestiune a bazelor de date (SGBD) trebuie sa asigure urmatoarele functii:

definirea structurii bazei de date

incarcarea datelor in baza de date (adaugarea de noi inregistrari la baza de date)

accesul la date pentru:

o       interogare (afisarea datelor, sortarea lor, calcule statistice etc.)

o       stergere

o       modificare

intretinerea bazei de date:

o       refacerea bazei de date prin existenta unor copii de siguranta

o       repararea in caz de incident

o       colectarea si refolosirea spatiilor goale

posibilitatea de reorganizare a bazei de date prin:

o       restructurarea datelor

o       modificarea accesului la date

securitatea datelor.

O parte din aceste operatii pot fi realizate cu ajutorul limbajului SQL, altele cu ajutorul unor programe specializate, care sunt puse la dispozitia administratorului bazei de date de catre sistemul de gestiune al bazelor de date.

Reguli de integritate

Detalierea caracteristicilor pe care trebuie sa le prezinte un SGBD pentru a fi considerat relational s-a facut de E. F. Codd in 1985 sub forma a 13 reguli. Una dintre aceste reguli precizeaza ca restrictiile de integritate trebuie sa poata fi definite in limbajul utilizat de SGBD pentru definirea datelor.

Regulile de integritate garanteaza ca datele introduse in baza de date sunt corecte si valide. Aceasta inseamna ca daca exista orice o regula sau restrictie asupra unei entitati, atunci datele introduse in baza de date respecta aceste restrictii. In Oracle, regulile de integritate se definesc la crearea tabelelor folosind constrangerile. Dar asupra acestora vom reveni in partea a doua a manualului.

Tipurile de reguli de integritate sunt urmatoarele:

Integritatea entitatilor - indica faptul ca nici o coloana ce face parte din cheia primara nu poate avea valoarea NULL. In plus, pentru fiecare inregristrare, cheia primara trebuie sa fie unica.

Integritatea de domeniu - acest tip de reguli permite ca intr-o anumita coloana se introduca doar valori dintr-un anumit domeniu. De exemplu putem impune ca salariul unui angajat sa fie cuprins intre 4500 si 5000 RON.

Integritatea referentiala - este o protectie care asigura ca fiecare valoare a cheii straine sa corespunda unei valori a cheii primare din tabela referita. De exemplu, referindu-ne la tabelele JUCATORI si ECHIPE, corespunzatoare ERD-ului din figura I.3.2, cod este cheie primara in tabela ECHIPE, iar in tabela JUCATORI cod devine cheie straina. Astfel valoarea campului cod din cadrul tabelei JUCATORI corespunzatoare unui anumit jucator trebuie sa se regaseasca printre valorile campului cod din tabela ECHIPE, altfel ar insemna ca jucatorul respectiv joaca la o echipa inexistenta (vezi figura I.3.8).

Situatii de incalcare a integritatii referentiale pot aparea:

la adaugarea unei noi inregistrari in baza de date, se poate incerca introducerea unor valori invalide pentru campurile cheii straine;

la actualizarea bazei de date;

la stergerea unei inregistrari. De exemplu se sterge inregistrarea corespunzatoare unei anumite echipe (echipa se desfiinteaza). Inregistrarile jucatorilor care au jucat la acea echipa vor incalca integritatea referentiala, deoarece se vor referi la o echipa care nu mai exista. Solutiile posibile sunt ca la stergerea unei echipe, toti jucatorii care au activat la acea echipa sa fie si ei stersi din baza de date (stergere in cascada) sau valoarea campului cod_echipa pentru acei jucatori sa fie setata la NULL, ceea ce va inseamna ca acei jucatori nu activeaza la nici o echipa.

II. NUCLEUL SQL*PLUS

Limbajul SQL - Structured Query Language este un limbaj standard de interogare a bazelor de date. Implementat in majoritatea SGBD-urilor, dar nu numai. In ORACLE este implementat nucleul SQL cu anumite particularitati.

  1. Tipuri de date:

TIP

Caracteristici

VARCHAR2(size) 

sir de caractere de lungime variabila

NUMBER(p,s) 

Numeric:  p (precision) = 1..38, s (scale) =-84..127

LONG 

sir de caractere de lung>2GB

DATE 

data calendaristica

RAW(size)

date de tip binar. Maxim size este 2000 bytes.

LONG RAW

lungime variabila > 2GB  se stocheaza grafice, sunete, documente

ROWID 

adresa fiecarui rind din tabela

CHAR(size) 

sir de caractere de lungime fixa

BLOB

binary large object (max 4GB) se stocheaza date nestructurate (text,imagine, video, date spatiale)

BFILE 

contine un pointer catre un fisier binar stocat in afara bazei de date

  1. Operatori SQL

Operator

Caracteristici

<, >, =, >=, <=, NOT

Operatori de comparatie

BETWEEN AND

intre doua valori (inclusiv).

IN(lista)

egal cu oricare valoare din lista

LIKE

similar cu un sablon

% - oricate caractere; _ - un caracter;

IS NULL

are valoarea NULL

  1. Comenzi SQL

Comenzile referitoare la bazele de date sunt comune tuturor versiunilor de SQL si sunt impartite in urmatoarele categorii:

Comenzi DDL (Data Definition Language - limbaj de definire a datelor)

Comanda

Scop

CREATE

Creaza un obiect nou (tabela, utilizator, rol, etc)

ALTER

Modifica o parte dintre proprietatile unui obiect

DROP

Elimina un obiect din baza de date

GRANT

Acorda utilizatorilor drepturile necesare pentru accesul si manipularea obiectelor din baza de date

REVOKE

Anuleaza anumite drepturi utilizatorilor

Comenzi DML (Data Manipulation Language - limbaj de manipulare a datelor)

Comanda

Scop

SELECT

Regaseste inregistrari in tabele sau vederi.

DELETE

Sterge inregistrari din tabele

INSERT

Adauga o noua inregistrare in tabela

UPDATE

Modifica valorile unor inregistrari din tabele

MERGE

Adauga un tuplu in functie de o anumita conditie

Comenzi TPL (limbaj pentru procesarea tranzactiilor)

Comanda

Scop

COMMIT

Finalizeaza o tranzactie

ROLLBACK

Anuleaza o tranzactie

SAVEPOINT

Defineste un punct de salvare, in locul in care tranzactia salveaza toate operatiile effectuate pana in momentul respective, inainte de a continua urmatorul set de modificari effectuate in baza de date.

I.2. CREAREA SI GESTIUNEA TABELELOR:
1.2.1. CREAREA TABELELOR - COMANDA CREATE TABLE

Pentru a crea o tabela se specifica urmatoarele:

definitiile atributelor

modul de organizare a tabelei

restrictiile de integritate

spatiul de tabela

caracteristicile de stocare

clusterul

datele daca se preiau dintr-o alta tabela

definitiile partitiilor

RESTRICTII DE INTEGRITATE

Tipuri de restrictii:

o       NOT NULL

o       UNIQUE

o       PRIMARY KEY

o       FOREIGN

o       CHECK

Descrierea lucrarii

Trebuie sa proiectati o baza de date a unui depozit de materiale de constructii. Baza de date trebuie sa contina informatii despre firma - codul unic de identificare de la Registrul Comertului , nume, adresa , produsele comercializate si angajatii depozitului . De asemenea, se doreste sa se tina o evidenta clara a angajatilor depozitului (cu ajutorul contractelor de munca , a datelor personale - nume,adresa,telefon si a departamentului in care lucreaza) . Clientii nostri pot fi atat persoane fizice,cat si firme.

Depozitul poate colabora cu importatori si/sau distribuitori ( pot exista mai multe firme care furnizeaza acelasi produs - material ), in acest caz informatiile despre acele firme trebuie trebuie inregistrate in baza de date.

Firma trebuie sa aiba si o evidenta clara a veniturilor si cheltuielilor , obtinuta cu ajutorul facturilor.

ERD

Reguli structurale

DEPOZIT-CONTRACT

O firma are unul sau mai multe contracte

Un contract trebuie sa apartina unui depozit

ANGAJAT-FACTURA

Un angajat poate emite una sau mai multe facturi

O factura este emisa de un angajat

FACTURA - PERS_FIZICA

O persoana fizica (client) poate avea una sau mai multe facturi

O factura este detinuta de o persoana fizica

FURNIZOR - CONTRACT

Un furnizor poate incheia unul sau mai multe contracte cu depozitul

Un contract apartine unui furnizor

ANGAJAT - CONTRACT

Un angajat incheie un contract cu depozitul

Un contract apartine unui angajat

ANGAJAT - DEPARTAMENT

Un departament poate avea unul sau mai multi angajati

Un apartine unui departament

MANAGER - DEPARTAMENT

Un departament poate avea un singur manager

Un manager conduce un singur departament

FURNIZOR - MATERIAL

Un furnizor poate distribui unul sau mai multe materiale

Un material poate fi furnizat de una sau mai multe firme

FACTURA - MATERIAL

O factura poate avea unul sau mai multe materiale

Un material poate fi pe una sau mai multe facturi

DEPOZIT - DEPARTAMENT

Un depozit poate avea unul sau mai multe departamente

Un departament apartine unui singur depozit

MAPAREA RELATIILOR

Regulile procedurale

Sa se afiseze numele, prenumele, data nasterii si numarul de telefon tuturor angajatilor

select nume, prenume, data_nastere, telefon

from angajat

Sa se afiseze furnizorii care distribuie ciment

select cui , nume , inmatriculare , localitate from furnizor,furnizat

where furnizor.cui = furnizat.cuifurnizor and furnizat.idmaterial in

(select id from material ,furnizat

Where material.id = furnizat.idmaterial and material.denumire like '%ciment%')

Sa se afiseze adresa si numarul de telefon al clientului "Popescu Ionut"

select strada,numar,bloc,apartament,codposta,localitate, telefon

from pers_fizica where nume = 'Popescu' and prenume = 'ionut'

Sa se afiseze angajatii care lucreaza in acelasi departament ca Ionescu

SELECT nume,prenume FROM angajat

WHERE iddepartament = ( SELECT iddepartament FROM angajat

WHERE nume = 'Ionescu')

Bibliografie

DOCUMENTATII ON-LINE

Academia Oracle

https://academy.oracle.com/

Oracle10g database

https://iacademy.oracle.com



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 5039
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved