Hiring the right talent for your company requires a ton of of time and money. But then those new hires quit within the first 3-6 months and you need to start the process all over again.
Having a structured onboarding plan helps reduce first-year attrition but it is equally important to know what your new hires think about your onboarding process.
We created this ready-to-use sample survey for enterprises. Feel free to use it as is or derive your own survey from this.
Introduction to Public key Cryptosystems with block diagrams
Reference : Cryptography and Network Security Principles and Practice , Sixth Edition , William Stalling
IT Academy s'adreça a totes aquelles persones que volen reconvertir-se o trobar feina en el món TIC, un dels sectors amb més projecció i millor remunerats. Per això s'han dissenyat dues tipologies de formació presencial per adaptar-se millor a les necessitats i objectius de les possibles participants.
Hiring the right talent for your company requires a ton of of time and money. But then those new hires quit within the first 3-6 months and you need to start the process all over again.
Having a structured onboarding plan helps reduce first-year attrition but it is equally important to know what your new hires think about your onboarding process.
We created this ready-to-use sample survey for enterprises. Feel free to use it as is or derive your own survey from this.
Introduction to Public key Cryptosystems with block diagrams
Reference : Cryptography and Network Security Principles and Practice , Sixth Edition , William Stalling
IT Academy s'adreça a totes aquelles persones que volen reconvertir-se o trobar feina en el món TIC, un dels sectors amb més projecció i millor remunerats. Per això s'han dissenyat dues tipologies de formació presencial per adaptar-se millor a les necessitats i objectius de les possibles participants.
Com es pot realitzar la monitorització d'un sistema informàtic amb sistema operatiu Windows i Linux. Classificació del monitoratge. Tipus. Comandes i fitxers de monitorització. Registre de Windows.
Conceptes bàsics del model relacional i correspòndències amb el model entitat relació extès (EER).
Aplicació de les 3 formes normals i la forma normal Boyce-Codd. Normalització de taules amb exemples de les diferents situacions.
Regles per a transformar el model entitat-relació al model relacional. Transformació de relacions 1:N, N:M i 1:1 segons diferents criteris. Transformació de jerarquies disjuntes i solapades i amb participació parcial o global
Atributs i tipus d'atributs: multivalor, identificador, compost, derivat o calculat, valor Null. Relacions entre conjunts d'entitats: tipus de relacions (1:1, N:1 o 1:N, N:M), cardinalitat mínima i màxima. Participació total i parcial. Relacions reflexives. Tipus de conjunts d'entitats fortes i dèbils.
Característiques de les bases de dades distribuides. Bloqueig de registres. Rèpliques. Fragmentació. Transaccions. Disseny de bases de dades distribuides
Model relacional i comprovació de la 1era , 2ona, 3era forma normal i la fòrmula normal Boyce-Codd. Transformació del model entitat relació al model relacional.
Conceptes varis sobre el model entitat relació: Conjunt d'entitats, entitats, atributs i tipus d'atributs, tipus de relacions,
cardinalitat, entitats dèbils i fortes
Entity sets, attribute, relationship, type of attribute, cardinality, relationship type, weak and strong entities. Null values, identifier
Motivació de les bases de dades.
Emmagatzemar la informació mitjançant fitxers.
Abstracció de dades
Tipus d'usuaris
Fragmentació de la informació
Models de dades
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsDaniel Fernández
Vice Verba és una aplicació educativa dissenyada per ajudar els estudiants de llatí a aprendre i practicar verbs llatins d'una manera interactiva i entretinguda.
2. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Objectius
1. Creació de bases de dades.
Coneixements previs
• Coneixements bàsics Linux
Autor: Miquel Boada Pàgina 1 de 13
3. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Creació base de dades amb SQL
Instal·lació MySQL server..................................................................................................1
Create database................................................................................................................1
Charset..............................................................................................................................1
Collation............................................................................................................................1
Objectius...........................................................................................................................1
Coneixements previs.........................................................................................................1
Introducció.........................................................................................................................3
MySQL Server...............................................................................................................3
MySQL Workbench........................................................................................................3
Llenguatge SQL.................................................................................................................3
Instal·lació de MySQL Server.............................................................................................4
Configuració dels repositoris.........................................................................................4
Instal·lació sistema gestor base de dades....................................................................4
Instal·lació MySQL Workbench...........................................................................................5
Configuració client MySQL Workbench.........................................................................5
Creació de base de dades en SQL.....................................................................................7
Sintaxis «Create Database»..........................................................................................7
Interpretació sintaxis................................................................................................8
Mots obligatoris.....................................................................................................8
Símbol claus - {}...................................................................................................8
Símbol de barra - |.................................................................................................8
Símbol clàudator - []..............................................................................................8
Exemple d'execució......................................................................................................8
«Charset» i «Collate»....................................................................................................9
charset......................................................................................................................9
collate.......................................................................................................................9
«Charset» i «Collate»: exemples.........................................................................10
Aplicació «charset» i «collate»................................................................................10
Creació base de dades – Exemples..................................................................................10
Webgrafia........................................................................................................................11
Autor: Miquel Boada Pàgina 2 de 13
4. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Introducció
Els objectius principals de crear una base de dades és la de poder consultar i gestionar
la informació de forma concurrent per molts usuaris a la vegada. L'utilització d'una base
de dades monousuari , tot i que pugui ser útil en algunes situacions molt puntuals,
normalment es treballa amb sistemes gestors de base de dades centralitzades, com la
que ens aporta el software de MySQL server.
Com a eina client, per accedir al servidor, s'utilitzarà el software MySQL Workbench.
MySQL Server
MySQL Server és un software que implementa un sistema gestor de base de dades que
permet l'accés, configuració i gestió de la informació per múltiples usuaris de forma
concurrent. Cal tenir en compte que MySQL Server és un software de llicència GPL o
software lliure: l'ús, la compartició, modificació i distribució de les modificacions estan
garantitzats.
MySQL Workbench
MySQL Server és un programa de servidor; cal un software (client) per a poder-nos-hi
connectar/accedir i poder interactuar amb ell. Tot i que hi ha moltes clients disponibles,
s'utilitzarà MySQL Workbench com a eina client pel sistema gestor de base de dades.
MySQL Workbench és una eina gràfica que incorpora múltiples utilitats per a poder
interactuar amb un servidor MySQL. Tot i que l'eina permet efectuar una connexió
remota (entre dos ordinadors distants), per a fer els exemples la connexió s'establirà
sempre en local: això vol dir que tant el client de base de dades com el servidor de base
de dades estaran instal·lats en el mateix equip físic o virtual.
Llenguatge SQL
El llenguatge SQL, de les sigles en anglès Standard Query Language (llenguatge de
consulta estàndard) és un llenguatge informàtic orientat a la gestió dels sistemes
gestors de bases de dades. Utilitzant aquest llenguatge és possible interactuar
directament amb el servidor de base de dades. El llenguatge SQL està dividit en 4 parts:
➔ Data Definition Language (DDL): llenguatge de definició de dades.
➔ Data Manipulation Language (DML): llenguatge de manipulació de dades.
➔ Data Control Language (DCL): llenguatge de control de dades.
➔ Transaction Control Language (TCL): llenguatge de control de transaccions.
Dels diferents tipus de llenguatge SQL en aquest document utilitzarem el DDL, que és el
llenguatge que ens permet crear elements (bases de dades, taules, camps...) en un
sistema gestor de base de dades.
Tot i que el llenguatge SQL sigui un estàndard, cal tenir en compte que hi ha petites
variacions en la seva sintaxis segons el sistema gestor de base de dades. Durant el
document es farà referència a la notació específica relacionada amb el sistema gestor
de base de dades MySQL.
Autor: Miquel Boada Pàgina 3 de 13
5. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Instal·lació de MySQL Server
Per a realitzar els diferents exemples d'aquest document s'utilitzarà un equip servidor
amb el sistema operatiu Linux i distribució Debian en la seva versió «Jessie». El software
MySQL Server està disponible en els repositoris estàndard d'aquesta distribució fent que
la seva instal·lació sigui realment sencilla.
Configuració dels repositoris
El primer pas per a procedir en la instal·lació és verificar que els repositoris del nostre
equip estan correctament configurats. En el nostre cas s'han utilitzat els repositoris
estàndard de «uk» (http://ftp.uk.debian.org/debian/) . La substitució de «jessie» per
«stable» és també una opció vàlida.
Instal·lació sistema gestor base de dades
Actualitzem els fitxers d'índex de paquets amb la comanda «apt-get update» i amb
«apt-get install mysql-server» instal·lem el sistema de gestor de base de dades MySQL.
La comanda anterior instal·larà la versió estable de MySQL per la distribució Debian en
la seva versió 8. En el nostre cas utilitzarem la versió 5.5.
Durant la instal·lació se'ns demanarà el password de l'usuari administrador del servidor
de base de dades. El nom de l'usuari per defecte és root. Tot i que el password sigui
opcional, en un entorn de producció cal associar un «password» que compleixi amb els
requisits de complexitat recomanats per a mots clau.
Video: https://youtu.be/Qg_wb_eZOrk
Autor: Miquel Boada Pàgina 4 de 13
6. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Instal·lació MySQL Workbench
Per a instal·lar el client d'accés al servidor MySQL serà necessari disposar d'un entorn
gràfic ja instal·lat en el nostre servidor1
. En el nostre cas s'ha instal·lat en el servidor un
entorn gràfic «lxde». La comanda a executar per la instal·lació del client és la mateixa
que hem utilitzat pel servidor però en aquest cas el nom del paquet a instal·lar és
«mysql-workbench».
Video: https://youtu.be/XY85OOXnWRc
Configuració client MySQL Workbench
Amb el software MySQL Workbench instal·lat cal establir la connexió entre el client i el
servidor. Per fer-ho cal obrir el programa i polsar sobre el botó «+» que hi ha pròxim a
«Mysql connections».
1 La instal·lació del client i del servidor en la mateixa màquina és per motius de simplificació. Normalment, el servidor s'accedeix
des d'una segona màquina client de forma remota.
Autor: Miquel Boada Pàgina 5 de 13
7. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Comprovem amb el botó «Test connection» que la
configuració és correcte. En el cas que ens doni
algun error cal comprovar que el servidor mysql-
server s'està executant. Per a gestionar l'estat del
servidor polsarem sobre el botó OK de la
connexió per poder accedir a les eines de gestió
de MySQL Server disponibles en l'eina. En el
tabulador de «Management» del menú esquerra
de l'eina, en la secció «Instance» tenim la
possibilitat de parar i iniciar el servidor.
L'opció «server status» ubicada en la secció «management» podem comprovar l'estat
del nostre servidor MySQL
Amb la connexió estaberta es pot procedir a crear les nostres bases de dades. Tot i que
l'eina permeti crear bases de dades de forma gràfica, en el nostre cas utilitzarem
directament el llenguatge SQL per a la seva creació.
Video: https://youtu.be/QOQ2XV2n-pk
Autor: Miquel Boada Pàgina 6 de 13
8. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Creació de base de dades en SQL
Per a crear una base de dades ens hem d'ubicar en una finestra de consulta del client
Workbench. L'accés a la pantalla de consulta és el predeterminat després de connectar-
nos en el servidor.
Com es pot observar en l'exemple es pot utilitzar el doble guionet (--) per a fer
comentaris. El doble guionet permet només comentar una única línia. Si es vol
comentar un conjunt de línies es pot utilitzar com a alternativa /* i */ . Totes les línies
incloses entre les dues parelles de símbols seran ignorades pel servidor.
La instrucció per a crear una base de dades és «Create Database» . Una base de dades
és un contenidor on es podran emmagatzemar les taules amb els seus camps i en
última instància les dades o informació per la qual s'ha designat la base de dades.
En l'execució de les instruccions SQL no es diferencia majúscules de minúscules, per
tant, les comandes «create database», «Create Database» o «CREATE DATABASE» són
comandes equivalents.
Sintaxis «Create Database»
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
En el requadre anterior hi ha l'especificació de la sintaxis per l'ordre de crear d'una base
de dades. El primer que cal observar és que hi ha diferents mots, alguns en cursiva i
diferents símbols. Cada símbol i format de lletra es basen en un significat estàndard.
Autor: Miquel Boada Pàgina 7 de 13
9. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Interpretació sintaxis
El llenguatge utilitzat per a indicar la sintaxis d'una comanda és un sistema estàndard
àmpliament utilitzat en informàtica. El seu coneixement ens permet interpretar la
sintaxis de noves comandes com especificacions d'altres comandes (Linux, PHP, …)
Mots obligatoris
Els mots no inclosos entre cap símbol (CREATE i db_name) o inclosos entre claus
(DATABASE i SCHEMA) són mots obligatoris. Els mots en cursiva cal modificar-los pel seu
significat. Així, per exemple, en la sintaxis de la comanda apareix «db_name» en
cursiva: en l'execució de la comanda CREATE substituirem «db_name» pel nom que es
vulgui donar a la nova base de dades. La resta de mots no estan en cursiva i, per tant,
seran literals.
Símbol claus - {}
El símbol de claus s'utilitza per a indicar un conjunt de paraules en el nostre cas el
conjunt de paraules estaria format per: DATABASE i SCHEMA
Símbol de barra - |
Amb el símbol | s'indica que cal escollir un dels mots que separa. En l'exemple utilitzat
per a crear una base de dades ens indica que hem d'escollir entre DATABASE o SCHEMA.
Símbol clàudator - []
Tots els mots que estiguin entre clàudators són opcionals. Per tant, no cal especificar-los
si no precisem de la seva funcionalitat.
Exemple d'execució
Seguint amb els criteris associats a la sintaxis exposats anteriorment es pot deduir que
per a crear una base de dades ho podem fer executant la comanda:
CREATE DATABASE prova;2
o bé
CREATE SCHEMA prova;3
Si es compara l'exemple i la sintaxis de la comanda es pot observar com la resta
d'opcions estan entre claudàtors i, per tant, no són necessaris.
2 Les instruccions no són case-sensitive: podem utilitzar majúscules i minúscules indiferentment
3 La paraula DATABASE i SCHEMA són sinònims: no hi ha cap diferència entre utilitzar una o altra paraula en la creació de la base de
dades.
Autor: Miquel Boada Pàgina 8 de 13
10. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
«Charset» i «Collate»
Quan es crea una base de dades cal tenir en compte quin joc de caràcters s'utilitzarà
per a emmagatzemar la informació. El joc de caràcters en principi cal suposar que serà
diferent si la base de dades s'ha d'utilitzar a la Xina o al Japó que si s'ha d'utilitzar a
Europa.
Per a especificar el joc de caràcters que es vol utilitzar s'utilitzen els arguments
«charset» i «collate». Com es pot observar la seva especificació és opcional. Si s'omet
l'argument s'utilitzarà el joc de caràcters per defecte del sistema gestor de base de
dades4
. Podem consultar aquest joc executant la comanda:
select charset(version()), collation(version());
charset
L'argument «charset» només permet indicar quin «alfabet» o joc de caràcters es vol
utilitzar en la base de dades. Quan s'utilitza aquest argument l'ordenació i comparació
del text es realitza mitjançant el mètode establert per defecte pel «charset» especificat.
Per a veure tots els jocs de caràcters disponibles disposem de la instrucció:
show character set
Per a canviar de forma permanent el charset per defecte cal modificar el fitxer de
configuració de mysql. Si es vol canviar el joc de caràcters de forma temporal es pot
executar la comanda «set names joc-de-caràcters» . Per exemple:
set names 'utf8';
Especifica que utilitzi el joc de caràcters definit com a «utf8».
collate
L'especificació associada a «collate» fa referència tant al joc de caràcters com al
sistema utilitzat per a ordenar o comparar els elements. Amb la clàusula «collate» no
tan sols s'indica quin joc de caràcters utilitzar sinó també quin comportament es desitja
quan es cerqui o s'ordeni la informació en la base de dades. Per exemple, ens pot
interessar que quan es busqui una informació en la base de dades no es diferencïi entre
majúscules i minúscules («case-insensitive») o bé que el context sigui «case-sensitive».
Per a entendre el funcionament de «collate» i «charset» es proposa executar les
següents instruccions.
set names 'utf8';
select 'A'='a','À'='A', 'à'='a', 'é'='e', 'ü'='u';
-- Resultat: 1,1,1,1,1 (1 significa que és cert i 0 (zero) que és fals)
El resultat 1 significa que els dos caràcters (a o e) que es comparen són considerats el
mateix caràcter. Amb el sistema 'utf8', el sistema gestor de base de dades no diferencia
4 Les eines que s'utilitzin per accedir a la base de dades també hauran de suportar el joc de caràcters definit per la base de dades.
Autor: Miquel Boada Pàgina 9 de 13
11. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
les lletres accentuades de les no accentuades5
. Si volem que la nostra base de dades no
sigui sensible als accents seria una bona codificació.
«Charset» i «Collate»: exemples
-- Sense especificar collate, s'assigna el collate associat per defecte al joc de caràcters
set names 'latin1';
select 'A'='a','À'='A', 'à'='a', 'é'='e', 'ü'='u';
-- Resultat: 1,0,0,0,0
-- El «collate» associat per defecte a 'latin1' és case-insensitive. Per aquest motiu, el resultat
-- de les dues execucions és el mateix
set names 'latin1' collate 'latin1_general_ci';
select 'A'='a','À'='A', 'à'='a', 'é'='e', 'ü'='u';
-- Resultat: 1,0,0,0,0
-- Diferenciar majúscules i minúscules (case-sensitive)
set names 'latin1' collate 'latin1_general_cs';
select 'A'='a','À'='A', 'à'='a', 'é'='e', 'ü'='u';
-- Resultat: 0,0,0,0,0
Aplicació «charset» i «collate»
El fet de definir un determinat joc de caràcters «charset» i «collate» per a una base de
dades determina el comportament per defecte de totes les seves taules i camps en
relació a l'ordenació dels caràcters i a la seva comparació. Si és necessari, poden
particularitzar-se aquestes opcions a nivell de taula i de camp en aquells casos
específics que siguin necessaris.
Per exemple, si en una taula hem de guardar un mot clau, és imprescindible que el
gestor de base de dades sigui capaç de comparar aquell camp on es guarda el
«password» utilitzant majúscules de minúscules: independentment de si aquest
comportament és desitjable o no en la resta de camps de la base de dades.
Creació base de dades – Exemples
Create database db1 character set latin1 collate latin1_spanish_ci;
Create database db2 character set latin1;
Create database db3 collate latin1_general_cs;
Create database if not exists db3 collate latin1_general_cs;
Create database db4 default character set=latin1;
Video: https://youtu.be/TZSxtl8Cy3E
Video: https://youtu.be/m_k9Xq1q2ho
Video: https://youtu.be/FURiiQP3Eoo
5 També és insensible a les dièresis com es pot comprovar en l'execució de la comanda.
Autor: Miquel Boada Pàgina 10 de 13
12. Desenvolupament aplicacions multiplataforma (DAM)
Mòdul 2 – Bases de dades - UF2 - llenguatges SQL: DML i DDL
Tema 0 – Introducció . Creació bases de dades
Webgrafia
http://dev.mysql.com/doc/refman/5.7/en/charset-general.html
http://dev.mysql.com/doc/refman/5.7/en/charset-database.html
http://www.tech-recipes.com/rx/55356/dml-ddl-dcl-and-tcl-statements-in-sql-with-
examples/
Autor: Miquel Boada Pàgina 11 de 13