[disseny de bases de dades] pac 2: normalització, disseny e-r i consulta en php

of 12/12
DISSENY DE BASES DE DADES Prova Teòrica d’Avaluació Contínua– PAC2 Jordi Llonch Esteve CC BY-NC-SA 1 d’12 Nom i cognoms: Jordi Llonch Esteve Qualificació: C++ Cada resposta s'escriurà sota el seu enunciat. Reanomena aquest arxiu amb el teu nom complet: PAC2_nom_alumne.doc A lliurar a la bústia "Lliurament d'activitats" de l'espai "avaluació" de l'aula juntament amb el script cercaTallers.php de la solució de l'exercici C (i scripts complementaris). Pujar l’script al servidor Comoras per comprovar el seu correcte funcionament Data límit de lliurament: 14 de maig de 2012 Presentació y objectius. L'objectiu principal d'aquesta activitat és adquirir els coneixements bàsics en la normalització del conjunt de taules que formen una base de dades donada i la creació d’una aplicació en PHP per a la consulta d’informació existent a una base de dades. Per aquest fi serà necessari saber crear aplicacions PHP fent servir l’entorn de programació Dreamweaver, Eclipse o algun entorn de programació alternatiu. Addicionalment, l’activitat reforçarà els coneixements en el disseny de bases de dades (model E-R). L'activitat es divideix en tres parts: A.- Normalitzar un conjunt de relacions aplicant les formes normals explicades en el manual de l'assignatura. B: Disseny Entitat – Relació: Estarà composat per dos exercicis: B.1- Creació del disseny E-R en base a les taules normalitzades en l’apartat A. B.2- Ampliació del model E-R de l’apartat B.1 a partir d’un enunciat donat. C.- Repassar aspectes teòrics de la programació de PHP and MySQL: formularis per realitzar consultes a una base de dades.

Post on 24-Oct-2014

475 views

Category:

Documents

5 download

Embed Size (px)

DESCRIPTION

Més informació a elmeuordinador.blogspot.com

TRANSCRIPT

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Nom i cognoms: Jordi Llonch Esteve Qualificaci: C++

Cada resposta s'escriur sota el seu enunciat. Reanomena aquest arxiu amb el teu nom complet: PAC2_nom_alumne.doc A lliurar a la bstia "Lliurament d'activitats" de l'espai "avaluaci" de l'aula juntament amb el script cercaTallers.php de la soluci de l'exercici C (i scripts complementaris). Pujar lscript al servidor Comoras per comprovar el seu correcte funcionament Data lmit de lliurament: 14 de maig de 2012

Presentaci y objectius.L'objectiu principal d'aquesta activitat s adquirir els coneixements bsics en la normalitzaci del conjunt de taules que formen una base de dades donada i la creaci duna aplicaci en PHP per a la consulta dinformaci existent a una base de dades. Per aquest fi ser necessari saber crear aplicacions PHP fent servir lentorn de programaci Dreamweaver, Eclipse o algun entorn de programaci alternatiu. Addicionalment, lactivitat reforar els coneixements en el disseny de bases de dades (model E-R).

L'activitat es divideix en tres parts:

A.- Normalitzar un conjunt de relacions aplicant les formes normals explicades en el manual de l'assignatura.

B: Disseny Entitat Relaci: Estar composat per dos exercicis: B.1- Creaci del disseny E-R en base a les taules normalitzades en lapartat A. B.2- Ampliaci del model E-R de lapartat B.1 a partir dun enunciat donat.

C.- Repassar aspectes terics de la programaci de PHP and MySQL: formularis per realitzar consultes a una base de dades.

Jordi Llonch Esteve CC BY-NC-SA

1 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

