SlideShare a Scribd company logo
Instal·lació MySQL
server
Create database
Charset
Collation
Miquel Boada
25-11-2016
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
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
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
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
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
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
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
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
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
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
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

More Related Content

Viewers also liked

How to prevent suggested videos in youtube
How to prevent suggested videos in youtubeHow to prevent suggested videos in youtube
How to prevent suggested videos in youtube
Ruth Germano
 
Sample Onboarding Survey - Enterprise
Sample Onboarding Survey - EnterpriseSample Onboarding Survey - Enterprise
Sample Onboarding Survey - Enterprise
tydy
 
070613 Managing P6 Database Security Using RMC
070613 Managing P6 Database Security Using RMC070613 Managing P6 Database Security Using RMC
070613 Managing P6 Database Security Using RMC
PM SOLUTION PRO| Risk-based Management and Services Inc.
 
Public Key Cryptosystem
Public Key CryptosystemPublic Key Cryptosystem
Public Key Cryptosystem
Devakumar Kp
 
Street Light Automation, Controlling and Monitoring
Street Light Automation, Controlling and MonitoringStreet Light Automation, Controlling and Monitoring
Street Light Automation, Controlling and Monitoring
Devakumar Kp
 
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKSROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
Devakumar Kp
 
技術文書を書く際の、心技体
技術文書を書く際の、心技体技術文書を書く際の、心技体
技術文書を書く際の、心技体
Takahiro Kubo
 

Viewers also liked (7)

How to prevent suggested videos in youtube
How to prevent suggested videos in youtubeHow to prevent suggested videos in youtube
How to prevent suggested videos in youtube
 
Sample Onboarding Survey - Enterprise
Sample Onboarding Survey - EnterpriseSample Onboarding Survey - Enterprise
Sample Onboarding Survey - Enterprise
 
070613 Managing P6 Database Security Using RMC
070613 Managing P6 Database Security Using RMC070613 Managing P6 Database Security Using RMC
070613 Managing P6 Database Security Using RMC
 
Public Key Cryptosystem
Public Key CryptosystemPublic Key Cryptosystem
Public Key Cryptosystem
 
Street Light Automation, Controlling and Monitoring
Street Light Automation, Controlling and MonitoringStreet Light Automation, Controlling and Monitoring
Street Light Automation, Controlling and Monitoring
 
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKSROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
ROLE OF MICROWAVE PHOTONICS IN REALIZING 5G NETWORKS
 
技術文書を書く際の、心技体
技術文書を書く際の、心技体技術文書を書く際の、心技体
技術文書を書く際の、心技体
 

Similar to Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dades i joc de caràcters.

Presentació de MySQL
Presentació de MySQLPresentació de MySQL
Presentació de MySQL
Roger Casadejús Pérez
 
Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.
Miquel Boada Artigas
 
Presentació de Microsoft SQL server 2012
Presentació de Microsoft SQL server 2012Presentació de Microsoft SQL server 2012
Presentació de Microsoft SQL server 2012
Roger Casadejús Pérez
 
Presentació del servidor Apache
Presentació del servidor ApachePresentació del servidor Apache
Presentació del servidor Apache
Roger Casadejús Pérez
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Xavier Herrero
 
Sistemes gestors de bases de dades
Sistemes gestors de bases de dadesSistemes gestors de bases de dades
Sistemes gestors de bases de dades
Miquel Boada Artigas
 
J2EE
J2EEJ2EE
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
Miquel Boada Artigas
 
Exchange manage cloud: Daniel Fernández
Exchange manage cloud: Daniel FernándezExchange manage cloud: Daniel Fernández
Exchange manage cloud: Daniel Fernández
Nexica
 
Itineraris IT Academy (2020)
Itineraris IT Academy (2020)Itineraris IT Academy (2020)
Itineraris IT Academy (2020)
Barcelona Activa
 
ARSO-M2: Administracio de Servidors - Resum
ARSO-M2: Administracio de Servidors -  ResumARSO-M2: Administracio de Servidors -  Resum
ARSO-M2: Administracio de Servidors - ResumAurora Lara Marin
 
Presentació d'Owncloud
Presentació d'OwncloudPresentació d'Owncloud
Presentació d'Owncloud
Roger Casadejús Pérez
 
ARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioAurora Lara Marin
 
Tema1
Tema1Tema1
Tema1
carlossg00
 
Model client servidor
Model client servidor Model client servidor
Model client servidor
Lromerolem
 
Model client servidor
Model client servidorModel client servidor
Model client servidor
txell12
 
Creació de taules amb integritat referencial.
Creació de taules amb integritat referencial.Creació de taules amb integritat referencial.
Creació de taules amb integritat referencial.
Miquel Boada Artigas
 
Instalacion de Active Directory
Instalacion de Active DirectoryInstalacion de Active Directory
Instalacion de Active Directory
syed usman ali shah
 

