miércoles, 10 de agosto de 2011

Ejemplo del uso del comando ALTER en PostgreSql

ALTER es un comando DDL que se usa para modificar la estructura de las tablas. para el ejemplo trabajaremos con la siguiente tabla:

CREATE TABLE persona
(
dni int,
nombre char(20),
apellido char(20),
primary key(dni)
)

Agregar un nuevo campo:

alter table persona add nacimiento date;


Cambiar el nombre del campo:

alter table persona rename nombre to nombres;


Cambiar el tipo de dato del campo:

alter table persona alter nombres type character varying(20);


Cambiar el nombre de la tabla:

alter table persona rename to humano;


Eliminar un campo de la tabla:

alter table humano drop column nacimiento;



jueves, 7 de julio de 2011

Ejemplo del uso del comando ALTER en MySql

ALTER es un comando DDL que se usa para modificar la estructura de las tablas. para el ejemplo trabajaremos con la siguiente tabla:

CREATE TABLE Persona
(
dni int,
nombre char(20),
apellido char(20),
primary key(dni)
)

Agregar un nuevo campo:

alter table Persona add nacimiento date;


Cambiar el nombre del campo y su tipo de dato:

alter table Persona change nombre nombres varchar(30);


Cambiar el tipo de dato del campo:

alter table Persona modify nombres char(20);


Cambiar el nombre de la tabla:

alter table Persona rename humano;


Eliminar un campo de la tabla:

alter table humano drop nacimiento;


Cambiar el motor de la tabla:

alter table humano engine=innodb;

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