A.- Normalitzar un conjunt de relacions aplicant les formes normals explicades en elmanual de l'assignatura. L'objectiu d'un disseny d'una base de dades relacional s generar un conjunt d'esquemes de relaci que permetin emmagatzemar informaci sense redundncies innecessries, aix com que possibilitin recuperar la informaci fcilment. Normalitza les taules d'una base de dades de tallers mecnics de manera que aquestes quedin relacionades entre si. Crea un conjunt de relacions que permetin emmagatzemar la informaci en una base de dades minimitzant les redundncies innecessries i sense que es perdin dades. Per aconseguir aquest objectiu usa els criteris de la teoria de la normalitzaci comentant, pas a pas, el procs de normalitzaci aplicat. Normalitza fins al mxim necessari. Tingues en compte que ser possible la necessitat de fusionar o crear noves taules. NOTA de CONTINGUT: Les dades existents en les taules segents sn purament fictcies i no volen reflectir la realitat dels clients, tallers i dems actors. Base de dades: Tallers mecnics Taula A "Client"Nom JoanCarlos2 Daniel9A Data 11/03/2012 20/12/2011 Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, Fan servir peces de mala qualitat i he hagut de canviar-les en un altre taller. No recomanable. Molt mal servei. Els mecnics tots amb mal geni. Un tracte molt dolent. No m'han sabut canviar el filtre de l'aire condicionat. Increble. No saben arreglar les vespes antigues, noms les noves. Quan m'han reparat el cami he hagut de tornar 2 cops perqu no ho havien fet b. I m'han cobrat la m d'obra els dos cops que he hagut de tornar. Les peces que fan servir sn restos d'altres motos. Lo barato sale caro, que deien. Taller Tallers Rodes Talleres Gil Tipus Vehicle Furgoneta Cotxe

JavierPV Ramon8s JoanCarlos2 MKFernando

21 Abril 2012 21/11/2011 22/02/2012 22/1/12

Motos 2T Talleres Volken Vespa Motors Tallers Rodes

Ciclomotor Furgoneta Combi Ciclomotor Cami

MariaKurnik

23/7/2011

Motos 2T

Motocicleta

JuliaPonom

23/12/2011

Bon servei, es nota que en saben. Surt Tallers Gil econmic perqu els mecnics realment saben el que es fan. Especialistes en cotxes volkswagen antics. Molt bon servei. Talleres Volkn

Cotxe

Daniel9A

23/07/2011

Cotxe

Jordi Llonch Esteve CC BY-NC-SA

2 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Taula B "Comentaris"Client JoanCarlos2 Daniel9A JavierPV Ramon8s JoanCarlos2 MKFernando Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, Taller Tallers Rodes Valoraci Positiu Negatiu Positiu Negatiu Negatiu Negatiu

Fan servir peces de mala qualitat i he hagut de canviar-les en un Talleres altre taller. No recomanable. Gil Molt mal servei. Els mecnics tots amb mal geni. Un tracte molt dolent. No m'han sabut canviar el filtre de l'aire condicionat. Increble. No saben arreglar les vespes antigues, noms les noves. Quan m'han reparat el cotxe i he hagut de tornar 2 cops perqu no ho havien fet b. I m'han cobrat la m d'obra els dos cops que he hagut de tornar. Les peces que fan servir sn restos d'altres motos. Lo barato sale caro, que deien. Bon servei, es nota que en saben. Surt econmic perqu els mecnics realment saben el que es fan. Especialistes en cotxes volkswagen antics. Molt bon servei. Motos 2T Talleres Volkn Vespa Motors Tallers Rodes Motos 2T Tallers Gil Talleres Volkn

MariaKurnik JuliaPonom Daniel9A

Negatiu Positiu Positiu

Taula C "Taller"Nom Talleres Gil Adrea Carrer Crcega, 412, 08033 Barcelona Motos 2T Calle Marques Bobadilla, 20, 28929, Madrid Tallers Rodes Passeig Sant Joan 220, 08037, Barcelona Talleres Volkn Carrer Poeta Mas, 33, Valncia Vespa Motors Passatge Ferran, 20, 08031, Barcelona Telfon 934567219 Tipus de vehicles Cotxes, Furgonetes Marques Ford, Audi, Fiat, Volkswagen Suzuki, Yamaha, Aprilia

912314455

Motos, ciclomotors

933239912

Furgonetes, Camions

Fiat, Iveco, Ford

962378832 934493214

Cotxes Ciclomotors

Seat, Volkswagen, Skoda Vespa

Primera forma normal (1FN) Per comenar, he modificat cada taula per a complir el segent en cadascuna delles: Que no hi hagi atributs multivalor. Que les celles tinguin valor atmics. Que dues files duna mateixa taula no siguin idntiques. Que cada conjunt de dades relacionades sidentifiqui amb una clau primria. Que no hi hagi grups de dades repetides

