Diseño físico
de Base de Datos
Por: Jesús Canales
Recordar es volver a vivir...
● Definir bien los requisitos
● Desarrollar objetivos específicos para la base de datos
● Conocer el negocio utilizando diversas técnicas
● Cree una lista inicial de elementos de datos que
deberán almacenarse en la base de datos
Recordar es volver a vivir...
● Organiza elementos en tablas para crear el modelo
● Agregue campos adicionales para respaldar un buen
diseño relacional
● Considere nombrar convenciones, tipos de datos y
restricciones.
Demo
Modelo: Ventas
MySql
¿Qué es MySql?
Es uno de los sistemas de gestión de bases de datos de
código abierto más utilizados en el mundo.
En 2008, Sun Microsystems compró MySQL y, en 2010,
Oracle compró Sun Microsystems, incluido MySQL.
¿Qué es MySql?
Utiliza un modelo de Cliente-Servidor.
Utiliza el Lenguaje de Consulta Estructurado SQL para
definir, actualizar y consultar la base de datos.
Instalar MySql
● XAMPP
● phpMyAdmin
● Mysql Workbench
● Editor de código, ejemplo Visual Code
Conectarse a MySQL
● Iniciar los servicios en XAMPP
● Conectarse a través de la consola de Windows
● Conectarse a través de MySql Workbench
● Conectarse a través de Visual Studio Code
DEMO
Ejecuta e iniciar
los servicios
desde el panel de
control de XAMPP
Acceder a MySql
desde Consola de
Windows
● Ejecutar la consola de Windows
● Acceder a: C:xamppmysqlbin
● Ejecutar: mysql -u root -p
● Ingresar password de usuario
● Verificar el prompt de bd
● Listar BD: SHOW DATABASES;
Acceder a MySql
desde Workbench
● Ejecutar MySQL Workbench
● Agregamos una nueva conexión
● Definimos un nombre de conexión
● Verificamos el host, puerto y
username
● Validamos con un test de
conexión
● Clic en OK
Acceder a MySql
desde Workbench
Listar base de
datos del servidor
con MySQL
Workbench
Conexión desde
Microsoft Visual
Studio Code
● Ejecutar Visual Studio Code
● Crear y guardar un nuevo
archivo con el nombre: script.sql
● Instalar la extensión MySQL de
Jun Han
● Cerrar y volver abrir Visual Code
● Agregar nueva conexión desde
el panel MYSQL, ubicado al lado
izquierdo
Conexión desde
Microsoft Visual
Studio Code
Conexión desde
Microsoft Visual
Studio Code
● Ingresar host: localhost
● Ingresar user: root
● Ingresar password: ####
● Verificar puerto de conexión
● Opcional verificar SSL (pulse enter)
Conexión desde
Microsoft Visual
Studio Code
SQL
Structured Query Language
¿Qué es SQL?
● Fue creado por IBM en 1981
● Permite manipular conjuntos de datos
● Típicamente trabaja con base de datos relacionales
● Cumple estándares ANSI e ISO desde 1987
Instrucciones SQL
● Data Manipulation Language (DML)
● Data Definition Language (DDL)
● Data Control Language (DCL)
DDL
Son utilizadas para la creación y modificación de una
base de datos y todos sus componentes: tablas, índices,
relaciones, disparadores (triggers), procedimientos
almacenados, etc.
Operaciones con DDL
● CREATE -> crear
● ALTER -> alterar o modificar
● DROP -> eliminar
● TRUNCATE -> eliminar los datos de una tabla
Base de datos
Operaciones con Base de Datos
Crear una base de datos
Y si la base de datos ya
existe…
Eliminar una base de datos
Y si la base de datos no
existe...
CREATE DATABASE Ventas;
CREATE DATABASE IF NOT EXISTS
Ventas;
DROP DATABASE Ventas;
DROP DATABASE IF NOT EXISTS Ventas;
Operaciones con Base de Datos
Crear base de datos y definir
el character set
Listar base de datos
Poner en uso la base de datos
Ver base de datos activa
CREATE DATABASE IF NOT EXISTS
Ventas DEFAULT CHARACTER SET utf8;
SHOW DATABASES;
SHOW SCHEMAS;
USE Ventas;
SELECT DATABASE();
Archivos de base de datos
Los datos de cada base de datos se almacenan en una
carpeta con su nombre, y conforme al tipo de tabla se
almacenan en archivos ubicados en: C:xamppmysqldata
con las siguientes extensiones:
Archivos de base de datos
db.opt – archivo donde se almacenan características de base de
datos indicadas en el proceso de su creación
.frm – archivo de estructura de tablas
.myd – archivo donde se almacenan los datos de tablas MyISAM
.myi – archivo donde se almacenan los índices de tablas MyISAM
.ibd – archivo donde se almacenan datos e índices de tablas
InnoDB.
Tablas
Crear Tabla
Sintaxis:
CREATE TABLE name_table
(
name_field data_type restricción,
name_field data_type restricción,
name_field data_type restricción,
CONSTRAINT name_PK PRIMARY KEY (name_field)
);
Tabla: Cliente
CREATE TABLE Cliente
(
idCliente VARCHAR(6),
nomCliente VARCHAR(125) NOT NULL,
apeCliente VARCHAR(125) NOT NULL,
ciudCliente VARCHAR(100) NOT NULL,
CONSTRAINT idCliente_PK PRIMARY KEY (idCliente)
);
Gestión de tablas
Listado de tablas de una BD.
Ver estructura de una tabla
Agregar campo a tabla
Eliminar campo de tabla
SHOW TABLES;
SHOW COLUMNS IN Cliente;
ALTER TABLE Cliente
ADD FecNacCliente DATE;
ALTER TABLE Cliente
DROP COLUMN ciudCliente;
Gestión de tablas
Cambiar tipo de dato a una
columna
Establecer valor auto
incrementable en campo
Renombrar tabla de la BD
Eliminar tabla de BD
ALTER TABLE Cliente CHANGE
FecNacCliente FecNacCliente varchar(10);
ALTER TABLE Orden CHANGE idOrden
idOrden INT AUTO_INCREMENT;
ALTER TABLE Cliente RENAME
Comprador;
DROP TABLE Cliente;
Relacionando tablas
Relacionando tabla Orden
con Cliente
Eliminar relación de tabla
Orden con tabla Cliente
ALTER TABLE Orden
ADD CONSTRAINT idCliente FOREIGN
KEY (idCliente) REFERENCES cliente
(idCliente);
ALTER TABLE Orden
DROP FOREIGN KEY idCliente;
Lab.
GRACIAS TOTALES!!!!