Similar to Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dades i joc de caràcters. (20)

Asix act3v4
Asix act3v4Asix act3v4
Asix act3v4
 
Presentació de MySQL
Presentació de MySQLPresentació de MySQL
Presentació de MySQL
 
Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.Tema 01 - Creació de taules amb SQL.
Tema 01 - Creació de taules amb SQL.
 
Presentació de Microsoft SQL server 2012
Presentació de Microsoft SQL server 2012Presentació de Microsoft SQL server 2012
Presentació de Microsoft SQL server 2012
 
Presentació del servidor Apache
Presentació del servidor ApachePresentació del servidor Apache
Presentació del servidor Apache
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Sistemes gestors de bases de dades
Sistemes gestors de bases de dadesSistemes gestors de bases de dades
Sistemes gestors de bases de dades
 
J2EE
J2EEJ2EE
J2EE
 
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
Consultes amb múltiples taules utilitzant left, right i inner join. Funcionam...
 
Exchange manage cloud: Daniel Fernández
Exchange manage cloud: Daniel FernándezExchange manage cloud: Daniel Fernández
Exchange manage cloud: Daniel Fernández
 
Itineraris IT Academy (2020)
Itineraris IT Academy (2020)Itineraris IT Academy (2020)
Itineraris IT Academy (2020)
 
ARSO-M2: Administracio de Servidors - Resum
ARSO-M2: Administracio de Servidors -  ResumARSO-M2: Administracio de Servidors -  Resum
ARSO-M2: Administracio de Servidors - Resum
 
Presentació d'Owncloud
Presentació d'OwncloudPresentació d'Owncloud
Presentació d'Owncloud
 
ARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - Guio
 
Tema1
Tema1Tema1
Tema1
 
Model client servidor
Model client servidor Model client servidor
Model client servidor
 
Model client servidor
Model client servidorModel client servidor
Model client servidor
 
Creació de taules amb integritat referencial.
Creació de taules amb integritat referencial.Creació de taules amb integritat referencial.
Creació de taules amb integritat referencial.
 
Instalacion de Active Directory
Instalacion de Active DirectoryInstalacion de Active Directory
Instalacion de Active Directory
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

More from Miquel Boada Artigas

Configuracio servei dns_linux
Configuracio servei dns_linuxConfiguracio servei dns_linux
Configuracio servei dns_linux
Miquel Boada Artigas
 
Configuracio servei dns Windows
Configuracio servei dns WindowsConfiguracio servei dns Windows
Configuracio servei dns Windows
Miquel Boada Artigas
 
Configuració d'un sistema d'auditoria amb Windows Server
Configuració d'un sistema d'auditoria amb Windows ServerConfiguració d'un sistema d'auditoria amb Windows Server
Configuració d'un sistema d'auditoria amb Windows Server
Miquel Boada Artigas
 
Monitorització en sistemes informàtics. Windows i Linux.
Monitorització en sistemes informàtics. Windows i Linux.Monitorització en sistemes informàtics. Windows i Linux.
Monitorització en sistemes informàtics. Windows i Linux.
Miquel Boada Artigas
 
LLenguatge SQL. Consultes utilitzant having
LLenguatge SQL. Consultes utilitzant havingLLenguatge SQL. Consultes utilitzant having
LLenguatge SQL. Consultes utilitzant having
Miquel Boada Artigas
 
LLenguatge SQL. Consultes amb agrupació de files.
LLenguatge SQL. Consultes amb agrupació de files. LLenguatge SQL. Consultes amb agrupació de files.
LLenguatge SQL. Consultes amb agrupació de files.
Miquel Boada Artigas
 
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
Miquel Boada Artigas
 
Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.
Miquel Boada Artigas
 
Model relacional i normalització
Model relacional i normalitzacióModel relacional i normalització
Model relacional i normalització
Miquel Boada Artigas
 
Transformació model entitat-relació al model relacional
Transformació model entitat-relació al model relacionalTransformació model entitat-relació al model relacional
Transformació model entitat-relació al model relacional
Miquel Boada Artigas
 
Model entitat relació extès (Extended Entity Relationship)
Model entitat relació extès (Extended Entity Relationship)Model entitat relació extès (Extended Entity Relationship)
Model entitat relació extès (Extended Entity Relationship)
Miquel Boada Artigas
 
Model entitat relació (ER)
Model entitat relació (ER)Model entitat relació (ER)
Model entitat relació (ER)
Miquel Boada Artigas
 
Introducció bases de dades distribuides
Introducció bases de dades distribuidesIntroducció bases de dades distribuides
Introducció bases de dades distribuides
Miquel Boada Artigas
 
Emmagatzematge de la informació
Emmagatzematge de la informacióEmmagatzematge de la informació
Emmagatzematge de la informació
Miquel Boada Artigas
 
