reporte basedatos
Post on 08-Feb-2018
218 Views
Preview:
TRANSCRIPT
-
7/22/2019 Reporte Basedatos
1/62
1
INSTITUTO TECNOLGICO DE TLAXIACO
MATERIA: TALLER DE BASE DE DATOS
CARRERA: INGENIERA EN SISTEMAS COMPUTACIONALES
PROYECTO DE UNA LENCERIA
CATEDRTICO: ING. HILARIO VIDAL GARCA HERNANDEZ
ELABORO:
ALICIA AVILA REYES
RUT MIRIAM CRUZ SNCHEZ
SEMESTRE: V
GRUPO: B
FECHA: 26/08/13
HEROICA CIUDAD DE TLAXIACO, BOULEVARD TECNOLGICO KM.
2.5 LLANO YOSOVEE S/N.
-
7/22/2019 Reporte Basedatos
2/62
2
ndi eINTRODUCCIN .................................................................................................. 3
PLANTEAMIENTO ................................................................................................ 4
OBJETIVO GENERAL .......................................................................................... 5
OBJETIVO ESPECIFICO ...................................................................................... 5
JUSTIFICACIN ................................................................................................... 6
METAS ................................................................................................................. 7
MARCO TERICO. .............................................................................................. 8
TABLA COMPARATIVA. ........................................................................................ 9
DIAGRAMA ENTIDAD RELACIN .................................................................... 10
DIAGRAMA DE CLASE ....................................................................................... 11
INSTALACION DE POSTGRESQL ...................................................................... 12
DESARROLLO DEL PROYECTO ......................................................................... 17
CREACION DE TABLAS ..................................................................................... 17
INSERTAR DATOS ............................................................................................. 23
REALIZACION DE CONSULTAS ......................................................................... 34
SUBCONSULTA ................................................................................................. 38
CREACIN DE USUARIOS Y ROLES .................................................................. 40
CREACIN DEL ROLES ..................................................................................... 41
COMPROBACIN DE PERMISOS A USUARIOS MEDIANTE LA CONSOLA SQLSHELL (PSQL) .................................................................................................... 42
CREACIN DE VISTAS ...................................................................................... 43
RESTRICCIONES ............................................................................................... 47
TRANSACCIONES .............................................................................................. 48
FUNCIONES Y DISPARADORES ......................................................................... 49
CONEXIN DE POSGRETSQL A JAVA ............................................................... 56
CONCLUSIN .................................................................................................... 62
-
7/22/2019 Reporte Basedatos
3/62
3
Introduccin
PostgreSQL es un gestor de bases de datos orientadas a objetos (SGBDOO o
ORDBMS en sus siglas en ingls) muy conocido y usado en entornos de software
libre porque cumple los estndares SQL92 y SQL99, y tambin por el conjunto de
funcionalidades avanzadas que soporta, lo que lo sita al mismo o a un mejor nivel
que muchos SGBD comerciales.
El origen de PostgreSQL se sita en el gestor de bases de datos POSTGRES
desarrollado en la Universidad de Berkeley y que se abandon en favor de
PostgreSQL a partir de 1994. Ya entonces, contaba con prestaciones que lo
hacan nico en el mercado y que otros gestores de bases de datos comerciales
han ido aadiendo durante este tiempo.
PostgreSQL se distribuye bajo licencia BSD, lo que permite su uso, redistribucin,
modificacin con la nica restriccin de mantener el copyright del software a sus
autores.
El proyecto que est a continuacin, presenta las fases de cmo desarrollar
una base de datos el cual ser de utilidad para el negocio que se seleccion
para la administracin de todos los recursos de los cuales dispone y hace uso
dicho negocio ,permitiendo mejorar los tiempos de compra ,venta y atencin al
cliente as como consecuente la mejora de la administracin de recursos
monetarios .
A su vez se hablara del sistema gestor de base de datos (SGB) que permitir
la creacin de base de datos (BD) ,permitiendo analizar sus ventajas y
desventajas para obtener un buen aprovechamiento del gestor .
-
7/22/2019 Reporte Basedatos
4/62
4
Planteamiento
Crear una base de datos que permita manipular fcilmente la entrada y salida delos productos que proporciona la lencera, agilizando los procesos de venta y
compra de mercanca y mantener un control de las ganancias y utilidades quefaciliten al usuario final este tipo de actividades,
Tambin, la base de datos que se desarrollara deber ser fcil de utilizar parafacilitar al usuario final el uso de esta herramienta y mejorar su desempeo.
-
7/22/2019 Reporte Basedatos
5/62
5
Objetivo General
Mejorar el conocimiento que se tiene de las bases de datos, adquiriendoconocimientos nuevos en la implementacin de una base a un negocio querequiere una solucin real, mejorando el conocimiento en trabajos de campo, yampliando la visin que se tiene de ciertas reas desconocidas, y que nos ser deayuda para el desarrollo de nuestro perfil.
Objetivo Especifico
Facilitar el registro de productos, as como la compra y venta de los artculos paradisminuir el tiempo y costos que se emplean en estas actividades.
-
7/22/2019 Reporte Basedatos
6/62
6
Justificacin
Se hizo la eleccin de una lencera para realizar la implementacin de una basede datos, tomando en cuenta que no es muy comn este tipo de base de datos, la
cual permitir adquirir nuevos conocimientos que podrn ser aplicados a nuestroperfil acadmico, permitiendo adquirir mejor los conocimientos y tcnicas para lasolucin de problemas mediante el anlisis de requisitos que requiera el cliente.
-
7/22/2019 Reporte Basedatos
7/62
7
Metas
o Creacin de una base funcional.o Facilidad de uso y manipulacin en caso de anomalas.
o Optimizacin de recursos y tiempo en la BDo Dar seguridad a la BDo Seguridad final para el usuario final
-
7/22/2019 Reporte Basedatos
8/62
8
Marco terico.
Una base de datos es un conjunto de datos almacenados entre los que existen
relaciones lgicas, diseada para satisfacer la informacin en organizaciones .En
las bases de datos se almacenan grandes cantidades de datos, que son definidos
una sola vez y que pueden ser accesible por varios usuarios a la vez en la cual
los datos integrados en la base de datos no tiene redundancia de datos y
establece la ms mnima duplicidad de los datos.
Un Sistema Gestor de Base de Datos es el software que permite gestionar bases
de datos, ocultando la parte fsica y permitiendo manejarla desde un nivel ms
conceptual. Dicho software permite separar los programas de los datos de tal
modo que los programas negocian con el SGBD el acceso a los datos.
PostgreSQL Es un gestor de base de datos el cual permite almacenar y accesar
segn el formato de tablas relacionales. Una tabla relacional tiene un nombre
columnas y definicin. Los datos estn almacenados en las filas ,en el cual las
tablas pueden estar relacionadas con otras.
Una BD PostgreSQL est almacenada fsicamente en ficheros, y la
correspondencia entre los ficheros y las tablas es posible gracias a las estructuras
internas de la BD, que permiten que diferentes tipos de datos estn almacenadosfsicamente separados. Est divisin lgica se hace gracias a los espacios de
tablas, tablespaces.
Por qu utilizar PostgreSQL como nuestro gestor de base de datos?
Las razones que influyeron para escoger PostgreSQL pgAdmin es la facilidad
de permitir trabajar en distintas plataformas y arquitecturas ya que es
multiplataforma, haciendo ms fcil la decisin de trabajarlo, sin necesitar
requisitos muy elevados o muy especficos para ser implementados en algunos
servidores de baja capacidad.
A continuacin se muestra la diferencia que hay en comparacin con otros
gestores de bases de datos ms comunes.
-
7/22/2019 Reporte Basedatos
9/62
9
Tabla comparativa.
SGBD RAM MEMORIA
VIRTUAL
ESPACIO
DISCO
DURO
T AMA O
BASE
DATOS
S.O. ARQUITECTURA PROTOCOLO
TCP/IP
PROTOCOLO TCP/IP CON
SSL
VENTAJAS DESVENTAJAS
MYSQL
256
MB
512 MB 200 MB INFINITO W INDOS
SEVEN
32 BITS/64 BITS
SE ENCARGA
DE ATENDER
EL SOFTWARE
CON L FIN DE
QUE TODOS
SUS
PRODUCTOS
SEAN
COMPATIBLES
ESTABLECER UN CANAL
DE COMUNICACIN
SEGURO Y CIFRADO
ENTRE DOS DISPOSITIVOS
CONECTADOS A INTERNET.
VELOCIDAD AL REALIZAR
OPERACIONES
BAJO COSTO EN
REQUERIMIENTOS
*SOFTWARE DE CODIGO
ABIERTO
BUENA CONECTIVIDAD Y
SEGURIDAD
USA LICENCIA GPL
SOPORTA GRAN VARIEDAD
DE S.O
NO ES INTUITIVO
DOCUMENTADAS.
EL SOPORTE PARA
DISPARADORES ES BASICO
LOS PRIVILEGIOS PARA UNA
TABLA NO SE ELIMINAN
AUTOMTICAMENTE
CUANDO SE ELIMINA UNA
TABLA NO TIENE PANEL DE
CONTROL GRFICO Y
DETALLADO
ORACLE 1 GB 512 MB 6 GB INFINITO WINDOWS
SEVEN /
UNIX /
LINUX
32 BITS SI NAMED PIPES.
ORACLE ES EL MOTOR DE
BASE DE DATOS RELACIONAL
MS USADO A NIVEL
MUNDIAL.ORACLE ES LA
BASE DE DATOS CON MAS
ORIENTACIN HACA
INTERNET UN ACEPTABLE
SOPORTEEL SOFTWARE DEL
SERVIDOR PUEDEEJECUTARSE EN MULTITUD
DE SISTEMAS OPERATIVOS.
EL PRECIO AS COMO LAS
LICENCIAS
LA NECESIDAD DE AJUSTES.
ACCES 400MB 350 MB 100 MB 1 TB WINDOWS
SEVEN
32 BITS / 64 BITS SI SI
ES UN SOFTWARE FACIL DE
CONSEGUIR, TIENE
PAQUETERIA COMPLETA, NO
NECESITA COMPLEMENTOS
PARA SU USO
NO SE PUEDEN CREAR
BASES DE DATOS MUY
ROBUSTOS, NO ES
MULTIPLATAFORMA, ESTA
ENFOCADO A
DESARROLLADORES
PRINCIPIANTES Y A ESTUDI|
ANTES
.
-
7/22/2019 Reporte Basedatos
10/62
10
Diagrama Entidad Relacin
-
7/22/2019 Reporte Basedatos
11/62
11
Diagrama de clase
datos_emp
+curp+nombre+ap_pat+ap_mat
clientes
+dni+num_cliente+cant_compra+total_comp+tel_cliente+nom_c+id_cta
ventas
+id_vta+total_vta+costo_vta+nom_prod+cod_prod+dni
empleados
+id_emp+puesto+hrs_trab+curp+id_vta+cod_postal
solicita
+id_solicita+id_emp+id_prod+id_neg
Dir_emp
+cod_postal+nombre_mun+colonia+ciudad+nom_calle
modelo
+id_modelo+nom_prod+tipo_tela+color
negocio
+id_neg+nom_neg+tel_neg
+dni+id_emp+id_a
talla
+id_talla+tamao
+num_talla
calle
+nom_calle+nombre
nom_cliente
+nom_c+ap_pat+ap_mat
almacen
+id_a
+modProd_almacenado+nom_marca+cant_prod+id_prov
en
+fecha+id_prod+id_a
num_cuenta
+id_cta+saldo
producto
+id_prod+costo
+marca_prod+pre_vta+pre_compra+id_modelo+id_talla
proveedores
+id_prov+curp_prov+precioVta_prod+prod_abastecer+nom_prov+tel_prov
-
7/22/2019 Reporte Basedatos
12/62
12
INSTALACION DE POSTGRESQL - 9.1.2
Descargar el instalador de la base de datos de postgres versin 9.1.2 y ejecutarlo como
administrador.
Aceptar trminos y continuar con la instalacin.
-
7/22/2019 Reporte Basedatos
13/62
13
Elegir una ruta en la cual se instalara el programa, preferentemente dejarlo en el disco C:
Una vez elegida la ruta o directorio, seguir con la instalacin.
-
7/22/2019 Reporte Basedatos
14/62
14
Este es el paso ms importante en el cual se creara la contrasea del usuario System o root.
Se mantiene el puerto por default y se continua con la instalacin.
-
7/22/2019 Reporte Basedatos
15/62
15
Se mantiene la configuracin por defecto para que el sistema operativo elija la opcin mas
conveniente.
Se acepta la instalacin y se continua con la misma, hasta su terminacin,.
-
7/22/2019 Reporte Basedatos
16/62
16
Una vez ya terminado el proceso, se puede iniciar su programa con la contrasea que
anteriormente se cre.
-
7/22/2019 Reporte Basedatos
17/62
17
Desarrollo del proyecto
1. Recoleccin de datos.2. Realizar el diagrama de entidad-relacin.3. Definir la cardinalidad.
4. Elaborar el diagrama de clases.5. Normalizar las tablas.6. Realizar tablas.7. definir privilegios a los usuarios8. implementacin en un SGBD.
CREACION DE TABLAS
Una vez conectados a una base de datos, la sentencia SQL create tablepermite crear las tablas que necesitemos:
CREACION DE LA TABLA TALLA
create table talla(id_talla varchar(3),tamao varchar(15),num_talla
varchar(10),primary key(id_talla));
CREACION DE LA TABLA MODELO
create table modelo(id_modelo varchar(5),nom_prod varchar(15),tipo_telavarchar(10),color varchar(15),primary key(id_modelo));
select * from modelo;
-
7/22/2019 Reporte Basedatos
18/62
18
CREACION DE LA TABLA DATOS_EMPLEADOS
create table datos_emp(curp varchar(18),nombre varchar(10),ap_patvarchar(10),ap_mat varchar(10),primary key(curp));
select * from datos_emp;
CREACION DE LA TABLA CALLE
create table calle(num_calle varchar(4),nombre varchar(15),primarykey(num_calle));
CREACION DE LA TABLA DATOS PERSONALES DEL CLIENTE
create table nom_cliente(nom_c varchar(10),ap_pat varchar(10),ap_matvarchar(8),primary key (nom_c));
select * from nom_cliente;
-
7/22/2019 Reporte Basedatos
19/62
19
CREACION DE LA TABLA EN:
create table en(fecha varchar(10),id_prod varchar(4),id_a varchar(4),primarykey(fecha));
select * from en;
CREACION DE LA TABLA SOLICITA
create table solicita(id_solicita varchar(5),id_emp varchar(5), id_prodvarchar(4),id_neg varchar(5),primary key (id_solicita));
select * from solicita;
CREACION DE LA TABLA PROVEEDORES
create table proveedores(id_prov varchar(5),curp_prov
varchar(18),precioVta_prod integer,
-
7/22/2019 Reporte Basedatos
20/62
20
prod_abastecer integer,nom_prov varchar(8),tel_prov integer,primary key(id_prov));
CREACION DE LA TABLA ALMACEN
create table almacen(id_a varchar(4),modProd_almacenadointeger,nom_marca varchar(15),
cant_prod integer,id_prov varchar(5),primary key(id_a),
FOREIGN KEY (id_prov) REFERENCES proveedores(id_prov)on deletecascade on update cascade);
select * from almacen;
CREACION DE LA TABLA DIRECCION DEL EMPLADO
create table Dir_emp(cod_postal varchar(5),nombre_mun varchar(20),coloniavarchar(15),
ciudad varchar(12),num_calle varchar(4),primary key(cod_postal),
FOREIGN KEY(num_calle)references calle(num_calle)on delete cascade onupdate cascade);
select * from Dir_emp;
CREACION DE LA TABLA VENTAS
-
7/22/2019 Reporte Basedatos
21/62
21
create table ventas (id_vta varchar(5),total_vta integer,costo_vtainteger,nom_prod varchar(13),cod_prod integer,dni varchar(5),primary key(id_vta),
FOREIGN KEY(dni)references clientes(dni)on delete cascade on update
cascade);select * from ventas;
CREACION DE LA TABLA EMPLEADOS
create table empleados(id_emp varchar(5),nom_emp varchar(12),puestovarchar(10),
hrs_trab integer,curp varchar(18),id_vta varchar(5),cod_postalvarchar(5),primary key(id_emp),
foreign key (curp)references datos_emp(curp)on delete cascade on updatecascade,
foreign key (id_vta)references ventas(id_vta)on delete cascade on updatecascade,
foreign key (cod_postal)references dir_emp(cod_postal)on delete cascade onupdate cascade);
select * from empleados;
CREACION DE LA TABLA CLIENTES
create table clientes(dni varchar(5),num_cliente integer,cant_comprainteger,total_comp float,tel_cliente integer,nom_c varchar(15), id_ctavarchar(5),primary key(dni),
-
7/22/2019 Reporte Basedatos
22/62
22
foreign key(nom_c)references nom_cliente(nom_c)on delete cascade onupdate cascade,
foreign key(id_cta)references num_cuenta(id_cta)on delete cascade on updatecascade);
select * from clientes;
CREACION DE LA TABLA PRODUCTOS
create table producto(id_prod varchar(4),costo integer, marca_prodvarchar(10),mod_prod integer,pre_vta integer,pre_compra integer,id_modelovarchar(5),id_talla varchar(3),primary key(id_prod),
foreign key(id_modelo)references modelo(id_modelo)on delete cascade onupdate cascade,
foreign key(id_talla)references talla(id_talla)on delete cascade on updatecascade);
select * from producto;
CREACION DE LA TABLA NEGOCIO
create table negocio(id_neg varchar(5),nom_neg varchar(8),dir_negvarchar(15),tel_neg integer,dni varchar(5),id_emp varchar(5),id_avarchar(4),primary key(id_neg),
foreign key(dni)references clientes(dni)on delete cascade on update cascade,
foreign key(id_emp)references empleados(id_emp)on delete cascade onupdate cascade,
foreign key(id_a)references almacen(id_a)on delete cascade on updatecascade);
-
7/22/2019 Reporte Basedatos
23/62
23
select * from negocio;
INSERTAR DATOS
INSERTA DATOS EN LA TABLA TALLA
insert into talla(id_talla, tamao,num_talla)values
('A01','GRANDE','38C'),('A02','CHICO','30A'),
('A03','CHICO','28A'),
('A04','EXTRAGRANDE','40D'),
('A05','MEDIANO','36B'),
('A06','GRANDE','38D');
SELECT * FROM talla;
INSERTAR DATOS EN LA TABLA MODELO
select * from modelo;
insert into modelo(id_modelo,nom_prod,tipo_tela,color)
values('11a','Bra espalda deportiva','algodon','Rojo'),
('11b','Paq-2-Bikinis','licra','Negro'),
('11c','pantimedias','mezclilla','Blanco'),
('11d','boxer caballero','algodon','Nude'),
-
7/22/2019 Reporte Basedatos
24/62
24
('11e','pantaleta','rayon','Rosa'),
('11f','Panty con sylicona en sintura','nilon','Piel'),
('11g','bikini','poliester','Fiusha/Morado'),
('11h','boxer ','acrilico','Negro/Piel'),
('11i','brasiere','algodon','Blanco/Rosa'),
('11j','playera','acrilico','Turquesa/Blanco'),
('11k','mini boxer','licra','Turquesa/Blanco'),
('11l','bra','poliester','Verde/Fiusha'),
('11m','boxer','poliester','Rosa/Verde'),
('11n','mini boxer','rayon','Turquesa'),('11','mini boxer','nilon','Morado'),
('11o','bra','nilon','Gris/Rosa'),
('11p','bikini','mezclilla','Negro/Rosa'),
('11q','bady doll','mezclilla','Negro/Turquesa'),
('11r','tanga','algodon','Verde Agua'),
('11s','cobertor','poliester','Verde/Oxford'),
('11t','juego de bao','rayon','Uva'),
('11u','edredon','acrilico','Cafe/Turquesa'),
('11v','top','stretch','Verde/Turquesa'),
('11w','leggigns','stretch','Perla'),
('11x','collar','algodon','Multicolores'),
('11y','silhouette','piliester','Negro/Rojo'),
('11z','CALCETAS CABALLEROS','acrilico','Bugambilia'),
('12a','PANTY','mezclilla','Azul Estampado'),
('12b','PANTIMEDIAS','licra','Amarillo/Gris'),
('12c','PLAYERA','rayon','Oxford')
-
7/22/2019 Reporte Basedatos
25/62
25
INSERTAR DATOS EN LA TABLA NUMERO CUENTA
insert into num_cuenta(id_cta,saldo)
values ('A000',5000),
('B500',4000),
('C300',2000),
('D400'3450),
('E500',56073),
('F100',4058),
('G200',23000),
('H600',45900)
('I700',2000),
('J300',4003),
('K200',5000);
INSERTAR DATOS EN LA TABLA NOMBRE CLIENTE
-
7/22/2019 Reporte Basedatos
26/62
26
INSERT INTO nom_cliente (nom_c,ap_pat,ap_mat)
values ('JUAN','GUTIERREZ','TERRA')
('RUT','VELASCO','CRUZ'),
('BERNA','PELAES','SANCHEZ'),
('ESTELA','TRINIDAD','AVILA'),
('NOEL','LOPEZ','CARNAVAL'),
('IRMA','PAZ','MENDEZ'),
('CESAR','DIAZ','PEREZ'),
('MARI','PACHECO','TIFON'),
('EMILY','SIMBIAN','VELAZCO'),('CARLOS','MALVORO','URTADO');
SELECT * FROM nom_cliente;
INSERTAR DATOS EN LA TABLA CLIENTES
select * from clientes;
insert intoclientes(dni,num_cliente,cant_compra,total_comp,tel_cliente,nom_c,id_cta)
values('AA001',2,4,55,9531283,'JUAN','A000'),
('AB001',5,5,200,953020,'RUT','B500'),
('AC001',7,1,290,836487,'ESTELA','C300'),
('AD001',1,3,500,263826,'BERNA','D400'),
('AE001',6,20,6000,83936,'IRMA','E500'),
-
7/22/2019 Reporte Basedatos
27/62
27
('AF001',2,11,2402,827738,'NOEL','F100'),
('AG001',4,1,290,2239,'IRMA','G200'),
('AH001',3,2,290,98874,'CESAR','H600'),
('AI001',13,2,390,6638465,'MARI','I700'),
('AL001',10,4,2900,986363,'EMILY','K200'),
('AK001',12,30,8000,953747,'CARLOS','J300');
INSERTAR DATOS EN LA TABLA VENTAS
select * from ventas;
insert into ventas(id_vta ,total_vta,costo_vta,nom_prod,cod_prod,dni)
values(01,2790,300,'jeans',2513,'AA001'),
(02,990,350,'bikini',1513,'AB001'),
(03,2009,420,'boxer',2383,'AC001'),
(04,2409,390,'mini boxer ',2409,'AG001'),
(05,1050,200,'brasiere',1409,'AG001'),
(06,3390,400,'cobertor',2400,'AI001'),
(08,1200,350,'Bra deportiva',1338,'AH001'),
(09,4490,400,'juego de bao',2487,'AF001'),
(10,3790,500,'PANTIMEDIAS',2219,'AD001');
-
7/22/2019 Reporte Basedatos
28/62
28
INSERTAR DATOS EN LA TABLA DATOS EMPLEADOS
select * from datos_emp;
insert into datos_emp(curp,nombre,ap_pat,ap_mat)
values('CUSR131293MDFRNT08','miriam','cruz','sanchez'),
('AIRA238806MMMCVL02','alicia','avila','reyes'),
('SARA900926MOCNYN04','antonia m' ,'santiago','reyes'),
('SUOM930904MOSRRR08','merari','cruz','ortiz'),
('QUFJ900512MOCYRQ06','jesus','quiroz','feria'),
('AIAA238806MJJCVL02','aide','avila','aparicio'),
('JMAR238806CGHCVL09','jose','marquez','reyes'),
('LOGA921020MPYOGU02','gamaliel','lopez','ortiz'),
('OOSU900504HOCSNR05','uriel','ososrio','sanchez'),
('LORJ920603HOCPXR06','jorge luis','lopez','riao');
INSERTAR DATOS EN LA TABLA CALLE
-
7/22/2019 Reporte Basedatos
29/62
29
insert into calle(num_calle,nombre)
values ('36A','PONCIANO'),
('12A','JUAN ALVAREZ'),
('23C','HIPODROMO'),
('32C','INDEPENDENCIA'),
('10A','LEON AVICARIO');
SELeCT * from calle;
INSERTAR DATOS EN LA TABLA DIRECCION EMPLEADO
select * from Dir_emp;
insert into Dir_emp(cod_postal,nombre_mun,colonia,ciudad,num_calle)
values (79800,'ocotepec','centro','Tlaxiaco','36A'),(69800,'amilpas','la maravillas','Huajupan','12A'),
(90923,'lo aguacates','el capulin','Putla','23C'),
(34647,'nundaco','los fresnos','Oaxaca','32C'),
(12335,'las piedras','la laguna','Teposcolula','10A');
INSERTAR DATOS EN LA TABLA EMPLEADOS
select * from empleados;
-
7/22/2019 Reporte Basedatos
30/62
30
insert intoempleados(id_emp,nom_emp,puesto,hrs_trab,curp,id_vta,cod_postal)
values('100A','ESTELA','GERENTE',100,'CUSR131293MDFRNT08',01,79800),
('100B','HUGO','CAJERO',105,'AIRA238806MMMCVL02',02,69800),
('100C','ADRIAN','CAJERO',105,'SARA900926MOCNYN04',03,90923),
('100D','GUDELIA','MOSTRADOR',102,'SUOM930904MOSRRR08',04,34647),
('100E','ESMERALDA','MOSTRADOR',102,'QUFJ900512MOCYRQ06',05,12335);
DATOS INSERTADOS EN LA TABLA PROVEEDORES
select * from proveedores;insert intoproveedores(id_prov,curp_prov,precioVta_prod,prod_abastecer,nom_prov,tel_prov)
values('500A','SIAL720809HOCLVS01',600,200,'LUIS ',9531245),
('500B','REPC660904MOCYRN06',400,300,'CANDIDA ',95132456);
INSERTAR DATOS DE LA TABLA ALMACEN
select * from almacen;
insert into almacen(id_a,modProd_almacenado,nom_marca,cant_prod,id_prov)
-
7/22/2019 Reporte Basedatos
31/62
31
values('123a',2448,'VICKY FORM',200,'500A'),
('123b',1639,'AMORE',101,'500B'),
('123c',1500,'PLAYTEX',202,'500A'),
('123d',8122,'PLAYTEX',100,'500B'),
('123e',1487,'ILUSION',103,'500A'),
('123f',5939,'HANES',154,'500B'),
('123g',4343,'ILUSION',50,'500B'),
('123h',2276,'ILUSION',20,'500B'),
('123i',1276,'AMORE',38,'500A'),
('123j',2494,'DORIAN GREY',59,'500B'),('123k',1494,'ILUSION',70,'500A'),
('123l',553,'DORIAN GREY',90,'500B'),
('123m',2456,'AMORE',100,'500A'),
('123n',1456,'PLAYTEX',20,'500A'),
('123',2226,'WONDERBRA',35,'500B'),
('123o',1226,'WONDERBRA',120,'500B'),
('123p',2399,'ALFANI',80,'500A'),
('123q',366,'ALFANI',44,'500B'),
('123r',2440,'ALFANI',60,'500B');
INSERTAR DATOS EN LA TABLA PRODUCTO
select * from producto;
-
7/22/2019 Reporte Basedatos
32/62
32
insert intoproducto(id_prod,costo,marca_prod,pre_vta,pre_compra,id_modelo,id_talla)
values
('9011',200,'VICKY FORM',4343,265,'11a','A01'),
('9012',120,'VICKY FORM',2494,325,'11b','A02'),
('9013',160,'VICKY FORM',2456,279,'11c','A03'),
('9014',300,'VICKY FORM',2226,469,'11d','A04'),
('9015',200,'VICKY FORM',2399,249,'11e','A05'),
('9016',99,'VICKY FORM',2440,265,'11f','A06'),
('9017',229,'VICKY FORM',1456,399,'11g','A01');
INSERTAR DATOS EN LA TABLA EN
INSERT INTO en (fecha,id_prod,id_a)
values('10-03_13','9011','123a'),
('03/10/13','9012','123b'),
('04/06/13','9013','123c'),
('09/08/13','9014','123d'),
('06/12/13','9015','123e'),
('01/10/13','9016','123g');
-
7/22/2019 Reporte Basedatos
33/62
33
INSERTAR DATOS EN LA TABLA NEGOCIO
select * from negocio;
insert into negocio(id_Neg,nom_neg,tel_neg,dni,id_emp,id_a)
values('000a','XION',1104255,'AA001','100A','123a'),
('000b','ALICE',1235678,'AF001','100C','123c');
INSERTAR DATOS EN LA TABLA SOLICITA
insert into solicita(id_solicita,id_emp,id_prod,id_neg)
values('AAA','100A','9011','000a'),('BBB','100C','9014','000b');
-
7/22/2019 Reporte Basedatos
34/62
34
REALIZACION DE CONSULTAS
Buscar el nombre del cliente su nm. telefnico, saldo=2000 y al nmero decliente al que le corresponde.
select distinct clientes.nom_c,tel_cliente ,saldo,num_cliente fromclientes,num_cuenta,nom_cliente where saldo=2000;
Encontrar a los clientes que compraron el en negocio ALICE y en especifico elproducto bikini
select distinct clientes.nom_c as "NOMBRE CLIENTE", nom_neg,total_compfrom negocio,clientes,ventas where
nom_prod='bikini' and nom_neg='ALICE';
Mostrar el nombre del empleado, ciudad, puesto que ocupa y las horas quetrabaja cada uno
SELECT DISTINCT empleados.nom_emp,Dir_emp.ciudad,puesto,hrs_trabfrom empleados,Dir_emp,datos_emp,calle where Dir_emp.ciudad='Tlaxiaco';
-
7/22/2019 Reporte Basedatos
35/62
35
Muestra nombre del empleado que trabaja especficamente 100 horas,ciudades en las que trabaja y puesto que ocupa.
SELECT DISTINCT empleados.nom_emp,Dir_emp.ciudad,puesto,hrs_trabfrom empleados,Dir_emp,datos_emp,calle where empleados.hrs_trab=100;
select empleados.nom_emp as"nombre empleado",puesto,hrs_trab fromempleados where empleados.nom_emp between 'GERENTE' and'MOSTRADOR';
Seleccionar productos bikini y bxer su costo tipo de tela y su color
SELECT modelo.nom_prod ,costo,tipo_tela,color from producto,modelo wheremodelo.nom_prod between 'bikini' and 'boxer';
Muestra la fecha en que se almaceno el producto, el nombre de la marca elcosto y su nombre
-
7/22/2019 Reporte Basedatos
36/62
36
select distinct fecha as"fecha almacenada" ,nom_marca,costo,nom_prod fromen,almacen,producto,modelo where nom_marca='PLAYTEX' AND nom_prod IN(
SELECT nom_prod from modelo where nom_prod='bra');
Ordenar el nombre de los clientes de forma ascendente deacuerdo a lacantidad de compra que realizaron
select * from clientes order by cant_compra desc, num_cliente asc;
select distinct id_solicita,empleados.nom_emp,puesto,costo_vta,nom_c,ventas.nom_prod as "nombrecliente",num_cliente,total_comp, marca_prod from solicita,
producto,ventas,empleados, clientes,modelo whereempleados.nom_emp='HUGO' order by puesto;
-
7/22/2019 Reporte Basedatos
37/62
37
select nom_neg,cant_prod,fecha,costo,prod_abastecer fromnegocio,almacen,proveedores,en,producto where prod_abastecer=200 groupby
nom_neg,cant_prod,fecha,costo,prod_abastecer ;
select nom_neg,fecha,costo,marca_prod,prod_abastecer,nom_prod fromnegocio,almacen,proveedores,en,producto,modelo where prod_abastecer=300and nom_prod='bikini' group by
nom_neg,cant_prod,fecha,costo,prod_abastecer,marca_prod,nom_prod;
Select (modelo.nom_prod,nom_c,cant_compra,marca_prod,nom_emp,costo)from empleados,clientes,producto,modelo,ventas,solicita
-
7/22/2019 Reporte Basedatos
38/62
38
where (nom_c='IRMA') Order by (costo) asc;
Select nom_prov,prod_abastecer,precioVta_prod,tel_prov from proveedores;
SELECT costo,nom_prod,tipo_tela,color FROM producto,modelo WHERE(nom_prod='bikini') AND (costo
-
7/22/2019 Reporte Basedatos
39/62
39
select nom_prod,costo,nom_emp from empleados,producto,modelo
where nom_emp=(select nom_emp from empleados wherenom_emp='HUGO')and nom_prod='bady doll'and costo=300 ;
select count(*) from ventas where costo_vta=350;
select nom_prod, avg(costo) from producto,modelo group by nom_prod;
select nom_prod,pre_compra,nom_marca,nom_prov ,tel_prov fromproducto,almacen,proveedores,ventas where tel_prov=(select tel_prov fromproveedores where tel_prov=9531245) AND nom_prod='jeans';
-
7/22/2019 Reporte Basedatos
40/62
40
select nom_prod,color,marca_prod,costo from producto join modelo onproducto.id_modelo=modelo.id_modelo;
select nom_emp,ap_pat,ap_mat,puesto,num_calle,colonia,ciudad,nombre_munfrom datos_emp,empleados join Dir_emp onempleados.cod_postal=Dir_emp.cod_postal;
Creacin de Usuarios y Roles
Creacin del usuario Alicia:
create role alicia login encrypted password 'cancer' nosuperuser noinheritcreatedb nocreaterole;en caso de eliminar el usuario Alicia se utiliza la siguiente sintaxis--drop user Alicia;
Asignacin de permisos al usuario Alicia en la base de datos tiendapara todas las tablas de esa BD.
GRANT SELECT, UPDATE ONdatos_emp,empleados,calle,Dir_emp,num_cuenta,nom_cliente,ventas,solicita,producto,modelo,en,talla,almacen,proveedores,negocio TOalicia;
Creacin del usuario rut:
-
7/22/2019 Reporte Basedatos
41/62
41
create role rut login encrypted password 'ruting94 ' nosuperuser noinheritcreatedb nocreaterole;
Asignacin de permisos al usuario rut en la base de datos tiendapara todas las tablas de esa BD
GRANT SELECT, INSERT, UPDATE, DELETE ON clientes, datos_emp,empleados, calle, Dir_emp,num_cuenta,nom_cliente,ventas,solicita,producto,modelo,en,talla,almacen,proveedores,negocio TO rut;
Creacin del usuario uriel:
create role uriel login encrypted password 'bich' nosuperuser noinherit createdbnocreaterole;
Asignacin de permisos al usuario uriel en la base de datos tienda
para todas las tablas de esa BD
GRANT SELECT ONclientes,datos_emp,empleados,calle,Dir_emp,num_cuenta,nom_cliente ,ventas,solicita,producto,modelo,en,talla,almacen,proveedores,negocio TO uriel;
Creacin del roles
Creacion del rol rol_t con permisos de seleccin y eliminacin al usuarioAlicia
create role rol_t;grant select ,delete on empleados to rol_t;grant rol_t to alicia;
Creacion del rol URIEL con permisos de actualizacin al usuario Uriel
create role URIEL;grant update on clientes,datos_emp,empleados,calle, Dir_emp, num_cuenta,nom_cliente ,ventas ,solicita, producto ,modelo ,en ,talla ,almacen
,proveedores ,negocio to URIEL;grant URIEL to uriel;
Creacion del rol RUTM con permisos de seleccin ,eliminacin yactualizacin al usuario rut
create role RUTM;grant select ,delete,update,insert on clientes,datos_emp, empleados ,calle,Dir_emp , num_cuenta ,nom_cliente ,ventas, solicita producto ,modelo, en,talla, almacen, proveedores, negocio to RUTM;grant RUTM to rut;
-
7/22/2019 Reporte Basedatos
42/62
42
Comprobacin de permisos a usuarios mediante la consola
SQL Shell (psql)
Inicio-buscarSQL Shell (psql)-insertar los datos correspondientes
Accesando el usuario Alicia (visualizando la tabla empleados)
Accesando el usuario rut (eliminando los datos de la tabla Dir_emp y
visualizando la misma tabla)
-
7/22/2019 Reporte Basedatos
43/62
43
Accesando el usuario Uriel (seleccin de la columna nom_c de la tabla
cliente)
Creacin de vistas
create view producto_existente as select nom_prod, tipo_tela, color, tamao,marca_prod, pre_compra from modelo, producto, talla wheretamao='MEDIANO' and pre_compra
-
7/22/2019 Reporte Basedatos
44/62
44
drop view producto_existente;select * from producto_existente;
create view caracteristicas_producto as select nom_prod, color, marca_prod,costo as "costo por lote" from producto join modelo on product.id_modelo=modelo.id_modelo;drop view caracteristicas_producto;select * from caracteristicas_producto;
-
7/22/2019 Reporte Basedatos
45/62
45
create view datos_empleados as select nombre ,ap_pat AS "APELLIDOPATERNO",ap_mat AS "APELLIDO MATERNO", puesto,hrs_trab AS "HORASTRABAJADAS" from empleados join datos_emp onempleados.curp=datos_emp.curp;
select * from datos_empleados ;drop view datos_empleados;
create view salidas as select distinct nom_c as "NOMBRE DEL CLIENTE",nom_prodas "PRODUCTO QUE COMPRO",nombre as "ATENDIDO POR",costo_vta
from datos_emp,ventas,nom_cliente where nombre='ESMERALDA'andnom_prod='boxer' ;select * from salidas ;drop view salidas ;
create view detallesproducto asSELECT pre_vta,nom_prod,tipo_tela,color,marca_prod FROM producto,modeloWHERE (nom_prod='bikini') AND (pre_vta>=200) and(color='Fiusha/Morado');
select * from detallesproducto ;drop view detallesproducto ;
-
7/22/2019 Reporte Basedatos
46/62
46
-
7/22/2019 Reporte Basedatos
47/62
47
Restricciones
Las restricciones permiten especificar condiciones que debern cumplir tablaso columnas para mantener la integridad de sus datos. Algunas de las
restricciones vendrn impuestas por el modelo concreto que se estimplementando, mientras que otras tendrn su origen en las reglas de negociodel cliente, los valores que pueden tomar algunos campos, etc.Los valores que puede contener una columna estn restringidos en primerlugar por el tipo de datos. sta no es la nica restriccin que se puede definirpara los valores en una columna, PostgreSQL ofrece las restriccionessiguientes:
null y not null. En mltiples ocasiones el valor de una columna esdesconocido, no es aplicable o no existe. En estos casos, los valorescero, cadena vaca o falso son inadecuados, por lo que utilizamos nullpara especificar.
create table nom_cliente (
nom_c varchar(40) not null,
ap_pat varchar(40) null,
ap_mat varchar(20),
);
unique. Esta restriccin se utiliza cuando no queremos que los valorescontenidos en una columna puedan duplicarse.
create table calle (
num_calle varchar(40) unique,
nombre varchar(40) not null,
);
primary key. Esta restriccin especifica la columna o columnas que
elegimos como clave primaria. Puede haber mltiples columnas unique,pero slo debe haber una clave primaria. Los valores que son nicospueden servir para identificar una fila de la tabla de forma unvoca, por loque se les denomina claves candidatas.
check. Esta restriccin realiza la evaluacin previa de una expresinlgica cuando se intenta realizar una asignacin. Si el resultado esverdadero, acepta el valor para la columna, en caso contrario, emitir unmensaje de error y rechazar el valor.
-
7/22/2019 Reporte Basedatos
48/62
48
create table proveedores(
id_prov varchar(5),
curp_prov varchar(18),
precioVta_prod integer,prod_abastecer integer check(prod_abastecer > 10 and
prod_abastecer< 30 ),
nom_prov varchar(8),
tel_prov integer,
primary key (id_prov));
Transacciones
Una transaccin se define como un conjunto de operaciones que tienensignificado solamente al actuar juntas.PostgreSQL ofrece soporte a transacciones, garantizando que ambasoperaciones se realicen o que no se realice ninguna. Para iniciar unatransaccin, se utilizael comando begin y para finalizarla, commit.Al cerrar la transaccin, los registros insertados ya son visibles para todos losUsuarios. Si por alguna razn, por ejemplo una cada del sistema, no seejecuta el commit, la transaccin se cancela. La forma explcita de cancelar unatransaccin es con el comando rollback.
-
7/22/2019 Reporte Basedatos
49/62
49
Funciones y disparadores
Como algunos de los gestores de bases de datos relacionales, comercialeslderes en el mercado, PostgreSQL puede incorporar mltiples lenguajes de
programacin a una base de datos en particular. Este hecho permite, porejemplo:
Almacenar procedimientos en la base de datos (stored procedure), quepodrn lanzarse cuando convenga.Definir operadores propios. PostgreSQL ofrece por defecto soporte parasu propio lenguaje procedural, el PL/pgSQL. Para instalarlo, basta coninvocar el comando createlang desde el sistema operativo, no desde lalnea de psql.
La funcin tiene tres partes:
El encabezado que define el nombre de la funcin y el tipo de retorno. El cuerpo de la funcin, que es una cadena de texto (por lo tanto,
siempre va entre comillas dobles). La especificacin del lenguaje utilizado.
La funcin recin creada tiene las mismas caractersticas que las integradas.
Disparadores
Las funciones deben llamarse explcitamente para su ejecucin o para incluirlasen consultas. Sin embargo, se puede definir que algunas funciones se ejecutenautomticamente cuando cierto evento tenga lugar en cierta tabla. Estasfunciones se conocen como disparadores o triggers y se ejecutan mediante loscomandos insert, delete y uptade.
Para poder utilizar una funcin como disparador, no debe recibir argumentos ydebe retornar el tipo especial trigger:
Procedimientos almacenados
Se define como un programa, procedimiento o funcin, el cual est almacenadoen la base de datos y listo para ser usado.
Existen dos ventajas evidentes al utilizar procedimientos almacenados:
-
7/22/2019 Reporte Basedatos
50/62
50
La ejecucin del procedimiento ocurre en el servidor de base de datos.Esto probablemente aumentara el rendimiento de nuestra aplicacin alno tenerse que mandar datos entre el cliente y el servidor, y no tenerque procesar resultados intermedios entre el cliente para obtener elresultado final.
Al tener la lgica de la aplicacin implementada en la base de datos notenemos que implementarla en los clientes, con el consiguiente ahorrode lneas de cdigo redundante y complejidad.
Triggers
Un trigger (o disparador) en una base de datos, es un procedimiento que seejecuta cuando se cumple una condicin establecida al realizar una operacin.Dependiendo de la base de datos, los triggers pueden ser de insercin(INSERT), actualizacin (UPDATE), o borrado (DELETE). Algunas bases dedatos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas y otrosobjetos.
La estructura bsica de un triggers es:
Llamada de activacin: es la sentencia que permite disparar el cdigo aejecutar. Restriccin: es la condicin necesaria para realizar el cdigo. Esta
condicin puede ser de tipo condicional o de tipo nulidad. Accin a ejecutar: es la secuencia de instrucciones a ejecutar una vez
que se han cumplido las condiciones iniciales.
TiposExisten dos tipos de disparadores que se clasifican segn la calidad deejecuciones al realizar.
Row triggers o (disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al triggers.
Statement triggers o (disparadores de secuencia): son aquellos que sinimportar la cantidad de veces que se cumpla con la condicin, suejecucin es nica.
Desventajas
-
7/22/2019 Reporte Basedatos
51/62
51
No aceptan parmetros o argumentos pero podran almacenar los datosafectados en tablas temporales.
No pueden ejecutar las operaciones COMMIT, ROLLBACK por queestas son parte de la sentencia SQL del disparador.
Pueden causar errores de mutaciones en las tablas, si se han escrito demanera deficiente.
Ejemplos de procedimientos almacenados
CREATE OR REPLACE FUNCTION ejemplo_txt(integer, integer) RETURNStext AS $$
DECLAREnumero1 ALIAS FOR $1;numero2 ALIAS FOR $2;constante CONSTANT integer:=61;resultado INTEGER;resultado_txt TEXT DEFAULT 'El sueldo es justo';
BEGINresultado := (numero1 * numero2)* constante;
IF resultado > 2440 THENresultado_txt := 'El sueldo es excesivo 'resultado;END IF;
RETURN resultado_txt;END;$$ LANGUAGE plpgsql;
prueba
SELECT ejemplo_txt(9,5);SELECT ejemplo_txt(8,5);
Aqu se muetra los resultados de a ejecucion: para este caso el suldo que seotorga por sus horarios de servicio es excesivo.
-
7/22/2019 Reporte Basedatos
52/62
52
Los resultados de la siguiente ejecucion muestra que el sueldo que se le otorgaal empleado por su horario de servicio es justo.
Se crea una funcin en el cual nos muestre la cantidad de productos queabastece un proveedor a la tienda.
Aqu se muestra el resultado de la ejecucion donde se muestra que elproveedor luis abastece 200 productos de la marca viki form al almacen con
id_a 123c.
-
7/22/2019 Reporte Basedatos
53/62
53
Se creo un TIGGER que respalde los datos que se eliminan en la tablaproducto
create table respaldo(id_prod varchar(4),
costo integer,marca_pro varchar,pre_vta integer,pre_compra integer,id_modelo integer,id_talla integer);
create function respaldar() returns trigger as 'begin insert into respaldo values( old.id_prod, old.costo, old.marca_prod,
old.pre_vta,old.pre_compra,old.id_modelo,old.id_talla);return null;
end' language plpgsql;drop function respaldar();
create trigger archivar before delete on productofor each row execute procedure respaldar();
drop trigger archivar on producto;
delete from producto where id_prod='9011';
select * from producto;select * from respaldo;
-
7/22/2019 Reporte Basedatos
54/62
54
Creacin de un taigger en cual se tiene que rellenar todos los campos alinsertar y si no es as se ejecuta el TIGGER
CREATE FUNCTION descuentoalmacen() RETURNS trigger AS 'BEGINNEW.cant_prod := (NEW.cant_prod)-5;RETURN new;END'LANGUAGE plpgsql;
CREATE TRIGGER desalamcen BEFORE INSERT or UPDATEON almacen FOR EACH ROWEXECUTE PROCEDURE descuentoalmacen(cant_prod);
insert into almacen(id_a,modProd_almacenado,nom_marca,cant_prod,id_prov)values('134h',2448,'VICKY FORM',200,'500B');
select*from almacen;
-
7/22/2019 Reporte Basedatos
55/62
55
create function costopro () returns trigger as 'begin ----aqui ba el nombre de lafuncion se llama ingreso ()if new.nom_prod isnull then --------------- aqui dice...que si el campo Nombre es
nulllraise exception ''Ingrese nombre producto'';--------------la excepcion la atrapa y
me sale "ingrese nombre"end if;if new.marca_prod isnull thenraise exception ''ingrese costo'';------lo missmoend if;return new;
end' language plpgsql;drop function costopro();
CREATE TRIGGER ingreso_producto BEFORE INSERT OR UPDATE ONproductoFOR EACH ROW EXECUTE PROCEDURE costopro();
drop TRIGGER ingreso_producto on producto;
insert into producto(id_prod,costo,pre_vta,pre_compra,id_modelo,id_talla)values
('9198',2000,220,200,'11a','A02');
-
7/22/2019 Reporte Basedatos
56/62
56
Conexin de posgretSQL a java
Conexin de posgreSQL 9.0 a java/ NetBeans IDE 6.9
Ejecutar netbeans ir a archivo > proyecto nuevo
Clic sobre java > java Application > Siguiente
Nombrar el proyecto --- en nuestro caso ConexionDB y Siguiente
-
7/22/2019 Reporte Basedatos
57/62
57
Ya creado el proyecto se obtiene el siguiente resultado
Este paso es de suma importancia para continuar nuestro proyecto. Se
debe agregar una librera especfica al proyecto, es decir, debemossealar que esto se realiza para que el lenguaje PosgreSQL en el
proyecto sea reconocible pues de no agregar una librera al momento de
compilar el proyecto este no reconocer la sintaxis del cdigo escrito en
mencionado proyecto.
-
7/22/2019 Reporte Basedatos
58/62
58
Importar el paquete de la librera a nuestro proyecto (import java.sql.*;) parareconozca los comandos y nos permita realizar la conexin
static Connection conn = null;Statement st = null;static ResultSet rs = null;static String bd = "lenceria";static String login = "postgres";static String password = "smg";static String url = "jdbc:postgresql://localhost:5432/" + bd;
public static Connection Enlace(Connection conn) throws SQLException {try {
Class.forName("org.postgresql.Driver");conn = DriverManager.getConnection(url, login, password);
} catch (ClassNotFoundException e) {JOptionPane.showMessageDialog(null, e);
}return conn;
}
Actualizar Datos
try {
conn = Enlace(conn);
st = conn.createStatement();
st.executeQuery("UPDATE proveedores SET curp_prov='" +
jTextField2.getText() + "',preciovta_prod='" + jTextField3.getText() +"',prod_abastecer='" + jTextField4.getText() + "',nom_prov='" +
jTextField5.getText() + "',tel_prov='" + jTextField6.getText() + "' WHERE
id_prov='" + jTextField1.getText() + "';");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Datos Actualizados");
}
Eliminar Datos
Nombre de la basede datos
Se llama el driver para
hacer la conexin
mediante la clase forName
-
7/22/2019 Reporte Basedatos
59/62
59
int R = JOptionPane.showConfirmDialog(this, "Esta seguro de Eliminar el
registro",
"Advertencia", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (R == JOptionPane.YES_NO_OPTION) {
try {
st.executeQuery("DELETE FROM proveedores WHERE
id_prov='" + jTextField1.getText() + "'");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "se elimino
correctamente");
}
Visualizar Datos
ResultSet rs;
try {
jTextArea1.setText("");
conn = Enlace(conn);
st = conn.createStatement();
rs = st.executeQuery("SELECT *FROM proveedores");
while (rs.next()) {
jTextArea1.append(rs.getString(1) + "\t" + rs.getString(2) + "\t" +
rs.getString(3) +rs.getString(4) + "\t" + rs.getString(5) + "\t" +
rs.getString(6) + "\t" +"\t\n");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Hubbo un problema al
intentar Buscar el registro");
}
Agregar Datos
try {conn = Enlace(conn);st = conn.createStatement();
-
7/22/2019 Reporte Basedatos
60/62
60
st.executeQuery("INSERT INTO proveedores VALUES('" +jTextField1.getText() + "','" + jTextField2.getText() + "','" +jTextField3.getText() +"','" + jTextField4.getText() + "','" +jTextField5.getText() + "','" + jTextField6.getText() +"');");
} catch (SQLException ex) {
ex.getStackTrace();JOptionPane.showMessageDialog(this, "datos Registrados");//
Logger.getLogger(calle.class.getName()).log(Level.SEVERE, null, ex);}
Buscar Datos
try {ResultSet rs;rs = st.executeQuery("SELECT * FROM proveedores WHERE
id_prov ='" + jTextField1.getText() + "';");rs.next();jTextField2.setText(rs.getString(2));jTextField3.setText(rs.getString(3));jTextField4.setText(rs.getString(4));jTextField5.setText(rs.getString(5));jTextField6.setText(rs.getString(6));
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "No existe el Registro");}
Nota : Para la realizacin de formularios agregar etiquetas ,cuadro detexto, segn se requieran para la tabla as como los botones necesariospara agregar,modificar,eliminar,etc
-
7/22/2019 Reporte Basedatos
61/62
61
Diseo del formulario de la tabla proveedores
-
7/22/2019 Reporte Basedatos
62/62
Conclusin
La migracin de bases de datos alojadas en productos comerciales a
PostgreSQL se facilita gracias a que soporta ampliamente el estndar SQL.PostgreSQL cuenta con una serie de caractersticas atractivas como son la
herencia de tablas (clases),un rico conjunto de tipos de datos que incluyen
arreglos, direcciones de red,etc. PostgreSQL incluye tambin el procesamiento
de transacciones, integridad referencial y procedimientos almacenados.
En concreto, hay procedimientos documentados para migrar los procedimientos
almacenados desarrollados en lenguajes propietarios de bases de datos
comerciales (PL/SQL) a PL/PGSQL.
La API se distribuye para varios lenguajes de programacin como C/C++, Perl,
Java, PHP, Python, TCL/Tk y ODBC.
PostgreSQL es extensible. Es posible agregar nuevos tipos de datos y
funciones al servidor asi como tambin insertar nuevos lenguajes de
programacin del lado del servidor para la creacin de procedimientos
almacenados.
top related