Diferencia entre revisiones de «Usuario:ManuelRomero/php/NewPHP/B2T8/MySql»
(Página creada con «{{:Usuario:ManuelRomero/dwes/B2T8/BasesDatos/nav}} {{BD/Mysql}}») |
|||
Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/dwes/B2T8/BasesDatos/nav}} | {{:Usuario:ManuelRomero/dwes/B2T8/BasesDatos/nav}} | ||
{{BD/Mysql}} | {{BD/Mysql}} | ||
+ | {{BD/Oracle}} |
Última revisión de 17:51 27 abr 2018
Contenido
[ocultar]Mysql
Mysql es un gestor de bases de datos relacional. Actualmente es un producto propietario de la empresa Oracle, y el software correspondiente libre es Maria que en estos momentos funciona exactamente igual que Mysql y con los mismos comandos. (año 2017).
Tener en cuenta la diferencia de la parte del servidor (donde realmente se guardan los datos), y la parte del cliente que es un software que nos ofrece una interfaz de comandos o gráfica y nos permite conectarnos al servidor y gestionar la bases de datos (básicamente enviar sentencias SQL y recoger los resultado).
apt-get install mysql-server mysql-client
Como todos servicio se puede arrancar o parar
service mysql start/stop/restart/status
- El fichero de configuración
/etc/mysql/my.cnf
- Mysql
- En él podemos ver el puerto (3306 por defecto), el usuario y otros parámetros del servicio
[▼]Posible solución |
---|
Mysql desde línea de comandos
Es importante saber manejar la línea de comandos con el cliente mysql. En alguna ocasión puede ser la forma más rápida de obtener información o realizar acciones sobre la base de dados. Para ello debemos de repasar algún comandos. Son pocos, pero hay que conocerlos.
Acciones básicas
- Conectarse a una base de datos en un servidor
mysql -u usuario -ppassword # Si no especificas el passowr, se solicitará # Si lo especificas ha de ir sin ningún espacio entre el parámetro -p
1.- Mostrar las bases de datos
SHOW DATABASES;
2.-Usar una base de datos concreta
USE nombre_base_datos;
3.-Mostrar la descripción de una base de datos (Las tablas que contiene)
DESCRIBE nombre_tabla;
4.-Obtener ayuda de los comandos disponibles
help;
- Por supuesto debemos de poder ejecutar sentencias SQL
5.-Crear una base de datos (Sentencia SQL), y borrarla 6.-Crear una tabla 7.-Crear un usuario y darle permisos 8.-Modificar y borrar una tabla 9.-Insertar, modificar y borrar registros o tuplas 10.-Realizar consultas select
connect -h,-u, -p use database exit o quit help Para conocer los comandos que se pueden usar. http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/es/sql-syntax.html
- Bases de datos
- Vamos a trabajar con un ejemplo de bases de datos de una tienda
[▼]Click para ver el contendio |
---|
- Para la base de datos anterior, vamos a establecer un poblar la BD.
- A continuación el contenido de un sql para poblar la BD
[▼]Click para ver el contenido |
---|
- Recordando mysql
- En la siguiente página puedes hacer un repaso de mysql
http://dev.mysql.com/doc/refman/5.7/en/index.html
- Un manual en castellano
http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/es/
- Debemos conocer también la herramienta phpmyadmin
sudo apt-get install phpmyadmin
- Recordando mysql en la página oficial
http://www.phpmyadmin.net/home_page/index.php
- En el proceso de instalación nos pedirá si queremos configurar la base de datos, decimos que sí
Configure database for phpmyadmin with dbconfig-common? [yes/no] yes
- Especificamos el password para root en phpmyadmin
MySQL application password for phpmyadmin:
Password confirmation:
Especificamos el servidor web para conectarnos a la base de datos
1. apache2 2. lighttpd (Enter the items you want to select, separated by spaces.) Web server to reconfigure automatically: 1
Mysql Interfaz gráfica
Además de línea de comandos también se dispone de varias herramientas gráficas alternativas. Siempre resulta más agradable e intuitivo, pero requiere más recursos y tener instalados aplicaciones concretas.
En windows o con wine en linux podemos probar SQLyog https://www.webyog.com/product/sqlyog, una herramienta intuitiva y de poco peso. No obstante usaremos phpmyadmin, por ser un clásico y de sencillo uso.
sudo apt-get install phpmyadmin
# ln -s /usr/share/phpmyadmin /var/www/phpmyadmin Probamos a conectarnos por phpmyadmin a nuestro servidor local #Escribimos en el url http://ip_contenedor/phpmyadmin
|
- Para la base de datos anterior, vamos a establecer un poblar la BD.
- A continuación el contenido de un sql para poblar la BD
[▼]Click para ver el contenido |
---|
- Otra herramienta importante que permite realizar diseños es workbrench
http://dev.mysql.com/doc/workbench/en/index.html
sudo add-apt-repository ppa:olivier-berten/misc sudo apt-get update sudo apt-get install mysql-workbench
Herramientas de administración
- Con phpmyadmin, podemos hacer casi todo de administrar y manejar las bases de datos
- No obstante mysql proporciona una serie de herramientas que permiten administrar por línea de comandos .
- En muchas ocasiones este tipo de operaciones resultan muy interesantes.
- mysql
- myhsqladmin
- mysqlshow
- mysqladmin
- Es un cliente específico para la administración
- Entre otras acciones podemos realizar:
- crear y eliminar bases de datos.
- mostrar la configuración y el estado del servidor.
- cambiar contraseñas.
- detener un servidor.
- ver la version del servidor
http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/es/mysqladmin.html
- mysqlshow
http://ftp.nchu.edu.tw/MySQL//doc/refman/5.0/es/mysqlshow.html
- muestra información sobre la base de datos
mysqlshow -u root -proot
- Nos mostraría las tablas de ese usuario
Oracle
|
- Sirve para almacenar los datos
- Qué es una base de datos relacional
- Modelo de datos desde Oracle
- Modelo relacional en Oracle
- Modelo relacional en Oracle
- Relación de varias vistas
- Obtener información con SQL
- Setencias SQL
- Entornos para interactuar
JDeveloper
sudo add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
update-alternatives –config java
- Descargamos el fichero a instalar
- Hay que registrarse en oracle (Crear una cuenta)
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
- Descargamos en Other Platforms” y se pincha “Downlad” son 334MB.
- Lo tendremos en “/home/usuario/Descarga”
- Habremos descargado sqldeveloper-4.1.5.21.78-no-jre.zip
- Ahora se trata de descomprimirlo y tenerlo accesible. por ejemplo lo extraeremos en /opt
cd /home/usuario/descarga sudo unzip sqldeveloper-4.1.5.21.78-no-jre.zip -d /opt
- Ahora debemos editar el fichero shell que lanzará el programa de developer
sudo vim /opt/sqldeveloper/sqldeveloper.sh
- Localizar y comentar las sigueintes líneas
!/bin/bash cd “`dirname $0`”/sqldeveloper/bin && bash sqldeveloper $*
- Y las comentamos con # al principio de la línea
#!/bin/bash #cd “`dirname $0`”/sqldeveloper/bin && bash sqldeveloper $*
- Añadimos la siguiente línea
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/ cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $* &
- Y ahora creamos un enlace simbólico para poderlo ejecutar desde la línea de comandos en cualquier ubicación
sudo ln -s /opt/sqldeveloper/sqldeveloper.sh /usr/local/bin/sqldeveloper
Ejecución de JDeveloper
- Escribimos en línea de comandos
sqldeveloper &
(: El & es para que se ejecute en background y tener disponible el terminal)
- Entonces aparece la herramienta.
- Esta aplicación es un cliente que nos va a permitir conectarnos con una base de datos de Oracle
- La base de datos estará en un servidor de bases de datos de oracle.
- Podemos instalarnos una. Oracle deja instalar una versión llamada express para probar
- Aquí puedes ver una forma deinstalarlo para linux
https://jmguimera.blogspot.com.es/2016/08/como-instalar-y-configurar-oracle-11g.html
- Nosotros nos concectaremos a una que hay en el instituto en el servidor 172.30.160.190 (ip privada interna)
- ver imágenes
Creando una base de datos para trabajar
- Especificación del sistema
Vamos a especificar el sistema con el cual vamos a trabajar
Los empleados (EMPLOYEES) trabajan en un departamento. De los empleados se quiere saber la siguiente información EMPLOYEE_ID FIRST_NAME , LAST_NAME , EMAIL , PHONE_, HIRE_DATE , SALARY , COMMISSION_PCT , Puede que algunos empleados no estén asignados a ningún departamento. En Los departamentos (DEPARTMENTS )trabajan los empleados. De cada departamento se quiere saber DEPARTMENT_ID , DEPARTMENT_NAME Cada departamento es gestionado por un empleado. Cada empleado puede tener diferentes tipos de cargos (JOBS). de los JOBS se quiere saber GRADE_LEVEL, LOWEST_SAL , HIGHEST_SAL Se quiere saber todos los trabajos realizados por los empleados . Si un empleado cambia de departamento dentro de un mismo cargo o cambia de cargo dentro de un mismo departamento. Se insertará una nueva fila en esta tabla con la información del antiguo cargo del empleado. Un Empleado va a ser jefe de otros empleados y cada empleado va a tener un jefe. Cada departamento va a tener una dirección (LOCATIONS), De cada localidad se quiere conocer: LOCATION_ID, STREET_ADDRESS , POSTAL_CODE , CITY , STATE_PROVINCE Cada localidad va a pertenecer a una ciudad (COUNTRIES) COUNTRY_ID, COUNTRY_NAME, y cada ciudad va a pertenecer a una region REGION_ID, REGION_NAME
- Diagrama E/R
- Modelo Relacional
- Fichero SQL de creación
[▼]Create.sql |
---|
- Fichero SQL de inserción
[▼]Insert.sql |
---|
[▼]drop.sql |
---|