Download Definir la base de datos

Document related concepts

Lenguaje de definición de datos wikipedia , lookup

SQL wikipedia , lookup

Null (SQL) wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Mecanismos de almacenamiento (MySQL) wikipedia , lookup

Transcript
Database Management System (DBMS)
Funciones:
Definir la base de datos: tipos de datos, estructuras y
restricciones.
Construir o cargar la base de datos en un medio de
almacenamiento secundario.
Manipular la base de datos: consultas, generación de
reportes, inserción, eliminación y modificación de su
contenido.
Procesamiento concurrente de un conjunto de usuarios y
programas conservando los datos válidos y consistentes.
Protección y seguridad para prevenir accesos no autorizados.
Procesamiento "activo" para tomar acciones internas sobre
los datos.
Presentación y visualización de los datos.
Los lenguajes del SGBD permitirán al administrador:
•Especificar los datos que componen la BD
•Su estructura
•Las relaciones que existen entre ellos
•Las reglas de integridad
•Los controles de acceso
•Las características de tipo físico
•Las vistas externas de los usuarios
Las instrucciones en SQL O MySQL puede ser
generadas desde una aplicación escrita en un
lenguaje de alto nivel y luego ser procesadas
mediante el SGBD para acceder a la base de
datos física y generar un resultado para ello se
necesitan los lenguajes DDL y DML para
interactuar con la base de datos.
Lenguaje de definición de datos (LDD).
Usado por el administrador y los diseñadores para
especificar el esquema conceptual de la base de datos,
así como esquemas externos, como las vistas de los
usuarios y las estructuras de almacenamiento de las
bases de datos.
DDL Instrucciones SQL para definir datos
ALTER(TABLE, DATABASE)
CREATE(DATABASE,INDEX,TABLE,PROCEDURE,
TRIGGER)
DROP(DATABASE,INDEX,TABLE,PROCEDURE)
RENAME
Lenguaje de manipulación de datos (LMD).
Se utiliza para recuperar y manipular datos de la base
en forma de consultas, inserciones, eliminaciones y
actualizaciones de la BD por los usuarios.
LMD Instrucciones SQL para manipulación de
datos
INSERT
LOADDATALOCAL INFILE
SELECT
UPDATE
COMMIT
ROLLBACK
DELETE
¿Sabes cómo desarrollar el esquema
conceptual de una base de datos?
Implementación de una Base de Datos utilizando un SGBD.
MySQL
•Es un sistema cliente/servidor que se compone de un servidor SQL, varios
programas clientes y bibliotecas, herramientas administrativas, y una gran
variedad de interfaces de programación (APIs).
•Usa el SQL, el cual posee instrucciones de un LDD y LMD.
• Es el servidor de bases de datos relacionales más popular, desarrollado y
proporcionado por MySQL AB(empresa privada que patrocina y posee el
copyright de la mayor parte del código) .
•La parte SQL de "MySQL" significa "Lenguaje Estructurado de Consulta.
•Es Open Source, significa que la persona que quiera puede usar y
modificar MySQL.
•Usa la licencia GPL (Licencia Pública General GNU), para definir qué es lo
que se puede y no se puede hacer con el software para diferentes
situaciones.
•Está escrito en una mezcla de C y C++. Hay un documento que describe
algunas de sus estructuras internas.
TIPOS DE DATOS
tinyint --> 1 byte
smallint --> 2 byte
mediumint --> 3 byte
int --> 4 byte
bigint --> 8 byte
float --> 4 byte
double --> 8 byte
decimal --> variable
char(n) --> cadena de caracteres de
longitud fija
varchar(n) --> cadena de caracteres de
longitud variables
tinyblob --> objeto binario largo (muy
pequeño)
blob --> objeto binario largo (pequeño)
mediumblob --> objeto binario largo
(medio)
longblob --> objeto binario largo
(grande)
tinytext --> cadena de texto muy
pequeña
text --> cadena de texto pequeña
mediumtext --> cadena de texto media
longtext --> cadena de texto larga
enum --> una enumeración
set --> un conjunto
date --> valor fecha (aaaa-mm-dd)
time --> valor de hora (hh-mm-ss)
datetime --> valor de fecha y hora
timestamp --> valor de lapso de tiempo
(aaaammddhhmmss)
year --> valor de año
Crear una BD en caso de que no exista
CREATE DATABASE IF NOT EXISTS base_datos;
Consultar las BD disponibles en el servidor de MyQL
SHOW DATABASES;
Para borrar bases de datos.
DROP DATABASE base_datos;
Selección y uso de la BD
USE base_datos;
Ver la estructura de la tabla.
DESCRIBE tabla;
Ó
SHOW COLUMNS FROM t
abla;
Creación de tablas, defición de columnas, partición y
posibles restricciones
CREATE TABLE usuario
(
id_usuario INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50) NOT NULL,
direccion VARCHAR(50) NOT NULL,
ciudad VARCHAR(20) NOT NULL,
edad TINYINT NOT NULL
);
CREATE TABLE blog (
id_blog INT PRIMARY KEY AUTO_INCREMENT,
id_usuario INT REFERENCES usuario(id_usuario),
titulo VARCHAR(30) NOT NULL
);
Para que no produzca un error si la tabla no existe:
DROP TABLE IF EXISTS tabla;
Para modificar una tabla se utiliza ALTER TABLE que permite cosa
ALTER TABLE tabla ADD COLUMN valor INT;
ALTER table Mproducto add num_pag Int(3)
Eliminar columnas:
ALTER TABLE tabla DROP COLUMN;
Cambiar la definición de las columnas:
ALTER TABLE tabla MODIFY COLUMN valor ;
ALTER table MProducto modify titulo_libro varchar(60)
O renombrar la tabla:
ALTER
Agregar una columna
ALTER table Mproducto add num_pag Int(3)
Si deseamos renombrar titulo a titulo_libro
ALTER table MProducto change titulo titulo_libro varchar(30)
Cambiar el tipo de dato para titulo_libro a 60 caracteres
ALTER table MProducto modify titulo_libro varchar(60)
Para insertar valores en una tabla
INSERT INTO usuario VALUES (1, "Pablo Santander", "Calle B
olivia 18", "Madrid", 17);
Para insertar algunos valores
INSERT INTO usuario(nombre, direccion, ciudad, edad) VAL
UES ("Juan Marmota", "Calle Santiago 23", "Sevilla", 21);
Para insertar varias tuplas
INSERT INTO usuario VALUES
(3, "Marta Marsopa", "Calle Italia 4", "Madrid", 58),
(4, "Jaime Torres", "Avenida de Barcelona 12", "Valladolid" , 3
7), (10, "Juan Martero", "Calle Madrid 12", "Barcelona", 26);
Falta UPDATE