Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Matricula:

Grupo: K103

Bases de datos II.

Dr. Juan Manuel Amezcua Ortega.

Actividad 1. Lenguaje de definición de datos.

12/02/24
Ejercicio:

un ejemplo de cómo crear un diagrama de base de datos con cuatro tablas utilizando el
tipo de tabla MyISAM y el motor de almacenamiento InnoDB, con llaves primarias y
foráneas y seis tipos de datos diferentes.

create databasse Negocio0;


use Negocio0;

create table Clientes

IdClientes int primary key not null,

Nombres varchar (50),

email Varchar (100),

telefono Varchar (20)

);

create table Pedidos

IdPedidos int primary key not null,

Fecha date,

IdCliente int,

Total decimal (10.2)

);

create table Productos (

IdProductos int primary key not null,

Nombre varchar(50),

Precio decimal(10.2),

Stock int

);

create table Detalles


(

IdDetalles int primary key not null,

IdPedidos int,

IdProductos int,

Cantidad int

);

Cada tabla debe tener su propio "CREATE TABLE" con las columnas correspondientes y
sus tipos de datos adecuados. También se deben definir las llaves primarias y foráneas
utilizando las cláusulas "PRIMARY KEY" y "FOREIGN KEY" respectivamente.

Es importante mencionar que el uso de MyISAM y InnoDB es una elección personal y


depende de los requisitos específicos de cada proyecto.

A continuación, muestro un ejemplo de cómo podrías crear un esquema en MySQL con


los aspectos mencionados:

create database ejemplo;

-- Utilizamos la base de datos


use ejemplo;

-- Creación de tablas tipo MyISAM

create table clientes (

id_cliente int primary key auto_increment,

nombre varchar(50),

correo varchar(50)

) engine=MyISAM;

create table productos (

id_producto int primary key auto_increment,

nombre varchar(50),

precio decimal(10, 2)

) engine=MyISAM;

-- Creación de tablas tipo InnoDB

create table pedidos (

id_pedido int primary key auto_increment,

id_cliente int,

fecha_pedido date,

foreign key (id_cliente) references clientes(id_cliente)

) engine=InnoDB;

create table items_pedido (


id_item int primary key auto_increment,

id_pedido int,

id_producto int,

cantidad int,

foreign key (id_pedido) references pedidos(id_pedido),

foreign key (id_producto) references productos(id_producto)

) engine=InnoDB;

En el ejemplo anterior, se creó una base de datos llamada "ejemplo" y se utilizaron


diferentes tablas con distintos motores de almacenamiento. Además, se definieron llaves
primarias y foráneas para establecer relaciones entre las tablas. También se utilizaron
diferentes tipos de datos, como `INT`, `VARCHAR`, `DECIMAL` y `DATE`. Además, he
usado llaves primarias y llaves foráneas para establecer las relaciones entre las tablas.

Espero que este ejemplo también sea sea útil.

-- Crear las tablas tipo MyISAM

create table clientes (

id_cliente int primary key auto_increment,

nombre varchar (100),

direccion varchar (200),

telefono varchar (20)

) engine=MyISAM;

create table productos (

id_producto int primary key auto_increment,

nombre varchar (100),

precio float,
stock int

) engine=MyISAM;

-- Crear las tablas tipo InnoDB

create table ventas (

id_venta int primary key auto_increment,

id_cliente int,

fecha_venta date,

total FLOAT,

foreign key (id_cliente) references clientes(id_cliente)

) engine=InnoDB;

create tabel detalle_venta (

id_venta INT,

id_producto INT,

cantidad INT,

foreign key (id_venta) references ventas(id_venta),

foreign key (id_producto) references productos(id_producto)

) engine=InnoDB;

En este ejemplo, he creado cuatro tablas: `clientes` y `productos` como tablas tipo
MyISAM, y `ventas` y `detalle_venta` como tablas tipo InnoDB. Cada tabla tiene sus
respectivas llaves primarias y se han creado llaves foráneas para establecer relaciones
entre las tablas. También se han utilizado al menos seis tipos de datos diferentes, como
`INT`, `VARCHAR`, `FLOAT`, `DATE`.
Para definir los usuarios en MySQL con diferentes permisos, necesitarás utilizar
comandos SQL. Aquí tienes un ejemplo de cómo hacerlo:

1. Ingresar al servidor de MySQL:

mysql -u root -p

Crear los usuarios:


create user 'usuario1'@'localhost' identified by 'contrasena1';

create user 'usuario2'@'localhost' identified by 'contrasena2';

create user 'usuario3'@'localhost' identified by 'contrasena3';

create user 'usuario4'@'localhost' identified by 'contrasena4';

Dar los permisos a cada usuario:

a) Usuario 1 (solo consulta):

grant select on Negocio0.* to 'usuario1'@'localhost';

b) Usuario 2 (insertar y consultar):

grant insert, select on Negocio0.* to 'usuario2'@'localhost';

c) Usuario 3 (eliminar y consultar):

grant delete, select on Negocio0.* to 'usuario3'@'localhost';

d) Usuario 4 (todos los demás permisos):

grant all privileges on Negocio0.* to 'usuario4'@'localhost';

4. Actualizar los privilegios:

flush privileges;
Referencias:

Gilfillan, lan. (2009. “Tipos de datos y tipos de tablas” en la biblia de MySQL, Madrid:
Anaya Multimedia, pp. 85 – 117.

Silberschatz Abraham. (2002). “Lenguaje de definición de datos” en fundamentos de


bases de daos. Madrid: McGraw-Hill, pp. 106 – 109.

Reference Manual. (2011). “Crear y utilizar una base de datos” en MySQL 5.0 Reference
Manual, dev.sql, pp. 130 - 134.

Creación y gestión de usuarios MySQL, link: https://www.youtube.com/watch?


v=8cbSZ7i7w7Q

Crear tablas en Mysql Workbench, link: https://codigosql.top/mysql/crear-tablas/

También podría gustarte