miércoles, 22 de junio de 2011

LABORATORIO 1 CON POSTGRESQL


CLAVES FORANEAS EN POSTGRESQL



Primero creamos una base de datos:

CREATE DATABASE lab1;

y luego nos ubicamos en ella:

psql -d lab1

Esta es una de las tantas posibles implementaciones de las tablas de la figura de arriba.

CREATE TABLE Proveedores
(
IdProveedor INT,
NombreProveedor varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(IdProveedor)
);



CREATE TABLE Categorias
(
IdCategoria INT,
NombreCategoria varchar(20),
Descripcion varchar(20),
PRIMARY KEY(
IdCategoria)
);



CREATE TABLE Clientes
(
IdCliente INT,
NombreCliente varchar(20),
NombreContacto varchar(20),
CargoContacto varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(
IdCliente)
);



CREATE TABLE CiaEnvios
(
IdCiaEnvios INT,
NombreCia varchar(20),
telefono int,
PRIMARY KEY(
IdCiaEnvios)
);



CREATE TABLE Empleados
(
IdEmpleado INT,
Apellidos varchar(20),
Nombre varchar(20),
Cargo varchar(20),
FechaNacimiento date,
FechaContratacion date,
Direccion varchar(20),
PRIMARY KEY(
IdEmpleado)
);


CREATE TABLE
Productos
(
IdProducto INT NOT NULL,
NombreProducto INT NOT NULL,
IdProveedor INT NOT NULL,
IdCategoria INT NOT NULL,
CantidadPorUnidad int,
PrecioUnidad float,
Stock int,
PRIMARY KEY(
IdProducto),
FOREIGN KEY (
IdProveedor) REFERENCES Proveedores(IdProveedor) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (
IdCategoria) REFERENCES Categorias(IdCategoria) ON DELETE CASCADE ON UPDATE CASCADE
);


CREATE TABLE
Pedidos
(
IdPedido INT NOT NULL,
IdCliente INT NOT NULL,
IdEmpleado INT NOT NULL,
FechaPedido date,
FechaEntrega date,
FechaEnvio date,
FormaEnvio int,
PRIMARY KEY(
IdPedido),
FOREIGN KEY (
IdCliente) REFERENCES Clientes(IdCliente) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (
IdEmpleado) REFERENCES Empleados(IdEmpleado) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (
FormaEnvio) REFERENCES CiaEnvios(IdCiaEnvios) ON DELETE CASCADE ON UPDATE CASCADE
);


CREATE TABLE DetallesPedidos
(
IdPedido INT NOT NULL,
IdProducto INT NOT NULL,
PrecioUnidad float,
Cantidad int,
PRIMARY KEY(
IdPedido,IdProducto),
FOREIGN KEY (
IdPedido) REFERENCES Pedidos(IdPedido) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (
IdProducto) REFERENCES Productos(IdProducto) ON DELETE CASCADE ON UPDATE CASCADE
);


En la creación de tablas no se le indica el tipo porque PosgreSql usa un solo tipo: el sistema de almacenamiento Postgres (Postgres Storage System).

El manejo de indices es diferente (en este ejemplo no las utilizo para referenciar las claves foraneas); pero el resto es muy similar a MySQL ya que los dos manejan SQL.

También, a diferencia de MySQL, todos los nombres de las base de datos, tablas y atributos, asi lo nombremos con mayúsculas o combinación de mayúsculas y minúsculas, todo lo guarda en minúsculas.


martes, 21 de junio de 2011

LABORATORIO 1


CLAVES FORANEAS EN MYSQL


Primero creamos una base de datos:

CREATE DATABASE lab1;

y luego nos ubicamos en ella:

USE DATABASE lab1;

Esta es una de las tantas posibles implementaciones de las tablas de la figura de arriba.

CREATE TABLE Proveedores
(
IdProveedor INT,
NombreProveedor varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(IdProveedor)
) TYPE = INNODB;


CREATE TABLE Categorias
(
IdCategoria INT,
NombreCategoria varchar(20),
Descripcion varchar(20),
PRIMARY KEY(IdCategoria)
) TYPE = INNODB;


CREATE TABLE Clientes
(
IdCliente INT,
NombreCliente varchar(20),
NombreContacto varchar(20),
CargoContacto varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(IdCliente)
) TYPE = INNODB;


CREATE TABLE CiaEnvios
(
IdCiaEnvios INT,
NombreCia varchar(20),
telefono int,
PRIMARY KEY(IdCiaEnvios)
) TYPE = INNODB;


CREATE TABLE Empleados
(
IdEmpleado INT,
Apellidos varchar(20),
Nombre varchar(20),
Cargo varchar(20),
FechaNacimiento date,
FechaContratacion date,
Direccion varchar(20),
PRIMARY KEY(IdEmpleados)
) TYPE = INNODB;


CREATE TABLE Productos
(
IdProducto INT NOT NULL,
NombreProducto INT NOT NULL,
IdProveedor INT NOT NULL,
IdCategoria INT NOT NULL,
CantidadPorUnidad int,
PrecioUnidad float,
Stock int,
PRIMARY KEY(IdProducto),
INDEX (IdProveedor,IdCategoria),
FOREIGN KEY (IdProveedor) REFERENCES Proveedores(IdProveedor) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdCategoria) REFERENCES Categorias(IdCategoria) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;


CREATE TABLE Pedidos
(
IdPedido INT NOT NULL,
IdCliente INT NOT NULL,
IdEmpleado INT NOT NULL,
FechaPedido date,
FechaEntrega date,
FechaEnvio date,
FormaEnvio int,
PRIMARY KEY(IdPedido),
INDEX (IdCliente,IdEmpleado,FormaEnvio),
FOREIGN KEY (IdCliente) REFERENCES Clientes(IdCliente) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdEmpleado) REFERENCES Empleados(IdEmpleado) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (FormaEnvio) REFERENCES CiaEnvios(IdCiaEnvios) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;


CREATE TABLE DetallesPedidos
(
IdPedido INT NOT NULL,
IdProducto INT NOT NULL,
PrecioUnidad float,
Cantidad int,
PRIMARY KEY(IdPedido,IdProducto),
INDEX (IdPedido,IdProducto),
FOREIGN KEY (IdPedido) REFERENCES Pedidos(IdPedido) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdProducto) REFERENCES Productos(IdProducto) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;

Como se darán cuenta, da igual el uso de mayúsculas y minúsculas (a excepción de los nombres de las base de datos, las tablas y los atributos); aquí solo resalto la forma de creación de las tablas.

sábado, 18 de junio de 2011

GESTOR DE BASE DE DATOS POSTGRE

GESTOR DE BASE DE DATOS POSTGRE

Integrantes:
Ganoza Campos, Juan
López Egúsquiza, Charl
Rodríguez Rodríguez Gerson
Taboada Príncipe, Orlando
Villanueva León, Sergio





Instalación en Windows 7






Diapositivas



Paper

Paper Postgresql

otros