Diseño físico de base de datos - Part I

  • 1.
    Diseño físico de Basede Datos Por: Jesús Canales
  • 2.
    Recordar es volvera vivir... ● Definir bien los requisitos ● Desarrollar objetivos específicos para la base de datos ● Conocer el negocio utilizando diversas técnicas ● Cree una lista inicial de elementos de datos que deberán almacenarse en la base de datos
  • 3.
    Recordar es volvera vivir... ● Organiza elementos en tablas para crear el modelo ● Agregue campos adicionales para respaldar un buen diseño relacional ● Considere nombrar convenciones, tipos de datos y restricciones.
  • 4.
  • 5.
  • 6.
  • 7.
    ¿Qué es MySql? Esuno de los sistemas de gestión de bases de datos de código abierto más utilizados en el mundo. En 2008, Sun Microsystems compró MySQL y, en 2010, Oracle compró Sun Microsystems, incluido MySQL.
  • 8.
    ¿Qué es MySql? Utilizaun modelo de Cliente-Servidor. Utiliza el Lenguaje de Consulta Estructurado SQL para definir, actualizar y consultar la base de datos.
  • 9.
    Instalar MySql ● XAMPP ●phpMyAdmin ● Mysql Workbench ● Editor de código, ejemplo Visual Code
  • 10.
    Conectarse a MySQL ●Iniciar los servicios en XAMPP ● Conectarse a través de la consola de Windows ● Conectarse a través de MySql Workbench ● Conectarse a través de Visual Studio Code
  • 11.
  • 12.
    Ejecuta e iniciar losservicios desde el panel de control de XAMPP
  • 13.
    Acceder a MySql desdeConsola de Windows ● Ejecutar la consola de Windows ● Acceder a: C:xamppmysqlbin ● Ejecutar: mysql -u root -p ● Ingresar password de usuario ● Verificar el prompt de bd ● Listar BD: SHOW DATABASES;
  • 14.
    Acceder a MySql desdeWorkbench ● Ejecutar MySQL Workbench ● Agregamos una nueva conexión ● Definimos un nombre de conexión ● Verificamos el host, puerto y username ● Validamos con un test de conexión ● Clic en OK
  • 15.
  • 16.
    Listar base de datosdel servidor con MySQL Workbench
  • 17.
    Conexión desde Microsoft Visual StudioCode ● Ejecutar Visual Studio Code ● Crear y guardar un nuevo archivo con el nombre: script.sql ● Instalar la extensión MySQL de Jun Han ● Cerrar y volver abrir Visual Code ● Agregar nueva conexión desde el panel MYSQL, ubicado al lado izquierdo
  • 18.
  • 19.
    Conexión desde Microsoft Visual StudioCode ● Ingresar host: localhost ● Ingresar user: root ● Ingresar password: #### ● Verificar puerto de conexión ● Opcional verificar SSL (pulse enter)
  • 20.
  • 21.
  • 22.
    ¿Qué es SQL? ●Fue creado por IBM en 1981 ● Permite manipular conjuntos de datos ● Típicamente trabaja con base de datos relacionales ● Cumple estándares ANSI e ISO desde 1987
  • 23.
    Instrucciones SQL ● DataManipulation Language (DML) ● Data Definition Language (DDL) ● Data Control Language (DCL)
  • 24.
    DDL Son utilizadas parala creación y modificación de una base de datos y todos sus componentes: tablas, índices, relaciones, disparadores (triggers), procedimientos almacenados, etc.
  • 25.
    Operaciones con DDL ●CREATE -> crear ● ALTER -> alterar o modificar ● DROP -> eliminar ● TRUNCATE -> eliminar los datos de una tabla
  • 26.
  • 27.
    Operaciones con Basede Datos Crear una base de datos Y si la base de datos ya existe… Eliminar una base de datos Y si la base de datos no existe... CREATE DATABASE Ventas; CREATE DATABASE IF NOT EXISTS Ventas; DROP DATABASE Ventas; DROP DATABASE IF NOT EXISTS Ventas;
  • 28.
    Operaciones con Basede Datos Crear base de datos y definir el character set Listar base de datos Poner en uso la base de datos Ver base de datos activa CREATE DATABASE IF NOT EXISTS Ventas DEFAULT CHARACTER SET utf8; SHOW DATABASES; SHOW SCHEMAS; USE Ventas; SELECT DATABASE();
  • 29.
    Archivos de basede datos Los datos de cada base de datos se almacenan en una carpeta con su nombre, y conforme al tipo de tabla se almacenan en archivos ubicados en: C:xamppmysqldata con las siguientes extensiones:
  • 30.
    Archivos de basede datos db.opt – archivo donde se almacenan características de base de datos indicadas en el proceso de su creación .frm – archivo de estructura de tablas .myd – archivo donde se almacenan los datos de tablas MyISAM .myi – archivo donde se almacenan los índices de tablas MyISAM .ibd – archivo donde se almacenan datos e índices de tablas InnoDB.
  • 31.
  • 32.
    Crear Tabla Sintaxis: CREATE TABLEname_table ( name_field data_type restricción, name_field data_type restricción, name_field data_type restricción, CONSTRAINT name_PK PRIMARY KEY (name_field) );
  • 33.
    Tabla: Cliente CREATE TABLECliente ( idCliente VARCHAR(6), nomCliente VARCHAR(125) NOT NULL, apeCliente VARCHAR(125) NOT NULL, ciudCliente VARCHAR(100) NOT NULL, CONSTRAINT idCliente_PK PRIMARY KEY (idCliente) );
  • 34.
    Gestión de tablas Listadode tablas de una BD. Ver estructura de una tabla Agregar campo a tabla Eliminar campo de tabla SHOW TABLES; SHOW COLUMNS IN Cliente; ALTER TABLE Cliente ADD FecNacCliente DATE; ALTER TABLE Cliente DROP COLUMN ciudCliente;
  • 35.
    Gestión de tablas Cambiartipo de dato a una columna Establecer valor auto incrementable en campo Renombrar tabla de la BD Eliminar tabla de BD ALTER TABLE Cliente CHANGE FecNacCliente FecNacCliente varchar(10); ALTER TABLE Orden CHANGE idOrden idOrden INT AUTO_INCREMENT; ALTER TABLE Cliente RENAME Comprador; DROP TABLE Cliente;
  • 36.
    Relacionando tablas Relacionando tablaOrden con Cliente Eliminar relación de tabla Orden con tabla Cliente ALTER TABLE Orden ADD CONSTRAINT idCliente FOREIGN KEY (idCliente) REFERENCES cliente (idCliente); ALTER TABLE Orden DROP FOREIGN KEY idCliente;
  • 37.
  • 38.