Practica 1 informática (2015)
Apunte EspañolUniversidad | Universidad Autónoma de Barcelona (UAB) |
Grado | Genética - 2º curso |
Asignatura | Técnicas instrumentales |
Año del apunte | 2015 |
Páginas | 4 |
Fecha de subida | 22/03/2015 |
Descargas | 19 |
Vista previa del texto
Maria Jiménez Coronado
1358768
Tècniques instrumentals.
pràctica 1
ACTIVITAT 1
Exercici A (1.1): Des de la línia de comandaments de MySQL crea una base de dades ‘ti_p1’. A continuació crea una
taula ‘gens’ amb la següent estructura (pots afegir més columnes):
ID (autoincremental) (clau primària)
nom (camp de text per al nom del gen)
organisme (camp de text per al nom científic)
mida (nombre de nucleòtids)
seqüència (camp de text)
Quines queries has fet servir? T'ha sorgit algun error?
He fet servir les queries CREATE TABLE, per crear la taula "gens"; INT, UNSIGNED i AUTO_INCREMENT per ID,
VARCHAR(X) per nom, sequencia i organisme INT UNSIGNED NOT NULL per mida. A més, he indicat que la primary
key es ID.
Si que s'han comés errors, sobretot per falta de sinaxis.
Exercici B (1.2):
Primer de tot, crea la taula per als organismes:
id (autoincremental) (clau primària)
nom (camp de text per al nom científic)
descripció (camp de text pel nom comú o altra informació)
A continuació, podràs crear una foreign key a la taula de gens ja existent que relacioni la taula a través de l'ID de la taula
d'organismes.
Quines queries has fet servir? Has modificat alguna columna ja existent? Per què?
En aquest cas i seguint la imatge:
Hem modificat la columna d’organisme, ja que per poder relacionar ha de ser les dues SMALLINT perquè es pugui fer la
relació abans organisme de la taula gen era VARCHAR i ara serà SMALLINT, com id de la taula organisme.
Exercici C (opcional, 1.3): Prova de fer DROP a les teves taules i columnes. IMPORTANT: assegura’t de tenir les
queries que has fet servir per crear les diferents taules abans d’esborrar-les, així les podràs tornar a crear fàcilment
després del DROP.
mysql>DROP table gens;
DROP table organisme
Maria Jiménez Coronado
1358768
Tècniques instrumentals.
pràctica 1
En definitiva, podem comprovar com han quedat les taules:
ACTIVITAT 2
Exercici A (2.1): És hora d'omplir les taules (anota les queries que facis servir junt amb qualsevol comentari que
consideris rellevant). Omple la taula 'organismes' amb els que vulguis. Per exemple:
Homo sapiens humà
Pan troglodytes ximpanzé
Gorilla gorilla goril·la
Mus musculus ratolí
A continuació, omple la taula de gens amb uns quants gens repetits per a cada organisme. Fes servir noms curts de gens
reals o inventats (BRCA2, HTT, SRY, OCA2, ...). Utilitza diferents valors al camp mida. Tot seguint la imatge:
Maria Jiménez Coronado
1358768
Tècniques instrumentals.
pràctica 1
Excercici B (2.2):
A partir d’ara pots treballar amb el MySQL Workbench (o continuar amb la línia de comandes). A la part de l’esquerra
pots visualitzar les diferents bases de dades i si vas desplegant pots veure les taules i les columnes que contenen. A la
part central pots escriure les queries i t’apareixeran els resultats a sota. Per executar una query, has de clissar sobre una
d’aquestes icones:
Nosaltres línea de comanda.
Realitza els següents SELECT (i anota’ls a continuació):
Tota la informació dels gens d'un mateix nom. SELECT *FROM gens;
Per a un mateix nom: mysql> SELECT *FROM gens WHERE nom='LJM', per exemple.
El nombre de gens més petits d'X nucleòtids (tria el valor d'X). mysql> SELECT count(nom) FROM gens
WHERE mida < 6;
Les seqüències dels 5 gens més grans de la teva base de dades. En comptes de 5 em fet 3 gens. mysql>
SELECT *FROM gens order by mida desc limit 3;
Exercici C (2.3):
Realitza les següents consultes unint les taules 'organismes' i 'gens' per tal que en comptes de l'identificador dels
organismes surti el nom de l'organisme als resultats:
En un primer moment, hem d'unir les taules. Per fer-ho, usarem la comanda INNER JOIN ___ ON, després d'haver
seleccionat (amb les queries SELECT ___ FROM) la taula de gens, amb totes les seves columnes en aquest cas (*).Així
doncs: mysql> SELECT * FROM gens INNER JOIN organisme ON gens.organisme=orgaisme.id;
A continuació:
Tota la informació dels gens d'un mateix nom.
Per a això, usarem la queria WHERE per indicar una condició que s'ha de complir. En aquest cas estaríem dient que
volem visualitzar la taula que contingui com a nom la dada (gen) JULYLAU. Així doncs: mysql> SELECT* FROM gens
WHERE nom='JULYLAU';
Maria Jiménez Coronado
1358768
Tècniques instrumentals.
pràctica 1
Però, com ens està demanant tota la informació d'un gen d'un sol nom, ho hem de fer amb les taules relacionades.
D'aquesta manera: mysql> SELECT * FROM gens INNER JOIN organisme ON gens.organisme=organisme.id WHERE
gens.nom= 'JULYLAU
Tota la informació dels 5 gens més grans de la teva base de dades.
NOTA: en comptes dels 5, s'ha fet amb 3 donat que en el numero total és de 4 gens.
En aquest apartat, el que hem d'afegir és una limitació; i per això s'ha d'usar la queria LIMIT X (en aquest cas amb X=3),
després d'indicar la taula de la qual volem obtenir la informació. Amés, hem de posar per quina columna volem ordenar,
mitjanant ORDER BY idita columna (en aquest cas mida). A més indicarem que volem l'ordre descendent (desc.), donat
que si no, per defecte, ho fa de manera ascendent. Així doncs: mysql> SELECT *FROM gens INNER JOIN organisme
ON gens.organisme=organisme.id ORDER BY mida desc LIMIT 3;
A més, per evitar dades redundants, en comptes de tenir en compte totes les columnes (*), podem indicar aquelles que
realment ens interessen. Per tant, es substituirà * per nom (gen), mida, seqüència i nom (organisme). En definitiva:
mysql> SELECT gens.nom, mida, sequencia, organisme.nom FROM gens INNER JOIN organisme ON
organisme.id=gens.organisme ORDER BY mida desc LIMIT 3;
NOTA: per poder distingir entre les dues columnes que es titulen "nom", s'indica la taula a la que pertanyen, essent
respectivament nom.gen i nom.organisme.
Quines queries has fet servir? (explicació en cada apartat)
Així doncs, les queries fetes servir en aquest exercici es resumeixen en les següents:
SELECT_FROM seleccionar la taula
INNER JOIN_ON relacionar taules
WHERE indicar específicament el que es vol veure.
ORDER BY columna per la que es vol ordenar una taula.
LIMIT X (X, és variable) exposa el número de files X.
+: Hem usat el "comodí" * per tal d'indicar que eren totes les columnes.
...