Història de les bases de dades
Història de les bases de dadesHistòria de les bases de dades
Història de les bases de dades
Miquel Boada Artigas
 
Model relacional i formes normals
Model relacional i formes normalsModel relacional i formes normals
Model relacional i formes normals
Miquel Boada Artigas
 
Entity-Relationship Model - Model Entitat Relació (ER)
Entity-Relationship Model - Model Entitat Relació (ER)Entity-Relationship Model - Model Entitat Relació (ER)
Entity-Relationship Model - Model Entitat Relació (ER)
Miquel Boada Artigas
 
Introducció a les bases de dades
Introducció a les bases de dadesIntroducció a les bases de dades
Introducció a les bases de dades
Miquel Boada Artigas
 

More from Miquel Boada Artigas (18)

Configuracio servei dns_linux
Configuracio servei dns_linuxConfiguracio servei dns_linux
Configuracio servei dns_linux
 
Configuracio servei dns Windows
Configuracio servei dns WindowsConfiguracio servei dns Windows
Configuracio servei dns Windows
 
Configuració d'un sistema d'auditoria amb Windows Server
Configuració d'un sistema d'auditoria amb Windows ServerConfiguració d'un sistema d'auditoria amb Windows Server
Configuració d'un sistema d'auditoria amb Windows Server
 
Monitorització en sistemes informàtics. Windows i Linux.
Monitorització en sistemes informàtics. Windows i Linux.Monitorització en sistemes informàtics. Windows i Linux.
Monitorització en sistemes informàtics. Windows i Linux.
 
LLenguatge SQL. Consultes utilitzant having
LLenguatge SQL. Consultes utilitzant havingLLenguatge SQL. Consultes utilitzant having
LLenguatge SQL. Consultes utilitzant having
 
LLenguatge SQL. Consultes amb agrupació de files.
LLenguatge SQL. Consultes amb agrupació de files. LLenguatge SQL. Consultes amb agrupació de files.
LLenguatge SQL. Consultes amb agrupació de files.
 
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
Consultes simples mitjançant llenguatge SQL. Filtres, ordenació i aplicació d...
 
Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.Creació de base de dades utilitzant llenguatge SQL.
Creació de base de dades utilitzant llenguatge SQL.
 
Model relacional i normalització
Model relacional i normalitzacióModel relacional i normalització
Model relacional i normalització
 
Transformació model entitat-relació al model relacional
Transformació model entitat-relació al model relacionalTransformació model entitat-relació al model relacional
Transformació model entitat-relació al model relacional
 
Model entitat relació extès (Extended Entity Relationship)
Model entitat relació extès (Extended Entity Relationship)Model entitat relació extès (Extended Entity Relationship)
Model entitat relació extès (Extended Entity Relationship)
 
Model entitat relació (ER)
Model entitat relació (ER)Model entitat relació (ER)
Model entitat relació (ER)
 
Introducció bases de dades distribuides
Introducció bases de dades distribuidesIntroducció bases de dades distribuides
Introducció bases de dades distribuides
 
Emmagatzematge de la informació
Emmagatzematge de la informacióEmmagatzematge de la informació
Emmagatzematge de la informació
 
Història de les bases de dades
Història de les bases de dadesHistòria de les bases de dades
Història de les bases de dades
 
Model relacional i formes normals
Model relacional i formes normalsModel relacional i formes normals
Model relacional i formes normals
 
Entity-Relationship Model - Model Entitat Relació (ER)
Entity-Relationship Model - Model Entitat Relació (ER)Entity-Relationship Model - Model Entitat Relació (ER)
Entity-Relationship Model - Model Entitat Relació (ER)
 
Introducció a les bases de dades
Introducció a les bases de dadesIntroducció a les bases de dades
Introducció a les bases de dades
 

Recently uploaded

INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdfINFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
Ernest Lluch
 
Exhibició pública - Programa de mà - 2324 3T
Exhibició pública - Programa de mà - 2324 3TExhibició pública - Programa de mà - 2324 3T
Exhibició pública - Programa de mà - 2324 3T
Institut-Escola Les Vinyes
 
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
MaraZiga15
 
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdfMenú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Ernest Lluch
 
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsViceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Daniel Fernández
 
Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..
EireLanezMartnez
 
Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25
SuperAdmin9
 
poemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdfpoemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdf
MnicaFerri1
 

Recently uploaded (8)

INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdfINFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
 
Exhibició pública - Programa de mà - 2324 3T
Exhibició pública - Programa de mà - 2324 3TExhibició pública - Programa de mà - 2324 3T
Exhibició pública - Programa de mà - 2324 3T
 
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
 
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdfMenú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
 
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsViceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
 
Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..
 
Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25
 
poemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdfpoemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdf
 

Instal·lació MySQL Server i Workbench. Creació de base de dades. Tipus de dades i joc de caràcters.

  • 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