Jordi Llonch Esteve CC BY-NC-SA

3 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Taula A "Client"ID 1 ... Usuari JoanCarlos2 ... Data 11/03/2012 ... Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, ... Taller Tallers Rodes ... Tipus Vehicle Furgoneta ...

Taula B "Comentaris"ID 1 ... Usuari JoanCarlos2 ... Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, ... Taller Tallers Rodes ... Valoraci Positiu ...

Taula C "Taller" CorrecteID 1 2 3 4 5 6 7 8 ... Nom Talleres Talleres Talleres Talleres Talleres Talleres Talleres Talleres ... Gil Gil Gil Gil Gil Gil Gil Gil Adrea Carrer Carrer Carrer Carrer Carrer Carrer Carrer Carrer ... Crcega Crcega Crcega Crcega Crcega Crcega Crcega Crcega 412 412 412 412 412 412 412 412 Codi postal 08033 08033 08033 08033 08033 08033 08033 08033 ... Ciutat Barcelona Barcelona Barcelona Barcelona Barcelona Barcelona Barcelona Barcelona ... Telfon 934567219 934567219 934567219 934567219 934567219 934567219 934567219 934567219 ... Tipus de vehicles Cotxes Cotxes Cotxes Cotxes Furgonetes Furgonetes Furgonetes Furgonetes ... Marques Ford Audi Fiat Volkswagen Ford Audi Fiat Volkswagen ...

En aquesta nova versi sha atomitzat els atributs, modificat el nom dalguns camps, suprimit els camps multivalor i afegit un atribut didentificaci que actua de clau primria. Tot i aix encara hi ha grups de dades repetides en les taules i entre s.

Segona forma normal (2FN) La segona forma normal estableix que tot camp no clau ha de dependre directament del camp clau.

Taula A "Client"ID 1 ... Usuari JoanCarlos2 ... Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, ... Tipus Vehicle Furgoneta ...

En la taula Client veiem que tant la data, com el taller no depenen del client (Usuari).

Jordi Llonch Esteve CC BY-NC-SA

4 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Taula B "Comentari"ID 1 ... Usuari JoanCarlos2 ... Data 11/03/2012 ... Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, ... Taller Tallers Rodes ... Valoraci Positiu ...

En la taula Comentaris veiem que la data depn del comentari, per aix lafegim. Correcte

Taula C "Taller"ID 1 ... Nom Talleres Gil ... Adrea Carrer Crcega 412 ... Codi postal 08033 ... Ciutat Barcelona ... Telfon 934567219 ...

Taula D "Vehicle"ID 1 2 ... Tipus Cotxes Furgonetes ...

Taula E "Marca"ID 1 2 ... Nom Ford Audi ...

Taula F "Taller accepta vehicles"ID 1 2 ... Nom taller Talleres Gil Talleres Gil ... Vehicle Cotxes Furgonetes ...

Taula G "Vehicles pertanyen a marca"ID 1 2 ... Tipus Vehicle Cotxes Furgonetes ... Nom Marca Ford Ford ...

A la taula Taller sha separat els vehicles i les marques que accepta, de manera que en un futur es puguin afegir ms registres sense haver de duplicar les altres dades. A ms, sha mantingut la seva relaci afegint dues taules que inclouen aquesta informaci.

Jordi Llonch Esteve CC BY-NC-SA

5 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Tercera forma normal (3FN) Encara hi ha dades que es repeteixen en algunes taules, s a dir, encara existeix dependncia transitiva. Per eliminar-la, eliminarem alguns camps de les taules i crearem noves taules que relacionin aquests camps.

Taula A "Client"ID 1 ... Usuari JoanCarlos2 ...

Sha eliminat el comentari i el tipus de vehicle de la taula Client per a evitar la duplicaci de registres en aquesta taula, ja que pot passar que un mateix usuaris deixi varis comentaris i tingui varis vehicles

Taula B "Comentari" PerfecteID ID_Client 1 1 ID_Taller 1 ID_Vehicle ID_Marca 1 1 Comentari M'han trobat el problema del cotxe de seguida i barato! Molt satisfet, ... Data 11/03/2012 Valoraci Positiu

