Estás en: MySql y SQL : Mysql
MYSQL es un servidor de bases de datos.
Es de código abierto y muy potente.
Permite gestionar los accesos de varios usuarios de forma simultánea a la web y gestionar permisos.
Los permisos pueden ir sobre tablas, registros, base de datos.
El lenguaje que utiliza MySql es Sql (Structure Query Languaje).
Es un lenguaje standarizado y exportable a otras estructuras de datos.
Se pueden migrar bases de datos enormes de Access a Mysql y viceversa.
Una base de datos es una estructura que permite guardar información de forma ordenada y gestionarla.
Para ello utiliza un sistema tabular. Se utilizan tablas para guardar los datos relacionados.
Mantiene la integridad de los datos. No permite eliminar registros que se están utilizando en otras tablas.
Modelo relacional de BBDD
Condiciones mínimas a cumplir:
- No deben existir dos registros iguales.
- Cada atributo sólo puede tomar un único valor entre los posibles, es decir, no pueden contener listas.
- El orden de los registros dentro de la tabla y el de los campos, dentro de cada registro, no es determinante.
- El número de registros puede variar.
Tablas maestras son las tablas que no varían mucho (provincias, productos, clientes..). Contienen
los datos estructurales o los principales.
Tablas de movimiento son las que generan o explotan la información de las tablas maestras.
- El número de campos por registro es siempre el mismo. Los cambios afectan a la estructura.
- Los registros han de tener una clave que los identifique de forma unívoca.
Pueden ser un campo o varios. Para ello,se crea un campo que nos asegura que no se van a repetir los datos (en una agenda, podría ser el dni o el cif).
Hay casos en los q hay que establecer 2 campos clave. Ej: BD de un videoclub, se utilizaría el código de cliente, la película y la fecha, porque así se asegura q ese cliente no coge la misma película el mismo día.
- No se deben crear campos que guarden datos calculados. Es mejor calcularlos cuando se muestre la información.
Ejemplo
EMPRESAS VISITAS COMERCIALES NIF cod_comercial cod_comercial Nombre_Comercial NIF Nombre RazonSocial Fecha Apellidos Direccion Observacioens Dirección Telefono Móvil Contacto Fecha_Nacimiento Foto DNI La relación de EMPRESAS -> VISITAS es de 1 a varios La relación de COMERCIAL -> VISITAS es de 1 a varios En la tabla Empresas, el campo NIF es la primary key En la tabla Comerciales, el campo cod_comercial es la primary key En la tabla visitas, los campos cod_comercial y NIF son foreign keys (utilizan campos claves de otras tablas) Si queremos, le podemos poner una primary key a la tabla visitas (cod_visita) No se podría borrar una empresa, puesto que hay visitas generadas con ese código.
Cuando se instala MySql existe un usuario que es root.
Tipos de campos:
NUMERICO
- TinyInt: -128 a 127 ó de 0 a 250
Ocupa muy poco, 1 byte
- Bit o Bool: 0 ó 1
- SmallInt: -32768 a 32767 ó 0 a 65.535
- MediumInt
- Integer
- BigInt
- Float: Número pequeño en coma flotante
- xReal, Double
- Decimal, Dec, Numeric
FECHA
- Date: Formato año-mes-dia
- DateTime: Formato año-mes-dia horas:minutos:segundos
- TimeStamp: Tanto la fecha como la hora, la junta en una sola cifra. Se puede utilizar como campo clave
- Time: HH:MM:SS
- Year
CADENA
- Char es fijo
- Varchar es variable. Limita hasta 10, pero si sólo insertamos 2 caracteres, no reserva hasta 10.
Se utiliza mucho, porque no desperdicia espacio.
- TynyText y TinyBlob
- Blob y Text
- Mediumblob y MediumText
- LongBlob y LongText
- Enum
- Set
Para administrar las bases de datos, vamos a utilizar phpMyAdmin.
Para abirlo, sobre la E de Easyphp, botón derecho / Configuración / PHP Myadmin
Ejemplo
Crear la base de datos Agenda:
Crear tabla t_agenda nombre: varchar de 30 apellido: varchar de 50 telefono: varchar de 9 fecha: date (no hay que poner longitud)
La opción Insertar: para meter datos
Para insertar un nuevo campo, seleccionar a la izquierda la tabla agenda y decirle que lo inserte al comienzo
cod_agenda: int ... al final, poner autoincrement en Extra.
Seleccionar el campo clave Primaria
Para listar los datos,pulsar el icono pequeñito que está en la columna izquierda, al lado del nombre de la tabla
IMPORTAR UNA BASE DE DATOS
En el PhpMyadmin, pinchar en la casita de la columna de la izquierda y crear la BD paises.
En la opción SQL, examinar para localizar el fichero.
- Compresión: autodetecte ??
- Juego de caracteres: UTF-8
Se puede hacer un sql para cada fichero que tengamos.
EXPORTAR UNA BASE DE DATOS
Seleccionar la base de datos paises
Opción Exportar
Seleccionar las 2 tablas
SQL
En la columna de la derecha:
Estructura: Con los valores q viene por defecto suele ser suficiente.
Suele ser interesante marcar: Añadir Drop Table y Añada en caso de no existir
DROP TABLE: Si ya existía una tabla la borra y la crea
Marcar: Enviar (genera un archivo descargable) y ponerle nombre
Compresión: Ninguna
Continuar y guardarlo