... ...

...

...

...

...

...

Sha eliminat lusuari i el taller de la taula Comentaris per evitar duplicaci de registres i shan afegit les claus foranes que relacionen cada comentari amb lusuari, el taller, el tipus de vehicle i la marca daquest.

Taula C "Taller"ID 1 ... Nom Talleres Gil ... Adrea Carrer Crcega 412 ... Codi postal 08033 ... Ciutat Barcelona ... Telfon 934567219 ...

Taula D "Vehicle"ID 1 2 ... Tipus Cotxes Furgonetes ...

Taula E "Marca"ID 1 2 ... Nom Ford Audi ...

Jordi Llonch Esteve CC BY-NC-SA

6 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Taula F "Taller accepta vehicles"ID Taller 1 1 ... ID Vehicle 1 2 ...

Taula G "Vehicles pertanyen a marques"ID Vehicle 1 1 ... ID Marca 1 2 ...

Les taules F i G utilitzen els IDs de taller, de vehicle i de marca per a establir les seves relacions, que no suposen que cada taller est especialitzat en un o ms tipus de vehicles, els quals poden ser de diferents marques.

Jordi Llonch Esteve CC BY-NC-SA

7 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Part B. - Creaci del model E-R Apartat B.1- El procs de normalitzaci de lapartat anterior ha donat com a resultat la creaci dun nou conjunt de taules. A partir de les taules normalitzades, crea el model E-R que representa la base de dades Tallers mecnics. Explica les decisions que prenguis per identificar les entitats del model E-R, les relacions existents i els atributs de cada entitat i relaci.

La relaci entre comentari i marca no la podem saber. Per la resta, correcte. Accedeix al diagrama amb ms qualitat a https://www.lucidchart.com/documents/view/4d19776c-4faebe0b-963c-1cb00af1566f.

Identitats i atributs: 1. Client: Cada client pot escriure comentaris, per aix s necessari identificar-los a tots i cadascun dells i dotar-los dun identificador nic a cadascun. 2. Taller: Cada taller est ubicat en una situaci diferent, per aix sha didentificar la seva adrea i telfon. A ms a ms, cada taller est especialitzat en algun tipus de vehicles en concret (com ara cotxes o ciclomotors). 3. Vehicle: Per a no haver de repetir per cada taller els vehicles amb els que est especialitzat es crea la identitat Vehicle, que cont una llista de tots els tipus de vehicles possibles. 4. Marca: De la mateixa manera que no volem repetir cada vehicle, tampoc volem repetir les marques daquests. 5. Comentari: Els comentaris sn la part principal de la base de dades i en ells hi ha informaci de cadascuna de les identitats anteriorment descrites, ja que cada comentari ser diferent depenent de lusuari, el vehicle que tingui, la marca del vehicle, el taller on hagi portat a reparar el vehicle, la data i la valoraci.

Jordi Llonch Esteve CC BY-NC-SA

8 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Relacions 1. Client escriu Comentari: relaci (1:n), ja que cada client pot escriure tants comentaris com vulgui. 2. Comentari sobre Taller: relaci (1:n), ja que cada taller tindr un comentari diferent, per podr existir tants comentaris com es vulgui. 3. Comentari inclou Vehicle: relaci (n:n), ja que un vehicle pot aparixer en tants comentaris com sigui necessari i cada comentari pot incloure diferents tipus de vehicles. 4. Comentari inclou Marca: relaci (n:n), ja que una marca tamb pot aparixer en tants comentaris com es vulgui i cada comentari pot incloure diferents tipus de marques. 5. Taller accepta Vehicle: relaci (n:n), ja que cada taller pot acceptar tants tipus de vehicles com ell decideixi. 6. Vehicle pertany a Marca: relaci (n:n), ja que cada marca pot tenir tants tipus de vehicles com ella decideixi i un vehicle pot pertnyer a vries marques al mateix temps.

Les relacions 5 i 6 donen per suposat que els tallers estan especialitzats en un o ms tipus de vehicles, els quals poden ser de marques diferents.

Jordi Llonch Esteve CC BY-NC-SA

9 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Apartat B.2- Amplia el model E-R realitzat a lapartat B.1 de manera que la base de dades reflecteixi la informaci que es presenta al segent enunciat. Volem crear una xarxa social que permeti als seus usuaris seleccionar i valorar diferents tallers mecnics basant-nos en quatre aspectes que considerarem clau: tipus de vehicles que reparen, comentaris dels usuaris, servei i preu i ofertes. Com que l'objectiu s el de poder aconseguir que els clients (usuaris de la xarxa social) obtinguin la mxima informaci de quin ser el millor taller on li podran arreglar el problema que t en el seu vehicle, el primer aspecte en el que ens centrarem ser en diferenciar els tallers segons els tipus de vehicles amb els que treballen. El segon aspecte clau seran els comentaris dels usuaris. La xarxa haur de permetre que els usuaris puguin aportar els seus comentaris, positius i negatius al respecte del tracte i servei que han rebut de cara a que els futurs clients puguin decidir-se per un o per un altre. El tercer aspecte a tractar ser el tipus de servei i preu que ofereixen. s quasi segur que no tots els tallers canviaran vidres o rodes, de la mateixa manera que tindran preus diferents tant pels recanvis fets servir com pels preus de l'hora de m d'obra. Per a cada servei volem emmagatzemar el seu nom i el temps mig dedicat. El cost de la m d'obra estar associat a cada taller i no al servei ofert. Un ltim punt que creiem cabdal s la presentaci d'ofertes a l'usuari. Els tallers han de ser capaos de publicar ofertes com ara podria ser Canvi d'oli a 20, Canvi de rodes: paga noms 3 neumtics, etc. D'aquesta manera caldr emmagatzemar el tipus d'oferta, el taller que la ofereix (que pot ser ms dun), el vehicles als que est dirigida, les dates en que loferta est en vigor, una breu descripci i el preu de la oferta. De la mateixa manera, si es pot elegir entre dos o ms tipus de recanvis (per exemple diferents amples de rodes, diferents olis, bateries) caldr emmagatzemar per una altra banda les caracterstiques dels components: descripci, vehicles per als que s'ofereix, etc. juntament amb el preu sense descompte.

Correcte

Jordi Llonch Esteve CC BY-NC-SA

10 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Accedeix al diagrama amb ms qualitat a https://www.lucidchart.com/documents/view/46ecec20-4facf1d2-945f-57eb0a48cd7c. C.- Repassar aspectes terics de la programaci de PHP i MySQL: formularis per realitzar consultes a una base de dades. Realitza una aplicaci en PHP anomenada afegirNegoci.php que exploti la informaci existent dins de la base de dades Negocis, presentada a la PRA1 i la ampli afegint un negoci a la base de dades. Puja lscript (o els scripts) al servidor Comoras i presenta una captura de pantalla de la seva execuci aix com la URL per poder accedir al servei creat. I la captura i/o la URL? Laplicaci afegirNegoci.php haur de tenir la segent funcionalitat: Un desplegable de formulari permetr a lusuari la selecci duna categoria de negoci. Un cop escollida la categoria, se li mostrar a lusuari els negocis que estan assignats a la categoria escollida, aix com les antenes que donen cobertura als negocis. A ms, se li oferir un camp de text on lusuari podr entrar el nom del nou negoci i dos camps ms per a les coordenades daquest (latitud i longitud). Finalment, existir un bot per a Netejar el formulari i un segon bot per a Inserir el nou negoci. El procs dinserci haur de fer les segents modificacions a la base de dades: Inserir el negoci a la base de dades Relacionar el negoci amb la categoria seleccionada Relacionar el negoci amb les antenes que estiguin a menys de 2.000 metres del negoci. El clcul de la distncia entre una Antena A i un Negoci N es pot realitzar de la segent manera: Font: http://www.zipcodeworld.com/samples/distance.php.html

cos(deg2rad($lat1)) *

Jordi Llonch Esteve CC BY-NC-SA

11 d12

DISSENY DE BASES DE DADES

Prova Terica dAvaluaci Contnua PAC2

Opcions complementaries a laplicaci PHP, aix com aplicacions complementaries seran valorades per a millorar la puntuaci. Falta fer aquest apartat.

Jordi Llonch Esteve CC BY-NC-SA

12 d12